Merge commit '5dc634796aba951f6a085e1ed0e1b807e25d7d41' into glitch-soc/merge-upstream

th-new
Claire 2024-01-10 18:41:04 +01:00
commit 47d213e701
53 changed files with 738 additions and 203 deletions

View File

@ -1,13 +1,13 @@
# This configuration was generated by # This configuration was generated by
# `haml-lint --auto-gen-config` # `haml-lint --auto-gen-config`
# on 2023-12-15 11:02:19 -0500 using Haml-Lint version 0.52.0. # on 2024-01-08 14:02:57 -0500 using Haml-Lint version 0.53.0.
# The point is for the user to remove these configuration records # The point is for the user to remove these configuration records
# one by one as the lints are removed from the code base. # one by one as the lints are removed from the code base.
# Note that changes in the inspected code, or installation of new # Note that changes in the inspected code, or installation of new
# versions of Haml-Lint, may require this file to be generated again. # versions of Haml-Lint, may require this file to be generated again.
linters: linters:
# Offense count: 11 # Offense count: 10
LineLength: LineLength:
exclude: exclude:
- 'app/views/admin/roles/_form.html.haml' - 'app/views/admin/roles/_form.html.haml'
@ -17,5 +17,4 @@ linters:
- 'app/views/settings/applications/_fields.html.haml' - 'app/views/settings/applications/_fields.html.haml'
- 'app/views/settings/imports/index.html.haml' - 'app/views/settings/imports/index.html.haml'
- 'app/views/settings/preferences/appearance/show.html.haml' - 'app/views/settings/preferences/appearance/show.html.haml'
- 'app/views/settings/preferences/notifications/show.html.haml'
- 'app/views/settings/preferences/other/show.html.haml' - 'app/views/settings/preferences/other/show.html.haml'

View File

@ -336,8 +336,8 @@ GEM
activesupport (>= 5.1) activesupport (>= 5.1)
haml (>= 4.0.6) haml (>= 4.0.6)
railties (>= 5.1) railties (>= 5.1)
haml_lint (0.52.0) haml_lint (0.53.0)
haml (>= 4.0) haml (>= 5.0)
parallel (~> 1.10) parallel (~> 1.10)
rainbow rainbow
rubocop (>= 1.0) rubocop (>= 1.0)

View File

@ -21,6 +21,7 @@
"account.blocked": "Stanket", "account.blocked": "Stanket",
"account.browse_more_on_origin_server": "Furchal pelloc'h war ar profil orin", "account.browse_more_on_origin_server": "Furchal pelloc'h war ar profil orin",
"account.cancel_follow_request": "Nullañ ar reked heuliañ", "account.cancel_follow_request": "Nullañ ar reked heuliañ",
"account.copy": "Eilañ al liamm war-zu ho profil",
"account.disable_notifications": "Paouez d'am c'hemenn pa vez embannet traoù gant @{name}", "account.disable_notifications": "Paouez d'am c'hemenn pa vez embannet traoù gant @{name}",
"account.domain_blocked": "Domani stanket", "account.domain_blocked": "Domani stanket",
"account.edit_profile": "Kemmañ ar profil", "account.edit_profile": "Kemmañ ar profil",
@ -28,8 +29,9 @@
"account.endorse": "Lakaat war-wel war ar profil", "account.endorse": "Lakaat war-wel war ar profil",
"account.featured_tags.last_status_at": "Toud diwezhañ : {date}", "account.featured_tags.last_status_at": "Toud diwezhañ : {date}",
"account.featured_tags.last_status_never": "Toud ebet", "account.featured_tags.last_status_never": "Toud ebet",
"account.featured_tags.title": "Penngerioù-klik {name}", "account.featured_tags.title": "Hashtagoù pennañ {name}",
"account.follow": "Heuliañ", "account.follow": "Heuliañ",
"account.follow_back": "Heuliañ d'ho tro",
"account.followers": "Tud koumanantet", "account.followers": "Tud koumanantet",
"account.followers.empty": "Den na heul an implijer·ez-mañ c'hoazh.", "account.followers.empty": "Den na heul an implijer·ez-mañ c'hoazh.",
"account.followers_counter": "{count, plural, other{{counter} Heulier·ez}}", "account.followers_counter": "{count, plural, other{{counter} Heulier·ez}}",
@ -38,6 +40,7 @@
"account.follows.empty": "An implijer·ez-mañ na heul den ebet.", "account.follows.empty": "An implijer·ez-mañ na heul den ebet.",
"account.go_to_profile": "Gwelet ar profil", "account.go_to_profile": "Gwelet ar profil",
"account.hide_reblogs": "Kuzh skignadennoù gant @{name}", "account.hide_reblogs": "Kuzh skignadennoù gant @{name}",
"account.in_memoriam": "E koun.",
"account.joined_short": "Amañ abaoe", "account.joined_short": "Amañ abaoe",
"account.languages": "Cheñch ar yezhoù koumanantet", "account.languages": "Cheñch ar yezhoù koumanantet",
"account.link_verified_on": "Gwiriet eo bet perc'hennidigezh al liamm d'an deiziad-mañ : {date}", "account.link_verified_on": "Gwiriet eo bet perc'hennidigezh al liamm d'an deiziad-mañ : {date}",
@ -49,11 +52,13 @@
"account.mute_notifications_short": "Kuzhat ar c'hemennoù", "account.mute_notifications_short": "Kuzhat ar c'hemennoù",
"account.mute_short": "Kuzhat", "account.mute_short": "Kuzhat",
"account.muted": "Kuzhet", "account.muted": "Kuzhet",
"account.no_bio": "Deskrivadur ebet da gaout.",
"account.open_original_page": "Digeriñ ar bajenn orin", "account.open_original_page": "Digeriñ ar bajenn orin",
"account.posts": "Toudoù", "account.posts": "Embannadurioù",
"account.posts_with_replies": "Toudoù ha respontoù", "account.posts_with_replies": "Embannadurioù ha respontoù",
"account.report": "Disklêriañ @{name}", "account.report": "Disklêriañ @{name}",
"account.requested": "O c'hortoz an asant. Klikit evit nullañ ar goulenn heuliañ", "account.requested": "O c'hortoz an asant. Klikit evit nullañ ar goulenn heuliañ",
"account.requested_follow": "Gant {name} eo bet goulennet ho heuliañ",
"account.share": "Skignañ profil @{name}", "account.share": "Skignañ profil @{name}",
"account.show_reblogs": "Diskouez skignadennoù @{name}", "account.show_reblogs": "Diskouez skignadennoù @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Toud} two {{counter} Doud} other {{counter} a Doudoù}}", "account.statuses_counter": "{count, plural, one {{counter} Toud} two {{counter} Doud} other {{counter} a Doudoù}}",
@ -102,6 +107,7 @@
"column.community": "Red-amzer lec'hel", "column.community": "Red-amzer lec'hel",
"column.directory": "Mont a-dreuz ar profiloù", "column.directory": "Mont a-dreuz ar profiloù",
"column.domain_blocks": "Domani berzet", "column.domain_blocks": "Domani berzet",
"column.favourites": "Muiañ-karet",
"column.follow_requests": "Rekedoù heuliañ", "column.follow_requests": "Rekedoù heuliañ",
"column.home": "Degemer", "column.home": "Degemer",
"column.lists": "Listennoù", "column.lists": "Listennoù",
@ -122,6 +128,9 @@
"community.column_settings.remote_only": "Nemet a-bell", "community.column_settings.remote_only": "Nemet a-bell",
"compose.language.change": "Cheñch yezh", "compose.language.change": "Cheñch yezh",
"compose.language.search": "Klask yezhoù...", "compose.language.search": "Klask yezhoù...",
"compose.published.body": "Embannet.",
"compose.published.open": "Digeriñ",
"compose.saved.body": "Enrollet.",
"compose_form.direct_message_warning_learn_more": "Gouzout hiroc'h", "compose_form.direct_message_warning_learn_more": "Gouzout hiroc'h",
"compose_form.encryption_warning": "Toudoù war Mastodon na vezont ket sifret penn-da-benn. Na rannit ket titouroù kizidik dre Mastodon.", "compose_form.encryption_warning": "Toudoù war Mastodon na vezont ket sifret penn-da-benn. Na rannit ket titouroù kizidik dre Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
@ -158,6 +167,7 @@
"confirmations.discard_edit_media.message": "Bez ez eus kemmoù n'int ket enrollet e deskrivadur ar media pe ar rakwel, nullañ anezho evelato?", "confirmations.discard_edit_media.message": "Bez ez eus kemmoù n'int ket enrollet e deskrivadur ar media pe ar rakwel, nullañ anezho evelato?",
"confirmations.domain_block.confirm": "Berzañ an domani a-bezh", "confirmations.domain_block.confirm": "Berzañ an domani a-bezh",
"confirmations.domain_block.message": "Ha sur oc'h e fell deoc'h berzañ an {domain} a-bezh? Peurvuiañ eo trawalc'h berzañ pe mudañ un nebeud implijer·ezed·ien. Ne welot danvez ebet o tont eus an domani-mañ. Dilamet e vo ar c'houmanantoù war an domani-mañ.", "confirmations.domain_block.message": "Ha sur oc'h e fell deoc'h berzañ an {domain} a-bezh? Peurvuiañ eo trawalc'h berzañ pe mudañ un nebeud implijer·ezed·ien. Ne welot danvez ebet o tont eus an domani-mañ. Dilamet e vo ar c'houmanantoù war an domani-mañ.",
"confirmations.edit.confirm": "Kemmañ",
"confirmations.logout.confirm": "Digevreañ", "confirmations.logout.confirm": "Digevreañ",
"confirmations.logout.message": "Ha sur oc'h e fell deoc'h digevreañ ?", "confirmations.logout.message": "Ha sur oc'h e fell deoc'h digevreañ ?",
"confirmations.mute.confirm": "Kuzhat", "confirmations.mute.confirm": "Kuzhat",
@ -172,7 +182,9 @@
"conversation.mark_as_read": "Merkañ evel lennet", "conversation.mark_as_read": "Merkañ evel lennet",
"conversation.open": "Gwelout ar gaozeadenn", "conversation.open": "Gwelout ar gaozeadenn",
"conversation.with": "Gant {names}", "conversation.with": "Gant {names}",
"copy_icon_button.copied": "Eilet er golver",
"copypaste.copied": "Eilet", "copypaste.copied": "Eilet",
"copypaste.copy_to_clipboard": "Eilañ er golver",
"directory.federated": "Eus ar fedibed anavezet", "directory.federated": "Eus ar fedibed anavezet",
"directory.local": "Eus {domain} hepken", "directory.local": "Eus {domain} hepken",
"directory.new_arrivals": "Degouezhet a-nevez", "directory.new_arrivals": "Degouezhet a-nevez",
@ -209,7 +221,8 @@
"empty_column.domain_blocks": "N'eus domani kuzh ebet c'hoazh.", "empty_column.domain_blocks": "N'eus domani kuzh ebet c'hoazh.",
"empty_column.explore_statuses": "N'eus tuadur ebet evit c'hoazh. Distroit diwezhatoc'h !", "empty_column.explore_statuses": "N'eus tuadur ebet evit c'hoazh. Distroit diwezhatoc'h !",
"empty_column.follow_requests": "N'ho peus reked heuliañ ebet c'hoazh. Pa vo resevet unan e teuio war wel amañ.", "empty_column.follow_requests": "N'ho peus reked heuliañ ebet c'hoazh. Pa vo resevet unan e teuio war wel amañ.",
"empty_column.hashtag": "N'eus netra er ger-klik-mañ c'hoazh.", "empty_column.followed_tags": "N'emaoc'h oc'h heuliañ hashtag ebet evit poent. Pa vioc'h e vo d'o gwelet amañ.",
"empty_column.hashtag": "N'eus netra en hashtag-mañ c'hoazh.",
"empty_column.home": "Goullo eo ho red-amzer degemer! Kit da weladenniñ {public} pe implijit ar c'hlask evit kregiñ ganti ha kejañ gant implijer·ien·ezed all.", "empty_column.home": "Goullo eo ho red-amzer degemer! Kit da weladenniñ {public} pe implijit ar c'hlask evit kregiñ ganti ha kejañ gant implijer·ien·ezed all.",
"empty_column.list": "Goullo eo al listenn-mañ evit c'hoazh. Pa vo embannet toudoù nevez gant e izili e teuint war wel amañ.", "empty_column.list": "Goullo eo al listenn-mañ evit c'hoazh. Pa vo embannet toudoù nevez gant e izili e teuint war wel amañ.",
"empty_column.lists": "N'ho peus roll ebet c'hoazh. Pa vo krouet unan ganeoc'h e vo diskouezet amañ.", "empty_column.lists": "N'ho peus roll ebet c'hoazh. Pa vo krouet unan ganeoc'h e vo diskouezet amañ.",
@ -223,7 +236,11 @@
"errors.unexpected_crash.copy_stacktrace": "Eilañ ar roudoù diveugañ er golver", "errors.unexpected_crash.copy_stacktrace": "Eilañ ar roudoù diveugañ er golver",
"errors.unexpected_crash.report_issue": "Danevellañ ur fazi", "errors.unexpected_crash.report_issue": "Danevellañ ur fazi",
"explore.search_results": "Disoc'hoù an enklask", "explore.search_results": "Disoc'hoù an enklask",
"explore.suggested_follows": "Tud",
"explore.title": "Furchal", "explore.title": "Furchal",
"explore.trending_links": "Keleier",
"explore.trending_statuses": "Embannadurioù",
"explore.trending_tags": "Hashtagoù",
"filter_modal.added.context_mismatch_title": "Kenarroud digenglotus !", "filter_modal.added.context_mismatch_title": "Kenarroud digenglotus !",
"filter_modal.added.expired_title": "Sil deuet d'e dermen !", "filter_modal.added.expired_title": "Sil deuet d'e dermen !",
"filter_modal.added.review_and_configure_title": "Arventennoù ar sil", "filter_modal.added.review_and_configure_title": "Arventennoù ar sil",
@ -237,9 +254,13 @@
"filter_modal.select_filter.subtitle": "Implijout ur rummad a zo anezhañ pe krouiñ unan nevez", "filter_modal.select_filter.subtitle": "Implijout ur rummad a zo anezhañ pe krouiñ unan nevez",
"filter_modal.select_filter.title": "Silañ an toud-mañ", "filter_modal.select_filter.title": "Silañ an toud-mañ",
"filter_modal.title.status": "Silañ un toud", "filter_modal.title.status": "Silañ un toud",
"firehose.all": "Pep tra",
"firehose.local": "Ar servijer-mañ",
"firehose.remote": "Servijerioù all",
"follow_request.authorize": "Aotren", "follow_request.authorize": "Aotren",
"follow_request.reject": "Nac'hañ", "follow_request.reject": "Nac'hañ",
"follow_requests.unlocked_explanation": "Daoust ma n'eo ket ho kont prennet, skipailh {domain} a soñj e fellfe deoc'h gwiriekaat pedadennoù heuliañ deus ar c'hontoù-se diwar-zorn.", "follow_requests.unlocked_explanation": "Daoust ma n'eo ket ho kont prennet, skipailh {domain} a soñj e fellfe deoc'h gwiriekaat pedadennoù heuliañ deus ar c'hontoù-se diwar-zorn.",
"followed_tags": "Hashtagoù o heuliañ",
"footer.about": "Diwar-benn", "footer.about": "Diwar-benn",
"footer.directory": "Kavlec'h ar profiloù", "footer.directory": "Kavlec'h ar profiloù",
"footer.get_app": "Pellgargañ an arload", "footer.get_app": "Pellgargañ an arload",
@ -247,29 +268,40 @@
"footer.keyboard_shortcuts": "Berradennoù klavier", "footer.keyboard_shortcuts": "Berradennoù klavier",
"footer.privacy_policy": "Reolennoù prevezded", "footer.privacy_policy": "Reolennoù prevezded",
"footer.source_code": "Gwelet kod mammenn", "footer.source_code": "Gwelet kod mammenn",
"footer.status": "Statud",
"generic.saved": "Enrollet", "generic.saved": "Enrollet",
"getting_started.heading": "Loc'hañ", "getting_started.heading": "Loc'hañ",
"hashtag.column_header.tag_mode.all": "ha {additional}", "hashtag.column_header.tag_mode.all": "ha(g) {additional}",
"hashtag.column_header.tag_mode.any": "pe {additional}", "hashtag.column_header.tag_mode.any": "pe {additional}",
"hashtag.column_header.tag_mode.none": "hep {additional}", "hashtag.column_header.tag_mode.none": "hep {additional}",
"hashtag.column_settings.select.no_options_message": "N'eus bet kavet ali ebet", "hashtag.column_settings.select.no_options_message": "N'eus bet kavet ali ebet",
"hashtag.column_settings.select.placeholder": "Ouzhpennañ geri-klik…", "hashtag.column_settings.select.placeholder": "Ouzhpennañ hashtagoù…",
"hashtag.column_settings.tag_mode.all": "An holl elfennoù-mañ", "hashtag.column_settings.tag_mode.all": "An holl anezho",
"hashtag.column_settings.tag_mode.any": "Unan e mesk anezho", "hashtag.column_settings.tag_mode.any": "Unan e mesk anezho",
"hashtag.column_settings.tag_mode.none": "Hini ebet anezho", "hashtag.column_settings.tag_mode.none": "Hini ebet anezho",
"hashtag.column_settings.tag_toggle": "Endelc'her gerioù-alc'hwez ouzhpenn evit ar bannad-mañ", "hashtag.column_settings.tag_toggle": "Endelc'her gerioù-alc'hwez ouzhpenn evit ar bannad-mañ",
"hashtag.counter_by_uses": "{count, plural, one {{counter} embannadur} other {{counter} embannadur}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} embannadur} other {{counter} embannadur}} hiziv",
"hashtag.follow": "Heuliañ ar ger-klik", "hashtag.follow": "Heuliañ ar ger-klik",
"hashtag.unfollow": "Diheuliañ ar ger-klik", "hashtag.unfollow": "Paouez heuliañ an hashtag",
"hashtags.and_other": "…{count, plural, one {hag # all} other {ha # all}}",
"home.actions.go_to_explore": "Gwelet petra zo diouzh ar c'hiz",
"home.actions.go_to_suggestions": "Kavout tud da heuliañ",
"home.column_settings.basic": "Diazez", "home.column_settings.basic": "Diazez",
"home.column_settings.show_reblogs": "Diskouez ar skignadennoù", "home.column_settings.show_reblogs": "Diskouez ar skignadennoù",
"home.column_settings.show_replies": "Diskouez ar respontoù", "home.column_settings.show_replies": "Diskouez ar respontoù",
"home.explore_prompt.title": "Homañ eo ho pajenn degemer e-barzh Mastodon.",
"home.hide_announcements": "Kuzhat ar c'hemennoù", "home.hide_announcements": "Kuzhat ar c'hemennoù",
"home.pending_critical_update.body": "Hizivait ho servijer Mastodon kerkent ha ma c'hallit mar plij!",
"home.pending_critical_update.link": "Gwelet an hizivadennoù",
"home.show_announcements": "Diskouez ar c'hemennoù", "home.show_announcements": "Diskouez ar c'hemennoù",
"interaction_modal.description.follow": "Gant ur gont Mastodon e c'hellit heuliañ {name} evit resev an toudoù a embann war ho red degemer.", "interaction_modal.description.follow": "Gant ur gont Mastodon e c'hellit heuliañ {name} evit resev an toudoù a embann war ho red degemer.",
"interaction_modal.description.reblog": "Gant ur gont Mastodon e c'hellit skignañ an toud-mañ evit rannañ anezhañ gant ho heulierien·ezed.", "interaction_modal.description.reblog": "Gant ur gont Mastodon e c'hellit skignañ an toud-mañ evit rannañ anezhañ gant ho heulierien·ezed.",
"interaction_modal.description.reply": "Gant ur gont Mastodon e c'hellit respont d'an toud-mañ.", "interaction_modal.description.reply": "Gant ur gont Mastodon e c'hellit respont d'an toud-mañ.",
"interaction_modal.no_account_yet": "N'eo ket war vMastodon?",
"interaction_modal.on_another_server": "War ur servijer all", "interaction_modal.on_another_server": "War ur servijer all",
"interaction_modal.on_this_server": "War ar servijer-mañ", "interaction_modal.on_this_server": "War ar servijer-mañ",
"interaction_modal.title.favourite": "Ouzhpennañ embannadur {name} d'ar re vuiañ-karet",
"interaction_modal.title.follow": "Heuliañ {name}", "interaction_modal.title.follow": "Heuliañ {name}",
"interaction_modal.title.reblog": "Skignañ toud {name}", "interaction_modal.title.reblog": "Skignañ toud {name}",
"interaction_modal.title.reply": "Respont da doud {name}", "interaction_modal.title.reply": "Respont da doud {name}",
@ -285,6 +317,8 @@
"keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.down": "Diskennañ er roll", "keyboard_shortcuts.down": "Diskennañ er roll",
"keyboard_shortcuts.enter": "Digeriñ an toud", "keyboard_shortcuts.enter": "Digeriñ an toud",
"keyboard_shortcuts.favourite": "Ouzhpennañ an embannadur d'ar re vuiañ-karet",
"keyboard_shortcuts.favourites": "Digeriñ roll an embannadurioù muiañ-karet",
"keyboard_shortcuts.federated": "Digeriñ ar red-amzer kevredet", "keyboard_shortcuts.federated": "Digeriñ ar red-amzer kevredet",
"keyboard_shortcuts.heading": "Berradennoù klavier", "keyboard_shortcuts.heading": "Berradennoù klavier",
"keyboard_shortcuts.home": "Digeriñ ho red-amzer degemer", "keyboard_shortcuts.home": "Digeriñ ho red-amzer degemer",
@ -314,6 +348,7 @@
"lightbox.next": "Da-heul", "lightbox.next": "Da-heul",
"lightbox.previous": "A-raok", "lightbox.previous": "A-raok",
"limited_account_hint.action": "Diskouez an aelad memes tra", "limited_account_hint.action": "Diskouez an aelad memes tra",
"link_preview.author": "Gant {name}",
"lists.account.add": "Ouzhpennañ d'al listenn", "lists.account.add": "Ouzhpennañ d'al listenn",
"lists.account.remove": "Lemel kuit eus al listenn", "lists.account.remove": "Lemel kuit eus al listenn",
"lists.delete": "Dilemel al listenn", "lists.delete": "Dilemel al listenn",
@ -328,6 +363,7 @@
"lists.search": "Klask e-touez tud heuliet ganeoc'h", "lists.search": "Klask e-touez tud heuliet ganeoc'h",
"lists.subheading": "Ho listennoù", "lists.subheading": "Ho listennoù",
"load_pending": "{count, plural, one {# dra nevez} other {# dra nevez}}", "load_pending": "{count, plural, one {# dra nevez} other {# dra nevez}}",
"loading_indicator.label": "O kargañ…",
"media_gallery.toggle_visible": "{number, plural, one {Kuzhat ar skeudenn} other {Kuzhat ar skeudenn}}", "media_gallery.toggle_visible": "{number, plural, one {Kuzhat ar skeudenn} other {Kuzhat ar skeudenn}}",
"mute_modal.duration": "Padelezh", "mute_modal.duration": "Padelezh",
"mute_modal.hide_notifications": "Kuzhat kemenadennoù eus an implijer-se ?", "mute_modal.hide_notifications": "Kuzhat kemenadennoù eus an implijer-se ?",
@ -341,8 +377,10 @@
"navigation_bar.domain_blocks": "Domanioù kuzhet", "navigation_bar.domain_blocks": "Domanioù kuzhet",
"navigation_bar.edit_profile": "Kemmañ ar profil", "navigation_bar.edit_profile": "Kemmañ ar profil",
"navigation_bar.explore": "Furchal", "navigation_bar.explore": "Furchal",
"navigation_bar.favourites": "Muiañ-karet",
"navigation_bar.filters": "Gerioù kuzhet", "navigation_bar.filters": "Gerioù kuzhet",
"navigation_bar.follow_requests": "Pedadoù heuliañ", "navigation_bar.follow_requests": "Pedadoù heuliañ",
"navigation_bar.followed_tags": "Hashtagoù o heuliañ",
"navigation_bar.follows_and_followers": "Heuliadennoù ha heulier·ezed·ien", "navigation_bar.follows_and_followers": "Heuliadennoù ha heulier·ezed·ien",
"navigation_bar.lists": "Listennoù", "navigation_bar.lists": "Listennoù",
"navigation_bar.logout": "Digennaskañ", "navigation_bar.logout": "Digennaskañ",
@ -369,6 +407,7 @@
"notifications.column_settings.admin.report": "Disklêriadurioù nevez :", "notifications.column_settings.admin.report": "Disklêriadurioù nevez :",
"notifications.column_settings.admin.sign_up": "Enskrivadurioù nevez :", "notifications.column_settings.admin.sign_up": "Enskrivadurioù nevez :",
"notifications.column_settings.alert": "Kemennoù war ar burev", "notifications.column_settings.alert": "Kemennoù war ar burev",
"notifications.column_settings.favourite": "Muiañ-karet:",
"notifications.column_settings.filter_bar.advanced": "Skrammañ an-holl rummadoù", "notifications.column_settings.filter_bar.advanced": "Skrammañ an-holl rummadoù",
"notifications.column_settings.filter_bar.category": "Barrenn siloù prim", "notifications.column_settings.filter_bar.category": "Barrenn siloù prim",
"notifications.column_settings.filter_bar.show_bar": "Diskouezh barrenn siloù", "notifications.column_settings.filter_bar.show_bar": "Diskouezh barrenn siloù",
@ -386,6 +425,7 @@
"notifications.column_settings.update": "Kemmoù :", "notifications.column_settings.update": "Kemmoù :",
"notifications.filter.all": "Pep tra", "notifications.filter.all": "Pep tra",
"notifications.filter.boosts": "Skignadennoù", "notifications.filter.boosts": "Skignadennoù",
"notifications.filter.favourites": "Muiañ-karet",
"notifications.filter.follows": "Heuliañ", "notifications.filter.follows": "Heuliañ",
"notifications.filter.mentions": "Menegoù", "notifications.filter.mentions": "Menegoù",
"notifications.filter.polls": "Disoc'hoù ar sontadegoù", "notifications.filter.polls": "Disoc'hoù ar sontadegoù",
@ -399,15 +439,28 @@
"notifications_permission_banner.enable": "Lezel kemennoù war ar burev", "notifications_permission_banner.enable": "Lezel kemennoù war ar burev",
"notifications_permission_banner.how_to_control": "Evit reseviñ kemennoù pa ne vez ket digoret Mastodon, lezelit kemennoù war ar burev. Gallout a rit kontrollañ peseurt eskemmoù a c'henel kemennoù war ar burev gant ar {icon} nozelenn a-us kentre ma'z int lezelet.", "notifications_permission_banner.how_to_control": "Evit reseviñ kemennoù pa ne vez ket digoret Mastodon, lezelit kemennoù war ar burev. Gallout a rit kontrollañ peseurt eskemmoù a c'henel kemennoù war ar burev gant ar {icon} nozelenn a-us kentre ma'z int lezelet.",
"notifications_permission_banner.title": "Na vankit netra morse", "notifications_permission_banner.title": "Na vankit netra morse",
"onboarding.action.back": "Distreiñ",
"onboarding.actions.back": "Distreiñ",
"onboarding.actions.go_to_explore": "See what's trending", "onboarding.actions.go_to_explore": "See what's trending",
"onboarding.actions.go_to_home": "Go to your home feed", "onboarding.actions.go_to_home": "Go to your home feed",
"onboarding.compose.template": "Salud #Mastodon!",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!", "onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon", "onboarding.follows.title": "Popular on Mastodon",
"onboarding.profile.display_name": "Anv diskouezet",
"onboarding.profile.display_name_hint": "Hoc'h anv klok pe hoc'h anv fentus…",
"onboarding.profile.note": "Berr-ha-berr",
"onboarding.profile.note_hint": "Gallout a rit @menegiñ tud all pe #hashtagoù…",
"onboarding.profile.save_and_continue": "Enrollañ ha kenderc'hel",
"onboarding.profile.upload_avatar": "Enporzhiañ ur skeudenn profil",
"onboarding.share.message": "Me a zo {username} war #Mastodon! Heuilhit ac'hanon war {url}",
"onboarding.share.title": "Skignañ ho profil",
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:", "onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
"onboarding.start.skip": "Want to skip right ahead?", "onboarding.start.skip": "Want to skip right ahead?",
"onboarding.start.title": "Deuet oc'h a-benn!",
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.", "onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}", "onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
"onboarding.steps.publish_status.body": "Say hello to the world.", "onboarding.steps.publish_status.body": "Say hello to the world.",
"onboarding.steps.publish_status.title": "Grit hoc'h embannadur kentañ",
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.", "onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
"onboarding.steps.setup_profile.title": "Customize your profile", "onboarding.steps.setup_profile.title": "Customize your profile",
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!", "onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
@ -415,6 +468,7 @@
"picture_in_picture.restore": "Adlakaat", "picture_in_picture.restore": "Adlakaat",
"poll.closed": "Serret", "poll.closed": "Serret",
"poll.refresh": "Azbevaat", "poll.refresh": "Azbevaat",
"poll.reveal": "Gwelet an disoc'hoù",
"poll.total_people": "{count, plural, one {# den} other {# a zen}}", "poll.total_people": "{count, plural, one {# den} other {# a zen}}",
"poll.total_votes": "{count, plural, one {# votadenn} other {# votadenn}}", "poll.total_votes": "{count, plural, one {# votadenn} other {# votadenn}}",
"poll.vote": "Mouezhiañ", "poll.vote": "Mouezhiañ",
@ -433,6 +487,7 @@
"privacy.unlisted.short": "Anlistennet", "privacy.unlisted.short": "Anlistennet",
"privacy_policy.last_updated": "Hizivadenn ziwezhañ {date}", "privacy_policy.last_updated": "Hizivadenn ziwezhañ {date}",
"privacy_policy.title": "Reolennoù Prevezded", "privacy_policy.title": "Reolennoù Prevezded",
"recommended": "Erbedet",
"refresh": "Freskaat", "refresh": "Freskaat",
"regeneration_indicator.label": "O kargañ…", "regeneration_indicator.label": "O kargañ…",
"regeneration_indicator.sublabel": "War brientiñ emañ ho red degemer!", "regeneration_indicator.sublabel": "War brientiñ emañ ho red degemer!",
@ -450,6 +505,7 @@
"reply_indicator.cancel": "Nullañ", "reply_indicator.cancel": "Nullañ",
"report.block": "Stankañ", "report.block": "Stankañ",
"report.block_explanation": "Ne vo ket gwelet toudoù ar gont-se ken. Ne welo ket ho toudoù ha ne c'hello ket ho heuliañ ken. Gouzout a raio eo bet stanket ganeoc'h.", "report.block_explanation": "Ne vo ket gwelet toudoù ar gont-se ken. Ne welo ket ho toudoù ha ne c'hello ket ho heuliañ ken. Gouzout a raio eo bet stanket ganeoc'h.",
"report.categories.legal": "Lezennel",
"report.categories.other": "All", "report.categories.other": "All",
"report.categories.spam": "Spam", "report.categories.spam": "Spam",
"report.categories.violation": "Torret e vez gant an endalc'had unan pe meur a reolenn", "report.categories.violation": "Torret e vez gant an endalc'had unan pe meur a reolenn",
@ -467,6 +523,7 @@
"report.placeholder": "Askelennoù ouzhpenn", "report.placeholder": "Askelennoù ouzhpenn",
"report.reasons.dislike": "Ne blij ket din", "report.reasons.dislike": "Ne blij ket din",
"report.reasons.dislike_description": "An dra-se na fell ket deoc'h gwelet", "report.reasons.dislike_description": "An dra-se na fell ket deoc'h gwelet",
"report.reasons.legal": "Enep al lezenn eo",
"report.reasons.other": "Un abeg all eo", "report.reasons.other": "Un abeg all eo",
"report.reasons.other_description": "Ar gudenn na glot ket gant ar rummadoù all", "report.reasons.other_description": "Ar gudenn na glot ket gant ar rummadoù all",
"report.reasons.spam": "Spam eo", "report.reasons.spam": "Spam eo",
@ -482,16 +539,31 @@
"report.thanks.title": "Ne fell ket deoc'h gwelet an dra-se ?", "report.thanks.title": "Ne fell ket deoc'h gwelet an dra-se ?",
"report.thanks.title_actionable": "Trugarez evit bezañ disklêriet, emaomp o vont da glask pelloc'h.", "report.thanks.title_actionable": "Trugarez evit bezañ disklêriet, emaomp o vont da glask pelloc'h.",
"report.unfollow": "Diheuliañ @{name}", "report.unfollow": "Diheuliañ @{name}",
"report_notification.attached_statuses": "{count, plural, one {# post} other {# posts}} attached", "report_notification.attached_statuses": "{count, plural, one {{count} embannadur} other {{count} embannadur}} stag",
"report_notification.categories.legal": "Lezennel",
"report_notification.categories.other": "All", "report_notification.categories.other": "All",
"report_notification.categories.spam": "Spam", "report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Torradur da reolennoù ar servijer", "report_notification.categories.violation": "Torradur da reolennoù ar servijer",
"report_notification.open": "Digeriñ an disklêriadur", "report_notification.open": "Digeriñ an disklêriadur",
"search.placeholder": "Klask", "search.placeholder": "Klask",
"search.quick_action.account_search": "Profiloù a glot gant {x}",
"search.quick_action.go_to_account": "Mont d'ar profil {x}",
"search.quick_action.go_to_hashtag": "Mont d'an hashtag {x}",
"search.quick_action.open_url": "Digeriñ an URL e-barzh Mastodon",
"search.quick_action.status_search": "Embannadurioù a glot gant {x}",
"search.search_or_paste": "Klask pe pegañ un URL", "search.search_or_paste": "Klask pe pegañ un URL",
"search_popout.full_text_search_disabled_message": "N'eo ket da gaout war {domain}.",
"search_popout.language_code": "Kod yezh ISO",
"search_popout.options": "Dibarzhioù klask",
"search_popout.quick_actions": "Oberoù prim",
"search_popout.recent": "Klaskoù nevesañ",
"search_popout.specific_date": "deiziad resis",
"search_popout.user": "implijer·ez",
"search_results.accounts": "Profiloù",
"search_results.all": "Pep tra", "search_results.all": "Pep tra",
"search_results.hashtags": "Gerioù-klik", "search_results.hashtags": "Hashtagoù",
"search_results.nothing_found": "Disoc'h ebet gant ar gerioù-se", "search_results.nothing_found": "Disoc'h ebet gant ar gerioù-se",
"search_results.see_all": "Gwelet pep tra",
"search_results.statuses": "Toudoù", "search_results.statuses": "Toudoù",
"search_results.title": "Klask {q}", "search_results.title": "Klask {q}",
"server_banner.active_users": "implijerien·ezed oberiant", "server_banner.active_users": "implijerien·ezed oberiant",
@ -513,11 +585,15 @@
"status.edited": "Aozet {date}", "status.edited": "Aozet {date}",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}", "status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
"status.embed": "Enframmañ", "status.embed": "Enframmañ",
"status.favourite": "Muiañ-karet",
"status.filter": "Silañ ar c'hannad-mañ", "status.filter": "Silañ ar c'hannad-mañ",
"status.filtered": "Silet", "status.filtered": "Silet",
"status.hide": "Kuzhat an embannadur",
"status.history.created": "Krouet gant {name} {date}", "status.history.created": "Krouet gant {name} {date}",
"status.history.edited": "Kemmet gant {name} {date}", "status.history.edited": "Kemmet gant {name} {date}",
"status.load_more": "Kargañ muioc'h", "status.load_more": "Kargañ muioc'h",
"status.media.open": "Klikit evit digeriñ",
"status.media.show": "Klikit evit diskouez",
"status.media_hidden": "Media kuzhet", "status.media_hidden": "Media kuzhet",
"status.mention": "Menegiñ @{name}", "status.mention": "Menegiñ @{name}",
"status.more": "Muioc'h", "status.more": "Muioc'h",
@ -592,6 +668,7 @@
"upload_modal.preview_label": "Rakwel ({ratio})", "upload_modal.preview_label": "Rakwel ({ratio})",
"upload_progress.label": "O pellgargañ...", "upload_progress.label": "O pellgargañ...",
"upload_progress.processing": "War ober…", "upload_progress.processing": "War ober…",
"username.taken": "Tapet eo an anv implijer-mañ dija. Klaskit skrivañ unan all",
"video.close": "Serriñ ar video", "video.close": "Serriñ ar video",
"video.download": "Pellgargañ ar restr", "video.download": "Pellgargañ ar restr",
"video.exit_fullscreen": "Kuitaat ar mod skramm leun", "video.exit_fullscreen": "Kuitaat ar mod skramm leun",

View File

@ -62,7 +62,7 @@
"account.requested": "Die Genehmigung steht noch aus. Klicke hier, um die Follower-Anfrage zurückzuziehen", "account.requested": "Die Genehmigung steht noch aus. Klicke hier, um die Follower-Anfrage zurückzuziehen",
"account.requested_follow": "{name} möchte dir folgen", "account.requested_follow": "{name} möchte dir folgen",
"account.share": "Profil von @{name} teilen", "account.share": "Profil von @{name} teilen",
"account.show_reblogs": "Geteilte Beiträge von @{name} wieder anzeigen", "account.show_reblogs": "Geteilte Beiträge von @{name} anzeigen",
"account.statuses_counter": "{count, plural, one {{counter} Beitrag} other {{counter} Beiträge}}", "account.statuses_counter": "{count, plural, one {{counter} Beitrag} other {{counter} Beiträge}}",
"account.unblock": "Blockierung von @{name} aufheben", "account.unblock": "Blockierung von @{name} aufheben",
"account.unblock_domain": "Blockierung von {domain} aufheben", "account.unblock_domain": "Blockierung von {domain} aufheben",

View File

@ -21,7 +21,7 @@
"account.blocked": "Estetty", "account.blocked": "Estetty",
"account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella", "account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella",
"account.cancel_follow_request": "Peruuta seurantapyyntö", "account.cancel_follow_request": "Peruuta seurantapyyntö",
"account.copy": "Kopioi profiililinkki", "account.copy": "Kopioi linkki profiiliin",
"account.direct": "Mainitse @{name} yksityisesti", "account.direct": "Mainitse @{name} yksityisesti",
"account.disable_notifications": "Lopeta ilmoittamasta minulle, kun @{name} julkaisee", "account.disable_notifications": "Lopeta ilmoittamasta minulle, kun @{name} julkaisee",
"account.domain_blocked": "Verkkotunnus estetty", "account.domain_blocked": "Verkkotunnus estetty",
@ -53,7 +53,7 @@
"account.mute_notifications_short": "Mykistä ilmoitukset", "account.mute_notifications_short": "Mykistä ilmoitukset",
"account.mute_short": "Mykistä", "account.mute_short": "Mykistä",
"account.muted": "Mykistetty", "account.muted": "Mykistetty",
"account.mutual": "Molemmat", "account.mutual": "Seuraatte toisianne",
"account.no_bio": "Kuvausta ei ole annettu.", "account.no_bio": "Kuvausta ei ole annettu.",
"account.open_original_page": "Avaa alkuperäinen sivu", "account.open_original_page": "Avaa alkuperäinen sivu",
"account.posts": "Julkaisut", "account.posts": "Julkaisut",
@ -193,7 +193,7 @@
"conversation.mark_as_read": "Merkitse luetuksi", "conversation.mark_as_read": "Merkitse luetuksi",
"conversation.open": "Näytä keskustelu", "conversation.open": "Näytä keskustelu",
"conversation.with": "{names} kanssa", "conversation.with": "{names} kanssa",
"copy_icon_button.copied": "Kopioitiin leikepöydälle", "copy_icon_button.copied": "Sisältö kopioitiin leikepöydälle",
"copypaste.copied": "Kopioitu", "copypaste.copied": "Kopioitu",
"copypaste.copy_to_clipboard": "Kopioi leikepöydälle", "copypaste.copy_to_clipboard": "Kopioi leikepöydälle",
"directory.federated": "Koko tunnettu fediversumi", "directory.federated": "Koko tunnettu fediversumi",
@ -483,10 +483,10 @@
"onboarding.follows.lead": "Kokoat oman kotisyötteesi itse. Mitä enemmän ihmisiä seuraat, sitä aktiivisempi ja kiinnostavampi syöte on. Nämä profiilit voivat olla alkuun hyvä lähtökohta — voit aina lopettaa niiden seuraamisen myöhemmin!", "onboarding.follows.lead": "Kokoat oman kotisyötteesi itse. Mitä enemmän ihmisiä seuraat, sitä aktiivisempi ja kiinnostavampi syöte on. Nämä profiilit voivat olla alkuun hyvä lähtökohta — voit aina lopettaa niiden seuraamisen myöhemmin!",
"onboarding.follows.title": "Mukauta kotisyötettäsi", "onboarding.follows.title": "Mukauta kotisyötettäsi",
"onboarding.profile.discoverable": "Aseta profiilini löydettäväksi", "onboarding.profile.discoverable": "Aseta profiilini löydettäväksi",
"onboarding.profile.discoverable_hint": "Kun olet määrittänyt itsesi löydettäväksi Mastodonista, julkaisusi voivat näkyä hakutuloksissa ja suosituissa kohteissa ja profiiliasi voidaan ehdottaa käyttäjille, jotka ovat kiinnostuneet samoista aiheista kuin sinä.", "onboarding.profile.discoverable_hint": "Kun olet määrittänyt itsesi löydettäväksi Mastodonista, julkaisusi voivat näkyä hakutuloksissa ja suosituissa kohteissa. Lisäksi profiiliasi voidaan ehdottaa käyttäjille, jotka ovat kiinnostuneita kanssasi samoista aiheista.",
"onboarding.profile.display_name": "Näyttönimi", "onboarding.profile.display_name": "Näyttönimi",
"onboarding.profile.display_name_hint": "Koko nimesi tai lempinimesi…", "onboarding.profile.display_name_hint": "Koko nimesi tai lempinimesi…",
"onboarding.profile.lead": "Voit viimeistellä tämän milloin tahansa asetuksista, jotka tarjoavat vielä enemmän mukautusvalintoja.", "onboarding.profile.lead": "Voit viimeistellä tämän milloin tahansa asetuksista. Sieltä löydät myös lisää mukautusvaihtoehtoja.",
"onboarding.profile.note": "Elämäkerta", "onboarding.profile.note": "Elämäkerta",
"onboarding.profile.note_hint": "Voit @mainita muita käyttäjiä tai #aihetunnisteita…", "onboarding.profile.note_hint": "Voit @mainita muita käyttäjiä tai #aihetunnisteita…",
"onboarding.profile.save_and_continue": "Tallenna ja jatka", "onboarding.profile.save_and_continue": "Tallenna ja jatka",

View File

@ -2,6 +2,7 @@
"about.blocks": "Servitores moderate", "about.blocks": "Servitores moderate",
"about.contact": "Contacto:", "about.contact": "Contacto:",
"about.disclaimer": "Mastodon es software libere, de codice aperte, e un marca de Mastodon gGmbH.", "about.disclaimer": "Mastodon es software libere, de codice aperte, e un marca de Mastodon gGmbH.",
"about.rules": "Regulas del servitor",
"account.account_note_header": "Nota", "account.account_note_header": "Nota",
"account.add_or_remove_from_list": "Adder o remover ab listas", "account.add_or_remove_from_list": "Adder o remover ab listas",
"account.badges.group": "Gruppo", "account.badges.group": "Gruppo",
@ -10,14 +11,43 @@
"account.blocked": "Blocate", "account.blocked": "Blocate",
"account.copy": "Copiar ligamine a profilo", "account.copy": "Copiar ligamine a profilo",
"account.edit_profile": "Modificar profilo", "account.edit_profile": "Modificar profilo",
"account.endorse": "Evidentiar sur le profilo",
"account.featured_tags.last_status_at": "Ultime message in {date}",
"account.featured_tags.last_status_never": "Necun messages",
"account.follow": "Sequer",
"account.follow_back": "Sequer etiam",
"account.followers": "Sequitores",
"account.following": "Sequente",
"account.go_to_profile": "Vader al profilo", "account.go_to_profile": "Vader al profilo",
"account.hide_reblogs": "Celar boosts de @{name}",
"account.languages": "Cambiar le linguas subscribite",
"account.link_verified_on": "Le proprietate de iste ligamine esseva verificate le {date}",
"account.locked_info": "Le stato de confidentialitate de iste conto es definite a blocate. Le proprietario revisa manualmente qui pote sequer lo.",
"account.mention": "Mentionar @{name}",
"account.moved_to": "{name} indicava que lor nove conto ora es:", "account.moved_to": "{name} indicava que lor nove conto ora es:",
"account.mute": "Silentiar @{name}",
"account.mute_notifications_short": "Silentiar le notificationes",
"account.mute_short": "Silentiar",
"account.muted": "Silentiate",
"account.no_bio": "Nulle description fornite.",
"account.posts": "Messages",
"account.posts_with_replies": "Messages e responsas",
"account.share": "Compartir profilo de @{name}", "account.share": "Compartir profilo de @{name}",
"account.show_reblogs": "Monstrar responsas de @{name}",
"account.unblock": "Disblocar @{name}", "account.unblock": "Disblocar @{name}",
"account.unblock_domain": "Disblocar dominio {domain}",
"account.unblock_short": "Disblocar", "account.unblock_short": "Disblocar",
"account.unendorse": "Non evidentiar sur le profilo", "account.unendorse": "Non evidentiar sur le profilo",
"account.unmute": "Non plus silentiar @{name}",
"account.unmute_notifications_short": "Non plus silentiar le notificationes",
"account.unmute_short": "Non plus silentiar",
"account_note.placeholder": "Clicca pro adder un nota", "account_note.placeholder": "Clicca pro adder un nota",
"admin.dashboard.retention.cohort_size": "Nove usatores", "admin.dashboard.retention.cohort_size": "Nove usatores",
"admin.impact_report.instance_followers": "Sequitores que nostre usatores poterea perder",
"admin.impact_report.instance_follows": "Sequitores que lor usatores poterea perder",
"alert.rate_limited.message": "Retenta depost {retry_time, time, medium}.",
"alert.unexpected.message": "Ocurreva un error inexpectate.",
"announcement.announcement": "Annuncio",
"audio.hide": "Celar audio", "audio.hide": "Celar audio",
"autosuggest_hashtag.per_week": "{count} per septimana", "autosuggest_hashtag.per_week": "{count} per septimana",
"bundle_column_error.network.title": "Error de rete", "bundle_column_error.network.title": "Error de rete",
@ -25,99 +55,260 @@
"bundle_column_error.return": "Retornar al initio", "bundle_column_error.return": "Retornar al initio",
"bundle_modal_error.close": "Clauder", "bundle_modal_error.close": "Clauder",
"bundle_modal_error.retry": "Tentar novemente", "bundle_modal_error.retry": "Tentar novemente",
"closed_registrations_modal.find_another_server": "Trovar altere servitor",
"column.about": "A proposito de", "column.about": "A proposito de",
"column.blocks": "Usatores blocate", "column.blocks": "Usatores blocate",
"column.bookmarks": "Marcapaginas", "column.bookmarks": "Marcapaginas",
"column.community": "Chronologia local",
"column.direct": "Mentiones private",
"column.directory": "Navigar profilos", "column.directory": "Navigar profilos",
"column.domain_blocks": "Dominios blocate",
"column.favourites": "Favoritos", "column.favourites": "Favoritos",
"column.firehose": "Fluxos in directe", "column.firehose": "Fluxos in directe",
"column.home": "Initio", "column.home": "Initio",
"column.lists": "Listas", "column.lists": "Listas",
"column.mutes": "Usatores silentiate",
"column.notifications": "Notificationes", "column.notifications": "Notificationes",
"column.public": "Chronologia federate",
"column_header.hide_settings": "Celar le parametros", "column_header.hide_settings": "Celar le parametros",
"column_header.moveLeft_settings": "Mover columna al sinistra",
"column_header.moveRight_settings": "Mover columna al dextra",
"column_header.show_settings": "Monstrar le parametros", "column_header.show_settings": "Monstrar le parametros",
"column_subheading.settings": "Parametros", "column_subheading.settings": "Parametros",
"compose.language.change": "Cambiar le lingua", "compose.language.change": "Cambiar le lingua",
"compose.language.search": "Cercar linguas...", "compose.language.search": "Cercar linguas...",
"compose.published.body": "Message publicate.",
"compose.published.open": "Aperir", "compose.published.open": "Aperir",
"compose.saved.body": "Message salvate.",
"compose_form.direct_message_warning_learn_more": "Apprender plus", "compose_form.direct_message_warning_learn_more": "Apprender plus",
"compose_form.lock_disclaimer": "Tu conto non es {locked}. Quicunque pote sequer te pro vider tu messages solo pro sequitores.",
"compose_form.lock_disclaimer.lock": "blocate",
"compose_form.poll.add_option": "Adder un option", "compose_form.poll.add_option": "Adder un option",
"compose_form.poll.remove_option": "Remover iste option", "compose_form.poll.remove_option": "Remover iste option",
"compose_form.publish": "Publicar",
"compose_form.publish_form": "Nove message",
"compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Salvar le cambiamentos",
"compose_form.spoiler.marked": "Remover advertimento de contento",
"compose_form.spoiler.unmarked": "Adder advertimento de contento",
"compose_form.spoiler_placeholder": "Scribe tu advertimento hic",
"confirmation_modal.cancel": "Cancellar", "confirmation_modal.cancel": "Cancellar",
"confirmations.block.confirm": "Blocar",
"confirmations.delete.confirm": "Deler", "confirmations.delete.confirm": "Deler",
"confirmations.delete.message": "Es tu secur que tu vole deler iste message?",
"confirmations.delete_list.confirm": "Deler", "confirmations.delete_list.confirm": "Deler",
"confirmations.delete_list.message": "Es tu secur que tu vole deler permanentemente iste lista?",
"confirmations.domain_block.confirm": "Blocar le dominio complete",
"confirmations.edit.confirm": "Modificar", "confirmations.edit.confirm": "Modificar",
"confirmations.logout.confirm": "Clauder le session", "confirmations.logout.confirm": "Clauder le session",
"confirmations.logout.message": "Es tu secur que tu vole clauder le session?",
"confirmations.mute.confirm": "Silentiar",
"confirmations.mute.message": "Es tu secur que tu vole silentiar {name}?",
"confirmations.reply.confirm": "Responder",
"conversation.delete": "Deler conversation",
"conversation.mark_as_read": "Marcar como legite",
"conversation.open": "Vider conversation",
"conversation.with": "Con {names}",
"copy_icon_button.copied": "Copiate al area de transferentia", "copy_icon_button.copied": "Copiate al area de transferentia",
"copypaste.copied": "Copiate", "copypaste.copied": "Copiate",
"copypaste.copy_to_clipboard": "Copiar al area de transferentia", "copypaste.copy_to_clipboard": "Copiar al area de transferentia",
"directory.federated": "Ab le fediverso cognoscite",
"directory.local": "Solmente ab {domain}",
"directory.recently_active": "Recentemente active",
"disabled_account_banner.account_settings": "Parametros de conto", "disabled_account_banner.account_settings": "Parametros de conto",
"disabled_account_banner.text": "Tu conto {disabledAccount} es actualmente disactivate.",
"dismissable_banner.dismiss": "Dimitter", "dismissable_banner.dismiss": "Dimitter",
"emoji_button.activity": "Activitate", "emoji_button.activity": "Activitate",
"emoji_button.clear": "Rader", "emoji_button.clear": "Rader",
"emoji_button.custom": "Personalisate", "emoji_button.custom": "Personalisate",
"emoji_button.recent": "Frequentemente usate",
"emoji_button.search": "Cercar...",
"emoji_button.search_results": "Resultatos de recerca", "emoji_button.search_results": "Resultatos de recerca",
"empty_column.account_suspended": "Conto suspendite",
"empty_column.account_timeline": "Nulle messages hic!",
"empty_column.account_unavailable": "Profilo non disponibile", "empty_column.account_unavailable": "Profilo non disponibile",
"empty_column.blocks": "Tu non ha blocate alcun usator ancora.",
"errors.unexpected_crash.report_issue": "Signalar un defecto", "errors.unexpected_crash.report_issue": "Signalar un defecto",
"explore.search_results": "Resultatos de recerca", "explore.search_results": "Resultatos de recerca",
"explore.title": "Explorar",
"explore.trending_links": "Novas", "explore.trending_links": "Novas",
"explore.trending_statuses": "Messages",
"explore.trending_tags": "Hashtags",
"filter_modal.added.review_and_configure_title": "Parametros de filtro",
"filter_modal.added.settings_link": "pagina de parametros",
"filter_modal.added.short_explanation": "Iste message esseva addite al sequente categoria de filtros: {title}.",
"filter_modal.added.title": "Filtro addite!",
"filter_modal.select_filter.prompt_new": "Nove categoria: {name}", "filter_modal.select_filter.prompt_new": "Nove categoria: {name}",
"filter_modal.select_filter.search": "Cercar o crear",
"filter_modal.select_filter.title": "Filtrar iste message",
"filter_modal.title.status": "Filtrar un message",
"firehose.all": "Toto", "firehose.all": "Toto",
"firehose.local": "Iste servitor", "firehose.local": "Iste servitor",
"firehose.remote": "Altere servitores", "firehose.remote": "Altere servitores",
"footer.about": "A proposito de", "footer.about": "A proposito de",
"footer.directory": "Directorio de profilos", "footer.directory": "Directorio de profilos",
"footer.get_app": "Obtene le application",
"footer.keyboard_shortcuts": "Accessos directe de claviero",
"footer.privacy_policy": "Politica de confidentialitate", "footer.privacy_policy": "Politica de confidentialitate",
"footer.source_code": "Vider le codice fonte", "footer.source_code": "Vider le codice fonte",
"footer.status": "Stato", "footer.status": "Stato",
"generic.saved": "Salvate",
"getting_started.heading": "Prime passos",
"hashtag.column_header.tag_mode.all": "e {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_settings.select.no_options_message": "Nulle suggestiones trovate",
"hashtag.column_settings.select.placeholder": "Insere hashtags…",
"hashtag.follow": "Sequer hashtag",
"home.column_settings.show_reblogs": "Monstrar boosts",
"home.column_settings.show_replies": "Monstrar responsas",
"home.hide_announcements": "Celar annuncios",
"home.pending_critical_update.body": "Actualisa tu servitor de Mastodon le plus tosto possibile!",
"home.pending_critical_update.link": "Vider actualisationes", "home.pending_critical_update.link": "Vider actualisationes",
"home.show_announcements": "Monstrar annuncios",
"interaction_modal.no_account_yet": "Non sur Mstodon?",
"interaction_modal.on_another_server": "In un servitor differente",
"interaction_modal.on_this_server": "In iste servitor",
"interaction_modal.title.follow": "Sequer {name}",
"interaction_modal.title.reblog": "Facer boost al message de {name}",
"interaction_modal.title.reply": "Responder al message de {name}",
"keyboard_shortcuts.blocked": "Aperir lista de usatores blocate",
"keyboard_shortcuts.boost": "Facer boost al message",
"keyboard_shortcuts.description": "Description",
"keyboard_shortcuts.enter": "Aperir message",
"keyboard_shortcuts.favourites": "Aperir lista de favoritos",
"keyboard_shortcuts.federated": "Aperir le chronologia federate",
"keyboard_shortcuts.heading": "Accessos directe de claviero",
"keyboard_shortcuts.home": "Aperir le chronologia de initio",
"keyboard_shortcuts.local": "Aperir le chronologia local",
"keyboard_shortcuts.muted": "Aperir lista de usatores silentiate",
"keyboard_shortcuts.my_profile": "Aperir tu profilo", "keyboard_shortcuts.my_profile": "Aperir tu profilo",
"keyboard_shortcuts.notifications": "Aperir columna de notificationes",
"keyboard_shortcuts.reply": "Responder al message",
"keyboard_shortcuts.spoilers": "Monstrar/celar le campo CW",
"keyboard_shortcuts.toot": "Initiar un nove message",
"lightbox.close": "Clauder", "lightbox.close": "Clauder",
"lightbox.next": "Sequente", "lightbox.next": "Sequente",
"lightbox.previous": "Precedente", "lightbox.previous": "Precedente",
"link_preview.author": "Per {name}", "link_preview.author": "Per {name}",
"lists.account.add": "Adder al lista", "lists.account.add": "Adder al lista",
"lists.account.remove": "Remover ab le lista",
"lists.delete": "Deler lista", "lists.delete": "Deler lista",
"lists.edit": "Modificar lista", "lists.edit": "Modificar lista",
"lists.edit.submit": "Cambiar titulo",
"lists.exclusive": "Celar iste messages ab le initio",
"lists.new.create": "Adder lista", "lists.new.create": "Adder lista",
"lists.new.title_placeholder": "Nove titulo del lista",
"lists.replies_policy.title": "Monstrar responsas a:",
"lists.subheading": "Tu listas", "lists.subheading": "Tu listas",
"mute_modal.duration": "Duration", "mute_modal.duration": "Duration",
"mute_modal.hide_notifications": "Celar notificationes de iste usator?", "mute_modal.hide_notifications": "Celar notificationes de iste usator?",
"navigation_bar.about": "A proposito de", "navigation_bar.about": "A proposito de",
"navigation_bar.advanced_interface": "Aperir in un interfacie web avantiate", "navigation_bar.advanced_interface": "Aperir in un interfacie web avantiate",
"navigation_bar.blocks": "Usatores blocate", "navigation_bar.blocks": "Usatores blocate",
"navigation_bar.bookmarks": "Marcapaginas",
"navigation_bar.community_timeline": "Chronologia local",
"navigation_bar.direct": "Mentiones private",
"navigation_bar.discover": "Discoperir", "navigation_bar.discover": "Discoperir",
"navigation_bar.domain_blocks": "Dominios blocate",
"navigation_bar.edit_profile": "Modificar profilo", "navigation_bar.edit_profile": "Modificar profilo",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Parolas silentiate",
"navigation_bar.lists": "Listas", "navigation_bar.lists": "Listas",
"navigation_bar.logout": "Clauder le session", "navigation_bar.logout": "Clauder le session",
"navigation_bar.mutes": "Usatores silentiate",
"navigation_bar.preferences": "Preferentias", "navigation_bar.preferences": "Preferentias",
"navigation_bar.public_timeline": "Chronologia federate",
"navigation_bar.search": "Cercar", "navigation_bar.search": "Cercar",
"navigation_bar.security": "Securitate", "navigation_bar.security": "Securitate",
"notification.update": "{name} modificava un message",
"notifications.clear": "Rader notificationes",
"notifications.column_settings.alert": "Notificationes de scriptorio", "notifications.column_settings.alert": "Notificationes de scriptorio",
"notifications.column_settings.filter_bar.advanced": "Monstrar tote le categorias", "notifications.column_settings.filter_bar.advanced": "Monstrar tote le categorias",
"notifications.column_settings.follow": "Nove sequitores:",
"notifications.column_settings.mention": "Mentiones:",
"notifications.column_settings.push": "Notificationes push",
"notifications.column_settings.sound": "Reproducer sono", "notifications.column_settings.sound": "Reproducer sono",
"notifications.column_settings.status": "Nove messages:",
"notifications.filter.all": "Toto", "notifications.filter.all": "Toto",
"notifications.filter.favourites": "Favoritos", "notifications.filter.favourites": "Favoritos",
"notifications.filter.mentions": "Mentiones",
"notifications.grant_permission": "Conceder permission.", "notifications.grant_permission": "Conceder permission.",
"notifications.group": "{count} notificationes", "notifications.group": "{count} notificationes",
"onboarding.compose.template": "Salute #Mastodon!", "onboarding.compose.template": "Salute #Mastodon!",
"onboarding.profile.save_and_continue": "Salvar e continuar", "onboarding.profile.save_and_continue": "Salvar e continuar",
"onboarding.share.next_steps": "Sequente passos possibile:",
"onboarding.share.title": "Compartir tu profilo", "onboarding.share.title": "Compartir tu profilo",
"onboarding.steps.follow_people.title": "Personalisa tu fluxo de initio",
"onboarding.steps.publish_status.title": "Face tu prime message",
"onboarding.steps.setup_profile.title": "Personalisa tu profilo",
"onboarding.steps.share_profile.title": "Compartir tu profilo de Mastodon", "onboarding.steps.share_profile.title": "Compartir tu profilo de Mastodon",
"poll.closed": "Claudite",
"poll.reveal": "Vider le resultatos",
"privacy.change": "Cambiar privacitate del message",
"privacy.private.long": "Visibile solmente pro sequitores",
"privacy.public.long": "Visibile pro totos",
"privacy.public.short": "Public",
"privacy_policy.last_updated": "Ultime actualisation {date}",
"privacy_policy.title": "Politica de confidentialitate",
"relative_time.just_now": "ora", "relative_time.just_now": "ora",
"relative_time.today": "hodie", "relative_time.today": "hodie",
"reply_indicator.cancel": "Cancellar", "reply_indicator.cancel": "Cancellar",
"report.block": "Blocar",
"report.categories.other": "Alteres",
"report.category.title_account": "profilo",
"report.category.title_status": "message",
"report.close": "Preste",
"report.mute": "Silentiar",
"report.next": "Sequente", "report.next": "Sequente",
"report.placeholder": "Commentos additional", "report.placeholder": "Commentos additional",
"report.reasons.dislike": "Non me place", "report.reasons.dislike": "Non me place",
"report_notification.categories.other": "Alteres",
"search.quick_action.go_to_account": "Vader al profilo {x}", "search.quick_action.go_to_account": "Vader al profilo {x}",
"search.quick_action.go_to_hashtag": "Vader al hashtag {x}",
"search.quick_action.open_url": "Aperir URL in Mastodon",
"search_popout.full_text_search_disabled_message": "Non disponibile sur {domain}.",
"search_popout.language_code": "Codice de lingua ISO",
"search_popout.options": "Optiones de recerca",
"search_popout.quick_actions": "Actiones rapide",
"search_popout.recent": "Recercas recente",
"search_popout.user": "usator",
"search_results.accounts": "Profilos", "search_results.accounts": "Profilos",
"search_results.hashtags": "Hashtags",
"search_results.see_all": "Vider toto", "search_results.see_all": "Vider toto",
"search_results.statuses": "Messages",
"server_banner.learn_more": "Apprender plus",
"sign_in_banner.create_account": "Crear un conto",
"sign_in_banner.sign_in": "Initiar le session",
"status.block": "Blocar @{name}",
"status.copy": "Copiar ligamine a message",
"status.delete": "Deler", "status.delete": "Deler",
"status.direct_indicator": "Mention private",
"status.edit": "Modificar",
"status.filter": "Filtrar iste message",
"status.hide": "Celar le message",
"status.history.created": "create per {name} le {date}",
"status.history.edited": "modificate per {name} le {date}",
"status.media.open": "Clicca pro aperir",
"status.media.show": "Clicca pro monstrar",
"status.more": "Plus",
"status.mute_conversation": "Silentiar conversation",
"status.read_more": "Leger plus",
"status.share": "Compartir", "status.share": "Compartir",
"status.translate": "Traducer", "status.translate": "Traducer",
"status.translated_from_with": "Traducite ab {lang} usante {provider}", "status.translated_from_with": "Traducite ab {lang} usante {provider}",
"tabs_bar.home": "Initio", "tabs_bar.home": "Initio",
"tabs_bar.notifications": "Notificationes" "tabs_bar.notifications": "Notificationes",
"timeline_hint.resources.statuses": "Messages ancian",
"trends.trending_now": "Ora in tendentias",
"upload_form.undo": "Deler",
"upload_modal.choose_image": "Seliger un imagine",
"upload_modal.detect_text": "Deteger texto ab un pictura",
"video.close": "Clauder le video",
"video.download": "Discargar le file",
"video.fullscreen": "Schermo plen",
"video.hide": "Celar video",
"video.mute": "Silentiar le sono",
"video.pause": "Pausa",
"video.play": "Reproducer",
"video.unmute": "Non plus silentiar le sono"
} }

View File

@ -32,6 +32,7 @@
"account.featured_tags.last_status_never": "投稿がありません", "account.featured_tags.last_status_never": "投稿がありません",
"account.featured_tags.title": "{name}の注目ハッシュタグ", "account.featured_tags.title": "{name}の注目ハッシュタグ",
"account.follow": "フォロー", "account.follow": "フォロー",
"account.follow_back": "フォローバック",
"account.followers": "フォロワー", "account.followers": "フォロワー",
"account.followers.empty": "まだ誰もフォローしていません。", "account.followers.empty": "まだ誰もフォローしていません。",
"account.followers_counter": "{counter} フォロワー", "account.followers_counter": "{counter} フォロワー",
@ -52,6 +53,7 @@
"account.mute_notifications_short": "通知をオフにする", "account.mute_notifications_short": "通知をオフにする",
"account.mute_short": "ミュート", "account.mute_short": "ミュート",
"account.muted": "ミュート済み", "account.muted": "ミュート済み",
"account.mutual": "相互フォロー中",
"account.no_bio": "説明が提供されていません。", "account.no_bio": "説明が提供されていません。",
"account.open_original_page": "元のページを開く", "account.open_original_page": "元のページを開く",
"account.posts": "投稿", "account.posts": "投稿",
@ -486,7 +488,7 @@
"onboarding.profile.display_name_hint": "フルネーム、あるいは面白い名前など", "onboarding.profile.display_name_hint": "フルネーム、あるいは面白い名前など",
"onboarding.profile.lead": "あとでいつでも修正できますし、設定画面にはこれ以外のカスタマイズ項目もあります。", "onboarding.profile.lead": "あとでいつでも修正できますし、設定画面にはこれ以外のカスタマイズ項目もあります。",
"onboarding.profile.note": "自己紹介", "onboarding.profile.note": "自己紹介",
"onboarding.profile.note_hint": "ほかの人に @言及 したり、#ハッシュタグ を付けたりできます", "onboarding.profile.note_hint": "ほかのユーザーへのメンション (@mention) や、 #ハッシュタグ が使用できます",
"onboarding.profile.save_and_continue": "保存して続ける", "onboarding.profile.save_and_continue": "保存して続ける",
"onboarding.profile.title": "プロフィールの設定", "onboarding.profile.title": "プロフィールの設定",
"onboarding.profile.upload_avatar": "プロフィール画像をアップロード", "onboarding.profile.upload_avatar": "プロフィール画像をアップロード",

View File

@ -501,6 +501,7 @@
"onboarding.steps.setup_profile.title": "Personaliza tu profil", "onboarding.steps.setup_profile.title": "Personaliza tu profil",
"onboarding.steps.share_profile.body": "Informe a tus amigos komo toparte en Mastodon", "onboarding.steps.share_profile.body": "Informe a tus amigos komo toparte en Mastodon",
"onboarding.steps.share_profile.title": "Partaja tu profil de Mastodon", "onboarding.steps.share_profile.title": "Partaja tu profil de Mastodon",
"password_confirmation.exceeds_maxlength": "La konfirmasyon de kod es demaziado lunga",
"password_confirmation.mismatching": "Los dos kodes son desferentes", "password_confirmation.mismatching": "Los dos kodes son desferentes",
"picture_in_picture.restore": "Restora", "picture_in_picture.restore": "Restora",
"poll.closed": "Serrado", "poll.closed": "Serrado",

View File

@ -240,7 +240,7 @@
"empty_column.follow_requests": "Bạn chưa có yêu cầu theo dõi nào.", "empty_column.follow_requests": "Bạn chưa có yêu cầu theo dõi nào.",
"empty_column.followed_tags": "Bạn chưa theo dõi hashtag nào. Khi bạn theo dõi, chúng sẽ hiện lên ở đây.", "empty_column.followed_tags": "Bạn chưa theo dõi hashtag nào. Khi bạn theo dõi, chúng sẽ hiện lên ở đây.",
"empty_column.hashtag": "Chưa có tút nào dùng hashtag này.", "empty_column.hashtag": "Chưa có tút nào dùng hashtag này.",
"empty_column.home": "Trang chính của bạn đang trống! Hãy theo dõi nhiều người hơn để lấp đầy.", "empty_column.home": "Trang ch của bạn đang trống! Hãy theo dõi nhiều người hơn để lấp đầy.",
"empty_column.list": "Chưa có tút. Khi những người trong danh sách này đăng tút mới, chúng sẽ xuất hiện ở đây.", "empty_column.list": "Chưa có tút. Khi những người trong danh sách này đăng tút mới, chúng sẽ xuất hiện ở đây.",
"empty_column.lists": "Bạn chưa tạo danh sách nào.", "empty_column.lists": "Bạn chưa tạo danh sách nào.",
"empty_column.mutes": "Bạn chưa ẩn bất kỳ ai.", "empty_column.mutes": "Bạn chưa ẩn bất kỳ ai.",
@ -336,38 +336,38 @@
"intervals.full.days": "{number, plural, other {# ngày}}", "intervals.full.days": "{number, plural, other {# ngày}}",
"intervals.full.hours": "{number, plural, other {# giờ}}", "intervals.full.hours": "{number, plural, other {# giờ}}",
"intervals.full.minutes": "{number, plural, other {# phút}}", "intervals.full.minutes": "{number, plural, other {# phút}}",
"keyboard_shortcuts.back": "trở lại", "keyboard_shortcuts.back": "quay lại",
"keyboard_shortcuts.blocked": "mở danh sách người đã chặn", "keyboard_shortcuts.blocked": "mở danh sách người đã chặn",
"keyboard_shortcuts.boost": "đăng lại", "keyboard_shortcuts.boost": "đăng lại",
"keyboard_shortcuts.column": "mở các mục", "keyboard_shortcuts.column": "mở các cột",
"keyboard_shortcuts.compose": "mở khung soạn tút", "keyboard_shortcuts.compose": "mở khung soạn tút",
"keyboard_shortcuts.description": "Mô tả", "keyboard_shortcuts.description": "Mô tả",
"keyboard_shortcuts.direct": "mở mục nhắn riêng", "keyboard_shortcuts.direct": "mở nhắn riêng",
"keyboard_shortcuts.down": "di chuyển xuống dưới danh sách", "keyboard_shortcuts.down": "di chuyển xuống dưới danh sách",
"keyboard_shortcuts.enter": "viết tút mới", "keyboard_shortcuts.enter": "mở tút",
"keyboard_shortcuts.favourite": "thích tút", "keyboard_shortcuts.favourite": "thích tút",
"keyboard_shortcuts.favourites": "mở lượt thích", "keyboard_shortcuts.favourites": "mở lượt thích",
"keyboard_shortcuts.federated": "mở mạng liên hợp", "keyboard_shortcuts.federated": "mở mạng liên hợp",
"keyboard_shortcuts.heading": "Danh sách phím tắt", "keyboard_shortcuts.heading": "Danh sách phím tắt",
"keyboard_shortcuts.home": "mở trang chính", "keyboard_shortcuts.home": "mở trang ch",
"keyboard_shortcuts.hotkey": "Phím tắt", "keyboard_shortcuts.hotkey": "Phím tắt",
"keyboard_shortcuts.legend": "hiện bảng hướng dẫn này", "keyboard_shortcuts.legend": "hiện bảng hướng dẫn này",
"keyboard_shortcuts.local": "mở máy chủ của bạn", "keyboard_shortcuts.local": "mở máy chủ của bạn",
"keyboard_shortcuts.mention": "nhắc đến ai đó", "keyboard_shortcuts.mention": "nhắc đến ai đó",
"keyboard_shortcuts.muted": "mở danh sách người đã ẩn", "keyboard_shortcuts.muted": "mở danh sách người đã ẩn",
"keyboard_shortcuts.my_profile": "mở hồ sơ của bạn", "keyboard_shortcuts.my_profile": "mở hồ sơ của bạn",
"keyboard_shortcuts.notifications": "mở mục thông báo", "keyboard_shortcuts.notifications": "mở thông báo",
"keyboard_shortcuts.open_media": "mở ảnh hoặc video", "keyboard_shortcuts.open_media": "mở ảnh hoặc video",
"keyboard_shortcuts.pinned": "mở danh sách tút ghim", "keyboard_shortcuts.pinned": "mở những tút đã ghim",
"keyboard_shortcuts.profile": "mở hồ sơ của người viết tút", "keyboard_shortcuts.profile": "mở trang của người đăng tút",
"keyboard_shortcuts.reply": "trả lời", "keyboard_shortcuts.reply": "trả lời",
"keyboard_shortcuts.requests": "mở danh sách yêu cầu theo dõi", "keyboard_shortcuts.requests": "mở danh sách yêu cầu theo dõi",
"keyboard_shortcuts.search": "mở tìm kiếm", "keyboard_shortcuts.search": "mở tìm kiếm",
"keyboard_shortcuts.spoilers": "hiện/ẩn nội dung nhạy cảm", "keyboard_shortcuts.spoilers": "hiện/ẩn nội dung nhạy cảm",
"keyboard_shortcuts.start": "mở mục \"Dành cho người mới\"", "keyboard_shortcuts.start": "mở \"Dành cho người mới\"",
"keyboard_shortcuts.toggle_hidden": "ẩn/hiện văn bản bên dưới spoil", "keyboard_shortcuts.toggle_hidden": "ẩn/hiện nội dung ẩn",
"keyboard_shortcuts.toggle_sensitivity": "ẩn/hiện ảnh hoặc video", "keyboard_shortcuts.toggle_sensitivity": "ẩn/hiện ảnh hoặc video",
"keyboard_shortcuts.toot": "viết tút mới", "keyboard_shortcuts.toot": "soạn tút mới",
"keyboard_shortcuts.unfocus": "đưa con trỏ ra khỏi ô soạn thảo hoặc ô tìm kiếm", "keyboard_shortcuts.unfocus": "đưa con trỏ ra khỏi ô soạn thảo hoặc ô tìm kiếm",
"keyboard_shortcuts.up": "di chuyển lên trên danh sách", "keyboard_shortcuts.up": "di chuyển lên trên danh sách",
"lightbox.close": "Đóng", "lightbox.close": "Đóng",
@ -404,7 +404,7 @@
"navigation_bar.blocks": "Người đã chặn", "navigation_bar.blocks": "Người đã chặn",
"navigation_bar.bookmarks": "Đã lưu", "navigation_bar.bookmarks": "Đã lưu",
"navigation_bar.community_timeline": "Cộng đồng", "navigation_bar.community_timeline": "Cộng đồng",
"navigation_bar.compose": "Viết tút mới", "navigation_bar.compose": "Soạn tút mới",
"navigation_bar.direct": "Nhắn riêng", "navigation_bar.direct": "Nhắn riêng",
"navigation_bar.discover": "Khám phá", "navigation_bar.discover": "Khám phá",
"navigation_bar.domain_blocks": "Máy chủ đã ẩn", "navigation_bar.domain_blocks": "Máy chủ đã ẩn",
@ -436,7 +436,7 @@
"notification.poll": "Cuộc bình chọn đã kết thúc", "notification.poll": "Cuộc bình chọn đã kết thúc",
"notification.reblog": "{name} đăng lại tút của bạn", "notification.reblog": "{name} đăng lại tút của bạn",
"notification.status": "{name} đăng tút mới", "notification.status": "{name} đăng tút mới",
"notification.update": "{name} đã viết lại một tút", "notification.update": "{name} đã sửa tút",
"notifications.clear": "Xóa hết thông báo", "notifications.clear": "Xóa hết thông báo",
"notifications.clear_confirmation": "Bạn thật sự muốn xóa vĩnh viễn tất cả thông báo của mình?", "notifications.clear_confirmation": "Bạn thật sự muốn xóa vĩnh viễn tất cả thông báo của mình?",
"notifications.column_settings.admin.report": "Báo cáo mới:", "notifications.column_settings.admin.report": "Báo cáo mới:",
@ -477,7 +477,7 @@
"onboarding.action.back": "Quay lại", "onboarding.action.back": "Quay lại",
"onboarding.actions.back": "Quay lại", "onboarding.actions.back": "Quay lại",
"onboarding.actions.go_to_explore": "Xem những gì đang thịnh hành", "onboarding.actions.go_to_explore": "Xem những gì đang thịnh hành",
"onboarding.actions.go_to_home": "Đến trang chính", "onboarding.actions.go_to_home": "Đến trang ch",
"onboarding.compose.template": "Xin chào #Mastodon!", "onboarding.compose.template": "Xin chào #Mastodon!",
"onboarding.follows.empty": "Không có kết quả có thể được hiển thị lúc này. Bạn có thể thử sử dụng tính năng tìm kiếm hoặc duyệt qua trang khám phá để tìm những người theo dõi hoặc thử lại sau.", "onboarding.follows.empty": "Không có kết quả có thể được hiển thị lúc này. Bạn có thể thử sử dụng tính năng tìm kiếm hoặc duyệt qua trang khám phá để tìm những người theo dõi hoặc thử lại sau.",
"onboarding.follows.lead": "Bạn quản lý bảng tin của riêng bạn. Bạn càng theo dõi nhiều người, nó sẽ càng sôi động và thú vị. Để bắt đầu, đây là vài gợi ý:", "onboarding.follows.lead": "Bạn quản lý bảng tin của riêng bạn. Bạn càng theo dõi nhiều người, nó sẽ càng sôi động và thú vị. Để bắt đầu, đây là vài gợi ý:",
@ -501,7 +501,7 @@
"onboarding.start.skip": "Muốn bỏ qua luôn?", "onboarding.start.skip": "Muốn bỏ qua luôn?",
"onboarding.start.title": "Xong rồi bạn!", "onboarding.start.title": "Xong rồi bạn!",
"onboarding.steps.follow_people.body": "Theo dõi những người thú vị trên Mastodon.", "onboarding.steps.follow_people.body": "Theo dõi những người thú vị trên Mastodon.",
"onboarding.steps.follow_people.title": "Cá nhân hóa trang chính", "onboarding.steps.follow_people.title": "Cá nhân hóa trang ch",
"onboarding.steps.publish_status.body": "Chào cộng đồng bằng lời nói, ảnh hoặc video {emoji}", "onboarding.steps.publish_status.body": "Chào cộng đồng bằng lời nói, ảnh hoặc video {emoji}",
"onboarding.steps.publish_status.title": "Đăng tút đầu tiên", "onboarding.steps.publish_status.title": "Đăng tút đầu tiên",
"onboarding.steps.setup_profile.body": "Tạo sự tương tác bằng một hồ sơ hoàn chỉnh.", "onboarding.steps.setup_profile.body": "Tạo sự tương tác bằng một hồ sơ hoàn chỉnh.",
@ -539,7 +539,7 @@
"recommended": "Đề xuất", "recommended": "Đề xuất",
"refresh": "Làm mới", "refresh": "Làm mới",
"regeneration_indicator.label": "Đang tải…", "regeneration_indicator.label": "Đang tải…",
"regeneration_indicator.sublabel": "Trang chính của bạn đang được cập nhật!", "regeneration_indicator.sublabel": "Trang ch của bạn đang được cập nhật!",
"relative_time.days": "{number} ngày", "relative_time.days": "{number} ngày",
"relative_time.full.days": "{number, plural, other {# ngày}}", "relative_time.full.days": "{number, plural, other {# ngày}}",
"relative_time.full.hours": "{number, plural, other {# giờ}}", "relative_time.full.hours": "{number, plural, other {# giờ}}",
@ -591,7 +591,7 @@
"report.thanks.title": "Không muốn xem thứ này?", "report.thanks.title": "Không muốn xem thứ này?",
"report.thanks.title_actionable": "Cảm ơn đã báo cáo, chúng tôi sẽ xem xét kỹ.", "report.thanks.title_actionable": "Cảm ơn đã báo cáo, chúng tôi sẽ xem xét kỹ.",
"report.unfollow": "Bỏ theo dõi @{name}", "report.unfollow": "Bỏ theo dõi @{name}",
"report.unfollow_explanation": "Bạn đang theo dõi người này. Để không thấy tút của họ trên trang chính nữa, hãy bỏ theo dõi.", "report.unfollow_explanation": "Bạn đang theo dõi người này. Để không thấy tút của họ trên trang ch nữa, hãy bỏ theo dõi.",
"report_notification.attached_statuses": "{count, plural, other {{count} tút}} đính kèm", "report_notification.attached_statuses": "{count, plural, other {{count} tút}} đính kèm",
"report_notification.categories.legal": "Pháp lý", "report_notification.categories.legal": "Pháp lý",
"report_notification.categories.other": "Khác", "report_notification.categories.other": "Khác",
@ -692,7 +692,7 @@
"subscribed_languages.lead": "Chỉ các tút đăng bằng các ngôn ngữ đã chọn mới được xuất hiện trên bảng tin của bạn. Không chọn gì cả để đọc tút đăng bằng mọi ngôn ngữ.", "subscribed_languages.lead": "Chỉ các tút đăng bằng các ngôn ngữ đã chọn mới được xuất hiện trên bảng tin của bạn. Không chọn gì cả để đọc tút đăng bằng mọi ngôn ngữ.",
"subscribed_languages.save": "Lưu thay đổi", "subscribed_languages.save": "Lưu thay đổi",
"subscribed_languages.target": "Đổi ngôn ngữ mong muốn cho {target}", "subscribed_languages.target": "Đổi ngôn ngữ mong muốn cho {target}",
"tabs_bar.home": "Trang chính", "tabs_bar.home": "Trang ch",
"tabs_bar.notifications": "Thông báo", "tabs_bar.notifications": "Thông báo",
"time_remaining.days": "{number, plural, other {# ngày}}", "time_remaining.days": "{number, plural, other {# ngày}}",
"time_remaining.hours": "{number, plural, other {# giờ}}", "time_remaining.hours": "{number, plural, other {# giờ}}",

View File

@ -66,16 +66,6 @@ class EmojiFormatter
@emoji_map ||= custom_emojis.each_with_object({}) { |e, h| h[e.shortcode] = [full_asset_url(e.image.url), full_asset_url(e.image.url(:static))] } @emoji_map ||= custom_emojis.each_with_object({}) { |e, h| h[e.shortcode] = [full_asset_url(e.image.url), full_asset_url(e.image.url(:static))] }
end end
def count_tag_nesting(tag)
if tag[1] == '/'
-1
elsif tag[-2] == '/'
0
else
1
end
end
def tag_for_emoji(shortcode, emoji) def tag_for_emoji(shortcode, emoji)
return content_tag(:span, ":#{shortcode}:", translate: 'no') if raw_shortcode? return content_tag(:span, ":#{shortcode}:", translate: 'no') if raw_shortcode?

View File

@ -112,6 +112,8 @@ class Account < ApplicationRecord
validates :shared_inbox_url, absence: true, if: :local?, on: :create validates :shared_inbox_url, absence: true, if: :local?, on: :create
validates :followers_url, absence: true, if: :local?, on: :create validates :followers_url, absence: true, if: :local?, on: :create
normalizes :username, with: ->(username) { username.squish }
scope :remote, -> { where.not(domain: nil) } scope :remote, -> { where.not(domain: nil) }
scope :local, -> { where(domain: nil) } scope :local, -> { where(domain: nil) }
scope :partitioned, -> { order(Arel.sql('row_number() over (partition by domain)')) } scope :partitioned, -> { order(Arel.sql('row_number() over (partition by domain)')) }
@ -133,7 +135,7 @@ class Account < ApplicationRecord
scope :discoverable, -> { searchable.without_silenced.where(discoverable: true).joins(:account_stat) } scope :discoverable, -> { searchable.without_silenced.where(discoverable: true).joins(:account_stat) }
scope :followable_by, ->(account) { joins(arel_table.join(Follow.arel_table, Arel::Nodes::OuterJoin).on(arel_table[:id].eq(Follow.arel_table[:target_account_id]).and(Follow.arel_table[:account_id].eq(account.id))).join_sources).where(Follow.arel_table[:id].eq(nil)).joins(arel_table.join(FollowRequest.arel_table, Arel::Nodes::OuterJoin).on(arel_table[:id].eq(FollowRequest.arel_table[:target_account_id]).and(FollowRequest.arel_table[:account_id].eq(account.id))).join_sources).where(FollowRequest.arel_table[:id].eq(nil)) } scope :followable_by, ->(account) { joins(arel_table.join(Follow.arel_table, Arel::Nodes::OuterJoin).on(arel_table[:id].eq(Follow.arel_table[:target_account_id]).and(Follow.arel_table[:account_id].eq(account.id))).join_sources).where(Follow.arel_table[:id].eq(nil)).joins(arel_table.join(FollowRequest.arel_table, Arel::Nodes::OuterJoin).on(arel_table[:id].eq(FollowRequest.arel_table[:target_account_id]).and(FollowRequest.arel_table[:account_id].eq(account.id))).join_sources).where(FollowRequest.arel_table[:id].eq(nil)) }
scope :by_recent_status, -> { includes(:account_stat).merge(AccountStat.order('last_status_at DESC NULLS LAST')).references(:account_stat) } scope :by_recent_status, -> { includes(:account_stat).merge(AccountStat.order('last_status_at DESC NULLS LAST')).references(:account_stat) }
scope :by_recent_sign_in, -> { order(Arel.sql('users.current_sign_in_at DESC NULLS LAST')) } scope :by_recent_activity, -> { left_joins(:user, :account_stat).order(coalesced_activity_timestamps.desc).order(id: :desc) }
scope :popular, -> { order('account_stats.followers_count desc') } scope :popular, -> { order('account_stats.followers_count desc') }
scope :by_domain_and_subdomains, ->(domain) { where(domain: Instance.by_domain_and_subdomains(domain).select(:domain)) } scope :by_domain_and_subdomains, ->(domain) { where(domain: Instance.by_domain_and_subdomains(domain).select(:domain)) }
scope :not_excluded_by_account, ->(account) { where.not(id: account.excluded_from_timeline_account_ids) } scope :not_excluded_by_account, ->(account) { where.not(id: account.excluded_from_timeline_account_ids) }
@ -440,6 +442,14 @@ class Account < ApplicationRecord
DeliveryFailureTracker.without_unavailable(urls) DeliveryFailureTracker.without_unavailable(urls)
end end
def coalesced_activity_timestamps
Arel.sql(
<<~SQL.squish
COALESCE(users.current_sign_in_at, account_stats.last_status_at, to_timestamp(0))
SQL
)
end
def from_text(text) def from_text(text)
return [] if text.blank? return [] if text.blank?
@ -473,7 +483,6 @@ class Account < ApplicationRecord
end end
before_validation :prepare_contents, if: :local? before_validation :prepare_contents, if: :local?
before_validation :prepare_username, on: :create
before_create :generate_keys before_create :generate_keys
before_destroy :clean_feed_manager before_destroy :clean_feed_manager
@ -491,10 +500,6 @@ class Account < ApplicationRecord
note&.strip! note&.strip!
end end
def prepare_username
username&.squish!
end
def generate_keys def generate_keys
return unless local? && private_key.blank? && public_key.blank? return unless local? && private_key.blank? && public_key.blank?

View File

@ -104,15 +104,7 @@ class AccountFilter
def order_scope(value) def order_scope(value)
case value.to_s case value.to_s
when 'active' when 'active'
accounts_with_users Account.by_recent_activity
.left_joins(:account_stat)
.order(
Arel.sql(
<<~SQL.squish
COALESCE(users.current_sign_in_at, account_stats.last_status_at, to_timestamp(0)) DESC, accounts.id DESC
SQL
)
)
when 'recent' when 'recent'
Account.recent Account.recent
else else

View File

@ -20,9 +20,8 @@
class Announcement < ApplicationRecord class Announcement < ApplicationRecord
scope :unpublished, -> { where(published: false) } scope :unpublished, -> { where(published: false) }
scope :published, -> { where(published: true) } scope :published, -> { where(published: true) }
scope :without_muted, ->(account) { joins("LEFT OUTER JOIN announcement_mutes ON announcement_mutes.announcement_id = announcements.id AND announcement_mutes.account_id = #{account.id}").where(announcement_mutes: { id: nil }) } scope :chronological, -> { order(coalesced_chronology_timestamps.asc) }
scope :chronological, -> { order(Arel.sql('COALESCE(announcements.starts_at, announcements.scheduled_at, announcements.published_at, announcements.created_at) ASC')) } scope :reverse_chronological, -> { order(coalesced_chronology_timestamps.desc) }
scope :reverse_chronological, -> { order(Arel.sql('COALESCE(announcements.starts_at, announcements.scheduled_at, announcements.published_at, announcements.created_at) DESC')) }
has_many :announcement_mutes, dependent: :destroy has_many :announcement_mutes, dependent: :destroy
has_many :announcement_reactions, dependent: :destroy has_many :announcement_reactions, dependent: :destroy
@ -33,6 +32,16 @@ class Announcement < ApplicationRecord
before_validation :set_published, on: :create before_validation :set_published, on: :create
class << self
def coalesced_chronology_timestamps
Arel.sql(
<<~SQL.squish
COALESCE(announcements.starts_at, announcements.scheduled_at, announcements.published_at, announcements.created_at)
SQL
)
end
end
def to_log_human_identifier def to_log_human_identifier
text text
end end
@ -45,10 +54,6 @@ class Announcement < ApplicationRecord
update!(published: false, scheduled_at: nil) update!(published: false, scheduled_at: nil)
end end
def time_range?
starts_at? && ends_at?
end
def mentions def mentions
@mentions ||= Account.from_text(text) @mentions ||= Account.from_text(text)
end end

View File

@ -42,7 +42,7 @@ class CustomEmoji < ApplicationRecord
has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set date:modify +set date:create +set date:timestamp' } }, validate_media_type: false has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set date:modify +set date:create +set date:timestamp' } }, validate_media_type: false
before_validation :downcase_domain normalizes :domain, with: ->(domain) { domain.downcase }
validates_attachment :image, content_type: { content_type: IMAGE_MIME_TYPES }, presence: true validates_attachment :image, content_type: { content_type: IMAGE_MIME_TYPES }, presence: true
validates_attachment_size :image, less_than: LIMIT, unless: :local? validates_attachment_size :image, less_than: LIMIT, unless: :local?
@ -89,7 +89,7 @@ class CustomEmoji < ApplicationRecord
end end
def search(shortcode) def search(shortcode)
where('"custom_emojis"."shortcode" ILIKE ?', "%#{shortcode}%") where(arel_table[:shortcode].matches("%#{sanitize_sql_like(shortcode)}%"))
end end
end end
@ -98,8 +98,4 @@ class CustomEmoji < ApplicationRecord
def remove_entity_cache def remove_entity_cache
Rails.cache.delete(EntityCache.instance.to_key(:emoji, shortcode, domain)) Rails.cache.delete(EntityCache.instance.to_key(:emoji, shortcode, domain))
end end
def downcase_domain
self.domain = domain.downcase unless domain.nil?
end
end end

View File

@ -31,7 +31,7 @@ class CustomEmojiFilter
def scope_for(key, value) def scope_for(key, value)
case key.to_s case key.to_s
when 'local' when 'local'
CustomEmoji.local.left_joins(:category).reorder(Arel.sql('custom_emoji_categories.name ASC NULLS FIRST, custom_emojis.shortcode ASC')) CustomEmoji.local.left_joins(:category).reorder(CustomEmojiCategory.arel_table[:name].asc.nulls_first).order(shortcode: :asc)
when 'remote' when 'remote'
CustomEmoji.remote CustomEmoji.remote
when 'by_domain' when 'by_domain'

View File

@ -31,7 +31,7 @@ class DomainBlock < ApplicationRecord
scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) } scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) }
scope :with_user_facing_limitations, -> { where(severity: [:silence, :suspend]) } scope :with_user_facing_limitations, -> { where(severity: [:silence, :suspend]) }
scope :with_limitations, -> { where(severity: [:silence, :suspend]).or(where(reject_media: true)) } scope :with_limitations, -> { where(severity: [:silence, :suspend]).or(where(reject_media: true)) }
scope :by_severity, -> { order(Arel.sql('(CASE severity WHEN 0 THEN 1 WHEN 1 THEN 2 WHEN 2 THEN 0 END), domain')) } scope :by_severity, -> { in_order_of(:severity, %w(noop silence suspend)).order(:domain) }
def to_log_human_identifier def to_log_human_identifier
domain domain
@ -85,11 +85,6 @@ class DomainBlock < ApplicationRecord
(reject_media || !other_block.reject_media) && (reject_reports || !other_block.reject_reports) (reject_media || !other_block.reject_media) && (reject_reports || !other_block.reject_reports)
end end
def affected_accounts_count
scope = suspend? ? accounts.where(suspended_at: created_at) : accounts.where(silenced_at: created_at)
scope.count
end
def public_domain def public_domain
return domain unless obfuscate? return domain unless obfuscate?

View File

@ -111,8 +111,6 @@ class Status < ApplicationRecord
scope :without_reblogs, -> { where(statuses: { reblog_of_id: nil }) } scope :without_reblogs, -> { where(statuses: { reblog_of_id: nil }) }
scope :with_public_visibility, -> { where(visibility: :public) } scope :with_public_visibility, -> { where(visibility: :public) }
scope :tagged_with, ->(tag_ids) { joins(:statuses_tags).where(statuses_tags: { tag_id: tag_ids }) } scope :tagged_with, ->(tag_ids) { joins(:statuses_tags).where(statuses_tags: { tag_id: tag_ids }) }
scope :excluding_silenced_accounts, -> { left_outer_joins(:account).where(accounts: { silenced_at: nil }) }
scope :including_silenced_accounts, -> { left_outer_joins(:account).where.not(accounts: { silenced_at: nil }) }
scope :not_excluded_by_account, ->(account) { where.not(account_id: account.excluded_from_timeline_account_ids) } scope :not_excluded_by_account, ->(account) { where.not(account_id: account.excluded_from_timeline_account_ids) }
scope :not_domain_blocked_by_account, ->(account) { account.excluded_from_timeline_domains.blank? ? left_outer_joins(:account) : left_outer_joins(:account).where('accounts.domain IS NULL OR accounts.domain NOT IN (?)', account.excluded_from_timeline_domains) } scope :not_domain_blocked_by_account, ->(account) { account.excluded_from_timeline_domains.blank? ? left_outer_joins(:account) : left_outer_joins(:account).where('accounts.domain IS NULL OR accounts.domain NOT IN (?)', account.excluded_from_timeline_domains) }
scope :tagged_with_all, lambda { |tag_ids| scope :tagged_with_all, lambda { |tag_ids|

View File

@ -117,7 +117,6 @@ class User < ApplicationRecord
scope :active, -> { confirmed.where(arel_table[:current_sign_in_at].gteq(ACTIVE_DURATION.ago)).joins(:account).where(accounts: { suspended_at: nil }) } scope :active, -> { confirmed.where(arel_table[:current_sign_in_at].gteq(ACTIVE_DURATION.ago)).joins(:account).where(accounts: { suspended_at: nil }) }
scope :matches_email, ->(value) { where(arel_table[:email].matches("#{value}%")) } scope :matches_email, ->(value) { where(arel_table[:email].matches("#{value}%")) }
scope :matches_ip, ->(value) { left_joins(:ips).where('user_ips.ip <<= ?', value).group('users.id') } scope :matches_ip, ->(value) { left_joins(:ips).where('user_ips.ip <<= ?', value).group('users.id') }
scope :emailable, -> { confirmed.enabled.joins(:account).merge(Account.searchable) }
before_validation :sanitize_languages before_validation :sanitize_languages
before_validation :sanitize_role before_validation :sanitize_role

View File

@ -35,7 +35,13 @@
- if SoftwareUpdate.check_enabled? && current_user.can?(:view_devops) - if SoftwareUpdate.check_enabled? && current_user.can?(:view_devops)
.fields-group .fields-group
= ff.input :'notification_emails.software_updates', wrapper: :with_label, label: I18n.t('simple_form.labels.notification_emails.software_updates.label'), collection: %w(none critical patch all), label_method: ->(setting) { I18n.t("simple_form.labels.notification_emails.software_updates.#{setting}") }, include_blank: false, hint: false = ff.input :'notification_emails.software_updates',
collection: %w(none critical patch all),
hint: false,
include_blank: false,
label_method: ->(setting) { I18n.t("simple_form.labels.notification_emails.software_updates.#{setting}") },
label: I18n.t('simple_form.labels.notification_emails.software_updates.label'),
wrapper: :with_label
%h4= t 'notifications.other_settings' %h4= t 'notifications.other_settings'

View File

@ -425,6 +425,7 @@ bg:
view: Преглед на блокиране на домейн view: Преглед на блокиране на домейн
email_domain_blocks: email_domain_blocks:
add_new: Добавяне на ново add_new: Добавяне на ново
allow_registrations_with_approval: Позволяване на регистрации с одобрение
attempts_over_week: attempts_over_week:
one: "%{count} опит за изминалата седмица" one: "%{count} опит за изминалата седмица"
other: "%{count} опита за регистрация през изминалата седмица" other: "%{count} опита за регистрация през изминалата седмица"

View File

@ -40,8 +40,10 @@ br:
change_role: change_role:
no_role: Roll ebet no_role: Roll ebet
confirm: Kadarnaat confirm: Kadarnaat
confirmed: Kadarnaet
confirming: O kadarnaat confirming: O kadarnaat
custom: Personelaet custom: Personelaet
delete: Dilemel ar roadennoù
deleted: Dilamet deleted: Dilamet
demote: Argilañ demote: Argilañ
disable: Skornañ disable: Skornañ
@ -61,6 +63,7 @@ br:
all: Pep tra all: Pep tra
local: Lec'hel local: Lec'hel
remote: A-bell remote: A-bell
media_attachments: Restroù media stag
moderation: moderation:
active: Oberiant active: Oberiant
all: Pep tra all: Pep tra
@ -68,6 +71,7 @@ br:
silenced: Bevennet silenced: Bevennet
suspended: Astalet suspended: Astalet
title: Habaskadur title: Habaskadur
most_recent_activity: Obererezh nevesañ
perform_full_suspension: Astalañ perform_full_suspension: Astalañ
promote: Brudañ promote: Brudañ
protocol: Komenad protocol: Komenad
@ -76,15 +80,19 @@ br:
remove_header: Dilemel an talbenn remove_header: Dilemel an talbenn
reset: Adderaouekaat reset: Adderaouekaat
reset_password: Adderaouekaat ar ger-tremen reset_password: Adderaouekaat ar ger-tremen
resubscribe: Adkoumanantiñ
role: Roll role: Roll
search: Klask search: Klask
security: Surentez
silence: Bevenniñ silence: Bevenniñ
silenced: Bevennet silenced: Bevennet
statuses: Toudoù statuses: Toudoù
subscribe: Koumanantiñ
suspend: Astalañ suspend: Astalañ
suspended: Astalet suspended: Astalet
title: Kontoù title: Kontoù
undo_silenced: Dizober ar bevennañ undo_silenced: Dizober ar bevennañ
unsubscribe: Digoumanantiñ
username: Anv username: Anv
warn: Diwall warn: Diwall
web: Web web: Web
@ -167,6 +175,7 @@ br:
title: Habaskadur title: Habaskadur
purge: Spurjañ purge: Spurjañ
title: Kevread title: Kevread
total_storage: Restroù media stag
invites: invites:
filter: filter:
all: Pep tra all: Pep tra
@ -265,6 +274,8 @@ br:
tags: tags:
dashboard: dashboard:
tag_uses_measure: implijoù hollek tag_uses_measure: implijoù hollek
not_usable: N'haller ket en implijout
title: Hashtagoù diouzh ar c'hiz
title: Luskadoù title: Luskadoù
warning_presets: warning_presets:
add_new: Ouzhpenniñ unan nevez add_new: Ouzhpenniñ unan nevez
@ -281,6 +292,9 @@ br:
new_appeal: new_appeal:
actions: actions:
none: ur c'hemenn diwall none: ur c'hemenn diwall
new_trends:
new_trending_tags:
title: Hashtagoù diouzh ar c'hiz
appearance: appearance:
discovery: Dizoloadur discovery: Dizoloadur
application_mailer: application_mailer:
@ -289,6 +303,8 @@ br:
auth: auth:
delete_account: Dilemel ar gont delete_account: Dilemel ar gont
delete_account_html: Ma fell deoc'h dilemel ho kont e c'hellit <a href="%{path}">klikañ amañ</a>. Goulennet e vo ganeoc'h kadarnaat an obererezh. delete_account_html: Ma fell deoc'h dilemel ho kont e c'hellit <a href="%{path}">klikañ amañ</a>. Goulennet e vo ganeoc'h kadarnaat an obererezh.
description:
prefix_invited_by_user: Pedet oc'h gant @%{name} da zont e-barzh ar servijer Mastodon-mañ!
login: Mont tre login: Mont tre
logout: Digennaskañ logout: Digennaskañ
migrate_account_html: Ma fell deoc'h adkas ar gont-mañ war-zu unan all e c'hellit <a href="%{path}">arventenniñ an dra-se amañ</a>. migrate_account_html: Ma fell deoc'h adkas ar gont-mañ war-zu unan all e c'hellit <a href="%{path}">arventenniñ an dra-se amañ</a>.
@ -383,6 +399,10 @@ br:
table: table:
uses: Implijoù uses: Implijoù
title: Pediñ tud title: Pediñ tud
media_attachments:
validations:
images_and_video: N'haller stagañ ur video ouzh un embannadur a zo fotoioù gantañ dija
too_many: N'haller ket stagañ muioc'h eget 4 restr
migrations: migrations:
incoming_migrations_html: Evit dilojañ ur gont all da homañ e rankit <a href="%{path}">sevel un alias</a> da gentañ. incoming_migrations_html: Evit dilojañ ur gont all da homañ e rankit <a href="%{path}">sevel un alias</a> da gentañ.
moderation: moderation:
@ -417,13 +437,16 @@ br:
next: Da-heul next: Da-heul
older: Koshoc'h older: Koshoc'h
prev: A-raok prev: A-raok
polls:
errors:
self_vote: N'hallit ket votiñ en ho sontadegoù deoc'h-c'hwi
preferences: preferences:
other: All other: All
posting_defaults: Arventennoù embann dre ziouer posting_defaults: Arventennoù embann dre ziouer
relationships: relationships:
dormant: O kousket dormant: O kousket
followers: Heulier·ezed·ien followers: Heulier·ezed·ien
following: O heuliañ following: Koumanantoù
invited: Pedet invited: Pedet
moved: Dilojet moved: Dilojet
mutual: Kenetre mutual: Kenetre
@ -463,6 +486,7 @@ br:
account_settings: Arventennoù ar gont account_settings: Arventennoù ar gont
development: Diorren development: Diorren
edit_profile: Kemmañ ar profil edit_profile: Kemmañ ar profil
featured_tags: Hashtagoù pennañ
import: Enporzhiañ import: Enporzhiañ
import_and_export: Enporzhiañ hag ezporzhiañ import_and_export: Enporzhiañ hag ezporzhiañ
preferences: Gwellvezioù preferences: Gwellvezioù
@ -475,6 +499,8 @@ br:
one: "%{count} skeudenn" one: "%{count} skeudenn"
other: "%{count} skeudenn" other: "%{count} skeudenn"
two: "%{count} skeudenn" two: "%{count} skeudenn"
pin_errors:
ownership: N'hallit ket spilhennañ embannadurioù ar re all
poll: poll:
vote: Mouezhiañ vote: Mouezhiañ
show_more: Diskouez muioc'h show_more: Diskouez muioc'h
@ -483,6 +509,7 @@ br:
public: Publik public: Publik
statuses_cleanup: statuses_cleanup:
keep_direct: Mirout ar c'hannadoù eeun keep_direct: Mirout ar c'hannadoù eeun
keep_media: Derc'hel an embannadurioù gant restroù stag
min_age: min_age:
'1209600': 2 sizhunvezh '1209600': 2 sizhunvezh
'2629746': 1 mizvezh '2629746': 1 mizvezh
@ -514,6 +541,7 @@ br:
subject: Donemat e Mastodoñ subject: Donemat e Mastodoñ
title: Degemer mat e bourzh, %{name}! title: Degemer mat e bourzh, %{name}!
users: users:
follow_limit_reached: N'hallit ket heulian muioc'h eget %{limit} a zen
signed_in_as: 'Aet-tre evel:' signed_in_as: 'Aet-tre evel:'
verification: verification:
verification: Amprouadur verification: Amprouadur

View File

@ -425,6 +425,7 @@ de:
view: Domain-Sperre ansehen view: Domain-Sperre ansehen
email_domain_blocks: email_domain_blocks:
add_new: Neue hinzufügen add_new: Neue hinzufügen
allow_registrations_with_approval: Registrierungen mit Genehmigung erlauben
attempts_over_week: attempts_over_week:
one: "%{count} Registrierungsversuch in der vergangenen Woche" one: "%{count} Registrierungsversuch in der vergangenen Woche"
other: "%{count} Registrierungsversuche in der vergangenen Woche" other: "%{count} Registrierungsversuche in der vergangenen Woche"

View File

@ -1,6 +1,8 @@
--- ---
ia: ia:
devise: devise:
failure:
locked: Tu conto es blocate.
mailer: mailer:
confirmation_instructions: confirmation_instructions:
action: Verificar adresse de e-mail action: Verificar adresse de e-mail
@ -8,6 +10,8 @@ ia:
title: Verificar adresse de e-mail title: Verificar adresse de e-mail
email_changed: email_changed:
title: Nove adresse de e-mail title: Nove adresse de e-mail
password_change:
title: Contrasigno cambiate
reconfirmation_instructions: reconfirmation_instructions:
title: Verificar adresse de e-mail title: Verificar adresse de e-mail
reset_password_instructions: reset_password_instructions:
@ -15,6 +19,8 @@ ia:
title: Reinitialisar contrasigno title: Reinitialisar contrasigno
two_factor_disabled: two_factor_disabled:
title: 2FA disactivate title: 2FA disactivate
two_factor_enabled:
title: 2FA activate
registrations: registrations:
updated: Tu conto ha essite actualisate con successo. updated: Tu conto ha essite actualisate con successo.
unlocks: unlocks:

View File

@ -3,6 +3,8 @@ ie:
devise: devise:
confirmations: confirmations:
confirmed: Tui e-mail adresse ha esset confirmat successosimen. confirmed: Tui e-mail adresse ha esset confirmat successosimen.
send_instructions: Pos quelc minutes tu va reciver un e-posta con instructiones pri qualmen confirmar tui adresse electronic. Ples confirmar tui spamiere si tu ne vide li e-posta.
send_paranoid_instructions: Si tui email-adresse existe in nor database, pos quelc minutes tu va reciver un e-posta con instructiones pri qualmen confirmar tui adresse electronic. Ples confirmar tui spamiere si tu ne recivet ti-ci email.
failure: failure:
already_authenticated: Tu ha ja intrat. already_authenticated: Tu ha ja intrat.
inactive: Tui conto ancor ne ha esset activat. inactive: Tui conto ancor ne ha esset activat.
@ -20,6 +22,8 @@ ie:
action_with_app: Confirma e retorna a%{app} action_with_app: Confirma e retorna a%{app}
explanation: Tu ha creat un conto sur %{host} con ti-ci e-posta, quel tu posse activar per un sol clicc. Si it ne esset tu qui creat li conto, ples ignorar ti-ci missage. explanation: Tu ha creat un conto sur %{host} con ti-ci e-posta, quel tu posse activar per un sol clicc. Si it ne esset tu qui creat li conto, ples ignorar ti-ci missage.
explanation_when_pending: Tu ha demandat un invitation a %{host} con ti-ci e-posta. Pos confirmation de tui adresse, noi va inspecter tui aplication. Tu posse inloggar por changear detallies o deleter li conto, ma li pluparte del functiones va restar ínusabil til quande tui conto es aprobat. Tui data va esser deletet si tui conto es rejectet, e in ti casu tu ne besona far quelcunc cose. Si it ne esset tu qui creat li conto, ples ignorar ti-ci missage. explanation_when_pending: Tu ha demandat un invitation a %{host} con ti-ci e-posta. Pos confirmation de tui adresse, noi va inspecter tui aplication. Tu posse inloggar por changear detallies o deleter li conto, ma li pluparte del functiones va restar ínusabil til quande tui conto es aprobat. Tui data va esser deletet si tui conto es rejectet, e in ti casu tu ne besona far quelcunc cose. Si it ne esset tu qui creat li conto, ples ignorar ti-ci missage.
extra_html: Ples vider anc <a href="%{terms_path}">li regules del servitor</a> e <a href="%{policy_path}">nor termines de servicie</a>.
subject: 'Mastodon: Instructiones de confirmation por %{instance}'
title: Verificar e-posta title: Verificar e-posta
email_changed: email_changed:
explanation: 'Li e-mail adresse de tui es changeat a:' explanation: 'Li e-mail adresse de tui es changeat a:'
@ -33,6 +37,7 @@ ie:
title: Passa-parol changeat title: Passa-parol changeat
reconfirmation_instructions: reconfirmation_instructions:
explanation: Confirmar li nov adresse por changeat tui e-posta. explanation: Confirmar li nov adresse por changeat tui e-posta.
extra: Ples ignorar ti-ci e-posta si li change ne esset efectuat per te. Li adresse electronic por li conto Mastodon ne va changear se si tu ne accesse li ligament in supra.
subject: 'Mastodon: E-posta de confirmation por %{instance}' subject: 'Mastodon: E-posta de confirmation por %{instance}'
title: Verificar e-posta title: Verificar e-posta
reset_password_instructions: reset_password_instructions:
@ -43,8 +48,11 @@ ie:
title: Reiniciar passa-parol title: Reiniciar passa-parol
two_factor_disabled: two_factor_disabled:
explanation: 2-factor autentication por tui conto ha esset desactivisat. Aperter session nu es possibil solmen per email-adresse e passa-parol. explanation: 2-factor autentication por tui conto ha esset desactivisat. Aperter session nu es possibil solmen per email-adresse e passa-parol.
subject: 'Mastodon: 2-factor autentication desactivat'
title: 2FA desvalidat title: 2FA desvalidat
two_factor_enabled: two_factor_enabled:
explanation: 2-factor autentication ha esset activat por tui conto. Un gage generat per li acuplat apli TOTP va esser besonat por intrar.
subject: 'Mastodon: 2-factor autentication activat'
title: 2FA permisset title: 2FA permisset
two_factor_recovery_codes_changed: two_factor_recovery_codes_changed:
explanation: Li anteyan codes de recuperation ha esset ínvalidat, e novis generat. explanation: Li anteyan codes de recuperation ha esset ínvalidat, e novis generat.
@ -54,14 +62,20 @@ ie:
subject: 'Mastodon: Desserral instructiones' subject: 'Mastodon: Desserral instructiones'
webauthn_credential: webauthn_credential:
added: added:
explanation: Li sequent clave de securitá ha esset adjuntet a tui conto
subject: 'Mastodon: Nov clave de securitá' subject: 'Mastodon: Nov clave de securitá'
title: Un nov clave de securitá ha esset adjuntet title: Un nov clave de securitá ha esset adjuntet
deleted: deleted:
explanation: Li sequent clave de securitá ha esset deletet de tui conto
subject: 'Mastodon: Clave de securitá deletet' subject: 'Mastodon: Clave de securitá deletet'
title: Un ex tui claves de securitá ha esset deletet
webauthn_disabled: webauthn_disabled:
explanation: Autentication per claves de securitá ha esset desactivat por tui conto. Ja on posse intrar solmen con li gage generat per li acuplat apli TOTP.
subject: 'Mastodon: Autentication con claves de securitá desactivisat' subject: 'Mastodon: Autentication con claves de securitá desactivisat'
title: Claves de securitá desactivisat title: Claves de securitá desactivisat
webauthn_enabled: webauthn_enabled:
explanation: Autentication per clave de securitá ha esset activat por tui conto. Ja li clave de securitá posse esser usat por intrar.
subject: 'Mastodon: Autentication per clave de securitá activat'
title: Claves de securitá activisat title: Claves de securitá activisat
omniauth_callbacks: omniauth_callbacks:
failure: Ne posset autenticar te de %{kind} pro "%{reason}". failure: Ne posset autenticar te de %{kind} pro "%{reason}".
@ -73,12 +87,22 @@ ie:
updated: Tui passa-parol ha esset changeat successosimen. Tu nu ha apertet session. updated: Tui passa-parol ha esset changeat successosimen. Tu nu ha apertet session.
updated_not_active: Tui passa-parol ha esset changeat successosimen. updated_not_active: Tui passa-parol ha esset changeat successosimen.
registrations: registrations:
destroyed: Adío! Tui conto ha esset anullat con successe. Noi espera revider te pos ne long.
signed_up: Benevenit! Tu ha successat registrar te. signed_up: Benevenit! Tu ha successat registrar te.
signed_up_but_inactive: Tu ha registrat te con successe, támen noi ne posset far te intrar pro que tui conto ancor ne ha esset activat.
signed_up_but_locked: Tu ha registrat te con successe, támen noi ne posset far te intrar pro que tui conto es serrat.
signed_up_but_pending: Un missage con un ligament de confirmation ha esset inviat a tui adresse electronic. Pos har cliccat sur li ligament, noi va inspecter tui aplication. Tu va reciver un notification si it es aprobat.
signed_up_but_unconfirmed: Un missage con un ligament de confirmation ha esset inviat a tui adresse electronic. Ples sequer li ligament por activar tui conto, e confirmar tui spamiere si tu ne ha recivet li e-posta.
update_needs_confirmation: Tu ha actualisat tui conto con successe, ma noi deve verificar tui nov adresse electronic. Ples confirmar tui e-postas e sequer li ligament de confirmation por confirmar li nov adresse, e inspecter tui spamiere si tu ne ha recivet li e-posta.
updated: Tui conto ha esset actualisat successosimen. updated: Tui conto ha esset actualisat successosimen.
sessions: sessions:
already_signed_out: Exeat successosimen. already_signed_out: Exeat successosimen.
signed_in: Intrat successosimen. signed_in: Intrat successosimen.
signed_out: Exeat successosimen. signed_out: Exeat successosimen.
unlocks:
send_instructions: Pos quelc minutes tu va reciver un e-posta con instructiones pri qualmen desserrar tui adresse electronic. Ples confirmar tui spamiere si tu ne vide li e-posta.
send_paranoid_instructions: Si tui conto existe, pos quelc minutes tu va reciver un e-posta con instructiones pri qualmen desserrar it. Ples confirmar tui spamiere si tu ne recive li e-posta.
unlocked: Tui conto ha esset desserrat con successe. Ples intrar por continuar.
errors: errors:
messages: messages:
already_confirmed: esset ja confirmat, ples prova intrar already_confirmed: esset ja confirmat, ples prova intrar

View File

@ -102,6 +102,7 @@ br:
bookmarks: Sinedoù bookmarks: Sinedoù
filters: Siloù filters: Siloù
lists: Listennoù lists: Listennoù
media: Restroù media stag
mutes: Kuzhet mutes: Kuzhet
search: Klask search: Klask
statuses: Toudoù statuses: Toudoù

View File

@ -10,6 +10,8 @@ ia:
buttons: buttons:
cancel: Cancellar cancel: Cancellar
edit: Modificar edit: Modificar
confirmations:
destroy: Es tu secur?
edit: edit:
title: Modificar application title: Modificar application
index: index:
@ -45,11 +47,22 @@ ia:
title: title:
accounts: Contos accounts: Contos
admin/accounts: Gestion de contos admin/accounts: Gestion de contos
bookmarks: Marcapaginas
conversations: Conversationes
favourites: Favoritos favourites: Favoritos
lists: Listas lists: Listas
notifications: Notificationes notifications: Notificationes
push: Notificationes push push: Notificationes push
search: Cercar
statuses: Messages
layouts: layouts:
admin: admin:
nav: nav:
applications: Applicationes applications: Applicationes
oauth2_provider: Fornitor OAuth2
scopes:
write:accounts: modificar tu profilo
write:favourites: messages favorite
write:lists: crear listas
write:notifications: rader tu notificationes
write:statuses: publicar messages

View File

@ -28,7 +28,10 @@ ie:
destroy: Es tu cert? destroy: Es tu cert?
edit: edit:
title: Modificar aplication title: Modificar aplication
form:
error: Ups! Ples inspecter tui formul por possibil erras
help: help:
native_redirect_uri: Usar %{native_redirect_uri} por local provas
redirect_uri: Usar un linea per URI redirect_uri: Usar un linea per URI
scopes: Separar scopes con intersticies. Lassar blanc por usar li scopes predefinit. scopes: Separar scopes con intersticies. Lassar blanc por usar li scopes predefinit.
index: index:
@ -57,8 +60,11 @@ ie:
error: error:
title: Alquo ha errat title: Alquo ha errat
new: new:
prompt_html: "%{client_name}, un aplication de triesim partise, vole permission por accesser tui conto. <strong>Si tu ne fide it, ne autorisa it.</strong>"
review_permissions: Inspecter permissiones review_permissions: Inspecter permissiones
title: Autorisation besonat title: Autorisation besonat
show:
title: Copiar ti-ci code de autorisation e glutinar it al demanda.
authorized_applications: authorized_applications:
buttons: buttons:
revoke: Revocar revoke: Revocar
@ -66,6 +72,7 @@ ie:
revoke: Es tu cert? revoke: Es tu cert?
index: index:
authorized_at: Autorisat ye %{date} authorized_at: Autorisat ye %{date}
description_html: Hay aplicationes queles posse accesser tui conto tra li API. Si trova si aplicationes queles tu ne reconosse, o un aplication quel ha conduit se mal, tu posse revocar su accesse.
last_used_at: Ultimmen usat ye %{date} last_used_at: Ultimmen usat ye %{date}
never_used: Nequande usat never_used: Nequande usat
scopes: Permissiones scopes: Permissiones
@ -73,14 +80,25 @@ ie:
title: Tui autorisat aplicationes title: Tui autorisat aplicationes
errors: errors:
messages: messages:
access_denied: Demanda negat per li proprietario del ressurse o servitor de autorisation.
credential_flow_not_configured: Falliment de flution Resource Owner Pasword Credentials pro ínconfigurat Doorkeeper.configure.resource_owner_from_credentials.
invalid_client: Fallit autentification pro ínconosset client, manca de client-autentification, o ne subtenet metode de autentification. invalid_client: Fallit autentification pro ínconosset client, manca de client-autentification, o ne subtenet metode de autentification.
invalid_grant: Li providet autorisation ó es ínvalid, expirat, revocat, ne acorda con li URI de redirection usat in li demanda de autorisation, ó ha esset emisset a un altri client.
invalid_redirect_uri: Li uri de redirection includet ne es valid. invalid_redirect_uri: Li uri de redirection includet ne es valid.
invalid_request: invalid_request:
missing_param: 'Mancant postulat parametre: %{value}.'
request_not_authorized: Demanda besonant autorisation. Hay un mancant o ínvalid parametre besonat por autorisar li demanda.
unknown: Li petition manca un postulat parametre, include un ne apoyat parametre-valore, o es altrimen mal format. unknown: Li petition manca un postulat parametre, include un ne apoyat parametre-valore, o es altrimen mal format.
invalid_resource_owner: Sive li credentiales de ressurse-proprietario providet es ínvalid, sive li ressurse-proprietario ne posse esser trovat
invalid_scope: Li scope demandat es ínvalid, ínconosset, o malformat.
invalid_token: invalid_token:
expired: Li access-clave expirat expired: Li access-clave expirat
revoked: Li access-clave esset revocat revoked: Li access-clave esset revocat
unknown: Li accesse-clave es ínvalid unknown: Li accesse-clave es ínvalid
resource_owner_authenticator_not_configured: Sercha por Proprietario de Ressurse fallit pro ínconfigurat Doorkeeper.configure.resource_owner_authenticator.
server_error: Li servitor de autorisation incontrat un ínexpectat condition quel impedit it a plenar li demanda.
temporarily_unavailable: Li servitor de autorisation actualmen ne posse tractar li demanda pro un temporari supercargada o mantention del servitor.
unauthorized_client: Li client ne es autorisat a efectuar li demanda con ti-ci metode.
unsupported_grant_type: Li tip de autorisation concedet ne es subtenet per li autorisant servitor. unsupported_grant_type: Li tip de autorisation concedet ne es subtenet per li autorisant servitor.
unsupported_response_type: Li autorisant servitor ne subtene ti-ci tip de response. unsupported_response_type: Li autorisant servitor ne subtene ti-ci tip de response.
flash: flash:
@ -108,6 +126,7 @@ ie:
blocks: Bloccas blocks: Bloccas
bookmarks: Marcatores bookmarks: Marcatores
conversations: Conversationes conversations: Conversationes
crypto: Incription del cap al fine
favourites: Favorites favourites: Favorites
filters: Filtres filters: Filtres
follow: Seques, silentias e bloccas follow: Seques, silentias e bloccas
@ -144,6 +163,7 @@ ie:
admin:write:email_domain_blocks: far actiones de moderation sur bloccas de dominia basat sur e-posta admin:write:email_domain_blocks: far actiones de moderation sur bloccas de dominia basat sur e-posta
admin:write:ip_blocks: fa moderatori actiones sur bloccas de IP admin:write:ip_blocks: fa moderatori actiones sur bloccas de IP
admin:write:reports: far moderatori actiones sur raportes admin:write:reports: far moderatori actiones sur raportes
crypto: usar incription del cap al fine
follow: modifica li relationes del conto follow: modifica li relationes del conto
push: reciver tui pussa-notificationes push: reciver tui pussa-notificationes
read: lee omni datas de tui conto read: lee omni datas de tui conto
@ -162,6 +182,7 @@ ie:
write: modificar li tot data de tui conto write: modificar li tot data de tui conto
write:accounts: modifica tui profile write:accounts: modifica tui profile
write:blocks: bloccar contos e dominias write:blocks: bloccar contos e dominias
write:bookmarks: marcar postas
write:conversations: silentiar e deleter conversationes write:conversations: silentiar e deleter conversationes
write:favourites: favorit postas write:favourites: favorit postas
write:filters: crea filtres write:filters: crea filtres

View File

@ -425,6 +425,7 @@ et:
view: Vaata domeeniblokeeringut view: Vaata domeeniblokeeringut
email_domain_blocks: email_domain_blocks:
add_new: Lisa uus add_new: Lisa uus
allow_registrations_with_approval: Luba kinnitamisega registreerimine
attempts_over_week: attempts_over_week:
one: "%{count} katse viimase nädala kestel" one: "%{count} katse viimase nädala kestel"
other: "%{count} liitumiskatset viimase nädala kestel" other: "%{count} liitumiskatset viimase nädala kestel"

View File

@ -425,6 +425,7 @@ fi:
view: Näytä verkkotunnuksen esto view: Näytä verkkotunnuksen esto
email_domain_blocks: email_domain_blocks:
add_new: Lisää uusi add_new: Lisää uusi
allow_registrations_with_approval: Salli rekisteröitymiset hyväksynnällä
attempts_over_week: attempts_over_week:
one: "%{count} yritystä viimeisen viikon aikana" one: "%{count} yritystä viimeisen viikon aikana"
other: "%{count} rekisteröitymisyritystä viimeisen viikon aikana" other: "%{count} rekisteröitymisyritystä viimeisen viikon aikana"

View File

@ -425,6 +425,7 @@ fr-QC:
view: Afficher les blocages de domaines view: Afficher les blocages de domaines
email_domain_blocks: email_domain_blocks:
add_new: Ajouter add_new: Ajouter
allow_registrations_with_approval: Autoriser les inscriptions avec approbation
attempts_over_week: attempts_over_week:
one: "%{count} tentative au cours de la dernière semaine" one: "%{count} tentative au cours de la dernière semaine"
other: "%{count} tentatives au cours de la dernière semaine" other: "%{count} tentatives au cours de la dernière semaine"

View File

@ -425,6 +425,7 @@ fr:
view: Afficher les blocages de domaines view: Afficher les blocages de domaines
email_domain_blocks: email_domain_blocks:
add_new: Ajouter add_new: Ajouter
allow_registrations_with_approval: Autoriser les inscriptions avec approbation
attempts_over_week: attempts_over_week:
one: "%{count} tentative au cours de la dernière semaine" one: "%{count} tentative au cours de la dernière semaine"
other: "%{count} tentatives au cours de la dernière semaine" other: "%{count} tentatives au cours de la dernière semaine"

View File

@ -1,28 +1,61 @@
--- ---
ia: ia:
about:
contact_missing: Non definite
admin: admin:
accounts: accounts:
are_you_sure: Es tu secur?
by_domain: Dominio
custom: Personalisate
delete: Deler datos delete: Deler datos
deleted: Delite deleted: Delite
disable_two_factor_authentication: Disactivar 2FA
display_name: Nomine visibile display_name: Nomine visibile
domain: Dominio
enabled: Activate enabled: Activate
location: location:
all: Toto all: Toto
title: Location title: Location
moderation: moderation:
disabled: Disactivate disabled: Disactivate
most_recent_activity: Activitate plus recente
most_recent_ip: IP plus recente
public: Public
reset: Reinitialisar reset: Reinitialisar
reset_password: Reinitialisar contrasigno reset_password: Reinitialisar contrasigno
search: Cercar search: Cercar
security: Securitate security: Securitate
security_measures:
only_password: Solmente contrasigno
password_and_2fa: Contrasigno e 2FA
statuses: Messages
title: Contos
username: Nomine de usator username: Nomine de usator
action_logs:
action_types:
reset_password_user: Reinitialisar contrasigno
announcements:
new:
create: Crear annuncio
title: Nove annuncio
title: Annuncios
custom_emojis: custom_emojis:
by_domain: Dominio
copy: Copiar copy: Copiar
create_new_category: Crear nove categoria create_new_category: Crear nove categoria
delete: Deler delete: Deler
disable: Disactivar
disabled: Disactivate
dashboard:
active_users: usatores active
new_users: nove usatores
website: Sito web
domain_allows:
add_new: Permitter federation con dominio
domain_blocks: domain_blocks:
confirm_suspension: confirm_suspension:
cancel: Cancellar cancel: Cancellar
domain: Dominio
export: Exportar export: Exportar
import: Importar import: Importar
email_domain_blocks: email_domain_blocks:
@ -38,9 +71,11 @@ ia:
instance_languages_dimension: Linguas principal instance_languages_dimension: Linguas principal
delivery: delivery:
unavailable: Non disponibile unavailable: Non disponibile
empty: Necun dominios trovate.
private_comment: Commento private private_comment: Commento private
public_comment: Commento public public_comment: Commento public
invites: invites:
deactivate_all: Disactivar toto
filter: filter:
available: Disponibile available: Disponibile
ip_blocks: ip_blocks:
@ -50,6 +85,18 @@ ia:
'15778476': 6 menses '15778476': 6 menses
'2629746': 1 mense '2629746': 1 mense
'86400': 1 die '86400': 1 die
new:
title: Crear un nove regula IP
title: Regulas IP
relays:
delete: Deler
disable: Disactivar
disabled: Disactivate
enable: Activar
enabled: Activate
reports:
are_you_sure: Es tu secur?
cancel: Cancellar
statuses_cleanup: statuses_cleanup:
min_age: min_age:
'1209600': 2 septimanas '1209600': 2 septimanas

View File

@ -288,6 +288,7 @@ ie:
update_status_html: "%{name} actualisat posta de %{target}" update_status_html: "%{name} actualisat posta de %{target}"
update_user_role_html: "%{name} changeat li rol %{target}" update_user_role_html: "%{name} changeat li rol %{target}"
deleted_account: deletet conto deleted_account: deletet conto
empty: Null registres trovat.
filter_by_action: Filtrar per action filter_by_action: Filtrar per action
filter_by_user: Filtrar per usator filter_by_user: Filtrar per usator
title: Jurnale de audit title: Jurnale de audit
@ -468,6 +469,9 @@ ie:
unsuppress: Restaurar seque-recomandation unsuppress: Restaurar seque-recomandation
instances: instances:
availability: availability:
description_html:
one: Si liveration al dominia falli por <strong>%{count} die</strong> sin successe, null provas in plu va esser efectuat til quande un liveration <em>del</em> dominia es recivet.
other: Si liveration al dominia falli por <strong>%{count} dies</strong> sin successe, null provas in plu va esser efectuat til quande un liveration <em>del</em> dominia es recivet.
failure_threshold_reached: Límite de falliment atinget ye %{date}. failure_threshold_reached: Límite de falliment atinget ye %{date}.
failures_recorded: failures_recorded:
one: Fallit prova por %{count} die. one: Fallit prova por %{count} die.
@ -523,6 +527,7 @@ ie:
private_comment: Privat comenta private_comment: Privat comenta
public_comment: Public comenta public_comment: Public comenta
purge: Purgar purge: Purgar
purge_description_html: Si tu crede que ti-ci dominia es for linea por sempre, tu posse deleter omni archives de conto e associat data de ti-ci dominia de tui magasinage. Alquant témpor va esser possibilmen besonat.
title: Federation title: Federation
total_blocked_by_us: Bloccat de nos total_blocked_by_us: Bloccat de nos
total_followed_by_them: Sequet de les total_followed_by_them: Sequet de les
@ -737,6 +742,7 @@ ie:
preamble: Customisar li interfacie web de Mastodon. preamble: Customisar li interfacie web de Mastodon.
title: Aspecte title: Aspecte
branding: branding:
preamble: Li reclamage de tui servitor diferentia it de altri servitores in li retage. Ti-ci information posse esser monstrat tra mult ambientes, tales quam li interfacie web de Mastodon, nativ aplicationes, previsiones de ligamentes sur altri web-situs, altri missage-aplicationes, etc. Pro to it es recomendat a mantener li information clar, curt, e concis.
title: Marca title: Marca
captcha_enabled: captcha_enabled:
desc_html: To ci usa extern scrites de hCaptcha, quel posse esser ínquietant pro rasones de securitá e privatie. In plu, <strong>it posse far li processu de registration mult plu desfacil (particularimen por tis con deshabilitás)</strong>. Pro ti rasones, ples considerar alternativ mesuras, tales quam registration per aprobation o invitation. desc_html: To ci usa extern scrites de hCaptcha, quel posse esser ínquietant pro rasones de securitá e privatie. In plu, <strong>it posse far li processu de registration mult plu desfacil (particularimen por tis con deshabilitás)</strong>. Pro ti rasones, ples considerar alternativ mesuras, tales quam registration per aprobation o invitation.
@ -746,6 +752,7 @@ ie:
title: Retention de contenete title: Retention de contenete
default_noindex: default_noindex:
desc_html: Afecta omni usatores qui ne ha changeat ti parametre personalmen desc_html: Afecta omni usatores qui ne ha changeat ti parametre personalmen
title: Predefinir que usatores ne apari in índexes de serchatores
discovery: discovery:
follow_recommendations: Seque-recomandationes follow_recommendations: Seque-recomandationes
preamble: Exposir interessant contenete es importantissim por incorporar nov usatores qui fórsan conosse nequi che Mastodon. Decider qualmen diferent utensiles de decovrition functiona che vor servitor. preamble: Exposir interessant contenete es importantissim por incorporar nov usatores qui fórsan conosse nequi che Mastodon. Decider qualmen diferent utensiles de decovrition functiona che vor servitor.
@ -832,12 +839,16 @@ ie:
message_html: Li cluster Elasticsearch es ínsalubri (statu rubi), functiones por serchar ne disponibil message_html: Li cluster Elasticsearch es ínsalubri (statu rubi), functiones por serchar ne disponibil
elasticsearch_health_yellow: elasticsearch_health_yellow:
message_html: Li cluster Elasticsearch es ínsalubri (statu yelb); investigar li rason vell esser un bon idé message_html: Li cluster Elasticsearch es ínsalubri (statu yelb); investigar li rason vell esser un bon idé
elasticsearch_index_mismatch:
message_html: Índex-mappamentes de Elasticsearch es oldijat. Ples executer <code>tootctl search deploy --only=%{value}</code>
elasticsearch_preset: elasticsearch_preset:
action: Vider li documentation action: Vider li documentation
message_html: Tui cluster Elasticsearch have plu quam un node, ma Mastodon ne es configurat por usar les. message_html: Tui cluster Elasticsearch have plu quam un node, ma Mastodon ne es configurat por usar les.
elasticsearch_preset_single_node: elasticsearch_preset_single_node:
action: Vider li documentation action: Vider li documentation
message_html: Tui cluster Elasticsearch have solmen un node, ples configurar <code>ES_PRESET</code> quam <code>single_node_cluster</code>. message_html: Tui cluster Elasticsearch have solmen un node, ples configurar <code>ES_PRESET</code> quam <code>single_node_cluster</code>.
elasticsearch_reset_chewy:
message_html: Tui sistema-índex por Elasticsearch ha oldijat pro un change de parametres. Ples executer <code>tootctl search deploy --reset-chewy</code> por actualisar it.
elasticsearch_running_check: elasticsearch_running_check:
message_html: Ne posset conexer a Elasticsearch. Ples confirmar que it ha esset executet, o desactivar serchada de plen textu message_html: Ne posset conexer a Elasticsearch. Ples confirmar que it ha esset executet, o desactivar serchada de plen textu
elasticsearch_version_check: elasticsearch_version_check:
@ -846,6 +857,8 @@ ie:
rules_check: rules_check:
action: Gerer regules de servitor action: Gerer regules de servitor
message_html: Tu ancor ne ha definit quelcunc regules de servitor. message_html: Tu ancor ne ha definit quelcunc regules de servitor.
sidekiq_process_check:
message_html: Null processe Sidekiq executet por li caude %{value}(s). Ples reviser tui configuration Sidekiq
software_version_critical_check: software_version_critical_check:
action: Vider actualisationes disponibil action: Vider actualisationes disponibil
message_html: Un critical actualisation por Mastodon es disposibil, ples actualisar tam rapidmen possibil. message_html: Un critical actualisation por Mastodon es disposibil, ples actualisar tam rapidmen possibil.
@ -935,6 +948,7 @@ ie:
webhooks: webhooks:
add_new: Adjunter punctu terminal add_new: Adjunter punctu terminal
delete: Deleter delete: Deleter
description_html: Un <strong>webhook</strong> possibilisa que Mastodon pussa <strong>actual notificationes</strong> pri selectet evenimentes a tui propri aplication, por que it mey <strong>automaticmen activar reactiones</strong>.
disable: Desactivisar disable: Desactivisar
disabled: Desactivisat disabled: Desactivisat
edit: Redacter punctu terminal edit: Redacter punctu terminal
@ -1409,6 +1423,7 @@ ie:
missing_also_known_as: ne es un alias de ti-ci conto missing_also_known_as: ne es un alias de ti-ci conto
move_to_self: ne posse esser li conto actual move_to_self: ne posse esser li conto actual
not_found: ne posset esser trovat not_found: ne posset esser trovat
on_cooldown: Tu es in un periode de refrigidation
followers_count: Sequitores al témpor de translocation followers_count: Sequitores al témpor de translocation
incoming_migrations: Translocant de un conto diferent incoming_migrations: Translocant de un conto diferent
incoming_migrations_html: Por mover de un altri conto a ti-ci, erstmen tu deve <a href="%{path}">crear un alias de conto</a>. incoming_migrations_html: Por mover de un altri conto a ti-ci, erstmen tu deve <a href="%{path}">crear un alias de conto</a>.
@ -1483,7 +1498,9 @@ ie:
units: units:
billion: B billion: B
million: M million: M
quadrillion: Q
thousand: m thousand: m
trillion: T
otp_authentication: otp_authentication:
code_hint: Inmetter li code generat de tui aplication de autentication por confirmar code_hint: Inmetter li code generat de tui aplication de autentication por confirmar
description_html: Si tu activisa <strong>2-factor autentication</strong> per un aplication de autentication, aperter un session va postular que tu have possession de tui telefon, quel va generar codes por que tu mey inmetter les. description_html: Si tu activisa <strong>2-factor autentication</strong> per un aplication de autentication, aperter un session va postular que tu have possession de tui telefon, quel va generar codes por que tu mey inmetter les.
@ -1843,6 +1860,7 @@ ie:
error: Un problema evenit durant li deletion de tui clave de securitá. Ples provar denov. error: Un problema evenit durant li deletion de tui clave de securitá. Ples provar denov.
success: Tui clave de securitá esset successosimen deletet. success: Tui clave de securitá esset successosimen deletet.
invalid_credential: Ínvalid clave de securitá invalid_credential: Ínvalid clave de securitá
nickname_hint: Scrir li moc-nómine de tui nov clave de securitá
not_enabled: Tu ancor ne ha possibilisat WebAuthn not_enabled: Tu ancor ne ha possibilisat WebAuthn
not_supported: Ti-ci navigator ne subtene claves de securitá not_supported: Ti-ci navigator ne subtene claves de securitá
otp_required: Por usar claves de securitá, ples activisar 2-factor autentication. otp_required: Por usar claves de securitá, ples activisar 2-factor autentication.

View File

@ -425,6 +425,7 @@ is:
view: Skoða útilokun á léni view: Skoða útilokun á léni
email_domain_blocks: email_domain_blocks:
add_new: Bæta við nýju add_new: Bæta við nýju
allow_registrations_with_approval: Leyfa skráningar með samþykki
attempts_over_week: attempts_over_week:
one: "%{count} tilraun síðustu viku" one: "%{count} tilraun síðustu viku"
other: "%{count} tilraunir til nýskráningar í síðustu viku" other: "%{count} tilraunir til nýskráningar í síðustu viku"

View File

@ -418,6 +418,7 @@ ja:
view: ドメインブロックを表示 view: ドメインブロックを表示
email_domain_blocks: email_domain_blocks:
add_new: 新規追加 add_new: 新規追加
allow_registrations_with_approval: 承認制での新規登録を可能にする
attempts_over_week: attempts_over_week:
other: 先週は%{count}回サインアップが試みられました other: 先週は%{count}回サインアップが試みられました
created_msg: メールドメインブロックに追加しました created_msg: メールドメインブロックに追加しました

View File

@ -421,6 +421,7 @@ lad:
view: Ve domeno blokado view: Ve domeno blokado
email_domain_blocks: email_domain_blocks:
add_new: Adjustar muevo add_new: Adjustar muevo
allow_registrations_with_approval: Permite enrejistrasyones kon aprovasyon
attempts_over_week: attempts_over_week:
one: "\"%{count} prova durante la ultima semana" one: "\"%{count} prova durante la ultima semana"
other: "%{count} provas de enrejistrarse durante la ultima semana" other: "%{count} provas de enrejistrarse durante la ultima semana"

View File

@ -425,7 +425,7 @@ nl:
view: Domeinblokkade bekijken view: Domeinblokkade bekijken
email_domain_blocks: email_domain_blocks:
add_new: Nieuwe toevoegen add_new: Nieuwe toevoegen
allow_registrations_with_approval: Inschrijvingen met toestemming toestaan allow_registrations_with_approval: Inschrijvingen met goedkeuring toestaan
attempts_over_week: attempts_over_week:
one: "%{count} registratiepoging tijdens de afgelopen week" one: "%{count} registratiepoging tijdens de afgelopen week"
other: "%{count} registratiepogingen tijdens de afgelopen week" other: "%{count} registratiepogingen tijdens de afgelopen week"

View File

@ -425,7 +425,7 @@ nn:
view: Vis domeneblokkering view: Vis domeneblokkering
email_domain_blocks: email_domain_blocks:
add_new: Lag ny add_new: Lag ny
allow_registrations_with_approval: Tillat registreringer med godkjenning allow_registrations_with_approval: Tillat registreringar med godkjenning
attempts_over_week: attempts_over_week:
one: "%{count} forsøk i løpet av den siste uken" one: "%{count} forsøk i løpet av den siste uken"
other: "%{count} forsøk på å opprette konto i løpet av den siste uken" other: "%{count} forsøk på å opprette konto i løpet av den siste uken"

View File

@ -54,9 +54,11 @@ br:
username: Anv username: Anv
whole_word: Ger a-bezh whole_word: Ger a-bezh
featured_tag: featured_tag:
name: Ger-klik name: Hashtag
invite: invite:
comment: Evezhiadenn comment: Evezhiadenn
invite_request:
text: Perak e fell deoc'h enskrivañ?
ip_block: ip_block:
comment: Evezhiadenn comment: Evezhiadenn
ip: IP ip: IP
@ -66,8 +68,9 @@ br:
rule: rule:
text: Reolenn text: Reolenn
tag: tag:
name: Ger-klik name: Hashtag
trendable: Aotren an hashtag-mañ da zont war wel dindan tuadurioù trendable: Aotren an hashtag-mañ da zont war wel dindan tuadurioù
usable: Aotren an embannadurioù da implijout an hashtag-mañ
user: user:
role: Roll role: Roll
user_role: user_role:

View File

@ -62,6 +62,7 @@ ie:
setting_use_blurhash: Gradientes es basat sur li colores del celat visuales ma obscura omni detallies setting_use_blurhash: Gradientes es basat sur li colores del celat visuales ma obscura omni detallies
setting_use_pending_items: Celar nov postas detra un clicc vice rular li témpor-linea automaticmen setting_use_pending_items: Celar nov postas detra un clicc vice rular li témpor-linea automaticmen
username: Tu posse usar lítteres, númeres e sublineas username: Tu posse usar lítteres, númeres e sublineas
whole_word: Quande li clave-parol o frase es solmen alfanumeric, it va esser aplicat solmen si it egala al tot parol
domain_allow: domain_allow:
domain: Ti dominia va posser obtener data de ti-ci servitor, e data venient de it va esser tractat e inmagasinat domain: Ti dominia va posser obtener data de ti-ci servitor, e data venient de it va esser tractat e inmagasinat
email_domain_block: email_domain_block:
@ -82,20 +83,29 @@ ie:
content_cache_retention_period: Omni postas e boosts de altri servitores va esser deletet pos li specificat quantitá de dies. Quelc postas fórsan va esser ínrestaurabil. Omni pertinent marcatores, favorites e boosts anc va esser perdit e ínpossibil a restaurar. content_cache_retention_period: Omni postas e boosts de altri servitores va esser deletet pos li specificat quantitá de dies. Quelc postas fórsan va esser ínrestaurabil. Omni pertinent marcatores, favorites e boosts anc va esser perdit e ínpossibil a restaurar.
custom_css: On posse aplicar customisat stiles al web-version de Mastodon. custom_css: On posse aplicar customisat stiles al web-version de Mastodon.
mascot: Substitue li ilustration in li avansat interfacie web. mascot: Substitue li ilustration in li avansat interfacie web.
media_cache_retention_period: Descargat files de media va esser deletet pos li specificat quantitá de dies quande li valore es positiv, e re-descargat sur demanda.
peers_api_enabled: Un liste de nómines de dominia queles ti-ci servitor ha incontrat in li fediverse. Ci null data es includet pri ca tu confedera con un cert servitor o ne; it indica solmen que tui servitor conosse it. Usat per servicies colectent general statisticas pri federation. peers_api_enabled: Un liste de nómines de dominia queles ti-ci servitor ha incontrat in li fediverse. Ci null data es includet pri ca tu confedera con un cert servitor o ne; it indica solmen que tui servitor conosse it. Usat per servicies colectent general statisticas pri federation.
profile_directory: Li profilarium monstra omni usatores volent esser decovribil. profile_directory: Li profilarium monstra omni usatores volent esser decovribil.
require_invite_text: Quande registrationes besona manual aprobation, fa que li textu "Pro quo tu vole registrar te?" es obligatori vice facultativ
site_contact_email: Qualmen on posse contacter te por inquestes legal o de apoy. site_contact_email: Qualmen on posse contacter te por inquestes legal o de apoy.
site_contact_username: Qualmen li gente posse atinger te sur Mastodon. site_contact_username: Qualmen li gente posse atinger te sur Mastodon.
site_extended_description: Quelcunc information in plu quel posse esser util a visitores e a tui usatores. On posse structurar it con li sintaxe Markdown.
site_short_description: Un curt descrition por auxiliar identificar tui servitor. Qui gere it, por qual persones it es? site_short_description: Un curt descrition por auxiliar identificar tui servitor. Qui gere it, por qual persones it es?
site_terms: Usar tui propri politica de privatie, o lassar blanc por usar li predefinitiones. Posse esser structurat con li sintaxe Markdown.
site_title: Quant persones posse aluder a tui servitor ultra su nómine de dominia. site_title: Quant persones posse aluder a tui servitor ultra su nómine de dominia.
status_page_url: URL de un págine monstrant li statu de ti-ci servitor durant un ruptura de servicie status_page_url: URL de un págine monstrant li statu de ti-ci servitor durant un ruptura de servicie
theme: Li dessine quel ínregistrat visitantes e nov usatores vide. theme: Li dessine quel ínregistrat visitantes e nov usatores vide.
thumbnail: Un image de dimensiones circa 2:1 monstrat along tui servitor-information. thumbnail: Un image de dimensiones circa 2:1 monstrat along tui servitor-information.
timeline_preview: Ínregistrat visitantes va posser vider li max recent public postas disponibil che li servitor. timeline_preview: Ínregistrat visitantes va posser vider li max recent public postas disponibil che li servitor.
trendable_by_default: Pretersaltar un manual revision de contenete in tendentie. Mem pos to on posse remover índividual pezzes de tendentie.
trends: Tendenties monstra quel postas, hashtags e novas es ganiant atention sur tui servitor. trends: Tendenties monstra quel postas, hashtags e novas es ganiant atention sur tui servitor.
trends_as_landing_page: Monstrar populari contenete a ínregistrat visitantes vice un description del servitor. Besona que tendenties es activisat. trends_as_landing_page: Monstrar populari contenete a ínregistrat visitantes vice un description del servitor. Besona que tendenties es activisat.
form_challenge: form_challenge:
current_password: Tu nu intra un area secur current_password: Tu nu intra un area secur
imports:
data: File CSV exportat de un altri servitor Mastodon
invite_request:
text: To va auxiliar nos a reviser tui aplication
ip_block: ip_block:
comment: Facultativ. Ne obliviar pro quo tu adjuntet ti-ci regul. comment: Facultativ. Ne obliviar pro quo tu adjuntet ti-ci regul.
expires_in: IP-adresses es un ressurse finit, quelcvez partit e transferet de manu a manu. Pro to, un índefinit bloccada de IP ne es recomandat. expires_in: IP-adresses es un ressurse finit, quelcvez partit e transferet de manu a manu. Pro to, un índefinit bloccada de IP ne es recomandat.
@ -109,15 +119,21 @@ ie:
text: Descrir un regul o postulation por usatores sur ti-ci servitor. Prova scrir un descrition curt e simplic text: Descrir un regul o postulation por usatores sur ti-ci servitor. Prova scrir un descrition curt e simplic
sessions: sessions:
otp: 'Intrar li 2-factor code generat del app sur tui portabile o usar un de tui codes de recuperation:' otp: 'Intrar li 2-factor code generat del app sur tui portabile o usar un de tui codes de recuperation:'
webauthn: Si it es un clave USB, inserter it con certitá e, si necessi, tappa it.
settings: settings:
indexable: Tui págine de profil va posser aparir in sercha-resultates sur Google, Bing, e altres.
show_application: Totvez, tu va sempre posser vider quel app ha publicat tui posta. show_application: Totvez, tu va sempre posser vider quel app ha publicat tui posta.
tag:
name: Tu posse changear solmen li minu/majusculitá del lítteres, por exemple, por far it plu leibil
user: user:
chosen_languages: Quande selectet, solmen postas in ti lingues va esser monstrat in public témpor-lineas
role: Permissiones de usator decidet per su rol role: Permissiones de usator decidet per su rol
user_role: user_role:
color: Color a usar por li rol tra li UI, quam RGB (rubi-verdi-blu) in formate hex color: Color a usar por li rol tra li UI, quam RGB (rubi-verdi-blu) in formate hex
highlighted: Va far li rol publicmen visibil highlighted: Va far li rol publicmen visibil
name: Public nómine del rol, si li rol va esser monstrat quam signe name: Public nómine del rol, si li rol va esser monstrat quam signe
permissions_as_keys: Usatores con ti-ci rol va haver accesse a... permissions_as_keys: Usatores con ti-ci rol va haver accesse a...
position: Plu alt roles decide un resolution de conflict in cert situationes. Cert actiones posse esser efectuat solmen a roles con plu bass prioritá
webhook: webhook:
events: Selecter evenimentes a misser events: Selecter evenimentes a misser
template: Composir tui propri carga JSON usant interpolation de variabiles. Lassa blanc por JSON predefinit. template: Composir tui propri carga JSON usant interpolation de variabiles. Lassa blanc por JSON predefinit.
@ -129,6 +145,7 @@ ie:
name: Etiquette name: Etiquette
value: Contenete value: Contenete
indexable: Includer public postas in resultates de sercha indexable: Includer public postas in resultates de sercha
show_collections: Monstrar persones queles on seque e sequitores sur profil
unlocked: Automaticmen acceptar nov sequitores unlocked: Automaticmen acceptar nov sequitores
account_alias: account_alias:
acct: Usator-nómine del anteyan conto acct: Usator-nómine del anteyan conto
@ -138,6 +155,7 @@ ie:
text: Textu prefigurat text: Textu prefigurat
title: Titul title: Titul
admin_account_action: admin_account_action:
include_statuses: Includer raportat postas in li e-posta
send_email_notification: Notificar li usator per e-posta send_email_notification: Notificar li usator per e-posta
text: Admonition customisat text: Admonition customisat
type: Action type: Action
@ -172,6 +190,7 @@ ie:
fields: Campes aditional fields: Campes aditional
header: Cap-image header: Cap-image
honeypot: "%{label} (ne plenar)" honeypot: "%{label} (ne plenar)"
inbox_url: URL del inbuxe de relé
irreversible: Lassar cader vice celar irreversible: Lassar cader vice celar
locale: Lingue del interfacie locale: Lingue del interfacie
max_uses: Max grand númere de usas max_uses: Max grand númere de usas
@ -181,10 +200,15 @@ ie:
password: Passa-parol password: Passa-parol
phrase: Clave-parol o frase phrase: Clave-parol o frase
setting_advanced_layout: Possibilisar web-interfacie avansat setting_advanced_layout: Possibilisar web-interfacie avansat
setting_aggregate_reblogs: Gruppar boosts in témpor-lineas
setting_always_send_emails: Sempre misser notificationes de e-posta setting_always_send_emails: Sempre misser notificationes de e-posta
setting_auto_play_gif: Reproducter automaticmen animat GIFs
setting_boost_modal: Monstrar dialog de confirmation ante boostar
setting_default_language: Lingue in quel postar setting_default_language: Lingue in quel postar
setting_default_privacy: Privatie de postada setting_default_privacy: Privatie de postada
setting_default_sensitive: Sempre marcar medie quam sensitiv setting_default_sensitive: Sempre marcar medie quam sensitiv
setting_delete_modal: Monstrar dialog de confirmation ante deleter un posta
setting_disable_swiping: Desactivar motiones de glissar
setting_display_media: Exposition de medie setting_display_media: Exposition de medie
setting_display_media_default: Predefinitiones setting_display_media_default: Predefinitiones
setting_display_media_hide_all: Celar omno setting_display_media_hide_all: Celar omno
@ -196,6 +220,7 @@ ie:
setting_theme: Tema de situ setting_theme: Tema de situ
setting_trends: Monstrar li hodial tendenties setting_trends: Monstrar li hodial tendenties
setting_unfollow_modal: Monstrar dialog de confirmation ante dessequer alquem setting_unfollow_modal: Monstrar dialog de confirmation ante dessequer alquem
setting_use_blurhash: Monstrar colorosi gradientes por celat medie
setting_use_pending_items: Mode lent setting_use_pending_items: Mode lent
severity: Severitá severity: Severitá
sign_in_token_attempt: Code de securitá sign_in_token_attempt: Code de securitá
@ -219,6 +244,7 @@ ie:
closed_registrations_message: Customisat missage quande registration ne disponibil closed_registrations_message: Customisat missage quande registration ne disponibil
content_cache_retention_period: Periode de retention por cachat contenete content_cache_retention_period: Periode de retention por cachat contenete
custom_css: Custom CSS custom_css: Custom CSS
mascot: Customisat mascot (hereditat)
media_cache_retention_period: Periode de retention por cachat medie media_cache_retention_period: Periode de retention por cachat medie
peers_api_enabled: Publicar liste de conosset servitores per li API peers_api_enabled: Publicar liste de conosset servitores per li API
profile_directory: Possibilisar profilarium profile_directory: Possibilisar profilarium
@ -293,6 +319,7 @@ ie:
position: Prioritá position: Prioritá
webhook: webhook:
events: Evenimentes activisat events: Evenimentes activisat
template: Modelle de carga
url: URL de punctu terminal url: URL de punctu terminal
'no': 'No' 'no': 'No'
not_recommended: Ne recomandat not_recommended: Ne recomandat

View File

@ -548,6 +548,7 @@ sk:
delete_html: Vymaž pohoršujúce príspevky delete_html: Vymaž pohoršujúce príspevky
mark_as_sensitive_html: Označ médiá pohoršujúcich príspevkov za chúlostivé mark_as_sensitive_html: Označ médiá pohoršujúcich príspevkov za chúlostivé
close_report: 'Označ hlásenie #%{id} za vyriešené' close_report: 'Označ hlásenie #%{id} za vyriešené'
target_origin: Pôvod nahláseného účtu
title: Hlásenia title: Hlásenia
unassign: Odober unassign: Odober
unknown_action_msg: 'Neznáma akcia: %{action}' unknown_action_msg: 'Neznáma akcia: %{action}'
@ -636,6 +637,7 @@ sk:
application: Aplikácia application: Aplikácia
back_to_account: Späť na účet back_to_account: Späť na účet
batch: batch:
remove_from_report: Vymaž z hlásenia
report: Hlásenie report: Hlásenie
deleted: Vymazané deleted: Vymazané
favourites: Obľúbené favourites: Obľúbené

View File

@ -425,6 +425,7 @@ sv:
view: Visa domänblock view: Visa domänblock
email_domain_blocks: email_domain_blocks:
add_new: Lägg till ny add_new: Lägg till ny
allow_registrations_with_approval: Tillåt registreringar med godkännande
attempts_over_week: attempts_over_week:
one: "%{count} försök under den senaste veckan" one: "%{count} försök under den senaste veckan"
other: "%{count} registreringsförsök under den senaste veckan" other: "%{count} registreringsförsök under den senaste veckan"

View File

@ -1217,7 +1217,7 @@ vi:
filters: filters:
contexts: contexts:
account: Trang hồ sơ account: Trang hồ sơ
home: Trang chính và danh sách home: Trang ch và danh sách
notifications: Thông báo notifications: Thông báo
public: Tút công khai public: Tút công khai
thread: Thảo luận thread: Thảo luận
@ -1796,7 +1796,7 @@ vi:
edit_profile_action: Cài đặt trang hồ sơ edit_profile_action: Cài đặt trang hồ sơ
edit_profile_step: Bạn có thể chỉnh sửa trang hồ sơ của mình bằng cách tải lên ảnh đại diện, ảnh bìa, đổi biệt danh và hơn thế nữa. Bạn cũng có thể tự phê duyệt những người theo dõi mới. edit_profile_step: Bạn có thể chỉnh sửa trang hồ sơ của mình bằng cách tải lên ảnh đại diện, ảnh bìa, đổi biệt danh và hơn thế nữa. Bạn cũng có thể tự phê duyệt những người theo dõi mới.
explanation: Dưới đây là một số mẹo để giúp bạn bắt đầu explanation: Dưới đây là một số mẹo để giúp bạn bắt đầu
final_action: Viết tút mới final_action: Soạn tút mới
final_step: 'Viết tút mới! Ngay cả khi chưa có người theo dõi, người khác vẫn có thể xem tút công khai của bạn trên bảng tin máy chủ và qua hashtag. Hãy giới thiệu bản thân với hashtag #introductions.' final_step: 'Viết tút mới! Ngay cả khi chưa có người theo dõi, người khác vẫn có thể xem tút công khai của bạn trên bảng tin máy chủ và qua hashtag. Hãy giới thiệu bản thân với hashtag #introductions.'
full_handle: Tên đầy đủ của bạn full_handle: Tên đầy đủ của bạn
full_handle_hint: Đây cũng là địa chỉ được dùng để giao tiếp với tất cả mọi người. full_handle_hint: Đây cũng là địa chỉ được dùng để giao tiếp với tất cả mọi người.

View File

@ -418,6 +418,7 @@ zh-TW:
view: 顯示已封鎖網域 view: 顯示已封鎖網域
email_domain_blocks: email_domain_blocks:
add_new: 加入新項目 add_new: 加入新項目
allow_registrations_with_approval: 經允許後可註冊
attempts_over_week: attempts_over_week:
other: 上週共有 %{count} 次註冊嘗試 other: 上週共有 %{count} 次註冊嘗試
created_msg: 已成功將電子郵件網域加入黑名單 created_msg: 已成功將電子郵件網域加入黑名單

View File

@ -41,7 +41,8 @@ module Mastodon::CLI
class SoftwareUpdate < ApplicationRecord; end class SoftwareUpdate < ApplicationRecord; end
class DomainBlock < ApplicationRecord class DomainBlock < ApplicationRecord
scope :by_severity, -> { order(Arel.sql('(CASE severity WHEN 0 THEN 1 WHEN 1 THEN 2 WHEN 2 THEN 0 END), domain')) } enum severity: { silence: 0, suspend: 1, noop: 2 }
scope :by_severity, -> { in_order_of(:severity, %w(noop silence suspend)).order(:domain) }
end end
class PreviewCard < ApplicationRecord class PreviewCard < ApplicationRecord

View File

@ -33,14 +33,12 @@ describe RequestPool do
subject subject
threads = Array.new(3) do threads = Array.new(5) do
Thread.new do Thread.new do
2.times do subject.with('http://example.com') do |http_client|
subject.with('http://example.com') do |http_client| http_client.get('/').flush
http_client.get('/').flush # Nudge scheduler to yield and exercise the full pool
# Nudge scheduler to yield and exercise the full pool sleep(0.01)
sleep(0)
end
end end
end end
end end

View File

@ -25,22 +25,6 @@ describe Announcement do
end end
end end
describe '#without_muted' do
let!(:announcement) { Fabricate(:announcement) }
let(:account) { Fabricate(:account) }
let(:muted_announcement) { Fabricate(:announcement) }
before do
Fabricate(:announcement_mute, account: account, announcement: muted_announcement)
end
it 'returns the announcements not muted by the account' do
results = described_class.without_muted(account)
expect(results).to include(announcement)
expect(results).to_not include(muted_announcement)
end
end
context 'with timestamped announcements' do context 'with timestamped announcements' do
let!(:adam_announcement) { Fabricate(:announcement, starts_at: 100.days.ago, scheduled_at: 10.days.ago, published_at: 10.days.ago, ends_at: 5.days.from_now) } let!(:adam_announcement) { Fabricate(:announcement, starts_at: 100.days.ago, scheduled_at: 10.days.ago, published_at: 10.days.ago, ends_at: 5.days.from_now) }
let!(:brenda_announcement) { Fabricate(:announcement, starts_at: 10.days.ago, scheduled_at: 100.days.ago, published_at: 10.days.ago, ends_at: 5.days.from_now) } let!(:brenda_announcement) { Fabricate(:announcement, starts_at: 10.days.ago, scheduled_at: 100.days.ago, published_at: 10.days.ago, ends_at: 5.days.from_now) }
@ -129,32 +113,6 @@ describe Announcement do
end end
end end
describe '#time_range?' do
it 'returns false when starts_at and ends_at are missing' do
record = Fabricate.build(:announcement, starts_at: nil, ends_at: nil)
expect(record.time_range?).to be(false)
end
it 'returns false when starts_at is present and ends_at is missing' do
record = Fabricate.build(:announcement, starts_at: 5.days.from_now, ends_at: nil)
expect(record.time_range?).to be(false)
end
it 'returns false when starts_at is missing and ends_at is present' do
record = Fabricate.build(:announcement, starts_at: nil, ends_at: 5.days.from_now)
expect(record.time_range?).to be(false)
end
it 'returns true when starts_at and ends_at are present' do
record = Fabricate.build(:announcement, starts_at: 5.days.from_now, ends_at: 10.days.from_now)
expect(record.time_range?).to be(true)
end
end
describe '#reactions' do describe '#reactions' do
context 'with announcement_reactions present' do context 'with announcement_reactions present' do
let!(:account) { Fabricate(:account) } let!(:account) { Fabricate(:account) }

View File

@ -78,12 +78,23 @@ RSpec.describe CustomEmoji do
end end
end end
describe 'pre_validation' do describe 'Normalizations' do
let(:custom_emoji) { Fabricate(:custom_emoji, domain: 'wWw.MaStOdOn.CoM') } describe 'downcase domain value' do
context 'with a mixed case domain value' do
it 'normalizes the value to downcased' do
custom_emoji = Fabricate.build(:custom_emoji, domain: 'wWw.MaStOdOn.CoM')
it 'downcases' do expect(custom_emoji.domain).to eq('www.mastodon.com')
custom_emoji.valid? end
expect(custom_emoji.domain).to eq('www.mastodon.com') end
context 'with a nil domain value' do
it 'leaves the value as nil' do
custom_emoji = Fabricate.build(:custom_emoji, domain: nil)
expect(custom_emoji.domain).to be_nil
end
end
end end
end end
end end

View File

@ -58,6 +58,88 @@ RSpec.describe Notification do
end end
end end
describe 'Setting account from activity_type' do
context 'when activity_type is a Status' do
it 'sets the notification from_account correctly' do
status = Fabricate(:status)
notification = Fabricate.build(:notification, activity_type: 'Status', activity: status)
expect(notification.from_account).to eq(status.account)
end
end
context 'when activity_type is a Follow' do
it 'sets the notification from_account correctly' do
follow = Fabricate(:follow)
notification = Fabricate.build(:notification, activity_type: 'Follow', activity: follow)
expect(notification.from_account).to eq(follow.account)
end
end
context 'when activity_type is a Favourite' do
it 'sets the notification from_account correctly' do
favourite = Fabricate(:favourite)
notification = Fabricate.build(:notification, activity_type: 'Favourite', activity: favourite)
expect(notification.from_account).to eq(favourite.account)
end
end
context 'when activity_type is a FollowRequest' do
it 'sets the notification from_account correctly' do
follow_request = Fabricate(:follow_request)
notification = Fabricate.build(:notification, activity_type: 'FollowRequest', activity: follow_request)
expect(notification.from_account).to eq(follow_request.account)
end
end
context 'when activity_type is a Poll' do
it 'sets the notification from_account correctly' do
poll = Fabricate(:poll)
notification = Fabricate.build(:notification, activity_type: 'Poll', activity: poll)
expect(notification.from_account).to eq(poll.account)
end
end
context 'when activity_type is a Report' do
it 'sets the notification from_account correctly' do
report = Fabricate(:report)
notification = Fabricate.build(:notification, activity_type: 'Report', activity: report)
expect(notification.from_account).to eq(report.account)
end
end
context 'when activity_type is a Mention' do
it 'sets the notification from_account correctly' do
mention = Fabricate(:mention)
notification = Fabricate.build(:notification, activity_type: 'Mention', activity: mention)
expect(notification.from_account).to eq(mention.status.account)
end
end
context 'when activity_type is an Account' do
it 'sets the notification from_account correctly' do
account = Fabricate(:account)
notification = Fabricate.build(:notification, activity_type: 'Account', account: account)
expect(notification.account).to eq(account)
end
end
end
describe '.preload_cache_collection_target_statuses' do describe '.preload_cache_collection_target_statuses' do
subject do subject do
described_class.preload_cache_collection_target_statuses(notifications) do |target_statuses| described_class.preload_cache_collection_target_statuses(notifications) do |target_statuses|

View File

@ -20,6 +20,8 @@ RSpec.describe FanOutOnWriteService, type: :service do
ProcessMentionsService.new.call(status) ProcessMentionsService.new.call(status)
ProcessHashtagsService.new.call(status) ProcessHashtagsService.new.call(status)
Fabricate(:media_attachment, status: status, account: alice)
allow(redis).to receive(:publish) allow(redis).to receive(:publish)
subject.call(status) subject.call(status)
@ -49,6 +51,7 @@ RSpec.describe FanOutOnWriteService, type: :service do
it 'is broadcast to the public stream' do it 'is broadcast to the public stream' do
expect(redis).to have_received(:publish).with('timeline:public', anything) expect(redis).to have_received(:publish).with('timeline:public', anything)
expect(redis).to have_received(:publish).with('timeline:public:local', anything) expect(redis).to have_received(:publish).with('timeline:public:local', anything)
expect(redis).to have_received(:publish).with('timeline:public:media', anything)
end end
end end

View File

@ -20,7 +20,8 @@ RSpec.describe RemoveStatusService, type: :service do
end end
context 'when removed status is not a reblog' do context 'when removed status is not a reblog' do
let!(:status) { PostStatusService.new.call(alice, text: "Hello @#{bob.pretty_acct} ThisIsASecret") } let!(:media_attachment) { Fabricate(:media_attachment, account: alice) }
let!(:status) { PostStatusService.new.call(alice, text: "Hello @#{bob.pretty_acct} ThisIsASecret", media_ids: [media_attachment.id]) }
before do before do
FavouriteService.new.call(jeff, status) FavouriteService.new.call(jeff, status)
@ -37,6 +38,14 @@ RSpec.describe RemoveStatusService, type: :service do
expect(HomeFeed.new(jeff).get(10).pluck(:id)).to_not include(status.id) expect(HomeFeed.new(jeff).get(10).pluck(:id)).to_not include(status.id)
end end
it 'publishes to public media timeline' do
allow(redis).to receive(:publish).with(any_args)
subject.call(status)
expect(redis).to have_received(:publish).with('timeline:public:media', Oj.dump(event: :delete, payload: status.id.to_s))
end
it 'sends Delete activity to followers' do it 'sends Delete activity to followers' do
subject.call(status) subject.call(status)
expect(a_request(:post, hank.inbox_url).with( expect(a_request(:post, hank.inbox_url).with(

View File

@ -16,17 +16,24 @@ RSpec.describe SuspendAccountService, type: :service do
list.accounts << account list.accounts << account
account.suspend! account.suspend!
Fabricate(:media_attachment, file: attachment_fixture('boop.ogg'), account: account)
end end
it 'unmerges from feeds of local followers and preserves suspended flag' do it 'unmerges from feeds of local followers and changes file mode and preserves suspended flag' do
expect { subject } expect { subject }
.to_not change_suspended_flag .to change_file_mode
.and not_change_suspended_flag
expect(FeedManager.instance).to have_received(:unmerge_from_home).with(account, local_follower) expect(FeedManager.instance).to have_received(:unmerge_from_home).with(account, local_follower)
expect(FeedManager.instance).to have_received(:unmerge_from_list).with(account, list) expect(FeedManager.instance).to have_received(:unmerge_from_list).with(account, list)
end end
def change_suspended_flag def change_file_mode
change(account, :suspended?) change { File.stat(account.media_attachments.first.file.path).mode }
end
def not_change_suspended_flag
not_change(account, :suspended?)
end end
end end

View File

@ -42,6 +42,17 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@asamuzakjp/dom-selector@npm:^2.0.1":
version: 2.0.1
resolution: "@asamuzakjp/dom-selector@npm:2.0.1"
dependencies:
bidi-js: "npm:^1.0.3"
css-tree: "npm:^2.3.1"
is-potential-custom-element-name: "npm:^1.0.1"
checksum: 232895f16f2f9dfc637764df2529084d16e1c122057766a79b16e1d40808e09fffae28c0f0cc8376f8a1564a85dba9d4b2f140a9a0b65f4f95c960192b797037
languageName: node
linkType: hard
"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5": "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5":
version: 7.23.5 version: 7.23.5
resolution: "@babel/code-frame@npm:7.23.5" resolution: "@babel/code-frame@npm:7.23.5"
@ -735,22 +746,21 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/plugin-transform-classes@npm:^7.23.5": "@babel/plugin-transform-classes@npm:^7.23.8":
version: 7.23.5 version: 7.23.8
resolution: "@babel/plugin-transform-classes@npm:7.23.5" resolution: "@babel/plugin-transform-classes@npm:7.23.8"
dependencies: dependencies:
"@babel/helper-annotate-as-pure": "npm:^7.22.5" "@babel/helper-annotate-as-pure": "npm:^7.22.5"
"@babel/helper-compilation-targets": "npm:^7.22.15" "@babel/helper-compilation-targets": "npm:^7.23.6"
"@babel/helper-environment-visitor": "npm:^7.22.20" "@babel/helper-environment-visitor": "npm:^7.22.20"
"@babel/helper-function-name": "npm:^7.23.0" "@babel/helper-function-name": "npm:^7.23.0"
"@babel/helper-optimise-call-expression": "npm:^7.22.5"
"@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/helper-replace-supers": "npm:^7.22.20" "@babel/helper-replace-supers": "npm:^7.22.20"
"@babel/helper-split-export-declaration": "npm:^7.22.6" "@babel/helper-split-export-declaration": "npm:^7.22.6"
globals: "npm:^11.1.0" globals: "npm:^11.1.0"
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0-0 "@babel/core": ^7.0.0-0
checksum: 07988f52b4893151887d1ea6ff79e5fe834078c5731bd09babd5659edbbae21ea4e2de326a02443a63fd776b4c945da6177f07875b56fe66e0b7899e830a9e92 checksum: 227ac5166501e04d9e7fbd5eda6869b084ffa4af6830ac12544ac6ea14953ca00eb1762b0df9349c0f6c8d2a799385910f558066cd0fb85b9ca437b1131a6043
languageName: node languageName: node
linkType: hard linkType: hard
@ -1334,8 +1344,8 @@ __metadata:
linkType: hard linkType: hard
"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.22.4": "@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.22.4":
version: 7.23.7 version: 7.23.8
resolution: "@babel/preset-env@npm:7.23.7" resolution: "@babel/preset-env@npm:7.23.8"
dependencies: dependencies:
"@babel/compat-data": "npm:^7.23.5" "@babel/compat-data": "npm:^7.23.5"
"@babel/helper-compilation-targets": "npm:^7.23.6" "@babel/helper-compilation-targets": "npm:^7.23.6"
@ -1370,7 +1380,7 @@ __metadata:
"@babel/plugin-transform-block-scoping": "npm:^7.23.4" "@babel/plugin-transform-block-scoping": "npm:^7.23.4"
"@babel/plugin-transform-class-properties": "npm:^7.23.3" "@babel/plugin-transform-class-properties": "npm:^7.23.3"
"@babel/plugin-transform-class-static-block": "npm:^7.23.4" "@babel/plugin-transform-class-static-block": "npm:^7.23.4"
"@babel/plugin-transform-classes": "npm:^7.23.5" "@babel/plugin-transform-classes": "npm:^7.23.8"
"@babel/plugin-transform-computed-properties": "npm:^7.23.3" "@babel/plugin-transform-computed-properties": "npm:^7.23.3"
"@babel/plugin-transform-destructuring": "npm:^7.23.3" "@babel/plugin-transform-destructuring": "npm:^7.23.3"
"@babel/plugin-transform-dotall-regex": "npm:^7.23.3" "@babel/plugin-transform-dotall-regex": "npm:^7.23.3"
@ -1419,7 +1429,7 @@ __metadata:
semver: "npm:^6.3.1" semver: "npm:^6.3.1"
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0-0 "@babel/core": ^7.0.0-0
checksum: ac9def873cec52ee02a550bde6e22eced16d1ae331bb8ebc82c03e4c91c12ac17e3e4027647e61612937bcc25ac46e71370aaf99dc2e85dbd11f7777ffeed54e checksum: e602ad954645f1a509644e3d2c72b3c63bdc2273c377e7a83b78f076eca215887ea3624ffc36aaad03deb9ac8acd89e247fd4562b96e0f2b679485e20d8ff25f
languageName: node languageName: node
linkType: hard linkType: hard
@ -1484,11 +1494,11 @@ __metadata:
linkType: hard linkType: hard
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.22.3, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": "@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.22.3, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
version: 7.23.7 version: 7.23.8
resolution: "@babel/runtime@npm:7.23.7" resolution: "@babel/runtime@npm:7.23.8"
dependencies: dependencies:
regenerator-runtime: "npm:^0.14.0" regenerator-runtime: "npm:^0.14.0"
checksum: 3e304133ee55b0750e03e53cb4efb47fb2bdcdb5795f85bbffa10595196c34b9be60eb65bd6d833c87f49fc827f0365f86f95f51d85b188004d3128bb5129c93 checksum: ba5e8fbb32ef04f6cab5e89c54a0497c2fde7b730595cc1af93496270314f13ff2c6a9360fdb2f0bdd4d6b376752ce3cf85642bd6b876969a6a62954934c2df8
languageName: node languageName: node
linkType: hard linkType: hard
@ -3030,11 +3040,11 @@ __metadata:
linkType: hard linkType: hard
"@types/cors@npm:^2.8.16": "@types/cors@npm:^2.8.16":
version: 2.8.16 version: 2.8.17
resolution: "@types/cors@npm:2.8.16" resolution: "@types/cors@npm:2.8.17"
dependencies: dependencies:
"@types/node": "npm:*" "@types/node": "npm:*"
checksum: ebcfb325b102739249bbaa4845cf1cf4830baf5490a32bcd1a85cd9b8c4d4b9eaaaea94423e454b5b7c9da77e46a64db80d2381d3bc3f940d15d13814e87b70a checksum: 457364c28c89f3d9ed34800e1de5c6eaaf344d1bb39af122f013322a50bc606eb2aa6f63de4e41a7a08ba7ef454473926c94a830636723da45bf786df032696d
languageName: node languageName: node
linkType: hard linkType: hard
@ -3493,13 +3503,13 @@ __metadata:
linkType: hard linkType: hard
"@types/react@npm:*, @types/react@npm:16 || 17 || 18, @types/react@npm:>=16.9.11, @types/react@npm:^18.2.7": "@types/react@npm:*, @types/react@npm:16 || 17 || 18, @types/react@npm:>=16.9.11, @types/react@npm:^18.2.7":
version: 18.2.46 version: 18.2.47
resolution: "@types/react@npm:18.2.46" resolution: "@types/react@npm:18.2.47"
dependencies: dependencies:
"@types/prop-types": "npm:*" "@types/prop-types": "npm:*"
"@types/scheduler": "npm:*" "@types/scheduler": "npm:*"
csstype: "npm:^3.0.2" csstype: "npm:^3.0.2"
checksum: 814cc67107e5e69501d65bfc371cc2c716665d2a3608d395a2f81e24c3a2875db28e2cad717dfb17017eabcffd1d68ee2c9e09ecaba3f7108d5b7fbb9888ebab checksum: e98ea1827fe60636d0f7ce206397159a29fc30613fae43e349e32c10ad3c0b7e0ed2ded2f3239e07bd5a3cba8736b6114ba196acccc39905ca4a06f56a8d2841
languageName: node languageName: node
linkType: hard linkType: hard
@ -4696,13 +4706,13 @@ __metadata:
linkType: hard linkType: hard
"axios@npm:^1.4.0": "axios@npm:^1.4.0":
version: 1.6.4 version: 1.6.5
resolution: "axios@npm:1.6.4" resolution: "axios@npm:1.6.5"
dependencies: dependencies:
follow-redirects: "npm:^1.15.4" follow-redirects: "npm:^1.15.4"
form-data: "npm:^4.0.0" form-data: "npm:^4.0.0"
proxy-from-env: "npm:^1.1.0" proxy-from-env: "npm:^1.1.0"
checksum: daac697fa1ea9865cb48e9edb7eacd99e8a9214997f2d8e886cb61c380a613e5c270078bfc153ac96206680106c223f005f0e4bf2f3b2ddd88e559ecf970521f checksum: aeb9acf87590d8aa67946072ced38e01ca71f5dfe043782c0ccea667e5dd5c45830c08afac9be3d7c894f09684b8ab2a458f497d197b73621233bcf202d9d468
languageName: node languageName: node
linkType: hard linkType: hard
@ -4960,6 +4970,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"bidi-js@npm:^1.0.3":
version: 1.0.3
resolution: "bidi-js@npm:1.0.3"
dependencies:
require-from-string: "npm:^2.0.2"
checksum: fdddea4aa4120a34285486f2267526cd9298b6e8b773ad25e765d4f104b6d7437ab4ba542e6939e3ac834a7570bcf121ee2cf6d3ae7cd7082c4b5bedc8f271e1
languageName: node
linkType: hard
"big-integer@npm:^1.6.44": "big-integer@npm:^1.6.44":
version: 1.6.51 version: 1.6.51
resolution: "big-integer@npm:1.6.51" resolution: "big-integer@npm:1.6.51"
@ -6386,12 +6405,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"cssstyle@npm:^3.0.0": "cssstyle@npm:^4.0.1":
version: 3.0.0 version: 4.0.1
resolution: "cssstyle@npm:3.0.0" resolution: "cssstyle@npm:4.0.1"
dependencies: dependencies:
rrweb-cssom: "npm:^0.6.0" rrweb-cssom: "npm:^0.6.0"
checksum: 23acee092c1cec670fb7b8110e48abd740dc4e574d3b74848743067cb3377a86a1f64cf02606aabd7bb153785e68c2c1e09ce53295ddf7a4b470b3c7c55ec807 checksum: cadf9a8b23e11f4c6d63f21291096a0b0be868bd4ab9c799daa2c5b18330e39e5281605f01da906e901b42f742df0f3b3645af6465e83377ff7d15a88ee432a0
languageName: node languageName: node
linkType: hard linkType: hard
@ -10661,10 +10680,11 @@ __metadata:
linkType: hard linkType: hard
"jsdom@npm:^23.0.0": "jsdom@npm:^23.0.0":
version: 23.0.1 version: 23.2.0
resolution: "jsdom@npm:23.0.1" resolution: "jsdom@npm:23.2.0"
dependencies: dependencies:
cssstyle: "npm:^3.0.0" "@asamuzakjp/dom-selector": "npm:^2.0.1"
cssstyle: "npm:^4.0.1"
data-urls: "npm:^5.0.0" data-urls: "npm:^5.0.0"
decimal.js: "npm:^10.4.3" decimal.js: "npm:^10.4.3"
form-data: "npm:^4.0.0" form-data: "npm:^4.0.0"
@ -10672,7 +10692,6 @@ __metadata:
http-proxy-agent: "npm:^7.0.0" http-proxy-agent: "npm:^7.0.0"
https-proxy-agent: "npm:^7.0.2" https-proxy-agent: "npm:^7.0.2"
is-potential-custom-element-name: "npm:^1.0.1" is-potential-custom-element-name: "npm:^1.0.1"
nwsapi: "npm:^2.2.7"
parse5: "npm:^7.1.2" parse5: "npm:^7.1.2"
rrweb-cssom: "npm:^0.6.0" rrweb-cssom: "npm:^0.6.0"
saxes: "npm:^6.0.0" saxes: "npm:^6.0.0"
@ -10683,14 +10702,14 @@ __metadata:
whatwg-encoding: "npm:^3.1.1" whatwg-encoding: "npm:^3.1.1"
whatwg-mimetype: "npm:^4.0.0" whatwg-mimetype: "npm:^4.0.0"
whatwg-url: "npm:^14.0.0" whatwg-url: "npm:^14.0.0"
ws: "npm:^8.14.2" ws: "npm:^8.16.0"
xml-name-validator: "npm:^5.0.0" xml-name-validator: "npm:^5.0.0"
peerDependencies: peerDependencies:
canvas: ^2.11.2 canvas: ^2.11.2
peerDependenciesMeta: peerDependenciesMeta:
canvas: canvas:
optional: true optional: true
checksum: 13b2b3693ccb40215d1cce77bac7a295414ee4c0a06e30167f8087c9867145ba23dbd592bd95a801cadd7b3698bfd20b9c3f2c26fd8422607f22609ed2e404ef checksum: b062af50f7be59d914ba75236b7817c848ef3cd007aea1d6b8020a41eb263b7d5bd2652298106e9756b56892f773d990598778d02adab7d0d0d8e58726fc41d3
languageName: node languageName: node
linkType: hard linkType: hard
@ -11988,7 +12007,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"nwsapi@npm:^2.2.2, nwsapi@npm:^2.2.7": "nwsapi@npm:^2.2.2":
version: 2.2.7 version: 2.2.7
resolution: "nwsapi@npm:2.2.7" resolution: "nwsapi@npm:2.2.7"
checksum: 44be198adae99208487a1c886c0a3712264f7bbafa44368ad96c003512fed2753d4e22890ca1e6edb2690c3456a169f2a3c33bfacde1905cf3bf01c7722464db checksum: 44be198adae99208487a1c886c0a3712264f7bbafa44368ad96c003512fed2753d4e22890ca1e6edb2690c3456a169f2a3c33bfacde1905cf3bf01c7722464db
@ -13125,17 +13144,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.13, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4": "postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.13, postcss-selector-parser@npm:^6.0.15, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4":
version: 6.0.13
resolution: "postcss-selector-parser@npm:6.0.13"
dependencies:
cssesc: "npm:^3.0.0"
util-deprecate: "npm:^1.0.2"
checksum: 51f099b27f7c7198ea1826470ef0adfa58b3bd3f59b390fda123baa0134880a5fa9720137b6009c4c1373357b144f700b0edac73335d0067422063129371444e
languageName: node
linkType: hard
"postcss-selector-parser@npm:^6.0.15":
version: 6.0.15 version: 6.0.15
resolution: "postcss-selector-parser@npm:6.0.15" resolution: "postcss-selector-parser@npm:6.0.15"
dependencies: dependencies:
@ -17601,7 +17610,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"ws@npm:^8.11.0, ws@npm:^8.12.1, ws@npm:^8.14.2": "ws@npm:^8.11.0, ws@npm:^8.12.1, ws@npm:^8.16.0":
version: 8.16.0 version: 8.16.0
resolution: "ws@npm:8.16.0" resolution: "ws@npm:8.16.0"
peerDependencies: peerDependencies: