Merge commit '76d8ac3fe680e92d20059c590ccb1cd8f74078c2' into glitch-soc/merge-upstream

This commit is contained in:
Claire
2025-11-24 19:08:03 +01:00
124 changed files with 544 additions and 333 deletions

View File

@@ -96,8 +96,8 @@ GEM
ast (2.4.3)
attr_required (1.0.2)
aws-eventstream (1.4.0)
aws-partitions (1.1181.0)
aws-sdk-core (3.237.0)
aws-partitions (1.1186.0)
aws-sdk-core (3.239.1)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
@@ -105,10 +105,10 @@ GEM
bigdecimal
jmespath (~> 1, >= 1.6.1)
logger
aws-sdk-kms (1.116.0)
aws-sdk-kms (1.117.0)
aws-sdk-core (~> 3, >= 3.234.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.203.1)
aws-sdk-s3 (1.205.0)
aws-sdk-core (~> 3, >= 3.234.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
@@ -324,7 +324,7 @@ GEM
rainbow (>= 2.0.0)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
i18n-tasks (1.1.0)
i18n-tasks (1.1.1)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
erubi

View File

@@ -357,6 +357,7 @@
"empty_column.notification_requests": "Чысціня! Тут нічога няма. Калі Вы будзеце атрымліваць новыя апавяшчэнні, яны будуць з'яўляцца тут у адпаведнасці з Вашымі наладамі.",
"empty_column.notifications": "У Вас няма ніякіх апавяшчэнняў. Калі іншыя людзі захочуць узаемадзейнічаць з Вамі, Вы ўбачыце гэта тут.",
"empty_column.public": "Тут нічога няма! Апублікуйце што-небудзь, або падпішыцеся на карыстальнікаў з другіх сервераў",
"error.no_hashtag_feed_access": "Далучайцеся або ўвайдзіце, каб праглядзець ці падпісацца на гэты хэштэг.",
"error.unexpected_crash.explanation": "Гэта старонка не можа быць адлюстравана карэктна з-за памылкі ў нашым кодзе, або праблемы з сумяшчальнасцю браўзера.",
"error.unexpected_crash.explanation_addons": "Гэтая старонка не можа быць адлюстравана карэктна. Верагодна, гэтая памылка выкліканая дадатковым кампанентам браўзера або інструментамі аўтаматычнага перакладу.",
"error.unexpected_crash.next_steps": "Паспрабуйце абнавіць старонку. Калі гэта не дапаможа, Вы можаце паспрабаваць іншы браўзер, альбо выкарыстаць усталяваную праграму.",

View File

@@ -15,7 +15,7 @@
"about.rules": "Serverregler",
"account.account_note_header": "Personligt notat",
"account.add_or_remove_from_list": "Tilføj eller fjern fra lister",
"account.badges.bot": "Bot",
"account.badges.bot": "Automatisert",
"account.badges.group": "Gruppe",
"account.block": "Blokér @{name}",
"account.block_domain": "Blokér domænet {domain}",
@@ -28,7 +28,7 @@
"account.disable_notifications": "Giv mig ikke længere en notifikation, når @{name} laver indlæg",
"account.domain_blocking": "Blokerer domæne",
"account.edit_profile": "Redigér profil",
"account.edit_profile_short": "Redigér",
"account.edit_profile_short": "Rediger",
"account.enable_notifications": "Giv mig besked, når @{name} laver indlæg",
"account.endorse": "Fremhæv på profil",
"account.familiar_followers_many": "Følges af {name1}, {name2} og {othersCount, plural, one {# mere, man kender} other {# mere, du kender}}",
@@ -123,14 +123,14 @@
"annual_report.summary.here_it_is": "Her er dit {year} i sammendrag:",
"annual_report.summary.highlighted_post.by_favourites": "mest favoritmarkerede indlæg",
"annual_report.summary.highlighted_post.by_reblogs": "mest fremhævede indlæg",
"annual_report.summary.highlighted_post.by_replies": "mest besvarede indlæg",
"annual_report.summary.highlighted_post.by_replies": "indlæg med flest svar",
"annual_report.summary.highlighted_post.possessive": "{name}s",
"annual_report.summary.most_used_app.most_used_app": "mest benyttede app",
"annual_report.summary.most_used_hashtag.most_used_hashtag": "mest benyttede hashtag",
"annual_report.summary.most_used_hashtag.none": "Intet",
"annual_report.summary.new_posts.new_posts": "nye indlæg",
"annual_report.summary.percentile.text": "<topLabel>Dermed er du i top</topLabel><percentage></percentage><bottomLabel>af {domain}-brugere.</bottomLabel>",
"annual_report.summary.percentile.we_wont_tell_bernie": "Vi fortæller det ikke til Pernille Skipper.",
"annual_report.summary.percentile.we_wont_tell_bernie": "Vi fortæller det ikke til nogen.",
"annual_report.summary.thanks": "Tak for at være en del af Mastodon!",
"attachments_list.unprocessed": "(ubehandlet)",
"audio.hide": "Skjul lyd",
@@ -144,7 +144,7 @@
"block_modal.you_wont_see_mentions": "Du vil ikke se indlæg, som omtaler vedkommende.",
"boost_modal.combo": "Du kan trykke {combo} for at springe dette over næste gang",
"boost_modal.reblog": "Fremhæv indlæg?",
"boost_modal.undo_reblog": "Fjern fremhævning af indlæg?",
"boost_modal.undo_reblog": "Fjern fremhævelse af indlæg?",
"bundle_column_error.copy_stacktrace": "Kopiér fejlrapport",
"bundle_column_error.error.body": "Den anmodede side kunne ikke gengives. Dette kan skyldes flere typer fejl.",
"bundle_column_error.error.title": "Åh nej!",
@@ -152,14 +152,14 @@
"bundle_column_error.network.title": "Netværksfejl",
"bundle_column_error.retry": "Forsøg igen",
"bundle_column_error.return": "Tilbage til hjem",
"bundle_column_error.routing.body": "Den anmodede side kunne ikke findes. Er du sikker på, at URL'en er korrekt?",
"bundle_column_error.routing.body": "Den ønskede side kunne ikke findes. Er du sikker på, at URL'en i adresselinjen er korrekt?",
"bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Luk",
"bundle_modal_error.message": "Noget gik galt under indlæsningen af denne skærm.",
"bundle_modal_error.retry": "Forsøg igen",
"carousel.current": "<sr>Dias</sr> {current, number} / {max, number}",
"carousel.slide": "Dias {current, number} af {max, number}",
"closed_registrations.other_server_instructions": "Da Mastodon er decentraliseret, kan du oprette en konto på en anden server og stadig interagere med denne.",
"closed_registrations.other_server_instructions": "Eftersom Mastodon er decentraliseret, kan du oprette en konto på en anden server og stadig interagere med denne.",
"closed_registrations_modal.description": "Oprettelse af en konto på {domain} er i øjeblikket ikke muligt, men husk på, at du ikke behøver en konto specifikt på {domain} for at bruge Mastodon.",
"closed_registrations_modal.find_another_server": "Find en anden server",
"closed_registrations_modal.preamble": "Mastodon er decentraliseret, så uanset hvor du opretter din konto, vil du være i stand til at følge og interagere med hvem som helst på denne server. Du kan endda selv være vært for den!",
@@ -170,7 +170,7 @@
"column.community": "Lokal tidslinje",
"column.create_list": "Opret liste",
"column.direct": "Private omtaler",
"column.directory": "Tjek profiler",
"column.directory": "Gennemse profiler",
"column.domain_blocks": "Blokerede domæner",
"column.edit_list": "Redigér liste",
"column.favourites": "Favoritter",
@@ -275,7 +275,7 @@
"confirmations.withdraw_request.title": "Annullér anmodning om at følge {name}?",
"content_warning.hide": "Skjul indlæg",
"content_warning.show": "Vis alligevel",
"content_warning.show_more": "Vis flere",
"content_warning.show_more": "Vis mere",
"conversation.delete": "Slet samtale",
"conversation.mark_as_read": "Markér som læst",
"conversation.open": "Vis samtale",
@@ -327,7 +327,7 @@
"emoji_button.not_found": "Ingen matchende emojis fundet",
"emoji_button.objects": "Objekter",
"emoji_button.people": "Personer",
"emoji_button.recent": "Oftest brugt",
"emoji_button.recent": "Ofte brugt",
"emoji_button.search": "Søg...",
"emoji_button.search_results": "Søgeresultater",
"emoji_button.symbols": "Symboler",
@@ -339,7 +339,7 @@
"empty_column.account_suspended": "Konto suspenderet",
"empty_column.account_timeline": "Ingen indlæg her!",
"empty_column.account_unavailable": "Profil utilgængelig",
"empty_column.blocks": "Ingen brugere blokeret endnu.",
"empty_column.blocks": "Du har ikke blokeret nogle brugere endnu.",
"empty_column.bookmarked_statuses": "Du har ingen bogmærkede indlæg endnu. Når du bogmærker ét, vil det dukke op hér.",
"empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at sætte tingene i gang!",
"empty_column.direct": "Du har ikke nogen private omtaler endnu. Når du sender eller modtager en, vil den blive vist her.",

View File

@@ -927,8 +927,8 @@
"status.quote_error.limited_account_hint.title": "Dieses Profil wurde von den Moderator*innen von {domain} ausgeblendet.",
"status.quote_error.muted_account_hint.title": "Dieser Beitrag wurde ausgeblendet, weil du @{name} stummgeschaltet hast.",
"status.quote_error.not_available": "Beitrag nicht verfügbar",
"status.quote_error.pending_approval": "Beitragsveröffentlichung ausstehend",
"status.quote_error.pending_approval_popout.body": "Auf Mastodon kann festgelegt werden, ob man zitiert werden möchte. Wir warten auf die Genehmigung des ursprünglichen Profils. Bis dahin steht deine Beitragsveröffentlichung noch aus.",
"status.quote_error.pending_approval": "Veröffentlichung ausstehend",
"status.quote_error.pending_approval_popout.body": "Auf Mastodon kannst du selbst bestimmen, ob du von anderen zitiert werden darfst oder nicht oder nur nach individueller Genehmigung. Wir warten in diesem Fall noch auf die Genehmigung des ursprünglichen Profils. Bis dahin steht die Veröffentlichung deines Beitrags mit dem zitierten Post noch aus.",
"status.quote_error.revoked": "Beitrag durch Autor*in entfernt",
"status.quote_followers_only": "Nur Follower können diesen Beitrag zitieren",
"status.quote_manual_review": "Zitierte*r überprüft manuell",
@@ -1032,7 +1032,7 @@
"visibility_modal.privacy_label": "Sichtbarkeit",
"visibility_modal.quote_followers": "Nur Follower",
"visibility_modal.quote_label": "Wer darf mich zitieren?",
"visibility_modal.quote_nobody": "Nur ich",
"visibility_modal.quote_nobody": "Nur ich selbst",
"visibility_modal.quote_public": "Alle",
"visibility_modal.save": "Speichern"
}

View File

@@ -731,7 +731,7 @@
"onboarding.profile.display_name": "Εμφανιζόμενο όνομα",
"onboarding.profile.display_name_hint": "Το πλήρες ή το διασκεδαστικό σου όνομα…",
"onboarding.profile.note": "Βιογραφικό",
"onboarding.profile.note_hint": "Μπορείτε να @αναφέρετε άλλα άτομα ή #hashtags…",
"onboarding.profile.note_hint": "Μπορείς να @επισημάνεις άλλα άτομα ή #ετικέτες…",
"onboarding.profile.save_and_continue": "Αποθήκευση και συνέχεια",
"onboarding.profile.title": "Ρύθμιση προφίλ",
"onboarding.profile.upload_avatar": "Μεταφόρτωση εικόνας προφίλ",
@@ -770,7 +770,7 @@
"quote_error.quote": "Επιτρέπεται μόνο μία παράθεση τη φορά.",
"quote_error.unauthorized": "Δεν είστε εξουσιοδοτημένοι να παραθέσετε αυτή την ανάρτηση.",
"quote_error.upload": "Η παράθεση δεν επιτρέπεται με συνημμένα πολυμέσων.",
"recommended": "Προτεινόμενα",
"recommended": "Προτείνεται",
"refresh": "Ανανέωση",
"regeneration_indicator.please_stand_by": "Παρακαλούμε περίμενε.",
"regeneration_indicator.preparing_your_home_feed": "Ετοιμάζουμε την αρχική σου ροή…",

View File

@@ -357,7 +357,7 @@
"empty_column.notification_requests": "¡Todo limpio! No hay nada acá. Cuando recibás nuevas notificaciones, aparecerán acá, acorde a tu configuración.",
"empty_column.notifications": "Todavía no tenés ninguna notificación. Cuando otras cuentas interactúen con vos, vas a ver la notificación acá.",
"empty_column.public": "¡Naranja! Escribí algo públicamente, o seguí usuarios manualmente de otros servidores para ir llenando esta línea temporal",
"error.no_hashtag_feed_access": "Únete o inicia sesión para ver y seguir esta etiqueta.",
"error.no_hashtag_feed_access": "Create una cuenta o iniciá sesión para seguir esta etiqueta.",
"error.unexpected_crash.explanation": "Debido a un error en nuestro código o a un problema de compatibilidad con el navegador web, esta página no se pudo mostrar correctamente.",
"error.unexpected_crash.explanation_addons": "No se pudo mostrar correctamente esta página. Este error probablemente es causado por un complemento del navegador web o por herramientas de traducción automática.",
"error.unexpected_crash.next_steps": "Intentá recargar la página. Si eso no ayuda, podés usar Mastodon a través de un navegador web diferente o aplicación nativa.",

View File

@@ -357,6 +357,7 @@
"empty_column.notification_requests": "Alt er klárt! Her er einki. Tá tú fært nýggjar fráboðanir, síggjast tær her sambært tínum stillingum.",
"empty_column.notifications": "Tú hevur ongar fráboðanir enn. Tá onnur samskifta við teg, so sær tú fráboðaninar her.",
"empty_column.public": "Einki er her! Skriva okkurt alment ella fylg brúkarum frá øðrum ambætarum fyri at fylla tilfar í",
"error.no_hashtag_feed_access": "Melda til ella rita inn fyri at síggja og fylgja hesum frámerkinum.",
"error.unexpected_crash.explanation": "Orsakað av einum feili í okkara kotu ella orsakað av at kagin hjá tær ikki er sambæriligur við skipanina, so bar ikki til at vísa hesa síðuna rætt.",
"error.unexpected_crash.explanation_addons": "Hendan síðan kundi ikki vísast rætt. Orsøkin til feilin er sannlíkt vegna eina uppíbygging í kaganum hjá tær ella vegna amboð til sjálvvirkandi umseting.",
"error.unexpected_crash.next_steps": "Royn at lesa síðuna inn av nýggjum. Hjálpir tað ikki, so kann vera, at tað ber til at brúka Mastodon við einum øðrum kaga ella við eini app.",

View File

@@ -752,7 +752,7 @@
"privacy.change": "Axustar privacidade",
"privacy.direct.long": "Todas as mencionadas na publicación",
"privacy.direct.short": "Mención privada",
"privacy.private.long": "Só para seguidoras",
"privacy.private.long": "Só quen te segue",
"privacy.private.short": "Seguidoras",
"privacy.public.long": "Para todas dentro e fóra de Mastodon",
"privacy.public.short": "Público",
@@ -1032,7 +1032,7 @@
"visibility_modal.privacy_label": "Visibilidade",
"visibility_modal.quote_followers": "Só para seguidoras",
"visibility_modal.quote_label": "Quen pode citar",
"visibility_modal.quote_nobody": "Só para min",
"visibility_modal.quote_nobody": "Só eu",
"visibility_modal.quote_public": "Calquera",
"visibility_modal.save": "Gardar"
}

View File

@@ -357,6 +357,7 @@
"empty_column.notification_requests": "清hōo空ah內底無物件。若是lí收著新ê通知ē根據lí ê設定佇tsia出現。",
"empty_column.notifications": "Lí iáu無收著任何通知。Nā別lâng kap lí互動lí ē佇tsia看著。",
"empty_column.public": "內底無物件寫beh公開ê PO文á是主動跟tuè別ê服侍器ê用者來加添內容。",
"error.no_hashtag_feed_access": "加入á是登入來看kap跟tuè tsit ê hashtag。",
"error.unexpected_crash.explanation": "因為原始碼內底有錯誤á是瀏覽器相容出tshêtsit頁bē當正確顯示。",
"error.unexpected_crash.explanation_addons": "Tsit頁bē當正確顯示可能是瀏覽器附ê功能á是自動翻譯工具所致。",
"error.unexpected_crash.next_steps": "請試更新tsit頁。若是bē當改善lí iáu是ē當改使用無kâng ê瀏覽器á是app來用Mastodon。",

View File

@@ -157,6 +157,7 @@
"bundle_modal_error.close": "Закрыть",
"bundle_modal_error.message": "Кое-что пошло не так при загрузке этой страницы.",
"bundle_modal_error.retry": "Попробовать снова",
"carousel.slide": "Слайд {current, number} из {max, number}",
"closed_registrations.other_server_instructions": "Благодаря тому что Mastodon децентрализован, вы можете взаимодействовать с этим сервером, даже если зарегистрируетесь на другом сервере.",
"closed_registrations_modal.description": "Зарегистрироваться на {domain} сейчас не выйдет, но имейте в виду, что вам не нужна учётная запись именно на {domain}, чтобы использовать Mastodon.",
"closed_registrations_modal.find_another_server": "Найти другой сервер",
@@ -355,6 +356,7 @@
"empty_column.notification_requests": "Здесь ничего нет! Когда вы получите новые уведомления, они здесь появятся согласно вашим настройкам.",
"empty_column.notifications": "У вас пока нет уведомлений. Взаимодействуйте с другими, чтобы завести разговор.",
"empty_column.public": "Здесь ничего нет! Опубликуйте что-нибудь или подпишитесь на пользователей с других серверов, чтобы заполнить ленту",
"error.no_hashtag_feed_access": "Зарегистрируйтесь или войдите, чтобы читать и подписаться на этот хэштег.",
"error.unexpected_crash.explanation": "Из-за несовместимого браузера или ошибки в нашем коде эта страница не может быть корректно отображена.",
"error.unexpected_crash.explanation_addons": "Эта страница не может быть корректно отображена. Скорее всего, ошибка вызвана расширением браузера или инструментом автоматического перевода.",
"error.unexpected_crash.next_steps": "Попробуйте обновить страницу. Если это не поможет, вы, возможно, всё ещё сможете использовать Mastodon в другом браузере или приложении.",

View File

@@ -227,7 +227,9 @@
"confirmations.delete_list.title": "Vymazať zoznam?",
"confirmations.discard_draft.confirm": "Zahodiť a pokračovať",
"confirmations.discard_draft.edit.cancel": "Pokračovať v úpravách",
"confirmations.discard_draft.edit.title": "Zahodiť zmeny v tvojom príspevku?",
"confirmations.discard_draft.post.cancel": "Pokračuj v rozpísanom",
"confirmations.discard_draft.post.title": "Zahodiť tvoj rozpísaný príspevok?",
"confirmations.discard_edit_media.confirm": "Zahodiť",
"confirmations.discard_edit_media.message": "Máte neuložené zmeny v popise alebo náhľade média, zahodiť ich aj tak?",
"confirmations.follow_to_list.confirm": "Nasleduj a pridaj do zoznamu",
@@ -244,7 +246,9 @@
"confirmations.private_quote_notify.cancel": "Späť na úpravu",
"confirmations.private_quote_notify.confirm": "Zverejni príspevok",
"confirmations.private_quote_notify.do_not_show_again": "Neukazuj mi túto spravu znova",
"confirmations.private_quote_notify.title": "Zdieľať z nasledovateľmi a spomenutými užívateľmi?",
"confirmations.quiet_post_quote_info.dismiss": "Nepripomínaj mi znova",
"confirmations.quiet_post_quote_info.got_it": "Mám to",
"confirmations.redraft.confirm": "Vymazať a prepísať",
"confirmations.redraft.message": "Určite chcete tento príspevok vymazať a prepísať? Prídete o jeho zdieľania a ohviezdičkovania a odpovede na pôvodný príspevok budú odlúčené.",
"confirmations.redraft.title": "Vymazať a prepísať príspevok?",

View File

@@ -29,12 +29,16 @@
"account.edit_profile_short": "Uredi",
"account.enable_notifications": "Obvesti me, ko ima @{name} novo objavo",
"account.endorse": "Izpostavi v profilu",
"account.familiar_followers_one": "Sledi {name1}",
"account.featured": "Izpostavljeni",
"account.featured.accounts": "Profili",
"account.featured.hashtags": "Ključniki",
"account.featured_tags.last_status_at": "Zadnja objava {date}",
"account.featured_tags.last_status_never": "Ni objav",
"account.follow": "Sledi",
"account.follow_back": "Sledi nazaj",
"account.follow_back_short": "Sledi nazaj",
"account.follow_request_cancel": "Prekliči zahtevo",
"account.follow_request_cancel_short": "Prekliči",
"account.followers": "Sledilci",
"account.followers.empty": "Nihče še ne sledi temu uporabniku.",
@@ -42,6 +46,7 @@
"account.following": "Sledim",
"account.following_counter": "{count, plural, one {{counter} sleden} two {{counter} sledena} few {{counter} sledeni} other {{counter} sledenih}}",
"account.follows.empty": "Ta uporabnik še ne sledi nikomur.",
"account.follows_you": "Vam sledi",
"account.go_to_profile": "Pojdi na profil",
"account.hide_reblogs": "Skrij izpostavitve od @{name}",
"account.in_memoriam": "V spomin.",
@@ -56,6 +61,7 @@
"account.mute_notifications_short": "Utišaj obvestila",
"account.mute_short": "Utišaj",
"account.muted": "Utišan",
"account.mutual": "Drug drugemu sledita",
"account.no_bio": "Ni opisa.",
"account.open_original_page": "Odpri izvirno stran",
"account.posts": "Objave",
@@ -67,6 +73,7 @@
"account.statuses_counter": "{count, plural, one {{counter} objava} two {{counter} objavi} few {{counter} objave} other {{counter} objav}}",
"account.unblock": "Odblokiraj @{name}",
"account.unblock_domain": "Odblokiraj domeno {domain}",
"account.unblock_domain_short": "Odblokiraj",
"account.unblock_short": "Odblokiraj",
"account.unendorse": "Ne vključi v profil",
"account.unfollow": "Ne sledi več",
@@ -156,6 +163,8 @@
"column.edit_list": "Uredi seznam",
"column.favourites": "Priljubljeni",
"column.firehose": "Viri v živo",
"column.firehose_local": "Vir v živo za ta strežnik",
"column.firehose_singular": "Vir v živo",
"column.follow_requests": "Prošnje za sledenje",
"column.home": "Domov",
"column.list_members": "Upravljaj člane seznama",
@@ -175,6 +184,7 @@
"community.column_settings.local_only": "Samo krajevno",
"community.column_settings.media_only": "Samo predstavnosti",
"community.column_settings.remote_only": "Samo oddaljeno",
"compose.error.blank_post": "Objava ne sme biti prazna",
"compose.language.change": "Spremeni jezik",
"compose.language.search": "Poišči jezike ...",
"compose.published.body": "Objavljeno.",
@@ -207,6 +217,8 @@
"confirmations.delete_list.confirm": "Izbriši",
"confirmations.delete_list.message": "Ali ste prepričani, da želite trajno izbrisati ta seznam?",
"confirmations.delete_list.title": "Želite izbrisati seznam?",
"confirmations.discard_draft.edit.cancel": "Nadaljuj z urejanjem",
"confirmations.discard_draft.post.cancel": "Nadaljuj na osnutku",
"confirmations.discard_edit_media.confirm": "Opusti",
"confirmations.discard_edit_media.message": "Spremenjenega opisa predstavnosti ali predogleda niste shranili. Želite spremembe kljub temu opustiti?",
"confirmations.follow_to_list.confirm": "Sledi in dodaj na seznam",
@@ -220,6 +232,10 @@
"confirmations.missing_alt_text.secondary": "Vseeno objavi",
"confirmations.missing_alt_text.title": "Dodam nadomestno besedilo?",
"confirmations.mute.confirm": "Utišaj",
"confirmations.private_quote_notify.cancel": "Nazaj k urejanju",
"confirmations.private_quote_notify.confirm": "Objavi objavo",
"confirmations.private_quote_notify.do_not_show_again": "Ne prikazuj mi več tega sporočila",
"confirmations.quiet_post_quote_info.dismiss": "Ne opominjaj me več",
"confirmations.quiet_post_quote_info.got_it": "Razumem",
"confirmations.redraft.confirm": "Izbriši in preoblikuj",
"confirmations.redraft.message": "Ali ste prepričani, da želite izbrisati to objavo in jo preoblikovati? Izkazi priljubljenosti in izpostavitve bodo izgubljeni, odgovori na izvirno objavo pa bodo osiroteli.",
@@ -229,7 +245,11 @@
"confirmations.revoke_quote.confirm": "Odstrani objavo",
"confirmations.revoke_quote.message": "Tega dejanja ni možno povrniti.",
"confirmations.revoke_quote.title": "Ali želite odstraniti objavo?",
"confirmations.unblock.confirm": "Odblokiraj",
"confirmations.unblock.title": "Ali želite odblokirati {name}?",
"confirmations.unfollow.confirm": "Ne sledi več",
"confirmations.unfollow.title": "Ali želite prenehati slediti {name}?",
"confirmations.withdraw_request.confirm": "Umakni zahtevo",
"content_warning.hide": "Skrij objavo",
"content_warning.show": "Vseeno pokaži",
"content_warning.show_more": "Pokaži več",
@@ -316,6 +336,7 @@
"errors.unexpected_crash.copy_stacktrace": "Kopiraj sled sklada na odložišče",
"errors.unexpected_crash.report_issue": "Prijavi težavo",
"explore.suggested_follows": "Ljudje",
"explore.title": "V trendu",
"explore.trending_links": "Novice",
"explore.trending_statuses": "Objave",
"explore.trending_tags": "Ključniki",
@@ -383,7 +404,10 @@
"hashtag.counter_by_accounts": "{count, plural, one {{counter} udeleženec} two {{counter} udeleženca} few {{counter} udeležencev} other {{counter} udeležencev}}",
"hashtag.counter_by_uses": "{count, plural, one {{counter} objava} two {{counter} posts} few {{counter} objavi} other {{counter} objav}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} objava} two {{counter} objavi} few {{counter} objav} other {{counter} objav}}",
"hashtag.feature": "Izpostavi v profilu",
"hashtag.follow": "Sledi ključniku",
"hashtag.mute": "Utišaj #{hashtag}",
"hashtag.unfeature": "Ne izpostavljaj v profilu",
"hashtag.unfollow": "Nehaj slediti ključniku",
"hashtags.and_other": "… in še {count, plural, other {#}}",
"hints.profiles.followers_may_be_missing": "Sledilci za ta profil morda manjkajo.",
@@ -392,6 +416,7 @@
"hints.profiles.see_more_followers": "Pokaži več sledilcev na {domain}",
"hints.profiles.see_more_follows": "Pokaži več sledenih ljudi na zbirališču {domain}",
"hints.profiles.see_more_posts": "Pokaži več objav na {domain}",
"home.column_settings.show_quotes": "Pokaži citate",
"home.column_settings.show_reblogs": "Pokaži izpostavitve",
"home.column_settings.show_replies": "Pokaži odgovore",
"home.hide_announcements": "Skrij obvestila",
@@ -416,6 +441,7 @@
"interaction_modal.no_account_yet": "Še nimate računa?",
"interaction_modal.on_another_server": "Na drugem strežniku",
"interaction_modal.on_this_server": "Na tem strežniku",
"interaction_modal.title": "Za nadaljevanje se prijavite",
"interaction_modal.username_prompt": "Npr. {example}",
"intervals.full.days": "{number, plural, one {# dan} two {# dni} few {# dni} other {# dni}}",
"intervals.full.hours": "{number, plural, one {# ura} two {# uri} few {# ure} other {# ur}}",
@@ -444,6 +470,7 @@
"keyboard_shortcuts.open_media": "Odpri predstavnost",
"keyboard_shortcuts.pinned": "Odpri seznam pripetih objav",
"keyboard_shortcuts.profile": "Odpri avtorjev profil",
"keyboard_shortcuts.quote": "Citiraj objavo",
"keyboard_shortcuts.reply": "Odgovori na objavo",
"keyboard_shortcuts.requests": "Odpri seznam s prošnjami za sledenje",
"keyboard_shortcuts.search": "Pozornost na iskalno vrstico",
@@ -455,6 +482,8 @@
"keyboard_shortcuts.translate": "za prevod objave",
"keyboard_shortcuts.unfocus": "Odstrani pozornost z območja za sestavljanje besedila/iskanje",
"keyboard_shortcuts.up": "Premakni navzgor po seznamu",
"learn_more_link.got_it": "Razumem",
"learn_more_link.learn_more": "Več o tem",
"lightbox.close": "Zapri",
"lightbox.next": "Naslednji",
"lightbox.previous": "Prejšnji",
@@ -504,8 +533,10 @@
"mute_modal.you_wont_see_mentions": "Objav, ki jih omenjajo, ne boste videli.",
"mute_modal.you_wont_see_posts": "Še vedno vidijo vaše objave, vi pa ne njihovih.",
"navigation_bar.about": "O Mastodonu",
"navigation_bar.account_settings": "Geslo in varnost",
"navigation_bar.administration": "Upravljanje",
"navigation_bar.advanced_interface": "Odpri v naprednem spletnem vmesniku",
"navigation_bar.automated_deletion": "Samodejno brisanje objav",
"navigation_bar.blocks": "Blokirani uporabniki",
"navigation_bar.bookmarks": "Zaznamki",
"navigation_bar.direct": "Zasebne omembe",
@@ -515,12 +546,15 @@
"navigation_bar.follow_requests": "Prošnje za sledenje",
"navigation_bar.followed_tags": "Sledeni ključniki",
"navigation_bar.follows_and_followers": "Sledenja in sledilci",
"navigation_bar.import_export": "Uvoz in izvoz",
"navigation_bar.lists": "Seznami",
"navigation_bar.logout": "Odjava",
"navigation_bar.moderation": "Moderiranje",
"navigation_bar.more": "Več",
"navigation_bar.mutes": "Utišani uporabniki",
"navigation_bar.opened_in_classic_interface": "Objave, računi in druge specifične strani se privzeto odprejo v klasičnem spletnem vmesniku.",
"navigation_bar.preferences": "Nastavitve",
"navigation_bar.privacy_and_reach": "Zasebnost in dosegljivost",
"navigation_bar.search": "Iskanje",
"not_signed_in_indicator.not_signed_in": "Za dostop do tega vira se morate prijaviti.",
"notification.admin.report": "{name} je prijavil/a {target}",
@@ -543,6 +577,7 @@
"notification.label.mention": "Omemba",
"notification.label.private_mention": "Zasebna omemba",
"notification.label.private_reply": "Zasebni odgovor",
"notification.label.quote": "{name} je citiral/a vašo objavo",
"notification.label.reply": "Odgovori",
"notification.mention": "Omemba",
"notification.mentioned_you": "{name} vas je omenil/a",
@@ -600,6 +635,7 @@
"notifications.column_settings.mention": "Omembe:",
"notifications.column_settings.poll": "Rezultati ankete:",
"notifications.column_settings.push": "Potisna obvestila",
"notifications.column_settings.quote": "Citati:",
"notifications.column_settings.reblog": "Izpostavitve:",
"notifications.column_settings.show": "Pokaži v stolpcu",
"notifications.column_settings.sound": "Predvajaj zvok",
@@ -790,9 +826,13 @@
"status.bookmark": "Dodaj med zaznamke",
"status.cancel_reblog_private": "Prekliči izpostavitev",
"status.cannot_reblog": "Te objave ni mogoče izpostaviti",
"status.contains_quote": "Vsebuje citat",
"status.context.retry": "Poskusi znova",
"status.context.show": "Pokaži",
"status.continued_thread": "Nadaljevanje niti",
"status.copy": "Kopiraj povezavo do objave",
"status.delete": "Izbriši",
"status.delete.success": "Objava je izbrisana",
"status.detailed_status": "Podroben pogled pogovora",
"status.direct": "Zasebno omeni @{name}",
"status.direct_indicator": "Zasebna omemba",
@@ -814,6 +854,14 @@
"status.mute_conversation": "Utišaj pogovor",
"status.open": "Razširi to objavo",
"status.pin": "Pripni na profil",
"status.quote.cancel": "Prekliči citat",
"status.quote_error.filtered": "Skrito zaradi enega od vaših filtrov",
"status.quote_error.limited_account_hint.action": "Vseeno pokaži",
"status.quote_error.limited_account_hint.title": "Ta račun so moderatorji {domain} skrili.",
"status.quote_error.not_available": "Objava ni na voljo",
"status.quote_followers_only": "Samo sledilci lahko citirajo to objavo",
"status.quote_policy_change": "Spremenite, kdo lahko citira",
"status.quote_private": "Zasebnih objav ni možno citirati",
"status.read_more": "Preberi več",
"status.reblog": "Izpostavi",
"status.reblogged_by": "{name} je izpostavil/a",
@@ -821,6 +869,7 @@
"status.redraft": "Izbriši in preoblikuj",
"status.remove_bookmark": "Odstrani zaznamek",
"status.remove_favourite": "Odstrani iz priljubljenih",
"status.remove_quote": "Odstrani",
"status.replied_in_thread": "Odgovor iz niti",
"status.replied_to": "Odgovoril/a {name}",
"status.reply": "Odgovori",
@@ -841,7 +890,10 @@
"subscribed_languages.save": "Shrani spremembe",
"subscribed_languages.target": "Spremeni naročene jezike za {target}",
"tabs_bar.home": "Domov",
"tabs_bar.menu": "Meni",
"tabs_bar.notifications": "Obvestila",
"tabs_bar.publish": "Nova objava",
"tabs_bar.search": "Išči",
"terms_of_service.effective_as_of": "Veljavno od {date}",
"terms_of_service.title": "Pogoji uporabe",
"terms_of_service.upcoming_changes_on": "Spremembe začnejo veljati {date}",
@@ -875,6 +927,19 @@
"video.expand": "Razširi video",
"video.fullscreen": "Celozaslonski način",
"video.hide": "Skrij video",
"video.mute": "Utišaj",
"video.pause": "Premor",
"video.play": "Predvajaj"
"video.play": "Predvajaj",
"video.skip_backward": "Preskoči nazaj",
"video.skip_forward": "Preskoči naprej",
"video.unmute": "Odtišaj",
"video.volume_down": "Zmanjšaj glasnost",
"video.volume_up": "Povečaj glasnost",
"visibility_modal.header": "Vidnost in interakcija",
"visibility_modal.privacy_label": "Vidnost",
"visibility_modal.quote_followers": "Samo sledilci",
"visibility_modal.quote_label": "Kdo lahko citira",
"visibility_modal.quote_nobody": "Samo jaz",
"visibility_modal.quote_public": "Vsi",
"visibility_modal.save": "Shrani"
}

View File

@@ -353,6 +353,7 @@
"empty_column.notification_requests": "Gjithçka si duhet! Ska çbëhet këtu. Kur merrni njoftime të reja, do të shfaqen këtu, në përputhje me rregullimet tuaja.",
"empty_column.notifications": "Ende skeni ndonjë njoftim. Ndërveproni me të tjerët që të nisë biseda.",
"empty_column.public": "Ska gjë këtu! Shkruani diçka publikisht, ose ndiqni dorazi përdorues prej instancash të tjera, që kjo të mbushet",
"error.no_hashtag_feed_access": "Që të shihni dhe ndiqni hashtag-ë, regjistrohuni, ose bëni hyrjen.",
"error.unexpected_crash.explanation": "Për shkak të një të mete në kodin tonë ose të një problemi përputhshmërie të shfletuesit, kjo faqe smund të shfaqet saktë.",
"error.unexpected_crash.explanation_addons": "Kjo faqe su shfaq dot saktë. Ky gabim ka gjasa të jetë shkaktuar nga një shtesë shfletuesi ose një mjet përkthimi të automatizuar.",
"error.unexpected_crash.next_steps": "Provoni të freskoni faqen. Nëse kjo sbën punë, mundeni ende të jeni në gjendje të përdorni Mastodon-in që nga një shfletues tjetër ose nga ndonjë aplikacion origjinal prej projektit.",

View File

@@ -340,11 +340,11 @@
"empty_column.blocks": "Du har ännu ej blockerat några användare.",
"empty_column.bookmarked_statuses": "Du har inte bokmärkt några inlägg än. När du bokmärker ett inlägg kommer det synas här.",
"empty_column.community": "Den lokala tidslinjen är tom. Skriv något offentligt för att sätta bollen i rullning!",
"empty_column.direct": "Du har inga privata omnämninande. När du skickar eller tar emot ett direktmeddelande kommer det att visas här.",
"empty_column.direct": "Du har inga privata omnämnanden. När du skickar eller tar emot ett direktmeddelande kommer det att visas här.",
"empty_column.disabled_feed": "Detta flöde har inaktiverats av dina serveradministratörer.",
"empty_column.domain_blocks": "Det finns ännu inga dolda domäner.",
"empty_column.explore_statuses": "Ingenting är trendigt just nu. Kom tillbaka senare!",
"empty_column.favourited_statuses": "Du har inga favoritmarkerade inlägg ännu. När du favoritmärker ett så kommer det att dyka upp här.",
"empty_column.favourited_statuses": "Du har inga favoritmarkerade inlägg ännu. När du favoritmarkerar ett så kommer det att dyka upp här.",
"empty_column.favourites": "Ingen har favoritmarkerat detta inlägg än. När någon gör det kommer de synas här.",
"empty_column.follow_requests": "Du har inga följarförfrågningar än. När du får en kommer den visas här.",
"empty_column.followed_tags": "Du följer inga hashtaggar ännu. När du gör det kommer de att dyka upp här.",
@@ -355,6 +355,7 @@
"empty_column.notification_requests": "Allt klart! Det finns inget mer här. När du får nya meddelanden visas de här enligt dina inställningar.",
"empty_column.notifications": "Du har inga meddelanden än. Interagera med andra för att starta konversationen.",
"empty_column.public": "Det finns inget här! Skriv något offentligt, eller följ manuellt användarna från andra instanser för att fylla på det",
"error.no_hashtag_feed_access": "Gå med eller logga in för att visa och följa denna hashtag.",
"error.unexpected_crash.explanation": "På grund av en bugg i vår kod eller kompatiblitetsproblem i webbläsaren kan den här sidan inte visas korrekt.",
"error.unexpected_crash.explanation_addons": "Denna sida kunde inte visas korrekt. Detta beror troligen på ett webbläsartillägg eller ett automatiskt översättningsverktyg.",
"error.unexpected_crash.next_steps": "Prova att ladda om sidan. Om det inte hjälper kan du försöka använda Mastodon med en annan webbläsare eller app.",
@@ -925,15 +926,23 @@
"status.quote_error.not_available": "Inlägg ej tillgängligt",
"status.quote_error.pending_approval": "Väntande inlägg",
"status.quote_error.pending_approval_popout.body": "På Mastodon kan du styra om någon kan citera dig. Det här inlägget väntar medan vi får den ursprungliga författarens godkännande.",
"status.quote_error.revoked": "Inlägg borttaget av författaren",
"status.quote_followers_only": "Detta inlägg kan bara citeras av följare",
"status.quote_manual_review": "Författaren kommer att granska manuellt",
"status.quote_policy_change": "Ändra vem som kan citera",
"status.quote_post_author": "Citerade ett inlägg av @{name}",
"status.quote_private": "Privata inlägg kan inte citeras",
"status.quotes.empty": "Ingen har citerat detta inlägg än. När någon gör det kommer det att synas här.",
"status.quotes.local_other_disclaimer": "Citat som avvisats av författaren kommer inte att visas.",
"status.read_more": "Läs mer",
"status.reblog": "Boosta",
"status.reblog_private": "Dela igen med dina följare",
"status.reblogged_by": "{name} boostade",
"status.reblogs.empty": "Ingen har boostat detta inlägg än. När någon gör det kommer de synas här.",
"status.redraft": "Radera & gör om",
"status.remove_bookmark": "Ta bort bokmärke",
"status.remove_favourite": "Ta bort från Favoriter",
"status.remove_quote": "Ta bort",
"status.replied_in_thread": "Svarade i tråden",
"status.replied_to": "Svarade på {name}",
"status.reply": "Svara",
@@ -977,6 +986,7 @@
"upload_button.label": "Lägg till media",
"upload_error.limit": "Filöverföringsgränsen överskriden.",
"upload_error.poll": "Filuppladdning tillåts inte med omröstningar.",
"upload_error.quote": "Filuppladdning tillåts inte med citat.",
"upload_form.drag_and_drop.instructions": "För att plocka upp en mediebilaga, tryck på mellanslag eller enter. Använd piltangenterna för att flytta mediebilagan. Tryck på mellanslag eller enter igen för att släppa mediebilagan i sin nya position, eller tryck på escape för att avbryta.",
"upload_form.drag_and_drop.on_drag_cancel": "Flytten avbröts. Mediebilagan {item} släpptes.",
"upload_form.drag_and_drop.on_drag_end": "Mediebilagan {item} släpptes.",
@@ -1001,9 +1011,19 @@
"video.volume_down": "Volym ned",
"video.volume_up": "Volym upp",
"visibility_modal.button_title": "Ange synlighet",
"visibility_modal.direct_quote_warning.text": "Om du sparar de nuvarande inställningarna kommer det inbäddade citatet bli konverterat till en länk.",
"visibility_modal.direct_quote_warning.title": "Citat kan inte bäddas in i privata omnämnanden",
"visibility_modal.header": "Synlighet och interaktion",
"visibility_modal.helper.direct_quoting": "Privata omnämnanden som författats på Mastodon kan inte citeras av andra.",
"visibility_modal.helper.privacy_editing": "Synligheten kan inte ändras efter att ett inlägg är publicerat.",
"visibility_modal.helper.privacy_private_self_quote": "Självcitat av privata inlägg kan inte göras publika.",
"visibility_modal.helper.private_quoting": "Inlägg som endast är för följare och som författats på Mastodon kan inte citeras av andra.",
"visibility_modal.helper.unlisted_quoting": "När folk citerar dig, deras inlägg kommer också att döljas från trendiga tidslinjer.",
"visibility_modal.instructions": "Kontrollera vem som kan interagera med detta inlägg. Du kan också använda inställningar för alla framtida inlägg genom att navigera till <link>Preferences > Posting defaults</link>.",
"visibility_modal.privacy_label": "Synlighet",
"visibility_modal.quote_followers": "Endast följare",
"visibility_modal.quote_label": "Vem kan citera",
"visibility_modal.quote_nobody": "Bara jag",
"visibility_modal.quote_public": "Alla",
"visibility_modal.save": "Spara"
}

View File

@@ -112,17 +112,10 @@ class AttachmentBatch
keys.each_slice(LIMIT) do |keys_slice|
logger.debug { "Deleting #{keys_slice.size} objects" }
bucket.delete_objects(
{
delete: {
objects: keys_slice.map { |key| { key: key } },
quiet: true,
},
},
{
http_read_timeout: [Paperclip::Attachment.default_options[:s3_options][:http_read_timeout], 120].max,
}
)
bucket.delete_objects(delete: {
objects: keys_slice.map { |key| { key: key } },
quiet: true,
})
rescue => e
retries += 1

View File

@@ -61,10 +61,6 @@ class NotifyService < BaseService
NotificationPermission.exists?(account: @recipient, from_account: @sender)
end
def from_limited?
@sender.silenced? && not_following?
end
def message?
@notification.type == :mention
end

View File

@@ -32,6 +32,12 @@ be:
attributes:
url:
invalid: нядзейсны URL
collection:
attributes:
collection_items:
too_many: занадта шмат, дазволена не больш за %{count}
tag:
unusable: нельга выкарыстаць
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ cs:
attributes:
url:
invalid: není platná URL
collection:
attributes:
collection_items:
too_many: je příliš mnoho, ne více než %{count} je povoleno
tag:
unusable: nesmí být použito
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ cy:
attributes:
url:
invalid: nid yw'n URL dilys
collection:
attributes:
collection_items:
too_many: yn ormod, does dim caniatâd i fwy na %{count}
tag:
unusable: does dim caniatâd i'w ddefnyddio
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ da:
attributes:
url:
invalid: er ikke en gyldig URL
collection:
attributes:
collection_items:
too_many: er for mange, ikke mere end %{count} er tilladt
tag:
unusable: må ikke anvendes
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ de:
attributes:
url:
invalid: ist keine gültige URL
collection:
attributes:
collection_items:
too_many: zu viele, mehr als %{count} sind nicht erlaubt
tag:
unusable: darf nicht verwendet werden
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ el:
attributes:
url:
invalid: δεν είναι έγκυρο URL
collection:
attributes:
collection_items:
too_many: είναι πολλά, δεν επιτρέπονται περισσότερα από %{count}
tag:
unusable: δεν μπορεί να χρησιμοποιηθεί
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ eo:
attributes:
url:
invalid: ne estas valida URL
collection:
attributes:
collection_items:
too_many: estas tro multaj, ne pli ol %{count} estas permesataj
tag:
unusable: ne povus esti uzata
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ es-AR:
attributes:
url:
invalid: no es una dirección web válida
collection:
attributes:
collection_items:
too_many: son demasiados, no se permiten más de %{count}
tag:
unusable: no podrán ser usadas
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ es-MX:
attributes:
url:
invalid: no es una dirección URL válida
collection:
attributes:
collection_items:
too_many: son demasiados, no se permiten más de %{count}
tag:
unusable: podría no utilizarse
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ es:
attributes:
url:
invalid: no es una URL válida
collection:
attributes:
collection_items:
too_many: son demasiados, no se permiten más de %{count}
tag:
unusable: podría no utilizarse
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ et:
attributes:
url:
invalid: pole sobiv URL
collection:
attributes:
collection_items:
too_many: on liiga palju, pole lubatud enam, kui %{count}
tag:
unusable: pole võimalik kasutada
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ fo:
attributes:
url:
invalid: er ikki eitt rætt leinki
collection:
attributes:
collection_items:
too_many: er ov nógvir, einans %{count} eru loyvdir
tag:
unusable: kann ikki brúkast
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ ga:
attributes:
url:
invalid: nach URL bailí é
collection:
attributes:
collection_items:
too_many: an iomarca, níl cead níos mó ná %{count} a fháil
tag:
unusable: ní fhéadfar a úsáid
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ gl:
attributes:
url:
invalid: non é un URL válido
collection:
attributes:
collection_items:
too_many: son demasiados, non se permiten máis de %{count}
tag:
unusable: non se debería usar
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ he:
attributes:
url:
invalid: כתובת לא חוקית
collection:
attributes:
collection_items:
too_many: יש יותר מדי, מותרות %{count} לכל היותר
tag:
unusable: לא שמישות
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ hu:
attributes:
url:
invalid: nem érvényes URL
collection:
attributes:
collection_items:
too_many: túl sok, legfeljebb %{count} engedélyezett
tag:
unusable: nem használható
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ is:
attributes:
url:
invalid: er ekki gild vefslóð
collection:
attributes:
collection_items:
too_many: eru of mörg, ekki fleiri en %{count} eru leyfileg
tag:
unusable: gæti verið ekki notað
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ pt-BR:
attributes:
url:
invalid: não é uma URL válida
collection:
attributes:
collection_items:
too_many: é demais, não é permitido mais que %{count}
tag:
unusable: não pode ser usado
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ pt-PT:
attributes:
url:
invalid: não é um URL válido
collection:
attributes:
collection_items:
too_many: são demasiadas, não são permitidas mais do que %{count}
tag:
unusable: não pode ser utilizada
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ ru:
attributes:
url:
invalid: не является действительным URL
collection:
attributes:
collection_items:
too_many: слишком много, не разрешено более чем %{count}
tag:
unusable: может не быть использованным
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ sq:
attributes:
url:
invalid: sështë URL e vlefshme
collection:
attributes:
collection_items:
too_many: janë shumë, nuk lejohen më tepër se %{count}
tag:
unusable: mund të mos përdoret dot
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ sv:
attributes:
url:
invalid: är inte en giltig URL
collection:
attributes:
collection_items:
too_many: är för många, fler än %{count} är inte tillåtet
tag:
unusable: får inte användas
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ vi:
attributes:
url:
invalid: không phải là một URL hợp lệ
collection:
attributes:
collection_items:
too_many: quá nhiều, không được hơn %{count}
tag:
unusable: không được phép dùng
doorkeeper/application:
attributes:
website:

View File

@@ -32,6 +32,12 @@ zh-TW:
attributes:
url:
invalid: 不是有效的 URL
collection:
attributes:
collection_items:
too_many: 數量過多,無法多過 %{count} 個
tag:
unusable: 無法使用
doorkeeper/application:
attributes:
website:

View File

@@ -1957,12 +1957,12 @@ da:
enabled: Slet automatisk gamle indlæg
enabled_hint: Sletter automatisk dine indlæg, når disse når en bestemt alder, medmindre de matcher en af undtagelserne nedenfor
exceptions: Undtagelser
explanation: Sletning af indlæg er en ressourcekrævende operation, hvorfor dette sker gradvist over tid, når serveren ellers ikke er optaget. Indlæg kan derfor blive slettet efter, at de reelt har passeret aldersgrænsen.
explanation: Da sletning af indlæg er en kostbar operation, foregår dette langsomt over tid, når serveren ikke er optaget af andre opgaver. Af denne grund kan dine indlæg blive slettet et stykke tid efter, at de har nået alderstærsklen.
ignore_favs: Ignorér favoritter
ignore_reblogs: Ignorér fremhævelser
interaction_exceptions: Undtagelser baseret på interaktioner
interaction_exceptions_explanation: Bemærk, at det ikke garanteres, at indlæg slettes, hvis de når under favorit- eller fremhævelses-tærsklerne efter én gang at været nået over dem.
keep_direct: Behold direkte besked
keep_direct: Behold direkte beskeder
keep_direct_hint: Sletter ingen af dine direkte beskeder
keep_media: Behold indlæg med medievedhæftninger
keep_media_hint: Sletter ingen af dine indlæg med medievedhæftninger
@@ -2004,7 +2004,7 @@ da:
title: Tjenestevilkårene for %{domain} ændres
themes:
contrast: Mastodon (høj kontrast)
default: Mastodont (mørkt)
default: Mastodon (mørkt)
mastodon-light: Mastodon (lyst)
system: Automatisk (benyt systemtema)
time:
@@ -2024,8 +2024,8 @@ da:
edit: Redigér
enabled: Tofaktorgodkendelse aktiveret
enabled_success: Tofaktorgodkendelse aktiveret
generate_recovery_codes: Generere gendannelseskoder
lost_recovery_codes: Gendannelseskoder muliggør adgang til din konto, hvis du mister din mobil. Ved mistet gendannelseskoder, kan disse regenerere her. Dine gamle gendannelseskoder ugyldiggøres.
generate_recovery_codes: Generer gendannelseskoder
lost_recovery_codes: Gendannelseskoder giver dig mulighed for at få adgang til din konto igen, hvis du mister din telefon. Hvis du har mistet dine gendannelseskoder, kan du generere dem igen her. Dine gamle gendannelseskoder vil blive ugyldige.
methods: Tofaktormetoder
otp: Godkendelses-app
recovery_codes: Sikkerhedskopieret gendannelseskoder

View File

@@ -1941,7 +1941,7 @@ de:
pending_approval: Veröffentlichung ausstehend
revoked: Beitrag durch Autor*in entfernt
quote_policies:
followers: Nur Follower
followers: Nur Follower und ich
nobody: Nur ich
public: Alle
quote_post_author: Zitierte %{acct}

View File

@@ -7,7 +7,7 @@ es-MX:
send_paranoid_instructions: Si su dirección de correo electrónico existe en nuestra base de datos, recibirá un correo electrónico con instrucciones sobre cómo confirmar su dirección de correo en pocos minutos.
failure:
already_authenticated: Usted ya está registrado.
closed_registrations: Su intento de registro ha sido bloqueado debido a una política de red. Si cree que esto es un error, póngase en contacto con %{email}.
closed_registrations: Su intento de registro ha sido bloqueado debido a una política de red. Si cree que se trata de un error, póngase en contacto con %{email}.
inactive: Su cuenta no ha sido activada aún.
invalid: "%{authentication_keys} o contraseña inválida."
last_attempt: Tiene un intento más antes de que tu cuenta sea bloqueada.

View File

@@ -7,6 +7,7 @@ ru:
send_paranoid_instructions: В течение нескольких минут вы получите письмо с инструкциями по его подтверждению, при условии что на ваш адрес электронной почты зарегистрирована учётная запись. Если письмо не приходит, проверьте папку «Спам».
failure:
already_authenticated: Вы уже авторизованы.
closed_registrations: Ваша попытка регистрации была заблокирована в связи с сетевой политикой. Если вы считаете, что произошла ошибка, свяжитесь с %{email}.
inactive: Ваша учётная запись ещё не активирована.
invalid: "%{authentication_keys} или пароль введён неверно."
last_attempt: У вас осталась последняя попытка ввода пароля до блокировки учётной записи.

View File

@@ -7,6 +7,7 @@ sl:
send_paranoid_instructions: Če vaš e-poštni naslov obstaja v naši zbirki podatkov, boste v nekaj minutah prejeli e-poštno sporočilo z navodili za potrditev vašega e-poštnega naslova. Če niste prejeli e-poštnega sporočila, preverite mapo neželena pošta.
failure:
already_authenticated: Ste že prijavljeni.
closed_registrations: Vaš poskus registracije je blokiran zaradi omrežnih pravil. Če ste mnenja, da gre za napako, stopite v stik s/z %{email}.
inactive: Vaš račun še ni aktiviran.
invalid: Neveljavno %{authentication_keys} ali geslo.
last_attempt: Pred zaklepom računa imate še en poskus.

View File

@@ -1044,7 +1044,7 @@ el:
confirm_allow_provider: Σίγουρα θες να επιτρέψεις τους επιλεγμένους παρόχους;
confirm_disallow: Σίγουρα θες να απορρίψεις τους επιλεγμένους συνδέσμους;
confirm_disallow_provider: Σίγουρα θες να απορρίψεις τους επιλεγμένους παρόχους;
description_html: Αυτοί οι σύνδεσμοι μοιράζονται αρκετά από λογαριασμούς των οποίων τις δημοσιεύσεις, βλέπει ο διακομιστής σας. Μπορεί να βοηθήσει τους χρήστες σας να μάθουν τί συμβαίνει στον κόσμο. Οι σύνδεσμοι δεν εμφανίζονται δημόσια μέχρι να εγκρίνετε τον εκδότη. Μπορείς επίσης να επιτρέψεις ή να απορρίψεις μεμονωμένους συνδέσμους.
description_html: Αυτοί οι σύνδεσμοι κοινοποιούνται αρκετά από λογαριασμούς των οποίων τις αναρτήσεις, βλέπει ο διακομιστής σας. Μπορεί να βοηθήσει τους χρήστες σας να μάθουν τί συμβαίνει στον κόσμο. Οι σύνδεσμοι δεν εμφανίζονται δημόσια μέχρι να εγκρίνετε τον εκδότη. Μπορείτε επίσης να επιτρέψετε ή να απορρίψετε μεμονωμένους συνδέσμους.
disallow: Να μην επιτρέπεται ο σύνδεσμος
disallow_provider: Να μην επιτρέπεται ο εκδότης
no_link_selected: Κανένας σύνδεσμος δεν άλλαξε αφού κανείς δεν επιλέχθηκε
@@ -1060,7 +1060,7 @@ el:
pending_review: Εκκρεμεί αξιολόγηση
preview_card_providers:
allowed: Σύνδεσμοι από αυτόν τον εκδότη μπορούν να γίνουν δημοφιλείς
description_html: Αυτοί είναι τομείς από τους οποίους οι σύνδεσμοι συχνά μοιράζονται στον διακομιστή σας. Σύνδεσμοι δεν γίνουν δημοφιλείς δημοσίως εκτός και αν ο τομέας του συνδέσμου εγκριθεί. Η έγκρισή σας (ή απόρριψη) περιλαμβάνει και τους υποτομείς.
description_html: Αυτοί είναι τομείς από τους οποίους οι σύνδεσμοι συχνά κοινοποιούνται στον διακομιστή σας. Οι σύνδεσμοι δεν θα γίνουν δημοφιλείς δημοσίως εκτός και αν ο τομέας του συνδέσμου εγκριθεί. Η έγκρισή σας (ή απόρριψη) περιλαμβάνει και τους υποτομείς.
rejected: Σύνδεσμοι από αυτόν τον εκδότη δε θα γίνουν δημοφιλείς
title: Εκδότες
rejected: Απορρίφθηκε
@@ -1077,8 +1077,8 @@ el:
no_status_selected: Καμία δημοφιλής ανάρτηση δεν άλλαξε αφού καμία δεν επιλέχθηκε
not_discoverable: Ο συντάκτης δεν έχει επιλέξει να είναι ανακαλύψιμος
shared_by:
one: Μοιράστηκε ή προστέθηκε στα αγαπημένα μία φορά
other: Μοιράστηκε και προστέθηκε στα αγαπημένα %{friendly_count} φορές
one: Κοινοποιήθηκε ή προστέθηκε στα αγαπημένα μία φορά
other: Κοινοποιήθηκε και προστέθηκε στα αγαπημένα %{friendly_count} φορές
title: Αναρτήσεις σε τάση
tags:
current_score: Τρέχουσα βαθμολογία %{score}
@@ -1305,7 +1305,7 @@ el:
user_privacy_agreement_html: Έχω διαβάσει και συμφωνώ με την πολιτική απορρήτου <a href="%{privacy_policy_path}" target="_blank"></a>
author_attribution:
example_title: Δείγμα κειμένου
hint_html: Γράφεις ειδήσεις ή blog άρθρα εκτός του Mastodon; Έλεγξε πώς μπορείς να πάρεις τα εύσημα όταν μοιράζονται στο Mastodon.
hint_html: Γράφεις ειδήσεις ή άρθρα blog εκτός του Mastodon; Έλεγξε πώς μπορείς να πάρεις τα εύσημα όταν κοινοποιούνται στο Mastodon.
instructions: 'Βεβαιώσου ότι ο κώδικας αυτός είναι στο HTML του άρθρου σου:'
more_from_html: Περισσότερα από %{name}
s_blog: Ιστολόγιο του/της %{name}
@@ -1593,9 +1593,9 @@ el:
invalid: Αυτή η πρόσκληση δεν είναι έγκυρη
invited_by: 'Σε προσκάλεσε ο/η:'
max_uses:
one: 1 χρήσης
other: "%{count} χρήσεων"
max_uses_prompt: Απεριόριστη
one: 1 χρήση
other: "%{count} χρήσεις"
max_uses_prompt: Απεριόριστες
prompt: Φτιάξε και μοίρασε συνδέσμους με τρίτους για να δώσεις πρόσβαση σε αυτόν τον διακομιστή
table:
expires_at: Λήγει
@@ -1880,7 +1880,7 @@ el:
development: Ανάπτυξη
edit_profile: Επεξεργασία προφίλ
export: Εξαγωγή
featured_tags: Παρεχόμενες ετικέτες
featured_tags: Προβεβλημένες ετικέτες
import: Εισαγωγή
import_and_export: Εισαγωγή και εξαγωγή
migrate: Μετακόμιση λογαριασμού
@@ -2142,7 +2142,7 @@ el:
post_step: Πες γεια στον κόσμο με κείμενο, φωτογραφίες, βίντεο ή δημοσκοπήσεις.
post_title: Κάνε την πρώτη σου ανάρτηση
share_step: Πες στους φίλους σου πώς να σε βρουν στο Mastodon.
share_title: Μοιραστείτε το προφίλ σας στο Mastodon
share_title: Κοινοποίησε το προφίλ σου στο Mastodon
sign_in_action: Σύνδεση
subject: Καλώς ήρθες στο Mastodon
title: Καλώς όρισες, %{name}!
@@ -2159,7 +2159,7 @@ el:
here_is_how: Δείτε πώς
hint_html: Η <strong>επαλήθευση της ταυτότητας στο Mastodon είναι για όλους.</strong> Βασισμένο σε ανοιχτά πρότυπα ιστού, τώρα και για πάντα δωρεάν. Το μόνο που χρειάζεσαι είναι μια προσωπική ιστοσελίδα που ο κόσμος να σε αναγνωρίζει από αυτή. Όταν συνδέεσαι σε αυτήν την ιστοσελίδα από το προφίλ σου, θα ελέγξουμε ότι η ιστοσελίδα συνδέεται πίσω στο προφίλ σου και θα δείξει μια οπτική ένδειξη σε αυτό.
instructions_html: Αντέγραψε και επικόλλησε τον παρακάτω κώδικα στην HTML της ιστοσελίδας σου. Στη συνέχεια, πρόσθεσε τη διεύθυνση της ιστοσελίδας σου σε ένα από τα επιπλέον πεδία στο προφίλ σου από την καρτέλα "Επεξεργασία προφίλ" και αποθήκευσε τις αλλαγές.
verification: Πιστοποίηση
verification: Επαλήθευση
verified_links: Οι επαληθευμένοι σύνδεσμοι σας
website_verification: Επαλήθευση ιστοτόπου
webauthn_credentials:

View File

@@ -839,7 +839,7 @@ es-MX:
title: Optar por los usuarios fuera de la indexación en los motores de búsqueda por defecto
discovery:
follow_recommendations: Recomendaciones de cuentas
preamble: Exponer contenido interesante es fundamental para incorporar nuevos usuarios que pueden no conocer a nadie en Mastodon. Controla cómo funcionan en tu servidor las diferentes opciones de descubrimiento.
preamble: Mostrar contenido interesante es fundamental para atraer a nuevos usuarios que quizá no conozcan a nadie en Mastodon. Controla cómo funcionan las distintas funciones de descubrimiento en tu servidor.
privacy: Privacidad
profile_directory: Directorio de perfiles
public_timelines: Lineas de tiempo públicas
@@ -1196,7 +1196,7 @@ es-MX:
hint_html: Si deseas migrar de otra cuenta a esta, aquí puedes crear un alias, que es necesario para poder mover seguidores de la cuenta anterior a esta. Esta acción por sí misma es <strong>inofensiva y reversible</strong>. <strong>La migración de la cuenta se inicia desde la cuenta anterior</strong>.
remove: Desvincular alias
appearance:
advanced_settings: Ajustes avanzados
advanced_settings: Configuración avanzada
animations_and_accessibility: Animaciones y accesibilidad
boosting_preferences: Preferencias de impulso
boosting_preferences_info_html: "<strong>Consejo:</strong> Sin importar los ajustes, pulsar <kbd>Mayus</kbd> al hacer <kbd>clic</kbd> en el icono de %{icon} Impulsar, dará impulso inmediatamente."
@@ -1604,8 +1604,8 @@ es-MX:
link_preview:
author_html: Por %{name}
potentially_sensitive_content:
action: Pulsa para mostrar
confirm_visit: "¿Seguro que quieres abrir este enlace?"
action: Haz clic para mostrar
confirm_visit: "¿Estás seguro de que deseas abrir este enlace?"
hide_button: Ocultar
label: Contenido potencialmente sensible
lists:
@@ -1672,7 +1672,7 @@ es-MX:
disabled_account: Tu cuenta actual no será completamente utilizable después. Sin embargo, tendrás acceso a la exportación de datos así como a la reactivación.
followers: Esta acción migrará a todos los seguidores de la cuenta actual a la nueva cuenta
only_redirect_html: Alternativamente, solo puedes <a href="%{path}">poner una redirección en tu perfil</a>.
other_data: Ningún otro dato se moverá automáticamente (esto incluye tus publicaciones y la lista de cuentas que sigues)
other_data: No se transferin automáticamente otros datos (incluidas tus publicaciones y la lista de cuentas que sigues)
redirect: El perfil de tu cuenta actual se actualizará con un aviso de redirección y será excluido de las búsquedas
moderation:
title: Moderación
@@ -1929,7 +1929,7 @@ es-MX:
errors:
in_reply_not_found: La publicación a la que estás intentando responder no existe.
quoted_status_not_found: La publicación que intentas citar no parece existir.
quoted_user_not_mentioned: No se puede citar a un usuario no mencionado en una Mención Privada.
quoted_user_not_mentioned: No se puede citar a un usuario no mencionado en una mención privada.
over_character_limit: Límite de caracteres de %{max} superado
pin_errors:
direct: Las publicaciones que son visibles solo para los usuarios mencionados no pueden fijarse
@@ -1939,12 +1939,12 @@ es-MX:
quote_error:
not_available: Publicación no disponible
pending_approval: Publicación pendiente
revoked: Publicación borrada por el autor
revoked: Publicación eliminada por el autor
quote_policies:
followers: Solo seguidores
nobody: Solo yo
public: Cualquiera
quote_post_author: Citando una publicación de %{acct}
quote_post_author: Cita de una publicación de %{acct}
title: "%{name}: «%{quote}»"
visibilities:
direct: Mención privada

View File

@@ -1268,10 +1268,19 @@ nan:
sign_in:
preamble_html: 請用lí佇 <strong>%{domain}</strong> ê口座kap密碼登入。若是lí ê口座tī別ê服侍器lí bē當tī tsia登入。
title: 登入 %{domain}
sign_up:
manual_review: 佇 %{domain} ê註冊ē經過guán ê管理員人工審查。為著tsān guán 進行lí ê註冊寫tsi̍t點á關係lí家己kap想beh tī %{domain}註冊ê理由。
preamble: Nā是lí tī tsit ê服侍器有口座lí ē當tuè別ê佇聯邦宇宙ê lâng無論伊ê口座tī tó-tsi̍t站。
title: Lán做伙設定 %{domain}。
status:
account_status: 口座ê狀態
confirming: Teh等電子phue確認完成。
functional: Lí ê口座完全ē當用。
pending: Lán ê人員teh處理lí ê申請。Tse可能愛一段時間。若是申請允准lí ē收著e-mail。
redirecting_to: Lí ê口座無活動因為tann轉kàu %{acct}。
self_destruct: 因為 %{domain} teh-beh關掉lí kan-ta ē當有限接近使用lí ê口座。
view_strikes: 看早前tuì lí ê口座ê警告
too_fast: 添表ê速度傷緊請koh試。
use_security_key: 用安全鎖
user_agreement_html: 我有讀而且同意 <a href="%{terms_of_service_path}" target="_blank">服務規定</a> kap <a href="%{privacy_policy_path}" target="_blank">隱私權政策</a>
user_privacy_agreement_html: 我有讀而且同意 <a href="%{privacy_policy_path}" target="_blank">隱私權政策</a>
@@ -1306,6 +1315,53 @@ nan:
less_than_x_seconds: 頭tú-á
over_x_years: "%{count}年"
x_days: "%{count}kang"
x_minutes: "%{count}分"
x_months: "%{count}個月"
x_seconds: "%{count}秒"
deletes:
challenge_not_passed: Lí輸入ê資訊毋著
confirm_password: 輸入lí tsit-má ê密碼驗證lí ê身份
confirm_username: 輸入lí ê口座ê名,來確認程序
proceed: Thâi掉口座
success_msg: Lí ê口座thâi掉成功
warning:
before: 佇繼續進前請斟酌讀下kha ê說明:
caches: 已經hōo其他ê站the̍h著cache ê內容可能iáu ē有資料
data_removal: Lí ê PO文kap其他ê資料ē永永thâi掉。
email_change_html: Lí ē當<a href="%{path}">改lí ê電子phue地址</a>suah毋免thâi掉lí ê口座。
email_contact_html: 若是iáu buē收著phuelí通寄kàu <a href="mailto:%{email}">%{email}</a> tshuē幫tsān
email_reconfirmation_html: Nā是lí iáu bē收著驗證phuelí通<a href="%{path}">koh請求</a>
irreversible: Lí bē當復原á是重頭啟用lí ê口座
more_details_html: 其他資訊,請看<a href="%{terms_path}">隱私政策</a>。
username_available: Lí ê用者名別lâng ē當申請
username_unavailable: Lí ê口座ē保留而且別lâng bē當用
disputes:
strikes:
action_taken: 行ê行動
appeal: 投訴
appeal_approved: Tsit ê警告已經投訴成功bē koh有效。
appeal_rejected: Tsit ê投訴已經受拒絕
appeal_submitted_at: 投訴送出去ah
appealed_msg: Lí ê投訴送出去ah。Nā受允准ē通知lí。
appeals:
submit: 送投訴
approve_appeal: 允准投訴
associated_report: 關聯ê報告
created_at: 過時ê
description_html: Tsiah ê是 %{instance} ê人員送hōo lí êtuì lí ê口座行ê行動kap警告。
recipient: 送kàu
reject_appeal: 拒絕投訴
status: 'PO文 #%{id}'
status_removed: 嘟文已經tuì系統thâi掉
title: "%{action} tuì %{date}"
title_actions:
delete_statuses: Thâi掉PO文
disable: 冷凍口座
mark_statuses_as_sensitive: Kā PO文標做敏感ê
none: 警告
sensitive: Kā 口座文標做敏感ê
silence: 口座制限
suspend: 停止口座權限
scheduled_statuses:
too_soon: Tio̍h用未來ê日期。
statuses:

View File

@@ -231,6 +231,7 @@ bg:
setting_default_language: Език на публикуване
setting_default_quote_policy: Кой може да цитира
setting_default_sensitive: Все да се бележи мултимедията като деликатна
setting_delete_modal: Предупреждение преди изтриване на публикация
setting_disable_hover_cards: Изключване на прегледа на профила, премествайки показалеца отгоре
setting_disable_swiping: Деактивиране на бързо плъзгащи движения
setting_display_media: Показване на мултимедия
@@ -240,6 +241,7 @@ bg:
setting_emoji_style: Стил на емоджито
setting_expand_spoilers: Винаги разширяване на публикации, отбелязани с предупреждения за съдържание
setting_hide_network: Скриване на социалния ви свързан граф
setting_missing_alt_text_modal: Предупреждение преди публикуване на мултимедия без алтернативен текст
setting_quick_boosting: Включване на бързо подсилване
setting_reduce_motion: Обездвижване на анимациите
setting_system_font_ui: Употреба на стандартния шрифт на системата
@@ -274,6 +276,7 @@ bg:
content_cache_retention_period: Период на запазване на отдалечено съдържание
custom_css: Персонализиран CSS
favicon: Сайтоикона
landing_page: Целева страница за нови посетители
mascot: Плашило талисман по избор (остаряло)
media_cache_retention_period: Период на запазване на мултимедийния кеш
min_age: Минимално възрастово изискване
@@ -354,7 +357,9 @@ bg:
jurisdiction: Законова юрисдикция
min_age: Минимална възраст
user:
date_of_birth_1i: Година
date_of_birth_2i: Месец
date_of_birth_3i: Ден
role: Роля
time_zone: Часова зона
user_role:

View File

@@ -77,7 +77,7 @@ el:
domain: Αυτό μπορεί να είναι το όνομα τομέα που εμφανίζεται στη διεύθυνση email ή η εγγραφή MX που χρησιμοποιεί. Θα ελέγχονται κατά την εγγραφή.
with_dns_records: Θα γίνει απόπειρα ανάλυσης των εγγραφών DNS του τομέα και τα αποτελέσματα θα μπουν και αυτά σε μαύρη λίστα
featured_tag:
name: 'Εδώ είναι μερικά από τα hashtags που χρησιμοποιήσατε περισσότερο πρόσφατα:'
name: 'Εδώ είναι μερικές από τις ετικέτες που χρησιμοποιήσατε περισσότερο πρόσφατα:'
filters:
action: Επιλέξτε ποια ενέργεια θα εκτελεστεί όταν μια ανάρτηση ταιριάζει με το φίλτρο
actions:
@@ -114,7 +114,7 @@ el:
form_challenge:
current_password: Μπαίνεις σε ασφαλή περιοχή
imports:
data: Αρχείο CSV που έχει εξαχθεί από διαφορετικό κόμβο Mastodon
data: Αρχείο CSV που έχει εξαχθεί από διαφορετικό διακομιστή Mastodon
invite_request:
text: Αυτό θα μας βοηθήσει να επιθεωρήσουμε την αίτησή σου
ip_block:
@@ -173,7 +173,7 @@ el:
url: Πού θα σταλούν τα γεγονότα
labels:
account:
attribution_domains: Ιστοσελίδες επιτρέπεται να σας αναφέρουν
attribution_domains: Ιστοσελίδες που επιτρέπεται να σας αναφέρουν
discoverable: Παροχή προφίλ και αναρτήσεων σε αλγορίθμους ανακάλυψης
fields:
name: Περιγραφή
@@ -210,7 +210,7 @@ el:
text: Εξηγήστε γιατί αυτή η απόφαση πρέπει να αντιστραφεί
defaults:
autofollow: Προσκάλεσε για να ακολουθήσουν το λογαριασμό σου
avatar: Αβατάρ
avatar: Άβαταρ
bot: Αυτός είναι ένας αυτοματοποιημένος λογαριασμός (bot)
chosen_languages: Φιλτράρισμα γλωσσών
confirm_new_password: Επιβεβαίωσε νέο συνθηματικό

View File

@@ -54,10 +54,10 @@ es-MX:
password: Usa al menos 8 caracteres
phrase: Se aplicará sin importar las mayúsculas o los avisos de contenido de una publicación
scopes: Qué APIs de la aplicación tendrán acceso. Si seleccionas el alcance de nivel mas alto, no necesitas seleccionar las individuales.
setting_advanced_layout: Mostrar Mastodon con vista de varias columnas, permitiéndote ver tu cronología, notificaciones y una tercera columna que tú elijas. No recomendado para pantallas pequeñas.
setting_advanced_layout: Mostrar Mastodon en un diseño de varias columnas, lo que te permite ver la cronología, las notificaciones y una tercera columna de tu elección. No se recomienda para pantallas pequeñas.
setting_aggregate_reblogs: No mostrar nuevos impulsos para las publicaciones que han sido recientemente impulsadas (sólo afecta a las publicaciones recibidas recientemente)
setting_always_send_emails: Normalmente las notificaciones por correo electrónico no se enviarán cuando estés usando Mastodon activamente
setting_boost_modal: Si está activado, impulsar una publicación abrirá una ventana donde podrás cambiar la visibilidad de tu impulso.
setting_boost_modal: Cuando está habilitado, impulsar abrirá primero un cuadro de confirmación en el que podrás cambiar la visibilidad de tu impulso.
setting_default_quote_policy_private: Las publicaciones solo para seguidores hechas en Mastodon no pueden ser citadas por otros usuarios.
setting_default_quote_policy_unlisted: Cuando las personas te citen, su publicación también se ocultará en las cronologías públicas.
setting_default_sensitive: El contenido multimedia sensible está oculto por defecto y puede ser mostrado con un clic

View File

@@ -79,6 +79,7 @@ ru:
featured_tag:
name: 'Вот некоторые хештеги, которые вы использовали чаще других в последнее время:'
filters:
action: Выберите действие, которое нужно применить к постам, соответствующим фильтру
actions:
blur: Скрыть медиа за предупреждением, не скрывая сам текст поста
hide: Полностью скрыть отфильтрованный пост, будто бы его не существует

View File

@@ -219,7 +219,9 @@ sl:
setting_aggregate_reblogs: Skupinske izpostavitve na časovnicah
setting_always_send_emails: Vedno pošlji e-obvestila
setting_auto_play_gif: Samodejno predvajanje animiranih GIF-ov
setting_boost_modal: Nadziraj vidnost objav
setting_default_language: Jezik objavljanja
setting_default_privacy: Vidnost objav
setting_default_quote_policy: Kdo lahko citira
setting_default_sensitive: Vedno označi medije kot občutljive
setting_delete_modal: Pred brisanjem objave me opozori

View File

@@ -54,6 +54,7 @@ sv:
password: Använd minst 8 tecken
phrase: Matchas oavsett användande i text eller innehållsvarning för ett inlägg
scopes: 'Vilka API: er applikationen kommer tillåtas åtkomst till. Om du väljer en omfattning på högstanivån behöver du inte välja individuella sådana.'
setting_advanced_layout: Visa Mastodon med en layout med flera kolumner, så att du kan se tidslinjen, aviseringar, och en tredje kolumn som du väljer själv. Rekommenderas inte för mindre skärmar.
setting_aggregate_reblogs: Visa inte nya boostar för inlägg som nyligen blivit boostade (påverkar endast nymottagna boostar)
setting_always_send_emails: E-postnotiser kommer vanligtvis inte skickas när du aktivt använder Mastodon
setting_default_sensitive: Känslig media döljs som standard och kan visas med ett klick

View File

@@ -495,6 +495,24 @@ sl:
new:
title: Uvozi blokade domen
no_file: Nobena datoteka ni izbrana
fasp:
debug:
callbacks:
delete: Izbriši
ip: Naslov IP
providers:
base_url: Osnovna povezava
callback: Povratni klic
delete: Izbriši
edit: Uredi ponudnika
finish_registration: Dokončaj registracijo
name: Ime
registrations:
confirm: Potrdi
reject: Zavrni
save: Shrani
sign_in: Prijava
status: Stanje
follow_recommendations:
description_html: "<strong>Sledi priporočilom pomaga novim uporabnikom, da hitro najdejo zanimivo vsebino</strong>. Če uporabnik ni dovolj komuniciral z drugimi, da bi oblikoval prilagojena priporočila za sledenje, se namesto tega priporočajo ti računi. Dnevno se ponovno izračunajo iz kombinacije računov z najvišjimi nedavnimi angažiranostmi in najvišjim številom krajevnih sledilcev za določen jezik."
language: Za jezik
@@ -569,6 +587,9 @@ sl:
all: Vse
limited: Omejeno
title: Moderiranje
moderation_notes:
description_html: Pokaži in pusti opombe drugim moderatorjem in sebi v prihodnosti
title: Opombe moderiranja
private_comment: Zasebni komentar
public_comment: Javni komentar
purge: Očisti
@@ -783,11 +804,16 @@ sl:
title: Vloge
rules:
add_new: Dodaj pravilo
add_translation: Dodaj prevod
delete: Izbriši
description_html: Večina trdi, da so prebrali in da se strinjajo s pogoji rabe storitve, vendar le-teh ponavadi ne preberejo, dokler ne pride do težav. <strong>Poenostavite in naredite pravila svojega strežnika vidna na prvi pogled tako, da jih izpišete v označenem seznamu.</strong>Posamezna pravila skušajte ohraniti kratka in enostavna, ne razbijajte pa jih v preveč različnih točk.
edit: Uredi pravilo
empty: Zaenkrat še ni opredeljenih pravil.
move_down: Premakni navzdol
move_up: Premakni navzgor
title: Pravila strežnika
translation: Prevod
translations: Prevodi
settings:
about:
manage_rules: Upravljaj pravila strežnika
@@ -812,6 +838,7 @@ sl:
title: Privzeto izvzemi uporabnike iz indeksiranja iskalnika
discovery:
follow_recommendations: Sledi priporočilom
privacy: Zasebnost
profile_directory: Imenik profilov
public_timelines: Javne časovnice
publish_statistics: Objavi statistiko
@@ -821,6 +848,9 @@ sl:
all: Vsem
disabled: Nikomur
users: Prijavljenim krajevnim uporabnikom
landing_page:
values:
trends: Trendi
registrations:
moderation_recommandation: Preden prijave odprete za vse poskrbite, da imate v ekipi moderatorjev zadosti aktivnih članov.
preamble: Nadzirajte, kdo lahko ustvari račun na vašem strežniku.
@@ -874,6 +904,7 @@ sl:
no_status_selected: Nobena objava ni bila spremenjena, ker ni bila nobena izbrana
open: Odpri objavo
original_status: Izvorna objava
quotes: Citati
reblogs: Ponovljeni blogi
replied_to_html: V odgovor %{acct_link}
status_changed: Objava spremenjena
@@ -1070,6 +1101,15 @@ sl:
two: Uporabili %{count} osebi v zadnjem tednu
title: Priporočila in trendi
trending: V porastu
username_blocks:
add_new: Dodaj novo
comparison:
contains: Vsebuje
contains_html: Vsebuje %{string}
delete: Izbriši
new:
create: Ustvari pravilo
not_permitted: Ni dovoljeno
warning_presets:
add_new: Dodaj novo
delete: Izbriši
@@ -1144,6 +1184,7 @@ sl:
hint_html: Če se želite preseliti iz drugega računa v tega, lahko tukaj ustvarite vzdevek, ki je potreben, preden lahko nadaljujete s selitvijo sledilcev iz starega računa v tega. To dejanje je samo po sebi <strong>neškodljivo in povratno</strong>. <strong>Selitev računa sprožite iz starega računa</strong>.
remove: Razveži vzdevek
appearance:
advanced_settings: Napredne nastavitve
animations_and_accessibility: Animacije in dostopnost
discovery: Odkrito
localization:
@@ -1333,6 +1374,8 @@ sl:
basic_information: Osnovni podatki
hint_html: "<strong>Prilagodite, kaj ljudje vidijo na vašem javnem profilu in poleg vaših objav.</strong> Drugi vam bodo raje sledili nazaj in z vami klepetali, če boste imeli izpolnjen profil in nastavljeno profilno sliko."
other: Drugo
emoji_styles:
auto: Samodejno
errors:
'400': Zahteva, ki ste jo oddali, je neveljavna ali nepravilno oblikovana.
'403': Nimate dovoljenja za ogled te strani.
@@ -1582,6 +1625,11 @@ sl:
expires_at: Poteče
uses: Uporabe
title: Povabite ljudi
link_preview:
author_html: Avtor/ica %{name}
potentially_sensitive_content:
action: Kliknite za prikaz
hide_button: Skrij
lists:
errors:
limit: Dosegli ste največje število seznamov
@@ -1681,6 +1729,9 @@ sl:
title: Nova omemba
poll:
subject: Anketa, ki jo je pripravil/a %{name}, se je iztekla
quote:
body: 'Vašo objavo je citiral/a %{name}:'
title: Nov citat
reblog:
body: 'Vašo objavo je izpostavil/a %{name}:'
subject: "%{name} je izpostavil/a vašo objavo"
@@ -1729,6 +1780,7 @@ sl:
self_vote: Ne morete glasovati v lastnih anketah
too_few_options: mora imeti več kot en element
too_many_options: ne more vsebovati več kot %{max} elementov
vote: Glasuj
preferences:
other: Ostalo
posting_defaults: Privzete nastavitev objavljanja
@@ -1890,6 +1942,9 @@ sl:
two: "%{count} video posnetka"
boosted_from_html: Izpostavljeno z računa %{acct_link}
content_warning: 'Opozorilo o vsebini: %{warning}'
content_warnings:
hide: Skrij objavo
show: Pokaži več
default_language: Enak kot jezik vmesnika
disallowed_hashtags:
few: 'vsebuje nedovoljene ključnike: %{tags}'
@@ -1905,9 +1960,19 @@ sl:
limit: Pripeli ste največje število objav
ownership: Objava nekoga drugega ne more biti pripeta
reblog: Izpostavitev ne more biti pripeta
quote_error:
not_available: Objava ni na voljo
quote_policies:
followers: Samo sledilci
nobody: Samo jaz
public: Vsi
title: "%{name}: »%{quote}«"
visibilities:
direct: Zasebna omemba
private: Samo sledilci
public: Javno
public_long: Vsem, ki so ali niso na Mastodonu
unlisted: Tiho javno
statuses_cleanup:
enabled: Samodejno izbriši stare objave
enabled_hint: Samodejno izbriše vaše objave, ko dosežejo določen starostni prag, razen če ne ustrezajo eni od spodnjih izjem
@@ -1952,6 +2017,8 @@ sl:
does_not_match_previous_name: se ne ujema s prejšnjim imenom
terms_of_service:
title: Pogoji uporabe
terms_of_service_interstitial:
title: Spreminjajo se pogoji uporabe domene %{domain}
themes:
contrast: Mastodon (Visok kontrast)
default: Mastodon (Temna)

View File

@@ -25,3 +25,9 @@ end
Fabricator(:owner_user, from: :user) do
role UserRole.find_by(name: 'Owner')
end
Fabricator(:private_user, from: :user) do
account_attributes do
{ discoverable: false, locked: true, indexable: false }
end
end

View File

@@ -3,10 +3,7 @@
require 'rails_helper'
RSpec.describe 'credentials API' do
let(:user) { Fabricate(:user, account_attributes: { discoverable: false, locked: true, indexable: false }) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:accounts write:accounts' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', user_fabricator: :private_user, oauth_scopes: 'read:accounts write:accounts'
describe 'GET /api/v1/accounts/verify_credentials' do
subject do

View File

@@ -3,10 +3,8 @@
require 'rails_helper'
RSpec.describe 'Accounts Pins API' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'write:accounts' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'write:accounts'
let(:kevin) { Fabricate(:user) }
before do

View File

@@ -3,10 +3,8 @@
require 'rails_helper'
RSpec.describe 'Accounts Familiar Followers API' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:follows' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:follows'
let(:account) { Fabricate(:account) }
describe 'GET /api/v1/accounts/familiar_followers' do

View File

@@ -3,11 +3,9 @@
require 'rails_helper'
RSpec.describe 'account featured tags API' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:accounts' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
let(:account) { Fabricate(:account) }
include_context 'with API authentication', oauth_scopes: 'read:accounts'
let(:account) { Fabricate(:account) }
describe 'GET /api/v1/accounts/:id/featured_tags' do
subject do

View File

@@ -3,10 +3,8 @@
require 'rails_helper'
RSpec.describe 'API V1 Accounts FollowerAccounts' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:accounts' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:accounts'
let(:account) { Fabricate(:account) }
let(:alice) { Fabricate(:account) }
let(:bob) { Fabricate(:account) }

View File

@@ -3,10 +3,8 @@
require 'rails_helper'
RSpec.describe 'API V1 Accounts FollowingAccounts' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:accounts' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:accounts'
let(:account) { Fabricate(:account) }
let(:alice) { Fabricate(:account) }
let(:bob) { Fabricate(:account) }

View File

@@ -3,10 +3,8 @@
require 'rails_helper'
RSpec.describe 'Accounts Identity Proofs API' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:accounts' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:accounts'
let(:account) { Fabricate(:account) }
describe 'GET /api/v1/accounts/identity_proofs' do

View File

@@ -3,10 +3,8 @@
require 'rails_helper'
RSpec.describe 'Accounts Lists API' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:lists' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:lists'
let(:account) { Fabricate(:account) }
let(:list) { Fabricate(:list, account: user.account) }

View File

@@ -3,10 +3,8 @@
require 'rails_helper'
RSpec.describe 'Accounts Lookup API' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:accounts' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:accounts'
let(:account) { Fabricate(:account) }
describe 'GET /api/v1/accounts/lookup' do

View File

@@ -3,10 +3,8 @@
require 'rails_helper'
RSpec.describe 'Accounts Notes API' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'write:accounts' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'write:accounts'
let(:account) { Fabricate(:account) }
let(:comment) { 'foo' }

View File

@@ -7,10 +7,7 @@ RSpec.describe 'GET /api/v1/accounts/relationships' do
get '/api/v1/accounts/relationships', headers: headers, params: params
end
let(:user) { Fabricate(:user) }
let(:scopes) { 'read:follows' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:follows'
let(:simon) { Fabricate(:account) }
let(:lewis) { Fabricate(:account) }

View File

@@ -3,10 +3,7 @@
require 'rails_helper'
RSpec.describe 'Accounts Search API' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:accounts' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:accounts'
describe 'GET /api/v1/accounts/search' do
it 'returns http success' do

View File

@@ -3,10 +3,7 @@
require 'rails_helper'
RSpec.describe 'API V1 Accounts Statuses' do
let(:user) { Fabricate(:user) }
let(:scopes) { 'read:statuses' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:statuses'
describe 'GET /api/v1/accounts/:account_id/statuses' do
it 'returns expected headers', :aggregate_failures do

View File

@@ -3,10 +3,7 @@
require 'rails_helper'
RSpec.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}" } }
include_context 'with API authentication'
describe 'GET /api/v1/accounts?id[]=:id' do
let(:account) { Fabricate(:account) }

View File

@@ -3,11 +3,7 @@
require 'rails_helper'
RSpec.describe 'Account actions' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
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}" } }
include_context 'with API authentication', user_fabricator: :admin_user, oauth_scopes: 'admin:write admin:write:accounts'
shared_examples 'a successful notification delivery' do
it 'notifies the user about the action taken', :inline_jobs do

View File

@@ -3,11 +3,7 @@
require 'rails_helper'
RSpec.describe 'Accounts' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:scopes) { 'admin:read:accounts admin:write:accounts' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', user_fabricator: :admin_user, oauth_scopes: 'admin:read:accounts admin:write:accounts'
describe 'GET /api/v1/admin/accounts' do
subject do

View File

@@ -3,11 +3,7 @@
require 'rails_helper'
RSpec.describe 'Canonical Email Blocks' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'admin:read:canonical_email_blocks admin:write:canonical_email_blocks' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', user_fabricator: :admin_user, oauth_scopes: 'admin:read:canonical_email_blocks admin:write:canonical_email_blocks'
describe 'GET /api/v1/admin/canonical_email_blocks' do
subject do

View File

@@ -3,9 +3,8 @@
require 'rails_helper'
RSpec.describe 'Admin Dimensions' do
let(:user) { Fabricate(:admin_user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', user_fabricator: :admin_user
let(:account) { Fabricate(:account) }
describe 'GET /api/v1/admin/dimensions' do

View File

@@ -3,11 +3,7 @@
require 'rails_helper'
RSpec.describe 'Domain Allows' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:scopes) { 'admin:read admin:write' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', user_fabricator: :admin_user, oauth_scopes: 'admin:read admin:write'
describe 'GET /api/v1/admin/domain_allows' do
subject do

View File

@@ -3,11 +3,7 @@
require 'rails_helper'
RSpec.describe 'Domain Blocks' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:scopes) { 'admin:read:domain_blocks admin:write:domain_blocks' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', user_fabricator: :admin_user, oauth_scopes: 'admin:read:domain_blocks admin:write:domain_blocks'
describe 'GET /api/v1/admin/domain_blocks' do
subject do

View File

@@ -3,12 +3,7 @@
require 'rails_helper'
RSpec.describe 'Email Domain Blocks' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:account) { Fabricate(:account) }
let(:scopes) { 'admin:read:email_domain_blocks admin:write:email_domain_blocks' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', user_fabricator: :admin_user, oauth_scopes: 'admin:read:email_domain_blocks admin:write:email_domain_blocks'
describe 'GET /api/v1/admin/email_domain_blocks' do
subject do

View File

@@ -3,11 +3,7 @@
require 'rails_helper'
RSpec.describe 'IP Blocks' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'admin:read:ip_blocks admin:write:ip_blocks' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', user_fabricator: :admin_user, oauth_scopes: 'admin:read:ip_blocks admin:write:ip_blocks'
describe 'GET /api/v1/admin/ip_blocks' do
subject do

View File

@@ -3,10 +3,8 @@
require 'rails_helper'
RSpec.describe 'Admin Measures' do
let(:user) { Fabricate(:admin_user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
let(:account) { Fabricate(:account) }
include_context 'with API authentication', user_fabricator: :admin_user
let(:params) do
{
keys: %w(instance_accounts instance_follows instance_followers),

View File

@@ -3,11 +3,7 @@
require 'rails_helper'
RSpec.describe 'Reports' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:scopes) { 'admin:read:reports admin:write:reports' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', user_fabricator: :admin_user, oauth_scopes: 'admin:read:reports admin:write:reports'
describe 'GET /api/v1/admin/reports' do
subject do

View File

@@ -3,9 +3,8 @@
require 'rails_helper'
RSpec.describe 'Admin Retention' do
let(:user) { Fabricate(:admin_user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', user_fabricator: :admin_user
let(:account) { Fabricate(:account) }
describe 'GET /api/v1/admin/retention' do

View File

@@ -3,10 +3,8 @@
require 'rails_helper'
RSpec.describe 'Tags' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:scopes) { 'admin:read admin:write' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
include_context 'with API authentication', user_fabricator: :admin_user, oauth_scopes: 'admin:read admin:write'
let(:tag) { Fabricate(:tag) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }

View File

@@ -3,11 +3,7 @@
require 'rails_helper'
RSpec.describe 'Links' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:scopes) { 'admin:read admin:write' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', user_fabricator: :admin_user, oauth_scopes: 'admin:read admin:write'
describe 'GET /api/v1/admin/trends/links' do
subject do

View File

@@ -3,11 +3,8 @@
require 'rails_helper'
RSpec.describe 'API V1 Admin Trends Links Preview Card Providers' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:scopes) { 'admin:read admin:write' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', user_fabricator: :admin_user, oauth_scopes: 'admin:read admin:write'
let(:account) { Fabricate(:account) }
let(:preview_card_provider) { Fabricate(:preview_card_provider) }

View File

@@ -3,13 +3,10 @@
require 'rails_helper'
RSpec.describe 'API V1 Admin Trends Statuses' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:scopes) { 'admin:read admin:write' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
include_context 'with API authentication', user_fabricator: :admin_user, oauth_scopes: 'admin:read admin:write'
let(:account) { Fabricate(:account) }
let(:status) { Fabricate(:status) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
describe 'GET /api/v1/admin/trends/statuses' do
it 'returns http success' do

View File

@@ -3,13 +3,10 @@
require 'rails_helper'
RSpec.describe 'API V1 Admin Trends Tags' do
let(:role) { UserRole.find_by(name: 'Admin') }
let(:user) { Fabricate(:user, role: role) }
let(:scopes) { 'admin:read admin:write' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
include_context 'with API authentication', user_fabricator: :admin_user, oauth_scopes: 'admin:read admin:write'
let(:account) { Fabricate(:account) }
let(:tag) { Fabricate(:tag) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
describe 'GET /api/v1/admin/trends/tags' do
it 'returns http success' do

View File

@@ -3,10 +3,7 @@
require 'rails_helper'
RSpec.describe 'API V1 Announcements' do
let(:user) { Fabricate(:user) }
let(:scopes) { 'read' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read'
let!(:announcement) { Fabricate(:announcement) }

View File

@@ -3,9 +3,7 @@
require 'rails_helper'
RSpec.describe 'API V1 Annual Reports' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication'
describe 'GET /api/v1/annual_reports' do
context 'when not authorized' do

View File

@@ -3,10 +3,7 @@
require 'rails_helper'
RSpec.describe 'Blocks' do
let(:user) { Fabricate(:user) }
let(:scopes) { 'read:blocks' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:blocks'
describe 'GET /api/v1/blocks' do
subject do

View File

@@ -3,10 +3,7 @@
require 'rails_helper'
RSpec.describe 'Bookmarks' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:bookmarks' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:bookmarks'
describe 'GET /api/v1/bookmarks' do
subject do

View File

@@ -3,10 +3,9 @@
require 'rails_helper'
RSpec.describe 'API V1 Conversations' do
include_context 'with API authentication', oauth_scopes: 'read:statuses'
let!(:user) { Fabricate(:user, account_attributes: { username: 'alice' }) }
let(:scopes) { 'read:statuses' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
let(:other) { Fabricate(:user) }

View File

@@ -3,9 +3,7 @@
require 'rails_helper'
RSpec.describe 'Custom Emojis' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication'
describe 'GET /api/v1/custom_emojis' do
before do

View File

@@ -3,10 +3,9 @@
require 'rails_helper'
RSpec.describe 'Directories API' do
include_context 'with API authentication', oauth_scopes: 'read:follows'
let(:user) { Fabricate(:user, confirmed_at: nil) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:follows' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
describe 'GET /api/v1/directories' do
context 'with no params' do

View File

@@ -3,10 +3,7 @@
require 'rails_helper'
RSpec.describe 'Domain blocks' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:blocks write:blocks' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:blocks write:blocks'
describe 'GET /api/v1/domain_blocks' do
subject do

View File

@@ -3,9 +3,7 @@
require 'rails_helper'
RSpec.describe 'Endorsements' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication'
describe 'GET /api/v1/endorsements' do
context 'when not authorized' do

View File

@@ -3,10 +3,7 @@
require 'rails_helper'
RSpec.describe 'Favourites' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:favourites' }
let(:headers) { { Authorization: "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:favourites'
describe 'GET /api/v1/favourites' do
subject do

View File

@@ -3,10 +3,7 @@
require 'rails_helper'
RSpec.describe 'FeaturedTags' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:accounts write:accounts' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:accounts write:accounts'
describe 'GET /api/v1/featured_tags' do
context 'with wrong scope' do

View File

@@ -3,9 +3,7 @@
require 'rails_helper'
RSpec.describe 'API V1 Filters' do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication'
describe 'GET /api/v1/filters' do
let(:scopes) { 'read:filters' }

View File

@@ -3,10 +3,9 @@
require 'rails_helper'
RSpec.describe 'Follow requests' do
let(:user) { Fabricate(:user, account_attributes: { locked: true }) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:scopes) { 'read:follows write:follows' }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:follows write:follows'
let(:user) { Fabricate(:user, account_attributes: { locked: true }) }
describe 'GET /api/v1/follow_requests' do
subject do

View File

@@ -3,10 +3,7 @@
require 'rails_helper'
RSpec.describe 'Followed tags' do
let(:user) { Fabricate(:user) }
let(:scopes) { 'read:follows' }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
include_context 'with API authentication', oauth_scopes: 'read:follows'
describe 'GET /api/v1/followed_tags' do
subject do

Some files were not shown because too many files have changed in this diff Show More