Merge remote-tracking branch 'parent/main' into upstream-20250210
2
.nvmrc
|
@ -1 +1 @@
|
||||||
22.13
|
22.14
|
||||||
|
|
29
Gemfile.lock
|
@ -328,7 +328,7 @@ GEM
|
||||||
azure-blob (~> 0.5.2)
|
azure-blob (~> 0.5.2)
|
||||||
hashie (~> 5.0)
|
hashie (~> 5.0)
|
||||||
jmespath (1.6.2)
|
jmespath (1.6.2)
|
||||||
json (2.9.1)
|
json (2.10.1)
|
||||||
json-canonicalization (1.0.0)
|
json-canonicalization (1.0.0)
|
||||||
json-jwt (1.15.3.1)
|
json-jwt (1.15.3.1)
|
||||||
activesupport (>= 4.2)
|
activesupport (>= 4.2)
|
||||||
|
@ -371,9 +371,10 @@ GEM
|
||||||
mime-types
|
mime-types
|
||||||
terrapin (>= 0.6.0, < 2.0)
|
terrapin (>= 0.6.0, < 2.0)
|
||||||
language_server-protocol (3.17.0.4)
|
language_server-protocol (3.17.0.4)
|
||||||
launchy (3.0.1)
|
launchy (3.1.0)
|
||||||
addressable (~> 2.8)
|
addressable (~> 2.8)
|
||||||
childprocess (~> 5.0)
|
childprocess (~> 5.0)
|
||||||
|
logger (~> 1.6)
|
||||||
letter_opener (1.10.0)
|
letter_opener (1.10.0)
|
||||||
launchy (>= 2.2, < 4)
|
launchy (>= 2.2, < 4)
|
||||||
letter_opener_web (3.0.0)
|
letter_opener_web (3.0.0)
|
||||||
|
@ -416,7 +417,7 @@ GEM
|
||||||
mutex_m (0.3.0)
|
mutex_m (0.3.0)
|
||||||
net-http (0.6.0)
|
net-http (0.6.0)
|
||||||
uri
|
uri
|
||||||
net-imap (0.5.5)
|
net-imap (0.5.6)
|
||||||
date
|
date
|
||||||
net-protocol
|
net-protocol
|
||||||
net-ldap (0.19.0)
|
net-ldap (0.19.0)
|
||||||
|
@ -424,7 +425,7 @@ GEM
|
||||||
net-protocol
|
net-protocol
|
||||||
net-protocol (0.2.2)
|
net-protocol (0.2.2)
|
||||||
timeout
|
timeout
|
||||||
net-smtp (0.5.0)
|
net-smtp (0.5.1)
|
||||||
net-protocol
|
net-protocol
|
||||||
nio4r (2.7.4)
|
nio4r (2.7.4)
|
||||||
nokogiri (1.18.2)
|
nokogiri (1.18.2)
|
||||||
|
@ -562,10 +563,10 @@ GEM
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
orm_adapter (0.5.0)
|
orm_adapter (0.5.0)
|
||||||
ostruct (0.6.1)
|
ostruct (0.6.1)
|
||||||
ox (2.14.21)
|
ox (2.14.22)
|
||||||
bigdecimal (>= 3.0)
|
bigdecimal (>= 3.0)
|
||||||
parallel (1.26.3)
|
parallel (1.26.3)
|
||||||
parser (3.3.7.0)
|
parser (3.3.7.1)
|
||||||
ast (~> 2.4.1)
|
ast (~> 2.4.1)
|
||||||
racc
|
racc
|
||||||
parslet (2.0.0)
|
parslet (2.0.0)
|
||||||
|
@ -602,7 +603,7 @@ GEM
|
||||||
activesupport (>= 3.0.0)
|
activesupport (>= 3.0.0)
|
||||||
raabro (1.4.0)
|
raabro (1.4.0)
|
||||||
racc (1.8.1)
|
racc (1.8.1)
|
||||||
rack (2.2.10)
|
rack (2.2.11)
|
||||||
rack-attack (6.7.0)
|
rack-attack (6.7.0)
|
||||||
rack (>= 1.0, < 4)
|
rack (>= 1.0, < 4)
|
||||||
rack-cors (2.0.2)
|
rack-cors (2.0.2)
|
||||||
|
@ -669,7 +670,7 @@ GEM
|
||||||
link_header (~> 0.0, >= 0.0.8)
|
link_header (~> 0.0, >= 0.0.8)
|
||||||
rdf-normalize (0.7.0)
|
rdf-normalize (0.7.0)
|
||||||
rdf (~> 3.3)
|
rdf (~> 3.3)
|
||||||
rdoc (6.11.0)
|
rdoc (6.12.0)
|
||||||
psych (>= 4.0.0)
|
psych (>= 4.0.0)
|
||||||
redcarpet (3.6.0)
|
redcarpet (3.6.0)
|
||||||
redis (4.8.1)
|
redis (4.8.1)
|
||||||
|
@ -768,7 +769,7 @@ GEM
|
||||||
activerecord (>= 4.0.0)
|
activerecord (>= 4.0.0)
|
||||||
railties (>= 4.0.0)
|
railties (>= 4.0.0)
|
||||||
securerandom (0.4.1)
|
securerandom (0.4.1)
|
||||||
selenium-webdriver (4.27.0)
|
selenium-webdriver (4.28.0)
|
||||||
base64 (~> 0.2)
|
base64 (~> 0.2)
|
||||||
logger (~> 1.4)
|
logger (~> 1.4)
|
||||||
rexml (~> 3.2, >= 3.2.5)
|
rexml (~> 3.2, >= 3.2.5)
|
||||||
|
@ -806,7 +807,7 @@ GEM
|
||||||
simplecov-lcov (0.8.0)
|
simplecov-lcov (0.8.0)
|
||||||
simplecov_json_formatter (0.1.4)
|
simplecov_json_formatter (0.1.4)
|
||||||
stackprof (0.2.27)
|
stackprof (0.2.27)
|
||||||
stoplight (4.1.0)
|
stoplight (4.1.1)
|
||||||
redlock (~> 1.0)
|
redlock (~> 1.0)
|
||||||
stringio (3.1.2)
|
stringio (3.1.2)
|
||||||
strong_migrations (2.2.0)
|
strong_migrations (2.2.0)
|
||||||
|
@ -817,8 +818,8 @@ GEM
|
||||||
httpclient (>= 2.4)
|
httpclient (>= 2.4)
|
||||||
sysexits (1.2.0)
|
sysexits (1.2.0)
|
||||||
temple (0.10.3)
|
temple (0.10.3)
|
||||||
terminal-table (3.0.2)
|
terminal-table (4.0.0)
|
||||||
unicode-display_width (>= 1.1.1, < 3)
|
unicode-display_width (>= 1.1.1, < 4)
|
||||||
terrapin (1.0.1)
|
terrapin (1.0.1)
|
||||||
climate_control
|
climate_control
|
||||||
test-prof (1.4.4)
|
test-prof (1.4.4)
|
||||||
|
@ -849,7 +850,9 @@ GEM
|
||||||
unf (0.1.4)
|
unf (0.1.4)
|
||||||
unf_ext
|
unf_ext
|
||||||
unf_ext (0.0.9.1)
|
unf_ext (0.0.9.1)
|
||||||
unicode-display_width (2.6.0)
|
unicode-display_width (3.1.4)
|
||||||
|
unicode-emoji (~> 4.0, >= 4.0.4)
|
||||||
|
unicode-emoji (4.0.4)
|
||||||
uri (1.0.2)
|
uri (1.0.2)
|
||||||
useragent (0.16.11)
|
useragent (0.16.11)
|
||||||
validate_email (0.1.6)
|
validate_email (0.1.6)
|
||||||
|
|
|
@ -6,7 +6,7 @@ module Admin
|
||||||
|
|
||||||
def index
|
def index
|
||||||
authorize :software_update, :index?
|
authorize :software_update, :index?
|
||||||
@software_updates = SoftwareUpdate.by_version
|
@software_updates = SoftwareUpdate.by_version.filter(&:pending?)
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
@ -46,6 +46,6 @@ module WebAppControllerConcern
|
||||||
protected
|
protected
|
||||||
|
|
||||||
def set_referer_header
|
def set_referer_header
|
||||||
response.set_header('Referrer-Policy', Setting.allow_referrer_origin ? 'origin' : 'same-origin')
|
response.set_header('Referrer-Policy', Setting.allow_referrer_origin ? 'strict-origin-when-cross-origin' : 'same-origin')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Before Width: | Height: | Size: 620 KiB After Width: | Height: | Size: 554 KiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 858 KiB |
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 985 KiB |
Before Width: | Height: | Size: 710 KiB After Width: | Height: | Size: 636 KiB |
Before Width: | Height: | Size: 786 KiB After Width: | Height: | Size: 653 KiB |
|
@ -68,8 +68,13 @@
|
||||||
"alert.unexpected.message": "Prodúxose un error inesperáu.",
|
"alert.unexpected.message": "Prodúxose un error inesperáu.",
|
||||||
"alert.unexpected.title": "¡Meca!",
|
"alert.unexpected.title": "¡Meca!",
|
||||||
"alt_text_badge.title": "Testu alternativu",
|
"alt_text_badge.title": "Testu alternativu",
|
||||||
|
"alt_text_modal.add_alt_text": "Amestar testu alternativu",
|
||||||
|
"alt_text_modal.cancel": "Encaboxar",
|
||||||
|
"alt_text_modal.done": "Fecho",
|
||||||
"announcement.announcement": "Anunciu",
|
"announcement.announcement": "Anunciu",
|
||||||
"annual_report.summary.followers.followers": "siguidores",
|
"annual_report.summary.followers.followers": "siguidores",
|
||||||
|
"annual_report.summary.here_it_is": "Equí ta'l to resume de {year}:",
|
||||||
|
"annual_report.summary.highlighted_post.possessive": "de {name}",
|
||||||
"annual_report.summary.new_posts.new_posts": "artículos nuevos",
|
"annual_report.summary.new_posts.new_posts": "artículos nuevos",
|
||||||
"annual_report.summary.thanks": "Gracies por ser parte de Mastodon!",
|
"annual_report.summary.thanks": "Gracies por ser parte de Mastodon!",
|
||||||
"attachments_list.unprocessed": "(ensin procesar)",
|
"attachments_list.unprocessed": "(ensin procesar)",
|
||||||
|
@ -87,6 +92,7 @@
|
||||||
"bundle_column_error.routing.body": "Nun se pudo atopar la páxina solicitada. ¿De xuru que la URL de la barra de direiciones ta bien escrita?",
|
"bundle_column_error.routing.body": "Nun se pudo atopar la páxina solicitada. ¿De xuru que la URL de la barra de direiciones ta bien escrita?",
|
||||||
"bundle_column_error.routing.title": "404",
|
"bundle_column_error.routing.title": "404",
|
||||||
"bundle_modal_error.close": "Zarrar",
|
"bundle_modal_error.close": "Zarrar",
|
||||||
|
"bundle_modal_error.retry": "Retentar",
|
||||||
"closed_registrations.other_server_instructions": "Darréu que Mastodon ye una rede social descentralizada, pues crear una cuenta n'otru sirvidor y siguir interactuando con esti.",
|
"closed_registrations.other_server_instructions": "Darréu que Mastodon ye una rede social descentralizada, pues crear una cuenta n'otru sirvidor y siguir interactuando con esti.",
|
||||||
"closed_registrations_modal.description": "Anguaño nun ye posible crear cuentes en {domain}, mas ten en cuenta que nun precises una cuenta nesti sirvidor pa usar Mastodon.",
|
"closed_registrations_modal.description": "Anguaño nun ye posible crear cuentes en {domain}, mas ten en cuenta que nun precises una cuenta nesti sirvidor pa usar Mastodon.",
|
||||||
"closed_registrations_modal.find_another_server": "Atopar otru sirvidor",
|
"closed_registrations_modal.find_another_server": "Atopar otru sirvidor",
|
||||||
|
@ -114,6 +120,7 @@
|
||||||
"column_header.pin": "Fixar",
|
"column_header.pin": "Fixar",
|
||||||
"column_header.show_settings": "Amosar la configuración",
|
"column_header.show_settings": "Amosar la configuración",
|
||||||
"column_header.unpin": "Lliberar",
|
"column_header.unpin": "Lliberar",
|
||||||
|
"column_search.cancel": "Encaboxar",
|
||||||
"column_subheading.settings": "Configuración",
|
"column_subheading.settings": "Configuración",
|
||||||
"community.column_settings.media_only": "Namás el conteníu multimedia",
|
"community.column_settings.media_only": "Namás el conteníu multimedia",
|
||||||
"community.column_settings.remote_only": "Namás lo remoto",
|
"community.column_settings.remote_only": "Namás lo remoto",
|
||||||
|
@ -129,26 +136,42 @@
|
||||||
"compose_form.placeholder": "¿En qué pienses?",
|
"compose_form.placeholder": "¿En qué pienses?",
|
||||||
"compose_form.poll.option_placeholder": "Opción {number}",
|
"compose_form.poll.option_placeholder": "Opción {number}",
|
||||||
"compose_form.poll.type": "Tipu",
|
"compose_form.poll.type": "Tipu",
|
||||||
|
"compose_form.publish": "Espublizar",
|
||||||
"compose_form.publish_form": "Artículu nuevu",
|
"compose_form.publish_form": "Artículu nuevu",
|
||||||
|
"compose_form.reply": "Responder",
|
||||||
"confirmation_modal.cancel": "Encaboxar",
|
"confirmation_modal.cancel": "Encaboxar",
|
||||||
"confirmations.block.confirm": "Bloquiar",
|
"confirmations.block.confirm": "Bloquiar",
|
||||||
"confirmations.delete.confirm": "Desaniciar",
|
"confirmations.delete.confirm": "Desaniciar",
|
||||||
"confirmations.delete.message": "¿De xuru que quies desaniciar esti artículu?",
|
"confirmations.delete.message": "¿De xuru que quies desaniciar esti artículu?",
|
||||||
|
"confirmations.delete.title": "¿Desaniciar l'artículu?",
|
||||||
"confirmations.delete_list.confirm": "Desaniciar",
|
"confirmations.delete_list.confirm": "Desaniciar",
|
||||||
|
"confirmations.delete_list.message": "¿De xuru que quies desaniciar permanentemente esta llista?",
|
||||||
|
"confirmations.delete_list.title": "¿Desaniciar la llista?",
|
||||||
"confirmations.discard_edit_media.confirm": "Escartar",
|
"confirmations.discard_edit_media.confirm": "Escartar",
|
||||||
"confirmations.edit.confirm": "Editar",
|
"confirmations.edit.confirm": "Editar",
|
||||||
"confirmations.edit.message": "La edición va sobrescribir el mensaxe que tas escribiendo. ¿De xuru que quies siguir?",
|
"confirmations.edit.message": "La edición va sobrescribir el mensaxe que tas escribiendo. ¿De xuru que quies siguir?",
|
||||||
|
"confirmations.follow_to_list.title": "¿Siguir al usuariu?",
|
||||||
"confirmations.logout.confirm": "Zarrar la sesión",
|
"confirmations.logout.confirm": "Zarrar la sesión",
|
||||||
"confirmations.logout.message": "¿De xuru que quies zarrar la sesión?",
|
"confirmations.logout.message": "¿De xuru que quies zarrar la sesión?",
|
||||||
|
"confirmations.logout.title": "¿Zarrar la sesión?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Amestar testu alternativu",
|
||||||
|
"confirmations.missing_alt_text.title": "¿Quies amestar testu alternativu?",
|
||||||
"confirmations.redraft.confirm": "Desaniciar y reeditar",
|
"confirmations.redraft.confirm": "Desaniciar y reeditar",
|
||||||
|
"confirmations.redraft.message": "¿De xuru que quies desaniciar esti artículu y reeditalu? Van perdese los favoritos y comparticiones, y les rempuestes al artículu orixinal van quedar güérfanes.",
|
||||||
|
"confirmations.redraft.title": "¿Desaniciar ya reeditar l'artículu?",
|
||||||
"confirmations.reply.confirm": "Responder",
|
"confirmations.reply.confirm": "Responder",
|
||||||
|
"confirmations.reply.message": "Responder agora va sobrescribir el mensaxe que tas componiendo anguaño. ¿De xuru que quies siguir?",
|
||||||
"confirmations.unfollow.confirm": "Dexar de siguir",
|
"confirmations.unfollow.confirm": "Dexar de siguir",
|
||||||
"confirmations.unfollow.message": "¿De xuru que quies dexar de siguir a {name}?",
|
"confirmations.unfollow.message": "¿De xuru que quies dexar de siguir a {name}?",
|
||||||
|
"confirmations.unfollow.title": "¿Dexar de siguir al usuariu?",
|
||||||
|
"content_warning.hide": "Anubrir l'artículu",
|
||||||
|
"content_warning.show": "Amosar de toes toes",
|
||||||
"content_warning.show_more": "Amosar más",
|
"content_warning.show_more": "Amosar más",
|
||||||
"conversation.delete": "Desaniciar la conversación",
|
"conversation.delete": "Desaniciar la conversación",
|
||||||
"conversation.mark_as_read": "Marcar como lleíu",
|
"conversation.mark_as_read": "Marcar como lleíu",
|
||||||
"conversation.open": "Ver la conversación",
|
"conversation.open": "Ver la conversación",
|
||||||
"conversation.with": "Con {names}",
|
"conversation.with": "Con {names}",
|
||||||
|
"copy_icon_button.copied": "Copiáu nel cartafueyu",
|
||||||
"copypaste.copied": "Copióse",
|
"copypaste.copied": "Copióse",
|
||||||
"copypaste.copy_to_clipboard": "Copiar nel cartafueyu",
|
"copypaste.copy_to_clipboard": "Copiar nel cartafueyu",
|
||||||
"directory.federated": "Del fediversu conocíu",
|
"directory.federated": "Del fediversu conocíu",
|
||||||
|
@ -159,6 +182,7 @@
|
||||||
"dismissable_banner.community_timeline": "Esta seición contién los artículos públicos más actuales de los perfiles agospiaos nel dominiu {domain}.",
|
"dismissable_banner.community_timeline": "Esta seición contién los artículos públicos más actuales de los perfiles agospiaos nel dominiu {domain}.",
|
||||||
"dismissable_banner.dismiss": "Escartar",
|
"dismissable_banner.dismiss": "Escartar",
|
||||||
"domain_block_modal.block": "Bloquiar el sirvidor",
|
"domain_block_modal.block": "Bloquiar el sirvidor",
|
||||||
|
"domain_block_modal.they_cant_follow": "Naide d'esti sirvidor pue siguite.",
|
||||||
"domain_block_modal.title": "Bloquiar el dominiu?",
|
"domain_block_modal.title": "Bloquiar el dominiu?",
|
||||||
"domain_pill.server": "Sirvidor",
|
"domain_pill.server": "Sirvidor",
|
||||||
"domain_pill.username": "Nome d'usuariu",
|
"domain_pill.username": "Nome d'usuariu",
|
||||||
|
@ -176,6 +200,7 @@
|
||||||
"emoji_button.search_results": "Resultaos de la busca",
|
"emoji_button.search_results": "Resultaos de la busca",
|
||||||
"emoji_button.symbols": "Símbolos",
|
"emoji_button.symbols": "Símbolos",
|
||||||
"emoji_button.travel": "Viaxes y llugares",
|
"emoji_button.travel": "Viaxes y llugares",
|
||||||
|
"empty_column.account_suspended": "Cuenta suspendida",
|
||||||
"empty_column.account_timeline": "¡Equí nun hai nengún artículu!",
|
"empty_column.account_timeline": "¡Equí nun hai nengún artículu!",
|
||||||
"empty_column.blocks": "Nun bloquiesti a nengún perfil.",
|
"empty_column.blocks": "Nun bloquiesti a nengún perfil.",
|
||||||
"empty_column.bookmarked_statuses": "Nun tienes nengún artículu en Marcadores. Cuando amiestes dalgún, apaez equí.",
|
"empty_column.bookmarked_statuses": "Nun tienes nengún artículu en Marcadores. Cuando amiestes dalgún, apaez equí.",
|
||||||
|
@ -207,6 +232,7 @@
|
||||||
"filter_modal.added.settings_link": "páxina de configuración",
|
"filter_modal.added.settings_link": "páxina de configuración",
|
||||||
"filter_modal.added.short_explanation": "Esti artículu amestóse a la categoría de peñera siguiente: {title}.",
|
"filter_modal.added.short_explanation": "Esti artículu amestóse a la categoría de peñera siguiente: {title}.",
|
||||||
"filter_modal.added.title": "¡Amestóse la peñera!",
|
"filter_modal.added.title": "¡Amestóse la peñera!",
|
||||||
|
"filter_modal.select_filter.expired": "caducó",
|
||||||
"filter_modal.select_filter.prompt_new": "Categoría nueva: {name}",
|
"filter_modal.select_filter.prompt_new": "Categoría nueva: {name}",
|
||||||
"filter_modal.select_filter.search": "Buscar o crear",
|
"filter_modal.select_filter.search": "Buscar o crear",
|
||||||
"filter_modal.select_filter.subtitle": "Usa una categoría esistente o créala",
|
"filter_modal.select_filter.subtitle": "Usa una categoría esistente o créala",
|
||||||
|
@ -241,6 +267,7 @@
|
||||||
"hashtag.column_header.tag_mode.any": "o {additional}",
|
"hashtag.column_header.tag_mode.any": "o {additional}",
|
||||||
"hashtag.column_header.tag_mode.none": "ensin {additional}",
|
"hashtag.column_header.tag_mode.none": "ensin {additional}",
|
||||||
"hashtag.column_settings.select.no_options_message": "Nun s'atopó nenguna suxerencia",
|
"hashtag.column_settings.select.no_options_message": "Nun s'atopó nenguna suxerencia",
|
||||||
|
"hashtag.column_settings.select.placeholder": "Introduz etiquetes…",
|
||||||
"hashtag.column_settings.tag_mode.all": "Toes estes",
|
"hashtag.column_settings.tag_mode.all": "Toes estes",
|
||||||
"hashtag.column_settings.tag_mode.any": "Cualesquiera d'estes",
|
"hashtag.column_settings.tag_mode.any": "Cualesquiera d'estes",
|
||||||
"hashtag.column_settings.tag_mode.none": "Nenguna d'estes",
|
"hashtag.column_settings.tag_mode.none": "Nenguna d'estes",
|
||||||
|
@ -252,9 +279,14 @@
|
||||||
"home.column_settings.show_replies": "Amosar les rempuestes",
|
"home.column_settings.show_replies": "Amosar les rempuestes",
|
||||||
"home.pending_critical_update.body": "¡Anueva'l sirvidor de Mastodon namás que puedas!",
|
"home.pending_critical_update.body": "¡Anueva'l sirvidor de Mastodon namás que puedas!",
|
||||||
"home.show_announcements": "Amosar anuncios",
|
"home.show_announcements": "Amosar anuncios",
|
||||||
|
"info_button.label": "Ayuda",
|
||||||
|
"interaction_modal.go": "Dir",
|
||||||
|
"interaction_modal.no_account_yet": "¿Tovía nun tienes una cuenta?",
|
||||||
"interaction_modal.on_another_server": "N'otru sirvidor",
|
"interaction_modal.on_another_server": "N'otru sirvidor",
|
||||||
"interaction_modal.on_this_server": "Nesti sirvidor",
|
"interaction_modal.on_this_server": "Nesti sirvidor",
|
||||||
|
"interaction_modal.title.follow": "Siguir a {name}",
|
||||||
"interaction_modal.title.reply": "Rempuesta al artículu de: {name}",
|
"interaction_modal.title.reply": "Rempuesta al artículu de: {name}",
|
||||||
|
"interaction_modal.title.vote": "Vota na encuesta de {name}",
|
||||||
"intervals.full.days": "{number, plural, one {# día} other {# díes}}",
|
"intervals.full.days": "{number, plural, one {# día} other {# díes}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# hora} other {# hores}}",
|
"intervals.full.hours": "{number, plural, one {# hora} other {# hores}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# minutu} other {# minutos}}",
|
"intervals.full.minutes": "{number, plural, one {# minutu} other {# minutos}}",
|
||||||
|
@ -291,10 +323,15 @@
|
||||||
"lightbox.close": "Zarrar",
|
"lightbox.close": "Zarrar",
|
||||||
"lightbox.next": "Siguiente",
|
"lightbox.next": "Siguiente",
|
||||||
"limited_account_hint.action": "Amosar el perfil de toes toes",
|
"limited_account_hint.action": "Amosar el perfil de toes toes",
|
||||||
|
"link_preview.author": "Por {name}",
|
||||||
|
"link_preview.more_from_author": "Más de {name}",
|
||||||
|
"lists.add_member": "Amestar",
|
||||||
"lists.add_to_list": "Amestar a la llista",
|
"lists.add_to_list": "Amestar a la llista",
|
||||||
"lists.add_to_lists": "Amestar {name} a la llista",
|
"lists.add_to_lists": "Amestar {name} a la llista",
|
||||||
|
"lists.create": "Crear",
|
||||||
"lists.create_list": "Crear llista",
|
"lists.create_list": "Crear llista",
|
||||||
"lists.delete": "Desaniciar la llista",
|
"lists.delete": "Desaniciar la llista",
|
||||||
|
"lists.done": "Fecho",
|
||||||
"lists.edit": "Editar la llista",
|
"lists.edit": "Editar la llista",
|
||||||
"lists.list_name": "Nome de la llista",
|
"lists.list_name": "Nome de la llista",
|
||||||
"lists.no_lists_yet": "Ensin llistes tovía.",
|
"lists.no_lists_yet": "Ensin llistes tovía.",
|
||||||
|
@ -332,6 +369,11 @@
|
||||||
"notification.admin.sign_up": "{name} rexistróse",
|
"notification.admin.sign_up": "{name} rexistróse",
|
||||||
"notification.follow": "{name} siguióte",
|
"notification.follow": "{name} siguióte",
|
||||||
"notification.follow_request": "{name} solicitó siguite",
|
"notification.follow_request": "{name} solicitó siguite",
|
||||||
|
"notification.label.mention": "Mención",
|
||||||
|
"notification.label.private_mention": "Mención privada",
|
||||||
|
"notification.label.private_reply": "Rempuesta privada",
|
||||||
|
"notification.label.reply": "Responder",
|
||||||
|
"notification.mention": "Mención",
|
||||||
"notification.mentioned_you": "{name} mentóte",
|
"notification.mentioned_you": "{name} mentóte",
|
||||||
"notification.moderation-warning.learn_more": "Deprender más",
|
"notification.moderation-warning.learn_more": "Deprender más",
|
||||||
"notification.poll": "Finó una encuesta na que votesti",
|
"notification.poll": "Finó una encuesta na que votesti",
|
||||||
|
@ -364,6 +406,9 @@
|
||||||
"notifications.group": "{count} avisos",
|
"notifications.group": "{count} avisos",
|
||||||
"notifications.mark_as_read": "Marcar tolos avisos como lleíos",
|
"notifications.mark_as_read": "Marcar tolos avisos como lleíos",
|
||||||
"notifications.permission_required": "Los avisos d'escritoriu nun tán disponibles porque nun se concedió'l permisu riquíu.",
|
"notifications.permission_required": "Los avisos d'escritoriu nun tán disponibles porque nun se concedió'l permisu riquíu.",
|
||||||
|
"notifications.policy.accept": "Aceptar",
|
||||||
|
"notifications.policy.accept_hint": "Amosar n'avisos",
|
||||||
|
"onboarding.follows.done": "Fecho",
|
||||||
"onboarding.profile.note": "Biografía",
|
"onboarding.profile.note": "Biografía",
|
||||||
"onboarding.profile.note_hint": "Pues @mentar a otros perfiles o poner #etiquetes…",
|
"onboarding.profile.note_hint": "Pues @mentar a otros perfiles o poner #etiquetes…",
|
||||||
"password_confirmation.exceeds_maxlength": "La contraseña de confirmación supera la llongura de caráuteres máxima",
|
"password_confirmation.exceeds_maxlength": "La contraseña de confirmación supera la llongura de caráuteres máxima",
|
||||||
|
|
|
@ -253,6 +253,58 @@
|
||||||
"dismissable_banner.explore_links": "Bu xəbərlər bu gün fediversedə ən çox paylaşılır. Daha fərqli insanlar tərəfindən dərc edilən daha yeni xəbərlər daha yuxarıda sıralanır.",
|
"dismissable_banner.explore_links": "Bu xəbərlər bu gün fediversedə ən çox paylaşılır. Daha fərqli insanlar tərəfindən dərc edilən daha yeni xəbərlər daha yuxarıda sıralanır.",
|
||||||
"dismissable_banner.explore_statuses": "Fediversedən olan bu paylaşımlar bu gün maraq qazanır. Daha çox gücləndirici və bəyənmə olan daha yeni paylaşımlar daha yuxarıda sıralanır.",
|
"dismissable_banner.explore_statuses": "Fediversedən olan bu paylaşımlar bu gün maraq qazanır. Daha çox gücləndirici və bəyənmə olan daha yeni paylaşımlar daha yuxarıda sıralanır.",
|
||||||
"dismissable_banner.explore_tags": "Bu heşteqlər fediverse-də trend olublar. Daha çox fərqli insanlar tərəfindən istifadə olunan heşteqlər daha yuxarıda sıralanır.",
|
"dismissable_banner.explore_tags": "Bu heşteqlər fediverse-də trend olublar. Daha çox fərqli insanlar tərəfindən istifadə olunan heşteqlər daha yuxarıda sıralanır.",
|
||||||
|
"dismissable_banner.public_timeline": "Bunlar, {domain} saytında insanların izlədiyi fediversedəki insanların ən son ictimai paylaşımlarıdır.",
|
||||||
|
"domain_block_modal.block": "Serveri blokla",
|
||||||
"domain_block_modal.block_account_instead": "@{name} istifadəçisini blokla",
|
"domain_block_modal.block_account_instead": "@{name} istifadəçisini blokla",
|
||||||
"domain_block_modal.they_can_interact_with_old_posts": "Bu serverdən olan insanlar köhnə paylaşımlarınızla əlaqə qura bilər."
|
"domain_block_modal.they_can_interact_with_old_posts": "Bu serverdən olan insanlar köhnə paylaşımlarınızla əlaqə qura bilər.",
|
||||||
|
"domain_block_modal.they_cant_follow": "Bu serverdən heç kim sizi izləyə bilməz.",
|
||||||
|
"domain_block_modal.they_wont_know": "Onlar bloklandıqlarını bilməyəcəklər.",
|
||||||
|
"domain_block_modal.title": "Domen bloklansın?",
|
||||||
|
"domain_block_modal.you_will_lose_num_followers": "Siz {followersCount, plural, one {{followersCountDisplay} follower} other {{followersCountDisplay} izləyici}} və izlədiyiniz {followingCount, plural, one {{followingCountDisplay} istifadəçini} other {{followingCountDisplay} istifadəçini}} itirəcəksiniz.",
|
||||||
|
"domain_block_modal.you_will_lose_relationships": "Bu serverdən olan bütün izləyicilərinizi və izlədiklərinizi itirəcəksiniz.",
|
||||||
|
"domain_block_modal.you_wont_see_posts": "Bu serverdən olan paylaşımları və istifadəçilərdən olan bildirişləri görməyəcəksiniz.",
|
||||||
|
"domain_pill.activitypub_lets_connect": "Bu, təkcə Mastodonda deyil, həm də müxtəlif sosial tətbiqlərdə insanlarla əlaqə saxlamağa və onlarla ünsiyyət qurmağa imkan verir.",
|
||||||
|
"domain_pill.activitypub_like_language": "ActivityPub-ı Mastodonun digər sosial şəbəkələrlə danışdığı dil kimi düşünə bilərsiniz.",
|
||||||
|
"domain_pill.server": "Server",
|
||||||
|
"domain_pill.their_handle": "Tanıdıcısı:",
|
||||||
|
"domain_pill.their_server": "Onların bütün paylaşımlarının yaşadığı rəqəmsal ev.",
|
||||||
|
"domain_pill.their_username": "Serverdəki unikal identifikator. Fərqli serverlərdə eyni istifadəçi adı ilə istifadəçilər tapmaq mümkündür.",
|
||||||
|
"domain_pill.username": "İstifadəçi adı",
|
||||||
|
"domain_pill.whats_in_a_handle": "Tanıdıcı nədir?",
|
||||||
|
"domain_pill.who_they_are": "Tanıdıcılar kimin kim olduğunu və harada olduğunu bildirdiyi üçün siz <button>ActivityPub tərəfindən dəstəklənən platformaların</button> sosial şəbəkəsindəki bütün insanlarla əlaqə saxlaya bilərsiniz.",
|
||||||
|
"domain_pill.who_you_are": "Tanıdıcılar sizin kim olduğunuzu və harada olduğunuzu bildirdiyi üçün <button>ActivityPub tərəfindən dəstəklənən platformaların</button> sosial şəbəkəsindəki bütün insanlar sizlə əlaqə saxlaya bilər.",
|
||||||
|
"domain_pill.your_handle": "Tanıdıcınız:",
|
||||||
|
"domain_pill.your_server": "Bütün paylaşımlarınızın yaşadığı rəqəmsal ev. Buranı bəyənmirsiniz? İstədiyiniz vaxt serverdən köçün və izləyicilərinizi də aparın.",
|
||||||
|
"domain_pill.your_username": "Serverdəki unikal identifikatoruz. Fərqli serverlərdə eyni istifadəçi adı ilə istifadəçilər tapmaq mümkündür.",
|
||||||
|
"embed.instructions": "Aşağıdakı kodu kopyalayaraq bu postu veb-saytınıza yerləşdirin.",
|
||||||
|
"embed.preview": "Belə görünəcək:",
|
||||||
|
"emoji_button.activity": "Aktivlik",
|
||||||
|
"emoji_button.clear": "Təmizlə",
|
||||||
|
"emoji_button.custom": "Özəl",
|
||||||
|
"emoji_button.flags": "Bayraqlar",
|
||||||
|
"emoji_button.food": "Yemək və içki",
|
||||||
|
"emoji_button.label": "Emoji daxil et",
|
||||||
|
"emoji_button.nature": "Təbiət",
|
||||||
|
"emoji_button.not_found": "Uyğun emoji tapılmadı",
|
||||||
|
"emoji_button.objects": "Obyektlər",
|
||||||
|
"emoji_button.people": "İnsanlar",
|
||||||
|
"emoji_button.recent": "Tez-tez istifadə edilən",
|
||||||
|
"emoji_button.search": "Axtar...",
|
||||||
|
"emoji_button.search_results": "Axtarış nəticələri",
|
||||||
|
"emoji_button.symbols": "Simvollar",
|
||||||
|
"emoji_button.travel": "Səyahət və məkanlar",
|
||||||
|
"empty_column.account_hides_collections": "Bu istifadəçi bu məlumatı əlçatan etməməyi seçib",
|
||||||
|
"empty_column.account_suspended": "Hesab silinib",
|
||||||
|
"empty_column.account_timeline": "Heç bir paylaşım yoxdur!",
|
||||||
|
"empty_column.account_unavailable": "Profil əlçatan deyil",
|
||||||
|
"empty_column.blocks": "Hələ ki, heç bir istifadəçini bloklamamasınız.",
|
||||||
|
"empty_column.bookmarked_statuses": "Hələ ki, heç bir paylaşımı yadda saxlamamısınız. Yadda saxlayanda burada görünəcək.",
|
||||||
|
"empty_column.community": "Lokal zaman qrafiki boşdur. Topun yuvarlanmağa başlaması üçün ictimai bir şey paylaşın!",
|
||||||
|
"empty_column.direct": "Gizli etiketiniz yoxdur. Göndərdikdə və ya qəbul etdikdə burada görəcəksiniz.",
|
||||||
|
"empty_column.domain_blocks": "Hələ ki, bloklanmış domen yoxdur.",
|
||||||
|
"empty_column.explore_statuses": "Hal-hazırda trenddə heç yoxdur. Daha sonra yenidən yoxlayın!",
|
||||||
|
"empty_column.favourited_statuses": "Bəyəndiyiniz paylaşımlar yoxdur. Birini bəyəndikdə burada görünəcək.",
|
||||||
|
"empty_column.favourites": "Bu paylaşımı hələ ki, heç kim bəyənməyib. Bəyənildikdə burada görünəcək.",
|
||||||
|
"follow_suggestions.hints.friends_of_friends": "Bu profil izlədiyiniz insanlar arasında populyardır.",
|
||||||
|
"follow_suggestions.hints.most_followed": "Bu profil {domain} serverində ən çox izlənilənlərdən biridir."
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,6 +86,7 @@
|
||||||
"alert.unexpected.message": "Узнікла нечаканая памылка.",
|
"alert.unexpected.message": "Узнікла нечаканая памылка.",
|
||||||
"alert.unexpected.title": "Вой!",
|
"alert.unexpected.title": "Вой!",
|
||||||
"alt_text_badge.title": "Альтэрнатыўны тэкст",
|
"alt_text_badge.title": "Альтэрнатыўны тэкст",
|
||||||
|
"alt_text_modal.done": "Гатова",
|
||||||
"announcement.announcement": "Аб'ява",
|
"announcement.announcement": "Аб'ява",
|
||||||
"annual_report.summary.archetype.booster": "Трэнда-сьледнік",
|
"annual_report.summary.archetype.booster": "Трэнда-сьледнік",
|
||||||
"annual_report.summary.archetype.lurker": "Назіральнік",
|
"annual_report.summary.archetype.lurker": "Назіральнік",
|
||||||
|
@ -211,6 +212,7 @@
|
||||||
"confirmations.logout.confirm": "Выйсці",
|
"confirmations.logout.confirm": "Выйсці",
|
||||||
"confirmations.logout.message": "Вы ўпэўненыя, што хочаце выйсці?",
|
"confirmations.logout.message": "Вы ўпэўненыя, што хочаце выйсці?",
|
||||||
"confirmations.logout.title": "Выйсці?",
|
"confirmations.logout.title": "Выйсці?",
|
||||||
|
"confirmations.missing_alt_text.title": "Дадаць апісаньне?",
|
||||||
"confirmations.mute.confirm": "Ігнараваць",
|
"confirmations.mute.confirm": "Ігнараваць",
|
||||||
"confirmations.redraft.confirm": "Выдаліць і перапісаць",
|
"confirmations.redraft.confirm": "Выдаліць і перапісаць",
|
||||||
"confirmations.redraft.message": "Вы ўпэўнены, што хочаце выдаліць допіс і перапісаць яго? Упадабанні і пашырэнні згубяцца, а адказы да арыгінальнага допісу асірацеюць.",
|
"confirmations.redraft.message": "Вы ўпэўнены, што хочаце выдаліць допіс і перапісаць яго? Упадабанні і пашырэнні згубяцца, а адказы да арыгінальнага допісу асірацеюць.",
|
||||||
|
@ -407,6 +409,7 @@
|
||||||
"ignore_notifications_modal.not_followers_title": "Ігнараваць паведамленьні ад людзей, якія ня падпісаныя на вас?",
|
"ignore_notifications_modal.not_followers_title": "Ігнараваць паведамленьні ад людзей, якія ня падпісаныя на вас?",
|
||||||
"ignore_notifications_modal.not_following_title": "Ігнараваць апавяшчэнні ад людзей на якіх вы не падпісаны?",
|
"ignore_notifications_modal.not_following_title": "Ігнараваць апавяшчэнні ад людзей на якіх вы не падпісаны?",
|
||||||
"ignore_notifications_modal.private_mentions_title": "Ігнараваць паведамленьні аб непажаданых прыватных згадках?",
|
"ignore_notifications_modal.private_mentions_title": "Ігнараваць паведамленьні аб непажаданых прыватных згадках?",
|
||||||
|
"info_button.label": "Даведка",
|
||||||
"interaction_modal.action.favourite": "Каб працягнуць, вы мусіце ўпадабаць з вашага ўліковага запісу.",
|
"interaction_modal.action.favourite": "Каб працягнуць, вы мусіце ўпадабаць з вашага ўліковага запісу.",
|
||||||
"interaction_modal.action.follow": "Каб працягнуць, вы мусіце падпісацца з вашага ўліковага запісу.",
|
"interaction_modal.action.follow": "Каб працягнуць, вы мусіце падпісацца з вашага ўліковага запісу.",
|
||||||
"interaction_modal.on_another_server": "На іншым серверы",
|
"interaction_modal.on_another_server": "На іншым серверы",
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
"about.not_available": "এই তথ্য এই সার্ভারে উন্মুক্ত করা হয়নি.",
|
"about.not_available": "এই তথ্য এই সার্ভারে উন্মুক্ত করা হয়নি.",
|
||||||
"about.powered_by": "{mastodon} দ্বারা তৈরি বিকেন্দ্রীভূত সামাজিক মিডিয়া।",
|
"about.powered_by": "{mastodon} দ্বারা তৈরি বিকেন্দ্রীভূত সামাজিক মিডিয়া।",
|
||||||
"about.rules": "সার্ভারের নিয়মাবলী",
|
"about.rules": "সার্ভারের নিয়মাবলী",
|
||||||
|
"account.account_note_header": "ব্যক্তিগত টীকা",
|
||||||
"account.add_or_remove_from_list": "তালিকাতে যোগ বা অপসারণ করো",
|
"account.add_or_remove_from_list": "তালিকাতে যোগ বা অপসারণ করো",
|
||||||
"account.badges.bot": "বট",
|
"account.badges.bot": "বট",
|
||||||
"account.badges.group": "দল",
|
"account.badges.group": "দল",
|
||||||
|
@ -19,6 +20,7 @@
|
||||||
"account.block_short": "ব্লক",
|
"account.block_short": "ব্লক",
|
||||||
"account.blocked": "অবরুদ্ধ",
|
"account.blocked": "অবরুদ্ধ",
|
||||||
"account.cancel_follow_request": "অনুসরণ অনুরোধ প্রত্যাহার করুন",
|
"account.cancel_follow_request": "অনুসরণ অনুরোধ প্রত্যাহার করুন",
|
||||||
|
"account.copy": "অবতারের সংযোগ অনুলিপি করো",
|
||||||
"account.direct": "গোপনে মেনশন করুন @{name}",
|
"account.direct": "গোপনে মেনশন করুন @{name}",
|
||||||
"account.disable_notifications": "আমাকে জানানো বন্ধ করো যখন @{name} পোস্ট করবে",
|
"account.disable_notifications": "আমাকে জানানো বন্ধ করো যখন @{name} পোস্ট করবে",
|
||||||
"account.domain_blocked": "ডোমেইন ব্লক করা",
|
"account.domain_blocked": "ডোমেইন ব্লক করা",
|
||||||
|
@ -29,6 +31,7 @@
|
||||||
"account.featured_tags.last_status_never": "কোনো পোস্ট নেই",
|
"account.featured_tags.last_status_never": "কোনো পোস্ট নেই",
|
||||||
"account.featured_tags.title": "{name} এর ফিচার করা Hashtag সমূহ",
|
"account.featured_tags.title": "{name} এর ফিচার করা Hashtag সমূহ",
|
||||||
"account.follow": "অনুসরণ",
|
"account.follow": "অনুসরণ",
|
||||||
|
"account.follow_back": "তাকে অনুসরণ করো",
|
||||||
"account.followers": "অনুসরণকারী",
|
"account.followers": "অনুসরণকারী",
|
||||||
"account.followers.empty": "এই ব্যক্তিকে এখনো কেউ অনুসরণ করে না.",
|
"account.followers.empty": "এই ব্যক্তিকে এখনো কেউ অনুসরণ করে না.",
|
||||||
"account.following": "অনুসরণ করা হচ্ছে",
|
"account.following": "অনুসরণ করা হচ্ছে",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"about.blocks": "Gweinyddion gyda chymedrolwyr",
|
"about.blocks": "Gweinyddion wedi'u cymedroli",
|
||||||
"about.contact": "Cysylltwch â:",
|
"about.contact": "Cysylltwch â:",
|
||||||
"about.disclaimer": "Mae Mastodon yn feddalwedd cod agored rhydd ac o dan hawlfraint Mastodon gGmbH.",
|
"about.disclaimer": "Mae Mastodon yn feddalwedd cod agored rhydd ac o dan hawlfraint Mastodon gGmbH.",
|
||||||
"about.domain_blocks.no_reason_available": "Nid yw'r rheswm ar gael",
|
"about.domain_blocks.no_reason_available": "Nid yw'r rheswm ar gael",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"about.blocks": "Administritaj serviloj",
|
"about.blocks": "Reguligitaj serviloj",
|
||||||
"about.contact": "Kontakto:",
|
"about.contact": "Kontakto:",
|
||||||
"about.disclaimer": "Mastodon estas libera, malfermitkoda programo kaj varmarko de la firmao Mastodon gGmbH.",
|
"about.disclaimer": "Mastodon estas libera, malfermitkoda programo kaj varmarko de la firmao Mastodon gGmbH.",
|
||||||
"about.domain_blocks.no_reason_available": "Kialo ne disponeblas",
|
"about.domain_blocks.no_reason_available": "Kialo ne disponeblas",
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
"account.domain_blocked": "Domajno blokita",
|
"account.domain_blocked": "Domajno blokita",
|
||||||
"account.edit_profile": "Redakti la profilon",
|
"account.edit_profile": "Redakti la profilon",
|
||||||
"account.enable_notifications": "Sciigu min kiam @{name} afiŝos",
|
"account.enable_notifications": "Sciigu min kiam @{name} afiŝos",
|
||||||
"account.endorse": "Rekomendi ĉe via profilo",
|
"account.endorse": "Prezenti ĉe via profilo",
|
||||||
"account.featured_tags.last_status_at": "Lasta afîŝo je {date}",
|
"account.featured_tags.last_status_at": "Lasta afîŝo je {date}",
|
||||||
"account.featured_tags.last_status_never": "Neniu afiŝo",
|
"account.featured_tags.last_status_never": "Neniu afiŝo",
|
||||||
"account.featured_tags.title": "Rekomendataj kradvortoj de {name}",
|
"account.featured_tags.title": "Rekomendataj kradvortoj de {name}",
|
||||||
|
@ -219,8 +219,8 @@
|
||||||
"confirmations.logout.message": "Ĉu vi certas, ke vi volas elsaluti?",
|
"confirmations.logout.message": "Ĉu vi certas, ke vi volas elsaluti?",
|
||||||
"confirmations.logout.title": "Ĉu elsaluti?",
|
"confirmations.logout.title": "Ĉu elsaluti?",
|
||||||
"confirmations.missing_alt_text.confirm": "Aldoni alttekston",
|
"confirmations.missing_alt_text.confirm": "Aldoni alttekston",
|
||||||
"confirmations.missing_alt_text.message": "Via afiŝo enhavas amaskomunikilaron sen altteksto. Aldono de priskriboj helpas fari vian enhavon alirebla por pli da homoj.",
|
"confirmations.missing_alt_text.message": "Via afiŝo enhavas aŭdvidaĵon sen anstataŭa teksto. Aldono de priskriboj helpas fari vian enhavon alirebla por pli da homoj.",
|
||||||
"confirmations.missing_alt_text.secondary": "Afiŝu ĉiukaze",
|
"confirmations.missing_alt_text.secondary": "Afiŝi ĉiuokaze",
|
||||||
"confirmations.missing_alt_text.title": "Ĉu aldoni alttekston?",
|
"confirmations.missing_alt_text.title": "Ĉu aldoni alttekston?",
|
||||||
"confirmations.mute.confirm": "Silentigi",
|
"confirmations.mute.confirm": "Silentigi",
|
||||||
"confirmations.redraft.confirm": "Forigi kaj reskribi",
|
"confirmations.redraft.confirm": "Forigi kaj reskribi",
|
||||||
|
@ -540,7 +540,7 @@
|
||||||
"navigation_bar.follows_and_followers": "Sekvatoj kaj sekvantoj",
|
"navigation_bar.follows_and_followers": "Sekvatoj kaj sekvantoj",
|
||||||
"navigation_bar.lists": "Listoj",
|
"navigation_bar.lists": "Listoj",
|
||||||
"navigation_bar.logout": "Elsaluti",
|
"navigation_bar.logout": "Elsaluti",
|
||||||
"navigation_bar.moderation": "Reguligo",
|
"navigation_bar.moderation": "Modereco",
|
||||||
"navigation_bar.mutes": "Silentigitaj uzantoj",
|
"navigation_bar.mutes": "Silentigitaj uzantoj",
|
||||||
"navigation_bar.opened_in_classic_interface": "Afiŝoj, kontoj, kaj aliaj specifaj paĝoj kiuj estas malfermititaj defaulta en la klasika reta interfaco.",
|
"navigation_bar.opened_in_classic_interface": "Afiŝoj, kontoj, kaj aliaj specifaj paĝoj kiuj estas malfermititaj defaulta en la klasika reta interfaco.",
|
||||||
"navigation_bar.personal": "Persone",
|
"navigation_bar.personal": "Persone",
|
||||||
|
|
|
@ -13,13 +13,13 @@
|
||||||
"about.rules": "Reglas del servidor",
|
"about.rules": "Reglas del servidor",
|
||||||
"account.account_note_header": "Nota personal",
|
"account.account_note_header": "Nota personal",
|
||||||
"account.add_or_remove_from_list": "Agregar o eliminar de las listas",
|
"account.add_or_remove_from_list": "Agregar o eliminar de las listas",
|
||||||
"account.badges.bot": "Bot",
|
"account.badges.bot": "Automatizada",
|
||||||
"account.badges.group": "Grupo",
|
"account.badges.group": "Grupo",
|
||||||
"account.block": "Bloquear a @{name}",
|
"account.block": "Bloquear a @{name}",
|
||||||
"account.block_domain": "Bloquear dominio {domain}",
|
"account.block_domain": "Bloquear dominio {domain}",
|
||||||
"account.block_short": "Bloquear",
|
"account.block_short": "Bloquear",
|
||||||
"account.blocked": "Bloqueado",
|
"account.blocked": "Bloqueado",
|
||||||
"account.cancel_follow_request": "Retirar solicitud de seguimiento",
|
"account.cancel_follow_request": "Cancelar seguimiento",
|
||||||
"account.copy": "Copiar enlace al perfil",
|
"account.copy": "Copiar enlace al perfil",
|
||||||
"account.direct": "Mención privada @{name}",
|
"account.direct": "Mención privada @{name}",
|
||||||
"account.disable_notifications": "Dejar de notificarme cuando @{name} publique algo",
|
"account.disable_notifications": "Dejar de notificarme cuando @{name} publique algo",
|
||||||
|
@ -84,7 +84,7 @@
|
||||||
"alert.rate_limited.message": "Por favor, intenta después de las {retry_time, time, medium}.",
|
"alert.rate_limited.message": "Por favor, intenta después de las {retry_time, time, medium}.",
|
||||||
"alert.rate_limited.title": "Tarifa limitada",
|
"alert.rate_limited.title": "Tarifa limitada",
|
||||||
"alert.unexpected.message": "Hubo un error inesperado.",
|
"alert.unexpected.message": "Hubo un error inesperado.",
|
||||||
"alert.unexpected.title": "¡Ups!",
|
"alert.unexpected.title": "¡Uy!",
|
||||||
"alt_text_badge.title": "Texto alternativo",
|
"alt_text_badge.title": "Texto alternativo",
|
||||||
"alt_text_modal.add_alt_text": "Añadir texto alternativo",
|
"alt_text_modal.add_alt_text": "Añadir texto alternativo",
|
||||||
"alt_text_modal.add_text_from_image": "Añadir texto de la imagen",
|
"alt_text_modal.add_text_from_image": "Añadir texto de la imagen",
|
||||||
|
@ -193,7 +193,7 @@
|
||||||
"compose_form.poll.switch_to_single": "Cambiar la encuesta para permitir una única opción",
|
"compose_form.poll.switch_to_single": "Cambiar la encuesta para permitir una única opción",
|
||||||
"compose_form.poll.type": "Estilo",
|
"compose_form.poll.type": "Estilo",
|
||||||
"compose_form.publish": "Publicación",
|
"compose_form.publish": "Publicación",
|
||||||
"compose_form.publish_form": "Publicar",
|
"compose_form.publish_form": "Nueva publicación",
|
||||||
"compose_form.reply": "Respuesta",
|
"compose_form.reply": "Respuesta",
|
||||||
"compose_form.save_changes": "Actualización",
|
"compose_form.save_changes": "Actualización",
|
||||||
"compose_form.spoiler.marked": "Quitar advertencia de contenido",
|
"compose_form.spoiler.marked": "Quitar advertencia de contenido",
|
||||||
|
@ -285,7 +285,7 @@
|
||||||
"emoji_button.food": "Comida y bebida",
|
"emoji_button.food": "Comida y bebida",
|
||||||
"emoji_button.label": "Insertar emoji",
|
"emoji_button.label": "Insertar emoji",
|
||||||
"emoji_button.nature": "Naturaleza",
|
"emoji_button.nature": "Naturaleza",
|
||||||
"emoji_button.not_found": "Sin emojis coincidentes",
|
"emoji_button.not_found": "No se han encontrado emojis que coincidan",
|
||||||
"emoji_button.objects": "Objetos",
|
"emoji_button.objects": "Objetos",
|
||||||
"emoji_button.people": "Gente",
|
"emoji_button.people": "Gente",
|
||||||
"emoji_button.recent": "Usados frecuentemente",
|
"emoji_button.recent": "Usados frecuentemente",
|
||||||
|
@ -308,8 +308,8 @@
|
||||||
"empty_column.follow_requests": "No tienes ninguna petición de seguidor. Cuando recibas una, se mostrará aquí.",
|
"empty_column.follow_requests": "No tienes ninguna petición de seguidor. Cuando recibas una, se mostrará aquí.",
|
||||||
"empty_column.followed_tags": "No estás siguiendo ninguna etiqueta todavía. Cuando lo hagas, aparecerá aquí.",
|
"empty_column.followed_tags": "No estás siguiendo ninguna etiqueta todavía. Cuando lo hagas, aparecerá aquí.",
|
||||||
"empty_column.hashtag": "No hay nada en esta etiqueta aún.",
|
"empty_column.hashtag": "No hay nada en esta etiqueta aún.",
|
||||||
"empty_column.home": "No estás siguiendo a nadie aún. Visita {public} o haz búsquedas para empezar y conocer gente nueva.",
|
"empty_column.home": "¡Tu cronología está vacía! Sigue a más gente para llenarla.",
|
||||||
"empty_column.list": "No hay nada en esta lista aún. Cuando miembros de esta lista publiquen nuevos estatus, estos aparecerán qui.",
|
"empty_column.list": "Aún no hay nada en esta lista. Cuando los miembros de esta lista publiquen nuevos contenidos, aparecerán aquí.",
|
||||||
"empty_column.mutes": "Aún no has silenciado a ningún usuario.",
|
"empty_column.mutes": "Aún no has silenciado a ningún usuario.",
|
||||||
"empty_column.notification_requests": "¡Todo limpio! No hay nada aquí. Cuando recibas nuevas notificaciones, aparecerán aquí conforme a tu configuración.",
|
"empty_column.notification_requests": "¡Todo limpio! No hay nada aquí. Cuando recibas nuevas notificaciones, aparecerán aquí conforme a tu configuración.",
|
||||||
"empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.",
|
"empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.",
|
||||||
|
@ -438,41 +438,41 @@
|
||||||
"intervals.full.days": "{number, plural, one {# día} other {# días}}",
|
"intervals.full.days": "{number, plural, one {# día} other {# días}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
|
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
||||||
"keyboard_shortcuts.back": "volver atrás",
|
"keyboard_shortcuts.back": "Volver atrás",
|
||||||
"keyboard_shortcuts.blocked": "abrir una lista de usuarios bloqueados",
|
"keyboard_shortcuts.blocked": "Abrir la lista de usuarios bloqueados",
|
||||||
"keyboard_shortcuts.boost": "Impulsar publicación",
|
"keyboard_shortcuts.boost": "Impulsar publicación",
|
||||||
"keyboard_shortcuts.column": "enfocar un estado en una de las columnas",
|
"keyboard_shortcuts.column": "Enfocar columna",
|
||||||
"keyboard_shortcuts.compose": "enfocar el área de texto de redacción",
|
"keyboard_shortcuts.compose": "Enfocar el área de texto de redacción",
|
||||||
"keyboard_shortcuts.description": "Descripción",
|
"keyboard_shortcuts.description": "Descripción",
|
||||||
"keyboard_shortcuts.direct": "para abrir la columna de menciones privadas",
|
"keyboard_shortcuts.direct": "para abrir la columna de menciones privadas",
|
||||||
"keyboard_shortcuts.down": "mover hacia abajo en la lista",
|
"keyboard_shortcuts.down": "Descender en la lista",
|
||||||
"keyboard_shortcuts.enter": "Abrir publicación",
|
"keyboard_shortcuts.enter": "Abrir publicación",
|
||||||
"keyboard_shortcuts.favourite": "Marcar como favorita la publicación",
|
"keyboard_shortcuts.favourite": "Marcar como favorita la publicación",
|
||||||
"keyboard_shortcuts.favourites": "Abrir lista de favoritos",
|
"keyboard_shortcuts.favourites": "Abrir lista de favoritos",
|
||||||
"keyboard_shortcuts.federated": "abrir el timeline federado",
|
"keyboard_shortcuts.federated": "Abrir cronología federada",
|
||||||
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
|
"keyboard_shortcuts.heading": "Atajos de teclado",
|
||||||
"keyboard_shortcuts.home": "abrir el timeline propio",
|
"keyboard_shortcuts.home": "Abrir cronología principal",
|
||||||
"keyboard_shortcuts.hotkey": "Tecla caliente",
|
"keyboard_shortcuts.hotkey": "Tecla de acceso rápido",
|
||||||
"keyboard_shortcuts.legend": "para mostrar esta leyenda",
|
"keyboard_shortcuts.legend": "Mostrar esta leyenda",
|
||||||
"keyboard_shortcuts.local": "abrir el timeline local",
|
"keyboard_shortcuts.local": "Abrir cronología local",
|
||||||
"keyboard_shortcuts.mention": "para mencionar al autor",
|
"keyboard_shortcuts.mention": "Mencionar al autor",
|
||||||
"keyboard_shortcuts.muted": "abrir la lista de usuarios silenciados",
|
"keyboard_shortcuts.muted": "Abrir la lista de usuarios silenciados",
|
||||||
"keyboard_shortcuts.my_profile": "abrir tu perfil",
|
"keyboard_shortcuts.my_profile": "Abrir tu perfil",
|
||||||
"keyboard_shortcuts.notifications": "abrir la columna de notificaciones",
|
"keyboard_shortcuts.notifications": "Abrir la columna de notificaciones",
|
||||||
"keyboard_shortcuts.open_media": "para abrir archivos multimedia",
|
"keyboard_shortcuts.open_media": "Abrir multimedia",
|
||||||
"keyboard_shortcuts.pinned": "Abrir la lista de publicaciones fijadas",
|
"keyboard_shortcuts.pinned": "Abrir la lista de publicaciones fijadas",
|
||||||
"keyboard_shortcuts.profile": "abrir el perfil del autor",
|
"keyboard_shortcuts.profile": "Abrir perfil del autor",
|
||||||
"keyboard_shortcuts.reply": "Responder a la publicación",
|
"keyboard_shortcuts.reply": "Responder a la publicación",
|
||||||
"keyboard_shortcuts.requests": "abrir la lista de peticiones de seguidores",
|
"keyboard_shortcuts.requests": "Abrir lista de solicitudes de seguimiento",
|
||||||
"keyboard_shortcuts.search": "para poner el foco en la búsqueda",
|
"keyboard_shortcuts.search": "Enfocar la barra de búsqueda",
|
||||||
"keyboard_shortcuts.spoilers": "para mostrar/ocultar el campo CW",
|
"keyboard_shortcuts.spoilers": "Mostrar/ocultar el campo AC",
|
||||||
"keyboard_shortcuts.start": "abrir la columna \"comenzar\"",
|
"keyboard_shortcuts.start": "Abrir la columna “empezar”",
|
||||||
"keyboard_shortcuts.toggle_hidden": "mostrar/ocultar texto tras aviso de contenido (CW)",
|
"keyboard_shortcuts.toggle_hidden": "Mostrar/ocultar texto detrás de AC",
|
||||||
"keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar medios",
|
"keyboard_shortcuts.toggle_sensitivity": "Mostrar/ocultar multimedia",
|
||||||
"keyboard_shortcuts.toot": "Comenzar una nueva publicación",
|
"keyboard_shortcuts.toot": "Comenzar una nueva publicación",
|
||||||
"keyboard_shortcuts.translate": "para traducir una publicación",
|
"keyboard_shortcuts.translate": "para traducir una publicación",
|
||||||
"keyboard_shortcuts.unfocus": "para retirar el foco de la caja de redacción/búsqueda",
|
"keyboard_shortcuts.unfocus": "Desenfocar área de redacción/búsqueda",
|
||||||
"keyboard_shortcuts.up": "para ir hacia arriba en la lista",
|
"keyboard_shortcuts.up": "Ascender en la lista",
|
||||||
"lightbox.close": "Cerrar",
|
"lightbox.close": "Cerrar",
|
||||||
"lightbox.next": "Siguiente",
|
"lightbox.next": "Siguiente",
|
||||||
"lightbox.previous": "Anterior",
|
"lightbox.previous": "Anterior",
|
||||||
|
@ -644,7 +644,7 @@
|
||||||
"notifications.grant_permission": "Conceder permiso.",
|
"notifications.grant_permission": "Conceder permiso.",
|
||||||
"notifications.group": "{count} notificaciones",
|
"notifications.group": "{count} notificaciones",
|
||||||
"notifications.mark_as_read": "Marcar todas las notificaciones como leídas",
|
"notifications.mark_as_read": "Marcar todas las notificaciones como leídas",
|
||||||
"notifications.permission_denied": "No se pueden habilitar las notificaciones de escritorio ya que se denegó el permiso.",
|
"notifications.permission_denied": "No se pueden habilitar las notificaciones de escritorio, ya que se denegó el permiso",
|
||||||
"notifications.permission_denied_alert": "No se pueden habilitar las notificaciones de escritorio, ya que el permiso del navegador fue denegado anteriormente",
|
"notifications.permission_denied_alert": "No se pueden habilitar las notificaciones de escritorio, ya que el permiso del navegador fue denegado anteriormente",
|
||||||
"notifications.permission_required": "Las notificaciones de escritorio no están disponibles porque no se ha concedido el permiso requerido.",
|
"notifications.permission_required": "Las notificaciones de escritorio no están disponibles porque no se ha concedido el permiso requerido.",
|
||||||
"notifications.policy.accept": "Aceptar",
|
"notifications.policy.accept": "Aceptar",
|
||||||
|
@ -835,7 +835,7 @@
|
||||||
"status.media.open": "Click para abrir",
|
"status.media.open": "Click para abrir",
|
||||||
"status.media.show": "Click para mostrar",
|
"status.media.show": "Click para mostrar",
|
||||||
"status.media_hidden": "Contenido multimedia oculto",
|
"status.media_hidden": "Contenido multimedia oculto",
|
||||||
"status.mention": "Mencionar",
|
"status.mention": "Mencionar @{name}",
|
||||||
"status.more": "Más",
|
"status.more": "Más",
|
||||||
"status.mute": "Silenciar @{name}",
|
"status.mute": "Silenciar @{name}",
|
||||||
"status.mute_conversation": "Silenciar conversación",
|
"status.mute_conversation": "Silenciar conversación",
|
||||||
|
@ -855,7 +855,7 @@
|
||||||
"status.replied_to": "Respondió a {name}",
|
"status.replied_to": "Respondió a {name}",
|
||||||
"status.reply": "Responder",
|
"status.reply": "Responder",
|
||||||
"status.replyAll": "Responder al hilo",
|
"status.replyAll": "Responder al hilo",
|
||||||
"status.report": "Reportar",
|
"status.report": "Reportar @{name}",
|
||||||
"status.sensitive_warning": "Contenido sensible",
|
"status.sensitive_warning": "Contenido sensible",
|
||||||
"status.share": "Compartir",
|
"status.share": "Compartir",
|
||||||
"status.show_less_all": "Mostrar menos para todo",
|
"status.show_less_all": "Mostrar menos para todo",
|
||||||
|
@ -880,21 +880,21 @@
|
||||||
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
|
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
|
||||||
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} en los últimos {days, plural, one {días} other {{days} días}}",
|
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} en los últimos {days, plural, one {días} other {{days} días}}",
|
||||||
"trends.trending_now": "Tendencia ahora",
|
"trends.trending_now": "Tendencia ahora",
|
||||||
"ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.",
|
"ui.beforeunload": "Tu borrador se perderá si abandonas Mastodon.",
|
||||||
"units.short.billion": "{count} MM",
|
"units.short.billion": "{count} MM",
|
||||||
"units.short.million": "{count} M",
|
"units.short.million": "{count} M",
|
||||||
"units.short.thousand": "{count} K",
|
"units.short.thousand": "{count} K",
|
||||||
"upload_area.title": "Arrastra y suelta para subir",
|
"upload_area.title": "Arrastra y suelta para subir",
|
||||||
"upload_button.label": "Subir multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
"upload_button.label": "Subir multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||||
"upload_error.limit": "Límite de subida de archivos excedido.",
|
"upload_error.limit": "Límite de subida de archivos excedido.",
|
||||||
"upload_error.poll": "Subida de archivos no permitida con encuestas.",
|
"upload_error.poll": "No se permite subir archivos con las encuestas.",
|
||||||
"upload_form.drag_and_drop.instructions": "Para recoger un archivo adjunto, pulsa la barra espaciadora o la tecla Intro. Mientras arrastras, usa las teclas de flecha para mover el archivo adjunto en cualquier dirección. Vuelve a pulsar la barra espaciadora o la tecla Intro para soltar el archivo adjunto en su nueva posición, o pulsa la tecla Escape para cancelar.",
|
"upload_form.drag_and_drop.instructions": "Para recoger un archivo adjunto, pulsa la barra espaciadora o la tecla Intro. Mientras arrastras, usa las teclas de flecha para mover el archivo adjunto en cualquier dirección. Vuelve a pulsar la barra espaciadora o la tecla Intro para soltar el archivo adjunto en su nueva posición, o pulsa la tecla Escape para cancelar.",
|
||||||
"upload_form.drag_and_drop.on_drag_cancel": "Arrastre cancelado. El archivo adjunto {item} fue eliminado.",
|
"upload_form.drag_and_drop.on_drag_cancel": "Arrastre cancelado. El archivo adjunto {item} fue eliminado.",
|
||||||
"upload_form.drag_and_drop.on_drag_end": "El archivo adjunto {item} fue eliminado.",
|
"upload_form.drag_and_drop.on_drag_end": "El archivo adjunto {item} fue eliminado.",
|
||||||
"upload_form.drag_and_drop.on_drag_over": "El archivo adjunto {item} fue movido.",
|
"upload_form.drag_and_drop.on_drag_over": "El archivo adjunto {item} fue movido.",
|
||||||
"upload_form.drag_and_drop.on_drag_start": "Recogidos los archivos adjuntos {item}.",
|
"upload_form.drag_and_drop.on_drag_start": "Recogidos los archivos adjuntos {item}.",
|
||||||
"upload_form.edit": "Editar",
|
"upload_form.edit": "Editar",
|
||||||
"upload_progress.label": "Subiendo…",
|
"upload_progress.label": "Subiendo...",
|
||||||
"upload_progress.processing": "Procesando…",
|
"upload_progress.processing": "Procesando…",
|
||||||
"username.taken": "Ese nombre de usuario está ocupado. Prueba con otro",
|
"username.taken": "Ese nombre de usuario está ocupado. Prueba con otro",
|
||||||
"video.close": "Cerrar video",
|
"video.close": "Cerrar video",
|
||||||
|
|
|
@ -56,9 +56,9 @@
|
||||||
"account.no_bio": "Sin biografía.",
|
"account.no_bio": "Sin biografía.",
|
||||||
"account.open_original_page": "Abrir página original",
|
"account.open_original_page": "Abrir página original",
|
||||||
"account.posts": "Publicaciones",
|
"account.posts": "Publicaciones",
|
||||||
"account.posts_with_replies": "Pub. y respuestas",
|
"account.posts_with_replies": "Publicaciones y respuestas",
|
||||||
"account.report": "Reportar a @{name}",
|
"account.report": "Reportar a @{name}",
|
||||||
"account.requested": "Esperando aprobación. Clica para cancelar la solicitud de seguimiento",
|
"account.requested": "Esperando aprobación. Haz clic para cancelar la solicitud de seguimiento",
|
||||||
"account.requested_follow": "{name} ha solicitado seguirte",
|
"account.requested_follow": "{name} ha solicitado seguirte",
|
||||||
"account.share": "Compartir el perfil de @{name}",
|
"account.share": "Compartir el perfil de @{name}",
|
||||||
"account.show_reblogs": "Mostrar impulsos de @{name}",
|
"account.show_reblogs": "Mostrar impulsos de @{name}",
|
||||||
|
@ -71,7 +71,7 @@
|
||||||
"account.unmute": "Dejar de silenciar a @{name}",
|
"account.unmute": "Dejar de silenciar a @{name}",
|
||||||
"account.unmute_notifications_short": "Dejar de silenciar notificaciones",
|
"account.unmute_notifications_short": "Dejar de silenciar notificaciones",
|
||||||
"account.unmute_short": "Dejar de silenciar",
|
"account.unmute_short": "Dejar de silenciar",
|
||||||
"account_note.placeholder": "Clic para añadir nota",
|
"account_note.placeholder": "Haz clic para añadir nota",
|
||||||
"admin.dashboard.daily_retention": "Tasa de retención de usuarios por día después del registro",
|
"admin.dashboard.daily_retention": "Tasa de retención de usuarios por día después del registro",
|
||||||
"admin.dashboard.monthly_retention": "Tasa de retención de usuarios por mes después del registro",
|
"admin.dashboard.monthly_retention": "Tasa de retención de usuarios por mes después del registro",
|
||||||
"admin.dashboard.retention.average": "Media",
|
"admin.dashboard.retention.average": "Media",
|
||||||
|
@ -81,7 +81,7 @@
|
||||||
"admin.impact_report.instance_followers": "Seguidores que nuestros usuarios perderían",
|
"admin.impact_report.instance_followers": "Seguidores que nuestros usuarios perderían",
|
||||||
"admin.impact_report.instance_follows": "Seguidores que perderían sus usuarios",
|
"admin.impact_report.instance_follows": "Seguidores que perderían sus usuarios",
|
||||||
"admin.impact_report.title": "Resumen de impacto",
|
"admin.impact_report.title": "Resumen de impacto",
|
||||||
"alert.rate_limited.message": "Por favor, vuelve a intentarlo después de la(s) {retry_time, time, medium}.",
|
"alert.rate_limited.message": "Por favor, vuelve a intentarlo después de {retry_time, time, medium}.",
|
||||||
"alert.rate_limited.title": "Tráfico limitado",
|
"alert.rate_limited.title": "Tráfico limitado",
|
||||||
"alert.unexpected.message": "Hubo un error inesperado.",
|
"alert.unexpected.message": "Hubo un error inesperado.",
|
||||||
"alert.unexpected.title": "¡Ups!",
|
"alert.unexpected.title": "¡Ups!",
|
||||||
|
@ -93,7 +93,7 @@
|
||||||
"alt_text_modal.describe_for_people_with_hearing_impairments": "Descríbelo para personas con deficiencias auditivas…",
|
"alt_text_modal.describe_for_people_with_hearing_impairments": "Descríbelo para personas con deficiencias auditivas…",
|
||||||
"alt_text_modal.describe_for_people_with_visual_impairments": "Descríbelo para personas con discapacidad visual…",
|
"alt_text_modal.describe_for_people_with_visual_impairments": "Descríbelo para personas con discapacidad visual…",
|
||||||
"alt_text_modal.done": "Hecho",
|
"alt_text_modal.done": "Hecho",
|
||||||
"announcement.announcement": "Anuncio",
|
"announcement.announcement": "Comunicación",
|
||||||
"annual_report.summary.archetype.booster": "El cazador de tendencias",
|
"annual_report.summary.archetype.booster": "El cazador de tendencias",
|
||||||
"annual_report.summary.archetype.lurker": "El acechador",
|
"annual_report.summary.archetype.lurker": "El acechador",
|
||||||
"annual_report.summary.archetype.oracle": "El oráculo",
|
"annual_report.summary.archetype.oracle": "El oráculo",
|
||||||
|
@ -243,7 +243,7 @@
|
||||||
"copypaste.copied": "Copiado",
|
"copypaste.copied": "Copiado",
|
||||||
"copypaste.copy_to_clipboard": "Copiar al portapapeles",
|
"copypaste.copy_to_clipboard": "Copiar al portapapeles",
|
||||||
"directory.federated": "Desde el fediverso conocido",
|
"directory.federated": "Desde el fediverso conocido",
|
||||||
"directory.local": "Solo de {domain}",
|
"directory.local": "Solo desde {domain}",
|
||||||
"directory.new_arrivals": "Recién llegados",
|
"directory.new_arrivals": "Recién llegados",
|
||||||
"directory.recently_active": "Recientemente activo",
|
"directory.recently_active": "Recientemente activo",
|
||||||
"disabled_account_banner.account_settings": "Ajustes de la cuenta",
|
"disabled_account_banner.account_settings": "Ajustes de la cuenta",
|
||||||
|
@ -285,7 +285,7 @@
|
||||||
"emoji_button.food": "Comida y bebida",
|
"emoji_button.food": "Comida y bebida",
|
||||||
"emoji_button.label": "Insertar emoji",
|
"emoji_button.label": "Insertar emoji",
|
||||||
"emoji_button.nature": "Naturaleza",
|
"emoji_button.nature": "Naturaleza",
|
||||||
"emoji_button.not_found": "No se encontró ningún emoji coincidente",
|
"emoji_button.not_found": "No se encontró ningún emoji que coincida",
|
||||||
"emoji_button.objects": "Objetos",
|
"emoji_button.objects": "Objetos",
|
||||||
"emoji_button.people": "Personas",
|
"emoji_button.people": "Personas",
|
||||||
"emoji_button.recent": "Usados frecuentemente",
|
"emoji_button.recent": "Usados frecuentemente",
|
||||||
|
@ -316,7 +316,7 @@
|
||||||
"empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo",
|
"empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo",
|
||||||
"error.unexpected_crash.explanation": "Debido a un error en nuestro código o a un problema de compatibilidad con el navegador, esta página no se ha podido mostrar correctamente.",
|
"error.unexpected_crash.explanation": "Debido a un error en nuestro código o a un problema de compatibilidad con el navegador, esta página no se ha podido mostrar correctamente.",
|
||||||
"error.unexpected_crash.explanation_addons": "No se pudo mostrar correctamente esta página. Este error probablemente fue causado por un complemento del navegador web o por herramientas de traducción automática.",
|
"error.unexpected_crash.explanation_addons": "No se pudo mostrar correctamente esta página. Este error probablemente fue causado por un complemento del navegador web o por herramientas de traducción automática.",
|
||||||
"error.unexpected_crash.next_steps": "Intenta actualizar la página. Si eso no ayuda, es posible que puedas usar Mastodon a través de otro navegador o aplicación nativa.",
|
"error.unexpected_crash.next_steps": "Intenta actualizar la página. Si eso no ayuda, quizás puedas usar Mastodon desde otro navegador o aplicación nativa.",
|
||||||
"error.unexpected_crash.next_steps_addons": "Intenta deshabilitarlos y recarga la página. Si eso no ayuda, podrías usar Mastodon a través de un navegador web diferente o aplicación nativa.",
|
"error.unexpected_crash.next_steps_addons": "Intenta deshabilitarlos y recarga la página. Si eso no ayuda, podrías usar Mastodon a través de un navegador web diferente o aplicación nativa.",
|
||||||
"errors.unexpected_crash.copy_stacktrace": "Copiar el seguimiento de pila en el portapapeles",
|
"errors.unexpected_crash.copy_stacktrace": "Copiar el seguimiento de pila en el portapapeles",
|
||||||
"errors.unexpected_crash.report_issue": "Informar de un problema/error",
|
"errors.unexpected_crash.report_issue": "Informar de un problema/error",
|
||||||
|
@ -330,7 +330,7 @@
|
||||||
"filter_modal.added.expired_explanation": "Esta categoría de filtro ha caducado, tendrás que cambiar la fecha de caducidad para que se aplique.",
|
"filter_modal.added.expired_explanation": "Esta categoría de filtro ha caducado, tendrás que cambiar la fecha de caducidad para que se aplique.",
|
||||||
"filter_modal.added.expired_title": "¡Filtro caducado!",
|
"filter_modal.added.expired_title": "¡Filtro caducado!",
|
||||||
"filter_modal.added.review_and_configure": "Para revisar y configurar esta categoría de filtros, vaya a {settings_link}.",
|
"filter_modal.added.review_and_configure": "Para revisar y configurar esta categoría de filtros, vaya a {settings_link}.",
|
||||||
"filter_modal.added.review_and_configure_title": "Ajustes de filtro",
|
"filter_modal.added.review_and_configure_title": "Ajustes de filtros",
|
||||||
"filter_modal.added.settings_link": "página de ajustes",
|
"filter_modal.added.settings_link": "página de ajustes",
|
||||||
"filter_modal.added.short_explanation": "Esta publicación ha sido añadida a la siguiente categoría de filtros: {title}.",
|
"filter_modal.added.short_explanation": "Esta publicación ha sido añadida a la siguiente categoría de filtros: {title}.",
|
||||||
"filter_modal.added.title": "¡Filtro añadido!",
|
"filter_modal.added.title": "¡Filtro añadido!",
|
||||||
|
@ -352,7 +352,7 @@
|
||||||
"follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el personal de {domain} ha pensado que quizás deberías revisar manualmente las solicitudes de seguimiento de estas cuentas.",
|
"follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el personal de {domain} ha pensado que quizás deberías revisar manualmente las solicitudes de seguimiento de estas cuentas.",
|
||||||
"follow_suggestions.curated_suggestion": "Recomendaciones del equipo",
|
"follow_suggestions.curated_suggestion": "Recomendaciones del equipo",
|
||||||
"follow_suggestions.dismiss": "No mostrar de nuevo",
|
"follow_suggestions.dismiss": "No mostrar de nuevo",
|
||||||
"follow_suggestions.featured_longer": "Escogidos por el equipo de {domain}",
|
"follow_suggestions.featured_longer": "Sugerencias del equipo de {domain}",
|
||||||
"follow_suggestions.friends_of_friends_longer": "Populares entre las personas a las que sigues",
|
"follow_suggestions.friends_of_friends_longer": "Populares entre las personas a las que sigues",
|
||||||
"follow_suggestions.hints.featured": "Este perfil ha sido elegido a mano por el equipo de {domain}.",
|
"follow_suggestions.hints.featured": "Este perfil ha sido elegido a mano por el equipo de {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Este perfil es popular entre las personas que sigues.",
|
"follow_suggestions.hints.friends_of_friends": "Este perfil es popular entre las personas que sigues.",
|
||||||
|
@ -380,11 +380,11 @@
|
||||||
"hashtag.column_header.tag_mode.all": "y {additional}",
|
"hashtag.column_header.tag_mode.all": "y {additional}",
|
||||||
"hashtag.column_header.tag_mode.any": "o {additional}",
|
"hashtag.column_header.tag_mode.any": "o {additional}",
|
||||||
"hashtag.column_header.tag_mode.none": "sin {additional}",
|
"hashtag.column_header.tag_mode.none": "sin {additional}",
|
||||||
"hashtag.column_settings.select.no_options_message": "No se encontraron sugerencias",
|
"hashtag.column_settings.select.no_options_message": "No se han encontrado sugerencias",
|
||||||
"hashtag.column_settings.select.placeholder": "Introduce etiquetas…",
|
"hashtag.column_settings.select.placeholder": "Introduce etiquetas…",
|
||||||
"hashtag.column_settings.tag_mode.all": "Todos estos",
|
"hashtag.column_settings.tag_mode.all": "Todas estas",
|
||||||
"hashtag.column_settings.tag_mode.any": "Cualquiera de estos",
|
"hashtag.column_settings.tag_mode.any": "Cualquiera de estas",
|
||||||
"hashtag.column_settings.tag_mode.none": "Ninguno de estos",
|
"hashtag.column_settings.tag_mode.none": "Ninguna de estas",
|
||||||
"hashtag.column_settings.tag_toggle": "Incluir etiquetas adicionales en esta columna",
|
"hashtag.column_settings.tag_toggle": "Incluir etiquetas adicionales en esta columna",
|
||||||
"hashtag.counter_by_accounts": "{count, plural, one {{counter} participante} other {{counter} participantes}}",
|
"hashtag.counter_by_accounts": "{count, plural, one {{counter} participante} other {{counter} participantes}}",
|
||||||
"hashtag.counter_by_uses": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}}",
|
"hashtag.counter_by_uses": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}}",
|
||||||
|
@ -402,12 +402,12 @@
|
||||||
"hints.threads.see_more": "Ver más respuestas en {domain}",
|
"hints.threads.see_more": "Ver más respuestas en {domain}",
|
||||||
"home.column_settings.show_reblogs": "Mostrar impulsos",
|
"home.column_settings.show_reblogs": "Mostrar impulsos",
|
||||||
"home.column_settings.show_replies": "Mostrar respuestas",
|
"home.column_settings.show_replies": "Mostrar respuestas",
|
||||||
"home.hide_announcements": "Ocultar anuncios",
|
"home.hide_announcements": "Ocultar comunicaciones",
|
||||||
"home.pending_critical_update.body": "Por favor, ¡actualiza tu servidor Mastodon lo antes posible!",
|
"home.pending_critical_update.body": "Por favor, ¡actualiza tu servidor Mastodon lo antes posible!",
|
||||||
"home.pending_critical_update.link": "Ver actualizaciones",
|
"home.pending_critical_update.link": "Ver actualizaciones",
|
||||||
"home.pending_critical_update.title": "¡Actualización de seguridad crítica disponible!",
|
"home.pending_critical_update.title": "¡Actualización de seguridad crítica disponible!",
|
||||||
"home.show_announcements": "Mostrar anuncios",
|
"home.show_announcements": "Mostrar comunicaciones",
|
||||||
"ignore_notifications_modal.disclaimer": "Mastodon no puede informar a los usuarios que has ignorado sus notificaciones. Ignorar notificaciones no impedirá que se sigan enviando los mensajes.",
|
"ignore_notifications_modal.disclaimer": "Mastodon no puede informar a los usuarios de que has ignorado sus notificaciones. Ignorar notificaciones no impedirá que se sigan enviando los mensajes.",
|
||||||
"ignore_notifications_modal.filter_instead": "Filtrar en vez de ignorar",
|
"ignore_notifications_modal.filter_instead": "Filtrar en vez de ignorar",
|
||||||
"ignore_notifications_modal.filter_to_act_users": "Aún podrás aceptar, rechazar o reportar usuarios",
|
"ignore_notifications_modal.filter_to_act_users": "Aún podrás aceptar, rechazar o reportar usuarios",
|
||||||
"ignore_notifications_modal.filter_to_avoid_confusion": "Filtrar ayuda a evitar confusiones potenciales",
|
"ignore_notifications_modal.filter_to_avoid_confusion": "Filtrar ayuda a evitar confusiones potenciales",
|
||||||
|
@ -438,14 +438,14 @@
|
||||||
"intervals.full.days": "{number, plural, one {# día} other {# días}}",
|
"intervals.full.days": "{number, plural, one {# día} other {# días}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
|
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
||||||
"keyboard_shortcuts.back": "volver atrás",
|
"keyboard_shortcuts.back": "Navegar hacia atrás",
|
||||||
"keyboard_shortcuts.blocked": "abrir una lista de usuarios bloqueados",
|
"keyboard_shortcuts.blocked": "Abrir lista de usuarios bloqueados",
|
||||||
"keyboard_shortcuts.boost": "Impulsar",
|
"keyboard_shortcuts.boost": "Impulsar",
|
||||||
"keyboard_shortcuts.column": "Enfocar columna",
|
"keyboard_shortcuts.column": "Enfocar columna",
|
||||||
"keyboard_shortcuts.compose": "enfocar el área de texto de redacción",
|
"keyboard_shortcuts.compose": "Focalizar el área de texto de redacción",
|
||||||
"keyboard_shortcuts.description": "Descripción",
|
"keyboard_shortcuts.description": "Descripción",
|
||||||
"keyboard_shortcuts.direct": "para abrir la columna de menciones privadas",
|
"keyboard_shortcuts.direct": "para abrir la columna de menciones privadas",
|
||||||
"keyboard_shortcuts.down": "mover hacia abajo en la lista",
|
"keyboard_shortcuts.down": "Moverse hacia abajo en la lista",
|
||||||
"keyboard_shortcuts.enter": "Abrir publicación",
|
"keyboard_shortcuts.enter": "Abrir publicación",
|
||||||
"keyboard_shortcuts.favourite": "Marcar como favorita la publicación",
|
"keyboard_shortcuts.favourite": "Marcar como favorita la publicación",
|
||||||
"keyboard_shortcuts.favourites": "Abrir lista de favoritos",
|
"keyboard_shortcuts.favourites": "Abrir lista de favoritos",
|
||||||
|
@ -455,24 +455,24 @@
|
||||||
"keyboard_shortcuts.hotkey": "Tecla rápida",
|
"keyboard_shortcuts.hotkey": "Tecla rápida",
|
||||||
"keyboard_shortcuts.legend": "Mostrar esta leyenda",
|
"keyboard_shortcuts.legend": "Mostrar esta leyenda",
|
||||||
"keyboard_shortcuts.local": "Abrir cronología local",
|
"keyboard_shortcuts.local": "Abrir cronología local",
|
||||||
"keyboard_shortcuts.mention": "mencionar al autor",
|
"keyboard_shortcuts.mention": "Mencionar autor",
|
||||||
"keyboard_shortcuts.muted": "abrir la lista de usuarios silenciados",
|
"keyboard_shortcuts.muted": "Abrir lista de usuarios silenciados",
|
||||||
"keyboard_shortcuts.my_profile": "abrir tu perfil",
|
"keyboard_shortcuts.my_profile": "Abrir tu perfil",
|
||||||
"keyboard_shortcuts.notifications": "abrir la columna de notificaciones",
|
"keyboard_shortcuts.notifications": "Abrir columna de notificaciones",
|
||||||
"keyboard_shortcuts.open_media": "para abrir archivos multimedia",
|
"keyboard_shortcuts.open_media": "Abrir multimedia",
|
||||||
"keyboard_shortcuts.pinned": "Abrir la lista de publicaciones destacadas",
|
"keyboard_shortcuts.pinned": "Abrir la lista de publicaciones destacadas",
|
||||||
"keyboard_shortcuts.profile": "abrir el perfil del autor",
|
"keyboard_shortcuts.profile": "Abrir perfil del autor",
|
||||||
"keyboard_shortcuts.reply": "para responder",
|
"keyboard_shortcuts.reply": "Responder a una publicación",
|
||||||
"keyboard_shortcuts.requests": "abrir la lista de peticiones de seguidores",
|
"keyboard_shortcuts.requests": "Abrir lista de solicitudes de seguimiento",
|
||||||
"keyboard_shortcuts.search": "para poner el foco en la búsqueda",
|
"keyboard_shortcuts.search": "Focalizar barra de búsqueda",
|
||||||
"keyboard_shortcuts.spoilers": "para mostrar/ocultar el campo CW",
|
"keyboard_shortcuts.spoilers": "Mostrar/ocultar el campo de CW",
|
||||||
"keyboard_shortcuts.start": "abrir la columna \"comenzar\"",
|
"keyboard_shortcuts.start": "Abrir la columna \"comenzar\"",
|
||||||
"keyboard_shortcuts.toggle_hidden": "mostrar/ocultar texto tras aviso de contenido (CW)",
|
"keyboard_shortcuts.toggle_hidden": "Mostrar/ocultar texto tras aviso de contenido (CW)",
|
||||||
"keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar medios",
|
"keyboard_shortcuts.toggle_sensitivity": "Mostrar/ocultar multimedia",
|
||||||
"keyboard_shortcuts.toot": "Comienza una nueva publicación",
|
"keyboard_shortcuts.toot": "Comenzar una nueva publicación",
|
||||||
"keyboard_shortcuts.translate": "para traducir una publicación",
|
"keyboard_shortcuts.translate": "para traducir una publicación",
|
||||||
"keyboard_shortcuts.unfocus": "para retirar el foco de la caja de redacción/búsqueda",
|
"keyboard_shortcuts.unfocus": "Quitar el foco de la caja de redacción/búsqueda",
|
||||||
"keyboard_shortcuts.up": "para ir hacia arriba en la lista",
|
"keyboard_shortcuts.up": "Moverse hacia arriba en la lista",
|
||||||
"lightbox.close": "Cerrar",
|
"lightbox.close": "Cerrar",
|
||||||
"lightbox.next": "Siguiente",
|
"lightbox.next": "Siguiente",
|
||||||
"lightbox.previous": "Anterior",
|
"lightbox.previous": "Anterior",
|
||||||
|
@ -644,7 +644,7 @@
|
||||||
"notifications.grant_permission": "Conceder permiso.",
|
"notifications.grant_permission": "Conceder permiso.",
|
||||||
"notifications.group": "{count} notificaciones",
|
"notifications.group": "{count} notificaciones",
|
||||||
"notifications.mark_as_read": "Marcar todas las notificaciones como leídas",
|
"notifications.mark_as_read": "Marcar todas las notificaciones como leídas",
|
||||||
"notifications.permission_denied": "No se pueden habilitar las notificaciones de escritorio ya que se denegó el permiso.",
|
"notifications.permission_denied": "Las notificaciones de escritorio no están disponibles porque se denegó el permiso del navegador previamente",
|
||||||
"notifications.permission_denied_alert": "No se pueden habilitar las notificaciones de escritorio, ya que el permiso del navegador fue denegado anteriormente",
|
"notifications.permission_denied_alert": "No se pueden habilitar las notificaciones de escritorio, ya que el permiso del navegador fue denegado anteriormente",
|
||||||
"notifications.permission_required": "Las notificaciones de escritorio no están disponibles porque no se ha concedido el permiso requerido.",
|
"notifications.permission_required": "Las notificaciones de escritorio no están disponibles porque no se ha concedido el permiso requerido.",
|
||||||
"notifications.policy.accept": "Aceptar",
|
"notifications.policy.accept": "Aceptar",
|
||||||
|
@ -835,7 +835,7 @@
|
||||||
"status.media.open": "Pulsa para abrir",
|
"status.media.open": "Pulsa para abrir",
|
||||||
"status.media.show": "Pulsa para mostrar",
|
"status.media.show": "Pulsa para mostrar",
|
||||||
"status.media_hidden": "Contenido multimedia oculto",
|
"status.media_hidden": "Contenido multimedia oculto",
|
||||||
"status.mention": "Mencionar",
|
"status.mention": "Mencionar a @{name}",
|
||||||
"status.more": "Más",
|
"status.more": "Más",
|
||||||
"status.mute": "Silenciar @{name}",
|
"status.mute": "Silenciar @{name}",
|
||||||
"status.mute_conversation": "Silenciar conversación",
|
"status.mute_conversation": "Silenciar conversación",
|
||||||
|
@ -855,7 +855,7 @@
|
||||||
"status.replied_to": "Respondió a {name}",
|
"status.replied_to": "Respondió a {name}",
|
||||||
"status.reply": "Responder",
|
"status.reply": "Responder",
|
||||||
"status.replyAll": "Responder al hilo",
|
"status.replyAll": "Responder al hilo",
|
||||||
"status.report": "Reportar",
|
"status.report": "Reportar a @{name}",
|
||||||
"status.sensitive_warning": "Contenido sensible",
|
"status.sensitive_warning": "Contenido sensible",
|
||||||
"status.share": "Compartir",
|
"status.share": "Compartir",
|
||||||
"status.show_less_all": "Mostrar menos para todo",
|
"status.show_less_all": "Mostrar menos para todo",
|
||||||
|
@ -885,7 +885,7 @@
|
||||||
"units.short.million": "{count} M",
|
"units.short.million": "{count} M",
|
||||||
"units.short.thousand": "{count} K",
|
"units.short.thousand": "{count} K",
|
||||||
"upload_area.title": "Arrastra y suelta para subir",
|
"upload_area.title": "Arrastra y suelta para subir",
|
||||||
"upload_button.label": "Subir multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
"upload_button.label": "Añadir imágenes, un fichero de vídeo o de audio",
|
||||||
"upload_error.limit": "Límite de subida de archivos excedido.",
|
"upload_error.limit": "Límite de subida de archivos excedido.",
|
||||||
"upload_error.poll": "No se permite la subida de archivos con encuestas.",
|
"upload_error.poll": "No se permite la subida de archivos con encuestas.",
|
||||||
"upload_form.drag_and_drop.instructions": "Para recoger un archivo multimedia, pulsa la barra espaciadora o la tecla Enter. Mientras arrastras, utiliza las teclas de flecha para mover el archivo multimedia en cualquier dirección. Vuelve a pulsar la barra espaciadora o la tecla Enter para soltar el archivo multimedia en su nueva posición, o pulsa Escape para cancelar.",
|
"upload_form.drag_and_drop.instructions": "Para recoger un archivo multimedia, pulsa la barra espaciadora o la tecla Enter. Mientras arrastras, utiliza las teclas de flecha para mover el archivo multimedia en cualquier dirección. Vuelve a pulsar la barra espaciadora o la tecla Enter para soltar el archivo multimedia en su nueva posición, o pulsa Escape para cancelar.",
|
||||||
|
@ -894,7 +894,7 @@
|
||||||
"upload_form.drag_and_drop.on_drag_over": "El archivo adjunto {item} se ha movido.",
|
"upload_form.drag_and_drop.on_drag_over": "El archivo adjunto {item} se ha movido.",
|
||||||
"upload_form.drag_and_drop.on_drag_start": "Se ha recogido el archivo adjunto {item}.",
|
"upload_form.drag_and_drop.on_drag_start": "Se ha recogido el archivo adjunto {item}.",
|
||||||
"upload_form.edit": "Editar",
|
"upload_form.edit": "Editar",
|
||||||
"upload_progress.label": "Subiendo…",
|
"upload_progress.label": "Subiendo...",
|
||||||
"upload_progress.processing": "Procesando…",
|
"upload_progress.processing": "Procesando…",
|
||||||
"username.taken": "Ese nombre de usuario ya está en uso. Prueba con otro",
|
"username.taken": "Ese nombre de usuario ya está en uso. Prueba con otro",
|
||||||
"video.close": "Cerrar video",
|
"video.close": "Cerrar video",
|
||||||
|
|
|
@ -218,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Välju",
|
"confirmations.logout.confirm": "Välju",
|
||||||
"confirmations.logout.message": "Kas oled kindel, et soovid välja logida?",
|
"confirmations.logout.message": "Kas oled kindel, et soovid välja logida?",
|
||||||
"confirmations.logout.title": "Logida välja?",
|
"confirmations.logout.title": "Logida välja?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Lisa alt-tekst",
|
||||||
|
"confirmations.missing_alt_text.message": "Sinu postituses on ilma alt-tekstita meediat. Kirjelduse lisamine aitab su sisu muuta ligipääsetavaks rohkematele inimestele.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Postita siiski",
|
||||||
|
"confirmations.missing_alt_text.title": "Lisada alt-tekst?",
|
||||||
"confirmations.mute.confirm": "Vaigista",
|
"confirmations.mute.confirm": "Vaigista",
|
||||||
"confirmations.redraft.confirm": "Kustuta & taasalusta",
|
"confirmations.redraft.confirm": "Kustuta & taasalusta",
|
||||||
"confirmations.redraft.message": "Kindel, et soovid postituse kustutada ja võtta uue aluseks? Lemmikuks märkimised ja jagamised lähevad kaotsi ning vastused jäävad ilma algse postituseta.",
|
"confirmations.redraft.message": "Kindel, et soovid postituse kustutada ja võtta uue aluseks? Lemmikuks märkimised ja jagamised lähevad kaotsi ning vastused jäävad ilma algse postituseta.",
|
||||||
|
@ -553,8 +557,11 @@
|
||||||
"notification.admin.report_statuses_other": "{name} raporteeris kohast {target}",
|
"notification.admin.report_statuses_other": "{name} raporteeris kohast {target}",
|
||||||
"notification.admin.sign_up": "{name} registreerus",
|
"notification.admin.sign_up": "{name} registreerus",
|
||||||
"notification.admin.sign_up.name_and_others": "{name} ja {count, plural, one {# veel} other {# teist}} liitus",
|
"notification.admin.sign_up.name_and_others": "{name} ja {count, plural, one {# veel} other {# teist}} liitus",
|
||||||
|
"notification.annual_report.message": "Sinu {year} #Wrapstodon ootab! Avalda oma aasta tipphetked ja meeldejäävad hetked Mastodonis!",
|
||||||
|
"notification.annual_report.view": "Vaata #Wrapstodon",
|
||||||
"notification.favourite": "{name} märkis su postituse lemmikuks",
|
"notification.favourite": "{name} märkis su postituse lemmikuks",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} ja <a>{count, plural, one {# veel} other {# teist}}</a> märkis su postituse lemmikuks",
|
"notification.favourite.name_and_others_with_link": "{name} ja <a>{count, plural, one {# veel} other {# teist}}</a> märkis su postituse lemmikuks",
|
||||||
|
"notification.favourite_pm": "{name} märkis sinu privaatse mainimise lemmikuks",
|
||||||
"notification.follow": "{name} alustas su jälgimist",
|
"notification.follow": "{name} alustas su jälgimist",
|
||||||
"notification.follow.name_and_others": "{name} ja veel {count, plural, one {# kasutaja} other {# kasutajat}} hakkas sind jälgima",
|
"notification.follow.name_and_others": "{name} ja veel {count, plural, one {# kasutaja} other {# kasutajat}} hakkas sind jälgima",
|
||||||
"notification.follow_request": "{name} soovib sind jälgida",
|
"notification.follow_request": "{name} soovib sind jälgida",
|
||||||
|
|
|
@ -78,6 +78,7 @@
|
||||||
"alt_text_modal.done": "Immed",
|
"alt_text_modal.done": "Immed",
|
||||||
"announcement.announcement": "Ulɣu",
|
"announcement.announcement": "Ulɣu",
|
||||||
"annual_report.summary.most_used_hashtag.none": "Ula yiwen",
|
"annual_report.summary.most_used_hashtag.none": "Ula yiwen",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "tisuffaɣ timaynutin",
|
||||||
"audio.hide": "Ffer amesli",
|
"audio.hide": "Ffer amesli",
|
||||||
"block_modal.show_less": "Ssken-d drus",
|
"block_modal.show_less": "Ssken-d drus",
|
||||||
"block_modal.show_more": "Ssken-d ugar",
|
"block_modal.show_more": "Ssken-d ugar",
|
||||||
|
@ -123,6 +124,7 @@
|
||||||
"column_header.pin": "Senteḍ",
|
"column_header.pin": "Senteḍ",
|
||||||
"column_header.show_settings": "Ssken iɣewwaṛen",
|
"column_header.show_settings": "Ssken iɣewwaṛen",
|
||||||
"column_header.unpin": "Kkes asenteḍ",
|
"column_header.unpin": "Kkes asenteḍ",
|
||||||
|
"column_search.cancel": "Semmet",
|
||||||
"column_subheading.settings": "Iɣewwaṛen",
|
"column_subheading.settings": "Iɣewwaṛen",
|
||||||
"community.column_settings.local_only": "Adigan kan",
|
"community.column_settings.local_only": "Adigan kan",
|
||||||
"community.column_settings.media_only": "Imidyaten kan",
|
"community.column_settings.media_only": "Imidyaten kan",
|
||||||
|
@ -141,6 +143,7 @@
|
||||||
"compose_form.poll.duration": "Tanzagt n tefrant",
|
"compose_form.poll.duration": "Tanzagt n tefrant",
|
||||||
"compose_form.poll.multiple": "Aṭas n ufran",
|
"compose_form.poll.multiple": "Aṭas n ufran",
|
||||||
"compose_form.poll.option_placeholder": "Taxtiṛt {number}",
|
"compose_form.poll.option_placeholder": "Taxtiṛt {number}",
|
||||||
|
"compose_form.poll.single": "Yiwen wefran",
|
||||||
"compose_form.poll.type": "Aɣanib",
|
"compose_form.poll.type": "Aɣanib",
|
||||||
"compose_form.publish": "Suffeɣ",
|
"compose_form.publish": "Suffeɣ",
|
||||||
"compose_form.publish_form": "Tasuffeɣt tamaynut",
|
"compose_form.publish_form": "Tasuffeɣt tamaynut",
|
||||||
|
@ -162,6 +165,7 @@
|
||||||
"confirmations.logout.confirm": "Ffeɣ",
|
"confirmations.logout.confirm": "Ffeɣ",
|
||||||
"confirmations.logout.message": "D tidet tebɣiḍ ad teffɣeḍ?",
|
"confirmations.logout.message": "D tidet tebɣiḍ ad teffɣeḍ?",
|
||||||
"confirmations.logout.title": "Tebɣiḍ ad teffɣeḍ ssya?",
|
"confirmations.logout.title": "Tebɣiḍ ad teffɣeḍ ssya?",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Suffeɣ akken yebɣu yili",
|
||||||
"confirmations.mute.confirm": "Sgugem",
|
"confirmations.mute.confirm": "Sgugem",
|
||||||
"confirmations.redraft.confirm": "Kkes sakin ɛiwed tira",
|
"confirmations.redraft.confirm": "Kkes sakin ɛiwed tira",
|
||||||
"confirmations.reply.confirm": "Err",
|
"confirmations.reply.confirm": "Err",
|
||||||
|
@ -273,7 +277,7 @@
|
||||||
"hashtag.column_settings.tag_toggle": "Glu-d s yihacṭagen imerna i ujgu-agi",
|
"hashtag.column_settings.tag_toggle": "Glu-d s yihacṭagen imerna i ujgu-agi",
|
||||||
"hashtag.counter_by_accounts": "{count, plural, one {{counter} imtekki} other {{counter} n imtekkiyen}}",
|
"hashtag.counter_by_accounts": "{count, plural, one {{counter} imtekki} other {{counter} n imtekkiyen}}",
|
||||||
"hashtag.counter_by_uses": "{count, plural, one {{counter} n tsuffeɣt} other {{counter} n tsuffaɣ}}",
|
"hashtag.counter_by_uses": "{count, plural, one {{counter} n tsuffeɣt} other {{counter} n tsuffaɣ}}",
|
||||||
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} n tsuffeɣt} other {{counter} n tsuffaɣ}} assa",
|
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} n tsuffeɣt} other {{counter} n tsuffaɣ}} ass-a",
|
||||||
"hashtag.follow": "Ḍfeṛ ahacṭag",
|
"hashtag.follow": "Ḍfeṛ ahacṭag",
|
||||||
"hashtags.and_other": "…d {count, plural, one {}other {# nniḍen}}",
|
"hashtags.and_other": "…d {count, plural, one {}other {# nniḍen}}",
|
||||||
"hints.threads.replies_may_be_missing": "Tiririyin d-yusan deg iqeddacen nniḍen, yezmer ur d-ddant ara.",
|
"hints.threads.replies_may_be_missing": "Tiririyin d-yusan deg iqeddacen nniḍen, yezmer ur d-ddant ara.",
|
||||||
|
@ -284,10 +288,19 @@
|
||||||
"home.pending_critical_update.body": "Ma ulac aɣilif, leqqem aqeddac-ik Mastodon akken kan tzemreḍ !",
|
"home.pending_critical_update.body": "Ma ulac aɣilif, leqqem aqeddac-ik Mastodon akken kan tzemreḍ !",
|
||||||
"home.pending_critical_update.link": "Wali ileqman",
|
"home.pending_critical_update.link": "Wali ileqman",
|
||||||
"home.show_announcements": "Ssken-d ulɣuyen",
|
"home.show_announcements": "Ssken-d ulɣuyen",
|
||||||
|
"info_button.label": "Tallelt",
|
||||||
|
"interaction_modal.action.favourite": "I wakken ad tkemmleḍ, yessefk ad d-tḥemmleḍ seg umiḍan-ik·im.",
|
||||||
|
"interaction_modal.action.follow": "I wakken ad tkemmleḍ, yessefk ad d-tḍefreḍ seg umiḍan-ik·im.",
|
||||||
|
"interaction_modal.action.reblog": "I wakken ad tkemmleḍ, yessefk ad d-snernuḍ seg umiḍan-ik·im.",
|
||||||
|
"interaction_modal.action.reply": "I wakken ad tkemmleḍ, yessefk ad d-terreḍ seg umiḍan-ik·im.",
|
||||||
|
"interaction_modal.action.vote": "I wakken ad tkemmleḍ, yessefk ad d-tferneḍ seg umiḍan-ik·im.",
|
||||||
|
"interaction_modal.go": "Ddu",
|
||||||
|
"interaction_modal.no_account_yet": "Werɛad ur tesɛid amiḍan?",
|
||||||
"interaction_modal.on_another_server": "Deg uqeddac nniḍen",
|
"interaction_modal.on_another_server": "Deg uqeddac nniḍen",
|
||||||
"interaction_modal.on_this_server": "Deg uqeddac-ayi",
|
"interaction_modal.on_this_server": "Deg uqeddac-ayi",
|
||||||
"interaction_modal.title.follow": "Ḍfer {name}",
|
"interaction_modal.title.follow": "Ḍfer {name}",
|
||||||
"interaction_modal.title.reply": "Tiririt i tsuffeɣt n {name}",
|
"interaction_modal.title.reply": "Tiririt i tsuffeɣt n {name}",
|
||||||
|
"interaction_modal.username_prompt": "Amedya: {example}",
|
||||||
"intervals.full.days": "{number, plural, one {# wass} other {# wussan}}",
|
"intervals.full.days": "{number, plural, one {# wass} other {# wussan}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# usarag} other {# yisragen}}",
|
"intervals.full.hours": "{number, plural, one {# usarag} other {# yisragen}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# n tesdat} other {# n tesdatin}}",
|
"intervals.full.minutes": "{number, plural, one {# n tesdat} other {# n tesdatin}}",
|
||||||
|
@ -436,6 +449,7 @@
|
||||||
"notifications.mark_as_read": "Creḍ meṛṛa alɣuten am wakken ttwaɣran",
|
"notifications.mark_as_read": "Creḍ meṛṛa alɣuten am wakken ttwaɣran",
|
||||||
"notifications.permission_denied": "D awezɣi ad yili wermad n walɣuten n tnarit axateṛ turagt tettwagdel",
|
"notifications.permission_denied": "D awezɣi ad yili wermad n walɣuten n tnarit axateṛ turagt tettwagdel",
|
||||||
"notifications.policy.drop": "Anef-as",
|
"notifications.policy.drop": "Anef-as",
|
||||||
|
"notifications.policy.filter": "Sizdeg",
|
||||||
"notifications.policy.filter_new_accounts.hint": "Imiḍanen imaynuten i d-yennulfan deg {days, plural, one {yiwen n wass} other {# n wussan}} yezrin",
|
"notifications.policy.filter_new_accounts.hint": "Imiḍanen imaynuten i d-yennulfan deg {days, plural, one {yiwen n wass} other {# n wussan}} yezrin",
|
||||||
"notifications.policy.filter_new_accounts_title": "Imiḍan imaynuten",
|
"notifications.policy.filter_new_accounts_title": "Imiḍan imaynuten",
|
||||||
"notifications.policy.filter_not_followers_hint": "Ula d wid akked tid i k·m-id-iḍefren, ur wwiḍen ara {days, plural, one {yiwen wass} other {# wussan}}",
|
"notifications.policy.filter_not_followers_hint": "Ula d wid akked tid i k·m-id-iḍefren, ur wwiḍen ara {days, plural, one {yiwen wass} other {# wussan}}",
|
||||||
|
@ -485,7 +499,7 @@
|
||||||
"relative_time.just_now": "tura",
|
"relative_time.just_now": "tura",
|
||||||
"relative_time.minutes": "{number}tis",
|
"relative_time.minutes": "{number}tis",
|
||||||
"relative_time.seconds": "{number}tas",
|
"relative_time.seconds": "{number}tas",
|
||||||
"relative_time.today": "assa",
|
"relative_time.today": "ass-a",
|
||||||
"reply_indicator.cancel": "Sefsex",
|
"reply_indicator.cancel": "Sefsex",
|
||||||
"reply_indicator.poll": "Afmiḍi",
|
"reply_indicator.poll": "Afmiḍi",
|
||||||
"report.block": "Sewḥel",
|
"report.block": "Sewḥel",
|
||||||
|
@ -535,6 +549,7 @@
|
||||||
"search.quick_action.status_search": "Tisuffaɣ mṣadan d {x}",
|
"search.quick_action.status_search": "Tisuffaɣ mṣadan d {x}",
|
||||||
"search.search_or_paste": "Nadi neɣ senṭeḍ URL",
|
"search.search_or_paste": "Nadi neɣ senṭeḍ URL",
|
||||||
"search_popout.full_text_search_disabled_message": "Ur yelli ara deg {domain}.",
|
"search_popout.full_text_search_disabled_message": "Ur yelli ara deg {domain}.",
|
||||||
|
"search_popout.full_text_search_logged_out_message": "Yella kan mi ara tiliḍ d uqqin.",
|
||||||
"search_popout.language_code": "Tangalt ISO n tutlayt",
|
"search_popout.language_code": "Tangalt ISO n tutlayt",
|
||||||
"search_popout.options": "Iwellihen n unadi",
|
"search_popout.options": "Iwellihen n unadi",
|
||||||
"search_popout.quick_actions": "Tigawin tiruradin",
|
"search_popout.quick_actions": "Tigawin tiruradin",
|
||||||
|
@ -546,6 +561,7 @@
|
||||||
"search_results.no_results": "Ulac igemmaḍ.",
|
"search_results.no_results": "Ulac igemmaḍ.",
|
||||||
"search_results.see_all": "Wali-ten akk",
|
"search_results.see_all": "Wali-ten akk",
|
||||||
"search_results.statuses": "Tisuffaɣ",
|
"search_results.statuses": "Tisuffaɣ",
|
||||||
|
"search_results.title": "Igemmaḍ n unadi ɣef \"{q}\"",
|
||||||
"server_banner.active_users": "iseqdacen urmiden",
|
"server_banner.active_users": "iseqdacen urmiden",
|
||||||
"server_banner.administered_by": "Yettwadbel sɣur :",
|
"server_banner.administered_by": "Yettwadbel sɣur :",
|
||||||
"server_banner.server_stats": "Tidaddanin n uqeddac:",
|
"server_banner.server_stats": "Tidaddanin n uqeddac:",
|
||||||
|
|
|
@ -233,8 +233,46 @@
|
||||||
"confirmations.unfollow.message": "Lí kám確定無愛跟tuè {name}?",
|
"confirmations.unfollow.message": "Lí kám確定無愛跟tuè {name}?",
|
||||||
"confirmations.unfollow.title": "Kám beh取消跟tuè tsit ê用者?",
|
"confirmations.unfollow.title": "Kám beh取消跟tuè tsit ê用者?",
|
||||||
"content_warning.hide": "Am-khàm PO文",
|
"content_warning.hide": "Am-khàm PO文",
|
||||||
|
"content_warning.show": "Mā tio̍h顯示",
|
||||||
|
"content_warning.show_more": "其他內容",
|
||||||
|
"conversation.delete": "Thâi掉會話",
|
||||||
|
"conversation.mark_as_read": "標做有讀",
|
||||||
|
"conversation.open": "顯示會話",
|
||||||
|
"conversation.with": "Kap {names}",
|
||||||
|
"copy_icon_button.copied": "有khóo-pih kàu tsián貼pang",
|
||||||
|
"copypaste.copied": "有khóo-pih",
|
||||||
|
"copypaste.copy_to_clipboard": "Khóo-pih kàu tsián貼pang",
|
||||||
|
"directory.federated": "Uì知影ê Fediverse",
|
||||||
|
"directory.local": "Kan-ta uì {domain}",
|
||||||
|
"directory.new_arrivals": "新來ê",
|
||||||
|
"directory.recently_active": "最近活動ê",
|
||||||
|
"disabled_account_banner.account_settings": "口座ê設定",
|
||||||
|
"disabled_account_banner.text": "Lí ê口座 {disabledAccount} tsit-má hōo lâng停止使用。",
|
||||||
|
"dismissable_banner.community_timeline": "Tsia sī uì 口座hē tī {domain} ê lâng,最近所公開PO ê。",
|
||||||
|
"dismissable_banner.dismiss": "Mài kā tshah",
|
||||||
|
"domain_block_modal.block": "封鎖服侍器",
|
||||||
|
"domain_block_modal.block_account_instead": "改做封鎖 @{name}",
|
||||||
|
"domain_block_modal.they_can_interact_with_old_posts": "Uì tsit ê服侍器來ê,通kap lí khah早ê PO交流。",
|
||||||
|
"embed.preview": "伊e án-ne顯示:\n",
|
||||||
|
"emoji_button.activity": "活動",
|
||||||
|
"emoji_button.clear": "清掉",
|
||||||
|
"emoji_button.custom": "自訂ê",
|
||||||
|
"emoji_button.flags": "旗á",
|
||||||
|
"emoji_button.food": "Tsia̍h-mi̍h kap 飲料",
|
||||||
"emoji_button.label": "加入繪文字(emoji)",
|
"emoji_button.label": "加入繪文字(emoji)",
|
||||||
"emoji_button.nature": "自然",
|
"emoji_button.nature": "自然",
|
||||||
|
"emoji_button.not_found": "Tshuē無對應ê emoji",
|
||||||
|
"emoji_button.objects": "物件",
|
||||||
|
"emoji_button.people": "Lâng",
|
||||||
|
"emoji_button.recent": "Tsia̍p用ê",
|
||||||
|
"emoji_button.search": "Tshiau-tshuē……",
|
||||||
|
"emoji_button.search_results": "Tshiau-tshuē ê結果",
|
||||||
|
"emoji_button.symbols": "符號",
|
||||||
|
"emoji_button.travel": "旅行kap地點",
|
||||||
|
"empty_column.account_hides_collections": "Tsit位用者選擇無愛公開tsit ê資訊",
|
||||||
|
"empty_column.account_suspended": "口座已經受停止",
|
||||||
|
"empty_column.account_timeline": "Tsia無PO文!",
|
||||||
|
"empty_column.account_unavailable": "個人資料bē當看",
|
||||||
"notification.favourite_pm": "{name} kah意lí ê私人提起",
|
"notification.favourite_pm": "{name} kah意lí ê私人提起",
|
||||||
"notification.favourite_pm.name_and_others_with_link": "{name} kap<a>{count, plural, other {另外 # ê lâng}}</a>kah意lí ê私人提起",
|
"notification.favourite_pm.name_and_others_with_link": "{name} kap<a>{count, plural, other {另外 # ê lâng}}</a>kah意lí ê私人提起",
|
||||||
"search_popout.language_code": "ISO語言代碼",
|
"search_popout.language_code": "ISO語言代碼",
|
||||||
|
|
|
@ -117,6 +117,8 @@
|
||||||
"compose_form.publish_form": "नयाँ पोस्ट",
|
"compose_form.publish_form": "नयाँ पोस्ट",
|
||||||
"compose_form.reply": "जवाफ दिनुहोस्",
|
"compose_form.reply": "जवाफ दिनुहोस्",
|
||||||
"compose_form.save_changes": "अपडेट गर्नुहोस्",
|
"compose_form.save_changes": "अपडेट गर्नुहोस्",
|
||||||
|
"confirmation_modal.cancel": "रद्द गर्नुहोस्",
|
||||||
|
"confirmations.block.confirm": "ब्लक गर्नुहोस्",
|
||||||
"confirmations.delete.message": "के तपाइँ पक्का हुनुहुन्छ कि तपाईं यो पोष्ट मेटाउन चाहनुहुन्छ?",
|
"confirmations.delete.message": "के तपाइँ पक्का हुनुहुन्छ कि तपाईं यो पोष्ट मेटाउन चाहनुहुन्छ?",
|
||||||
"confirmations.delete.title": "पोस्ट मेटाउने?",
|
"confirmations.delete.title": "पोस्ट मेटाउने?",
|
||||||
"confirmations.delete_list.message": "के तपाइँ पक्का हुनुहुन्छ कि तपाईं यो सूची स्थायी रूपमा मेटाउन चाहनुहुन्छ?",
|
"confirmations.delete_list.message": "के तपाइँ पक्का हुनुहुन्छ कि तपाईं यो सूची स्थायी रूपमा मेटाउन चाहनुहुन्छ?",
|
||||||
|
@ -129,7 +131,10 @@
|
||||||
"confirmations.follow_to_list.title": "प्रयोगकर्तालाई फलो गर्ने?",
|
"confirmations.follow_to_list.title": "प्रयोगकर्तालाई फलो गर्ने?",
|
||||||
"confirmations.logout.message": "के तपाइँ पक्का हुनुहुन्छ कि तपाइँ लाई लग आउट गर्न चाहनुहुन्छ?",
|
"confirmations.logout.message": "के तपाइँ पक्का हुनुहुन्छ कि तपाइँ लाई लग आउट गर्न चाहनुहुन्छ?",
|
||||||
"confirmations.logout.title": "लग आउट गर्ने?",
|
"confirmations.logout.title": "लग आउट गर्ने?",
|
||||||
|
"confirmations.mute.confirm": "म्यूट गर्नुहोस्",
|
||||||
|
"confirmations.redraft.confirm": "मेटाएर पुन: ड्राफ्ट गर्नुहोस्",
|
||||||
"confirmations.redraft.title": "पोस्ट मेटाएर पुन: ड्राफ्ट गर्ने?",
|
"confirmations.redraft.title": "पोस्ट मेटाएर पुन: ड्राफ्ट गर्ने?",
|
||||||
|
"confirmations.reply.confirm": "जवाफ दिनुहोस्",
|
||||||
"confirmations.reply.message": "अहिले जवाफ दिनाले तपाईंले हाल लेखिरहनुभएको सन्देश अधिलेखन हुनेछ। के तपाईं अगाडि बढ्न चाहनुहुन्छ?",
|
"confirmations.reply.message": "अहिले जवाफ दिनाले तपाईंले हाल लेखिरहनुभएको सन्देश अधिलेखन हुनेछ। के तपाईं अगाडि बढ्न चाहनुहुन्छ?",
|
||||||
"confirmations.reply.title": "पोस्ट अधिलेखन गर्ने?",
|
"confirmations.reply.title": "पोस्ट अधिलेखन गर्ने?",
|
||||||
"confirmations.unfollow.confirm": "अनफलो गर्नुहोस्",
|
"confirmations.unfollow.confirm": "अनफलो गर्नुहोस्",
|
||||||
|
|
|
@ -86,6 +86,13 @@
|
||||||
"alert.unexpected.message": "Det oppstod eit uventa problem.",
|
"alert.unexpected.message": "Det oppstod eit uventa problem.",
|
||||||
"alert.unexpected.title": "Oi sann!",
|
"alert.unexpected.title": "Oi sann!",
|
||||||
"alt_text_badge.title": "Alternativ tekst",
|
"alt_text_badge.title": "Alternativ tekst",
|
||||||
|
"alt_text_modal.add_alt_text": "Legg til alternativ tekst",
|
||||||
|
"alt_text_modal.add_text_from_image": "Legg til tekst frå biletet",
|
||||||
|
"alt_text_modal.cancel": "Avbryt",
|
||||||
|
"alt_text_modal.change_thumbnail": "Endre miniatyrbilete",
|
||||||
|
"alt_text_modal.describe_for_people_with_hearing_impairments": "Skriv ei skildring for menneske med høyrselsnedsetjingar…",
|
||||||
|
"alt_text_modal.describe_for_people_with_visual_impairments": "Skriv ei skildring for menneske med synsnedsetjingar…",
|
||||||
|
"alt_text_modal.done": "Ferdig",
|
||||||
"announcement.announcement": "Kunngjering",
|
"announcement.announcement": "Kunngjering",
|
||||||
"annual_report.summary.archetype.booster": "Den som jaktar på noko kult",
|
"annual_report.summary.archetype.booster": "Den som jaktar på noko kult",
|
||||||
"annual_report.summary.archetype.lurker": "Den som heng på hjørnet",
|
"annual_report.summary.archetype.lurker": "Den som heng på hjørnet",
|
||||||
|
@ -411,6 +418,8 @@
|
||||||
"ignore_notifications_modal.not_followers_title": "Oversjå varsel frå folk som ikkje fylgjer deg?",
|
"ignore_notifications_modal.not_followers_title": "Oversjå varsel frå folk som ikkje fylgjer deg?",
|
||||||
"ignore_notifications_modal.not_following_title": "Oversjå varsel frå folk du ikkje fylgjer?",
|
"ignore_notifications_modal.not_following_title": "Oversjå varsel frå folk du ikkje fylgjer?",
|
||||||
"ignore_notifications_modal.private_mentions_title": "Oversjå varsel frå masseutsende private omtaler?",
|
"ignore_notifications_modal.private_mentions_title": "Oversjå varsel frå masseutsende private omtaler?",
|
||||||
|
"info_button.label": "Hjelp",
|
||||||
|
"info_button.what_is_alt_text": "<h1>Kva er alternativ tekst?</h1> <p>Alternativ eller skildrande tekst gjev ei skildring av biletet for menneske som har synsvanskar, sein nettilkopling eller dei som ser etter ekstra innhald.</p> <p>Du gjer innhaldet ditt meir tilgjengeleg og forståeleg for alle ved å skriva klåre, presise og nøytrale alt-tekstar.</p> <ul> <li>Skriv om viktige element</li> <li>Oppsummer tekst i bilete</li> <li>Skriv vanlege setningar</li> <li>Unngå unyttige opplysingar</li> <li>Legg vekt på hovudpunkta i innhaldsrike visuelle element, som grafar eller kart</li> </ul>",
|
||||||
"interaction_modal.action.favourite": "Du må favorittmerka frå kontoen din for å halda fram.",
|
"interaction_modal.action.favourite": "Du må favorittmerka frå kontoen din for å halda fram.",
|
||||||
"interaction_modal.action.follow": "Du må fylgja frå kontoen din for å halda fram.",
|
"interaction_modal.action.follow": "Du må fylgja frå kontoen din for å halda fram.",
|
||||||
"interaction_modal.action.reblog": "Du må framheva frå kontoen din for å halda fram.",
|
"interaction_modal.action.reblog": "Du må framheva frå kontoen din for å halda fram.",
|
||||||
|
|
|
@ -86,6 +86,13 @@
|
||||||
"alert.unexpected.message": "Ocorreu um erro inesperado.",
|
"alert.unexpected.message": "Ocorreu um erro inesperado.",
|
||||||
"alert.unexpected.title": "Eita!",
|
"alert.unexpected.title": "Eita!",
|
||||||
"alt_text_badge.title": "Texto alternativo",
|
"alt_text_badge.title": "Texto alternativo",
|
||||||
|
"alt_text_modal.add_alt_text": "Adicione texto alternativo",
|
||||||
|
"alt_text_modal.add_text_from_image": "Adicione texto da imagem",
|
||||||
|
"alt_text_modal.cancel": "Cancelar",
|
||||||
|
"alt_text_modal.change_thumbnail": "Alterar miniatura",
|
||||||
|
"alt_text_modal.describe_for_people_with_hearing_impairments": "…Descreva isso para pessoas com deficiências auditivas.…",
|
||||||
|
"alt_text_modal.describe_for_people_with_visual_impairments": "Descreva isso para pessoas com deficiências visuais…",
|
||||||
|
"alt_text_modal.done": "Feito",
|
||||||
"announcement.announcement": "Comunicados",
|
"announcement.announcement": "Comunicados",
|
||||||
"annual_report.summary.archetype.booster": "Caçador legal",
|
"annual_report.summary.archetype.booster": "Caçador legal",
|
||||||
"annual_report.summary.archetype.lurker": "O espreitador",
|
"annual_report.summary.archetype.lurker": "O espreitador",
|
||||||
|
@ -211,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Sair",
|
"confirmations.logout.confirm": "Sair",
|
||||||
"confirmations.logout.message": "Você tem certeza de que deseja sair?",
|
"confirmations.logout.message": "Você tem certeza de que deseja sair?",
|
||||||
"confirmations.logout.title": "Sair da sessão?",
|
"confirmations.logout.title": "Sair da sessão?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Adicione texto alternativo",
|
||||||
|
"confirmations.missing_alt_text.message": "Seu post contém mídia sem texto alternativo. Adicionar descrições ajuda a tornar seu conteúdo acessível para mais pessoas.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Postar mesmo assim",
|
||||||
|
"confirmations.missing_alt_text.title": "Adicionar texto alternativo?",
|
||||||
"confirmations.mute.confirm": "Silenciar",
|
"confirmations.mute.confirm": "Silenciar",
|
||||||
"confirmations.redraft.confirm": "Excluir e rascunhar",
|
"confirmations.redraft.confirm": "Excluir e rascunhar",
|
||||||
"confirmations.redraft.message": "Você tem certeza de que quer apagar essa postagem e rascunhá-la? Favoritos e impulsos serão perdidos, e respostas à postagem original ficarão órfãs.",
|
"confirmations.redraft.message": "Você tem certeza de que quer apagar essa postagem e rascunhá-la? Favoritos e impulsos serão perdidos, e respostas à postagem original ficarão órfãs.",
|
||||||
|
@ -407,6 +418,8 @@
|
||||||
"ignore_notifications_modal.not_followers_title": "Ignorar notificações de pessoas que não seguem você?",
|
"ignore_notifications_modal.not_followers_title": "Ignorar notificações de pessoas que não seguem você?",
|
||||||
"ignore_notifications_modal.not_following_title": "Ignorar notificações de pessoas que você não segue?",
|
"ignore_notifications_modal.not_following_title": "Ignorar notificações de pessoas que você não segue?",
|
||||||
"ignore_notifications_modal.private_mentions_title": "Ignorar notificações de menções privadas não solicitadas?",
|
"ignore_notifications_modal.private_mentions_title": "Ignorar notificações de menções privadas não solicitadas?",
|
||||||
|
"info_button.label": "Ajuda",
|
||||||
|
"info_button.what_is_alt_text": "<h1>O que é texto alternativo?</h1><p>O texto alternativo fornece descrições de imagens para pessoas com deficiências visuais, conexões de internet de baixa largura de banda ou aquelas que buscam mais contexto.</p><p>Você pode melhorar a acessibilidade e a compreensão para todos escrevendo texto alternativo claro, conciso e objetivo.</p> <ul> <li>Capture elementos importantes</li> <li>Resuma textos em imagens</li> <li>Use estrutura de frases regular</li> <li>Evite informações redundantes</li> <li>Foque em tendências e descobertas principais em visuais complexos (como diagramas ou mapas)</li> </ul>",
|
||||||
"interaction_modal.action.favourite": "Para continuar, você precisa favoritar na sua conta.",
|
"interaction_modal.action.favourite": "Para continuar, você precisa favoritar na sua conta.",
|
||||||
"interaction_modal.action.follow": "Para continuar, você precisa seguir da sua conta.",
|
"interaction_modal.action.follow": "Para continuar, você precisa seguir da sua conta.",
|
||||||
"interaction_modal.action.reblog": "Para continuar, você precisa impulsionar na sua conta.",
|
"interaction_modal.action.reblog": "Para continuar, você precisa impulsionar na sua conta.",
|
||||||
|
@ -457,6 +470,7 @@
|
||||||
"keyboard_shortcuts.toggle_hidden": "expandir/ocultar aviso de conteúdo",
|
"keyboard_shortcuts.toggle_hidden": "expandir/ocultar aviso de conteúdo",
|
||||||
"keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar mídia",
|
"keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar mídia",
|
||||||
"keyboard_shortcuts.toot": "compor novo toot",
|
"keyboard_shortcuts.toot": "compor novo toot",
|
||||||
|
"keyboard_shortcuts.translate": "Para traduzir um post",
|
||||||
"keyboard_shortcuts.unfocus": "desfocar de tudo",
|
"keyboard_shortcuts.unfocus": "desfocar de tudo",
|
||||||
"keyboard_shortcuts.up": "mover para cima",
|
"keyboard_shortcuts.up": "mover para cima",
|
||||||
"lightbox.close": "Fechar",
|
"lightbox.close": "Fechar",
|
||||||
|
@ -836,6 +850,7 @@
|
||||||
"status.reblogs.empty": "Nada aqui. Quando alguém der boost, o usuário aparecerá aqui.",
|
"status.reblogs.empty": "Nada aqui. Quando alguém der boost, o usuário aparecerá aqui.",
|
||||||
"status.redraft": "Excluir e rascunhar",
|
"status.redraft": "Excluir e rascunhar",
|
||||||
"status.remove_bookmark": "Remover do Salvos",
|
"status.remove_bookmark": "Remover do Salvos",
|
||||||
|
"status.remove_favourite": "Remover dos favoritos",
|
||||||
"status.replied_in_thread": "Respondido na conversa",
|
"status.replied_in_thread": "Respondido na conversa",
|
||||||
"status.replied_to": "Em resposta a {name}",
|
"status.replied_to": "Em resposta a {name}",
|
||||||
"status.reply": "Responder",
|
"status.reply": "Responder",
|
||||||
|
|
|
@ -207,8 +207,8 @@
|
||||||
"confirmations.delete_list.confirm": "Удалить",
|
"confirmations.delete_list.confirm": "Удалить",
|
||||||
"confirmations.delete_list.message": "Вы действительно хотите навсегда удалить этот список?",
|
"confirmations.delete_list.message": "Вы действительно хотите навсегда удалить этот список?",
|
||||||
"confirmations.delete_list.title": "Удалить список?",
|
"confirmations.delete_list.title": "Удалить список?",
|
||||||
"confirmations.discard_edit_media.confirm": "Отменить",
|
"confirmations.discard_edit_media.confirm": "Сбросить",
|
||||||
"confirmations.discard_edit_media.message": "У вас имеются несохранённые изменения превью и описания медиафайла, отменить их?",
|
"confirmations.discard_edit_media.message": "У вас есть несохранённые изменения в описании мультимедиа или предпросмотре, сбросить их?",
|
||||||
"confirmations.edit.confirm": "Редактировать",
|
"confirmations.edit.confirm": "Редактировать",
|
||||||
"confirmations.edit.message": "При редактировании, текст набираемого поста будет очищен. Продолжить?",
|
"confirmations.edit.message": "При редактировании, текст набираемого поста будет очищен. Продолжить?",
|
||||||
"confirmations.edit.title": "Переписать сообщение?",
|
"confirmations.edit.title": "Переписать сообщение?",
|
||||||
|
|
|
@ -736,6 +736,7 @@
|
||||||
"server_banner.is_one_of_many": "{domain} je jeden z mnohých nezávislých Mastodon serverov, ktoré môžeš použiť na zúčastňovanie sa v rámci fediversa.",
|
"server_banner.is_one_of_many": "{domain} je jeden z mnohých nezávislých Mastodon serverov, ktoré môžeš použiť na zúčastňovanie sa v rámci fediversa.",
|
||||||
"server_banner.server_stats": "Štatistiky servera:",
|
"server_banner.server_stats": "Štatistiky servera:",
|
||||||
"sign_in_banner.create_account": "Vytvoriť účet",
|
"sign_in_banner.create_account": "Vytvoriť účet",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon je najlepšia cesta ako udržať krok s tým, čo sa deje.",
|
||||||
"sign_in_banner.sign_in": "Prihlásiť sa",
|
"sign_in_banner.sign_in": "Prihlásiť sa",
|
||||||
"sign_in_banner.sso_redirect": "Prihlásenie alebo registrácia",
|
"sign_in_banner.sso_redirect": "Prihlásenie alebo registrácia",
|
||||||
"status.admin_account": "Moderovať @{name}",
|
"status.admin_account": "Moderovať @{name}",
|
||||||
|
|
|
@ -252,7 +252,7 @@
|
||||||
"dismissable_banner.dismiss": "Відхилити",
|
"dismissable_banner.dismiss": "Відхилити",
|
||||||
"dismissable_banner.explore_links": "Ці новини сьогодні найбільше поширюють у fediverse. Свіжіші новини, опубліковані більшою кількістю різних людей, оцінюються вище.",
|
"dismissable_banner.explore_links": "Ці новини сьогодні найбільше поширюють у fediverse. Свіжіші новини, опубліковані більшою кількістю різних людей, оцінюються вище.",
|
||||||
"dismissable_banner.explore_statuses": "Ці дописи з усього fediverse сьогодні набирають популярності. Новіші дописи з більшою кількістю посилень і додавань у вибрані мають вищий рейтинг.",
|
"dismissable_banner.explore_statuses": "Ці дописи з усього fediverse сьогодні набирають популярності. Новіші дописи з більшою кількістю посилень і додавань у вибрані мають вищий рейтинг.",
|
||||||
"dismissable_banner.explore_tags": "Ці гештеґи сьогодні набувають популярності у fediverse. Гештеґи, якими користується більше людей, займають вищі позиції.",
|
"dismissable_banner.explore_tags": "Ці хештеги сьогодні набувають популярності у fediverse. Хештеги, якими користується більше людей, займають вищі позиції.",
|
||||||
"dismissable_banner.public_timeline": "Це найновіші загальнодоступні дописи від людей у федіверсі, на яких підписані люди в {domain}.",
|
"dismissable_banner.public_timeline": "Це найновіші загальнодоступні дописи від людей у федіверсі, на яких підписані люди в {domain}.",
|
||||||
"domain_block_modal.block": "Блокувати сервер",
|
"domain_block_modal.block": "Блокувати сервер",
|
||||||
"domain_block_modal.block_account_instead": "Блокувати @{name} натомість",
|
"domain_block_modal.block_account_instead": "Блокувати @{name} натомість",
|
||||||
|
|
|
@ -296,7 +296,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
|
||||||
nil
|
nil
|
||||||
end
|
end
|
||||||
|
|
||||||
@status.mentions.upsert_all(currently_mentioned_account_ids.map { |id| { account_id: id, silent: false } }, unique_by: %w(status_id account_id))
|
@status.mentions.upsert_all(currently_mentioned_account_ids.uniq.map { |id| { account_id: id, silent: false } }, unique_by: %w(status_id account_id))
|
||||||
|
|
||||||
# If previous mentions are no longer contained in the text, convert them
|
# If previous mentions are no longer contained in the text, convert them
|
||||||
# to silent mentions, since withdrawing access from someone who already
|
# to silent mentions, since withdrawing access from someone who already
|
||||||
|
|
|
@ -50,10 +50,14 @@ class BlockDomainService < BaseService
|
||||||
def notify_of_severed_relationships!
|
def notify_of_severed_relationships!
|
||||||
return if @domain_block_event.nil?
|
return if @domain_block_event.nil?
|
||||||
|
|
||||||
# TODO: check how efficient that query is, also check `push_bulk`/`perform_bulk`
|
# find_in_batches and perform_bulk both default to batches of 1000
|
||||||
@domain_block_event.affected_local_accounts.reorder(nil).find_each do |account|
|
@domain_block_event.affected_local_accounts.reorder(nil).find_in_batches do |accounts|
|
||||||
event = AccountRelationshipSeveranceEvent.create!(account: account, relationship_severance_event: @domain_block_event)
|
notification_jobs_args = accounts.map do |account|
|
||||||
LocalNotificationWorker.perform_async(account.id, event.id, 'AccountRelationshipSeveranceEvent', 'severed_relationships')
|
event = AccountRelationshipSeveranceEvent.create!(account:, relationship_severance_event: @domain_block_event)
|
||||||
|
[account.id, event.id, 'AccountRelationshipSeveranceEvent', 'severed_relationships']
|
||||||
|
end
|
||||||
|
|
||||||
|
LocalNotificationWorker.perform_bulk(notification_jobs_args)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,8 @@ ja:
|
||||||
models:
|
models:
|
||||||
account:
|
account:
|
||||||
attributes:
|
attributes:
|
||||||
|
fields:
|
||||||
|
fields_with_values_missing_labels: プロフィール補足情報にラベルが入力されていないものがあります
|
||||||
username:
|
username:
|
||||||
invalid: アルファベット・数字・アンダーバーの組み合わせで入力してください
|
invalid: アルファベット・数字・アンダーバーの組み合わせで入力してください
|
||||||
reserved: は予約されています
|
reserved: は予約されています
|
||||||
|
|
|
@ -23,6 +23,8 @@ pt-BR:
|
||||||
models:
|
models:
|
||||||
account:
|
account:
|
||||||
attributes:
|
attributes:
|
||||||
|
fields:
|
||||||
|
fields_with_values_missing_labels: contém valores sem rótulos
|
||||||
username:
|
username:
|
||||||
invalid: apenas letras, números e underlines ( "_" )
|
invalid: apenas letras, números e underlines ( "_" )
|
||||||
reserved: já existe
|
reserved: já existe
|
||||||
|
|
|
@ -88,8 +88,8 @@ kab:
|
||||||
success: Asesṭeb idda akken iwata seg umiḍan %{kind}.
|
success: Asesṭeb idda akken iwata seg umiḍan %{kind}.
|
||||||
passwords:
|
passwords:
|
||||||
no_token: Ur tezmireḍ ara ad tkecmeḍ ɣer usebter-a war ma tusiḍ-d seg imayl n uwennez n wawal uffir. ma syin i d-tusiḍ, wali ma tesqedceḍ tansa URL i d ak·am-d-nuzen.
|
no_token: Ur tezmireḍ ara ad tkecmeḍ ɣer usebter-a war ma tusiḍ-d seg imayl n uwennez n wawal uffir. ma syin i d-tusiḍ, wali ma tesqedceḍ tansa URL i d ak·am-d-nuzen.
|
||||||
send_instructions: Ma nufa tansa-inek imayl tella deg uzadur-nneγ n yisefka, ad n-teṭṭfeḍ izen deg kra n tesdatin, deg-s assaγ i uɛawed n wawal uffir. Ma ur k-in-yewwiḍ ara yizen, ttxil-k ẓer deg ukaram spam.
|
send_instructions: Ma nufa tansa-inek·inem imayl tella deg uzadur-nneɣ n yisefka, ad n-teṭṭfeḍ izen deg kra n tesdatin, deg-s assaɣ i uɛawed n wawal uffir. Ma ur k-in-yewwiḍ ara yizen, ttxil-k·m ẓer deg ukaram yespamen.
|
||||||
send_paranoid_instructions: Ma nufa tansa-inek imayl tella deg uzadur-nneγ n yisefka, ad n-teṭṭfeḍ izen deg kra n tesdatin, deg-s assaγ i uɛawed n wawal uffir. Ma ur k-in-yewwiḍ ara yizen, ttxil-k ẓer deg ukaram spam.
|
send_paranoid_instructions: Ma nufa tansa-inek·inem imayl tella deg uzadur-nneɣ n yisefka, ad n-teṭṭfeḍ izen deg kra n tesdatin, deg-s assaɣ i uɛawed n wawal uffir. Ma ur k-in-yewwiḍ ara yizen, ttxil-k·m ẓer deg ukaram yespamen.
|
||||||
updated: Awal-ik uffir yettwabeddel mebla ugur. Aqla-k tura tjerrḍeḍ.
|
updated: Awal-ik uffir yettwabeddel mebla ugur. Aqla-k tura tjerrḍeḍ.
|
||||||
updated_not_active: Awal-ik uffir yettwabeddel mebla ugur.
|
updated_not_active: Awal-ik uffir yettwabeddel mebla ugur.
|
||||||
registrations:
|
registrations:
|
||||||
|
|
|
@ -5,7 +5,7 @@ eo:
|
||||||
contact_missing: Ne elektita
|
contact_missing: Ne elektita
|
||||||
contact_unavailable: Ne disponebla
|
contact_unavailable: Ne disponebla
|
||||||
hosted_on: "%{domain} estas nodo de Mastodon"
|
hosted_on: "%{domain} estas nodo de Mastodon"
|
||||||
title: Pri
|
title: Prio
|
||||||
accounts:
|
accounts:
|
||||||
followers:
|
followers:
|
||||||
one: Sekvanto
|
one: Sekvanto
|
||||||
|
@ -41,7 +41,7 @@ eo:
|
||||||
by_domain: Domajno
|
by_domain: Domajno
|
||||||
change_email:
|
change_email:
|
||||||
changed_msg: Retpoŝta adreso sukcese ŝanĝita!
|
changed_msg: Retpoŝta adreso sukcese ŝanĝita!
|
||||||
current_email: Nuna retadreso
|
current_email: Aktuala retadreso
|
||||||
label: Ŝanĝi retadreson
|
label: Ŝanĝi retadreson
|
||||||
new_email: Nova retadreso
|
new_email: Nova retadreso
|
||||||
submit: Ŝanĝi retadreson
|
submit: Ŝanĝi retadreson
|
||||||
|
@ -102,7 +102,7 @@ eo:
|
||||||
moderation_notes: Notoj de moderigado
|
moderation_notes: Notoj de moderigado
|
||||||
most_recent_activity: Lastaj afiŝoj
|
most_recent_activity: Lastaj afiŝoj
|
||||||
most_recent_ip: Lasta IP
|
most_recent_ip: Lasta IP
|
||||||
no_account_selected: Neniu konto estis ŝanĝita ĉar neniu estis selektita
|
no_account_selected: Neniu konto estis ŝanĝita kial neniu estis selektita
|
||||||
no_limits_imposed: Neniu limito trudita
|
no_limits_imposed: Neniu limito trudita
|
||||||
no_role_assigned: Sen rolo
|
no_role_assigned: Sen rolo
|
||||||
not_subscribed: Ne abonita
|
not_subscribed: Ne abonita
|
||||||
|
@ -142,7 +142,7 @@ eo:
|
||||||
only_password: Nur pasvorto
|
only_password: Nur pasvorto
|
||||||
password_and_2fa: Pasvorto kaj 2FA
|
password_and_2fa: Pasvorto kaj 2FA
|
||||||
sensitive: Tikla
|
sensitive: Tikla
|
||||||
sensitized: markita tikla
|
sensitized: Markita kiel tikla
|
||||||
shared_inbox_url: URL de kunhavigita leterkesto
|
shared_inbox_url: URL de kunhavigita leterkesto
|
||||||
show:
|
show:
|
||||||
created_reports: Faritaj raportoj
|
created_reports: Faritaj raportoj
|
||||||
|
@ -204,7 +204,7 @@ eo:
|
||||||
destroy_unavailable_domain: Forigi Nehaveblan Domajnon
|
destroy_unavailable_domain: Forigi Nehaveblan Domajnon
|
||||||
destroy_user_role: Detrui Rolon
|
destroy_user_role: Detrui Rolon
|
||||||
disable_2fa_user: Malebligi 2FA
|
disable_2fa_user: Malebligi 2FA
|
||||||
disable_custom_emoji: Malebligi proprajn emoĝiojn
|
disable_custom_emoji: Malŝalti Proprajn Bildosignojn
|
||||||
disable_relay: Malebligi Relajson
|
disable_relay: Malebligi Relajson
|
||||||
disable_sign_in_token_auth_user: Malebligi aŭtentigon per retpoŝta ĵetono por la uzanto
|
disable_sign_in_token_auth_user: Malebligi aŭtentigon per retpoŝta ĵetono por la uzanto
|
||||||
disable_user: Neebligi la uzanton
|
disable_user: Neebligi la uzanton
|
||||||
|
@ -220,14 +220,14 @@ eo:
|
||||||
remove_avatar_user: Forigi la profilbildon
|
remove_avatar_user: Forigi la profilbildon
|
||||||
reopen_report: Remalfermi signalon
|
reopen_report: Remalfermi signalon
|
||||||
resend_user: Resendi konfirman retmesaĝon
|
resend_user: Resendi konfirman retmesaĝon
|
||||||
reset_password_user: Restarigi pasvorton
|
reset_password_user: Restarigi Pasvorton
|
||||||
resolve_report: Solvitaj reporto
|
resolve_report: Solvitaj reporto
|
||||||
sensitive_account: Marki tikla la aŭdovidaĵojn de via konto
|
sensitive_account: Marki tikla la aŭdovidaĵojn de via konto
|
||||||
silence_account: Silentigi konton
|
silence_account: Silentigi Konton
|
||||||
suspend_account: Suspendi la konton
|
suspend_account: Suspendi Konton
|
||||||
unassigned_report: Malatribui Raporton
|
unassigned_report: Malatribui Raporton
|
||||||
unblock_email_account: Malbloki retpoŝtadreson
|
unblock_email_account: Malbloki retpoŝtadreson
|
||||||
unsensitive_account: Malmarku la amaskomunikilojn en via konto kiel sentemaj
|
unsensitive_account: Malmarki Konton kiel Sentime Tikla
|
||||||
unsilence_account: Malsilentigi konton
|
unsilence_account: Malsilentigi konton
|
||||||
unsuspend_account: Malsuspendi la konton
|
unsuspend_account: Malsuspendi la konton
|
||||||
update_announcement: Ĝisdatigi anoncon
|
update_announcement: Ĝisdatigi anoncon
|
||||||
|
@ -235,19 +235,19 @@ eo:
|
||||||
update_domain_block: Ĝigdatigi domajnan blokadon
|
update_domain_block: Ĝigdatigi domajnan blokadon
|
||||||
update_ip_block: Krei IP-regulon
|
update_ip_block: Krei IP-regulon
|
||||||
update_report: Ĝisdatigo de Raporto
|
update_report: Ĝisdatigo de Raporto
|
||||||
update_status: Ĝisdatigi afiŝon
|
update_status: Ĝisdatigi Afiŝon
|
||||||
update_user_role: Ĝisdatigi rolon
|
update_user_role: Ĝisdatigi rolon
|
||||||
actions:
|
actions:
|
||||||
approve_appeal_html: "%{name} aprobis apelacion kontraŭ moderiga decido de %{target}"
|
approve_appeal_html: "%{name} aprobis apelacion kontraŭ reguliga decido de %{target}"
|
||||||
approve_user_html: "%{name} aprobis registriĝon de %{target}"
|
approve_user_html: "%{name} aprobis la registriĝon de %{target}"
|
||||||
assigned_to_self_report_html: "%{name} asignis signalon %{target} al si mem"
|
assigned_to_self_report_html: "%{name} asignis signalon %{target} al si mem"
|
||||||
change_email_user_html: "%{name} ŝanĝis retadreson de uzanto %{target}"
|
change_email_user_html: "%{name} ŝanĝis la retadreson de uzanto %{target}"
|
||||||
change_role_user_html: "%{name} ŝanĝis rolon de %{target}"
|
change_role_user_html: "%{name} ŝanĝis rolon de %{target}"
|
||||||
confirm_user_html: "%{name} konfirmis retadreson de uzanto %{target}"
|
confirm_user_html: "%{name} konfirmis retadreson de uzanto %{target}"
|
||||||
create_account_warning_html: "%{name} sendis averton al %{target}"
|
create_account_warning_html: "%{name} sendis averton al %{target}"
|
||||||
create_announcement_html: "%{name} kreis novan anoncon %{target}"
|
create_announcement_html: "%{name} kreis novan anoncon %{target}"
|
||||||
create_canonical_email_block_html: "%{name} blokis retpoŝtadreson per krado %{target}"
|
create_canonical_email_block_html: "%{name} blokis retpoŝtadreson per krado %{target}"
|
||||||
create_custom_emoji_html: "%{name} alŝutis novan emoĝion %{target}"
|
create_custom_emoji_html: "%{name} alŝutis novan bildosignon %{target}"
|
||||||
create_domain_allow_html: "%{name} aldonis domajnon %{target} al la blanka listo"
|
create_domain_allow_html: "%{name} aldonis domajnon %{target} al la blanka listo"
|
||||||
create_domain_block_html: "%{name} blokis domajnon %{target}"
|
create_domain_block_html: "%{name} blokis domajnon %{target}"
|
||||||
create_email_domain_block_html: "%{name} blokis retpoŝtan domajnon %{target}"
|
create_email_domain_block_html: "%{name} blokis retpoŝtan domajnon %{target}"
|
||||||
|
@ -258,7 +258,7 @@ eo:
|
||||||
demote_user_html: "%{name} degradis uzanton %{target}"
|
demote_user_html: "%{name} degradis uzanton %{target}"
|
||||||
destroy_announcement_html: "%{name} forigis anoncon %{target}"
|
destroy_announcement_html: "%{name} forigis anoncon %{target}"
|
||||||
destroy_canonical_email_block_html: "%{name} malblokis retpoŝtadreson per krado %{target}"
|
destroy_canonical_email_block_html: "%{name} malblokis retpoŝtadreson per krado %{target}"
|
||||||
destroy_custom_emoji_html: "%{name} forigis emoĝion %{target}"
|
destroy_custom_emoji_html: "%{name} forigis la bildosignon %{target}"
|
||||||
destroy_domain_allow_html: "%{name} forigis domajnon %{target} el la blanka listo"
|
destroy_domain_allow_html: "%{name} forigis domajnon %{target} el la blanka listo"
|
||||||
destroy_domain_block_html: "%{name} malblokis domajnon %{target}"
|
destroy_domain_block_html: "%{name} malblokis domajnon %{target}"
|
||||||
destroy_email_domain_block_html: "%{name} malblokis retpoŝtan domajnon %{target}"
|
destroy_email_domain_block_html: "%{name} malblokis retpoŝtan domajnon %{target}"
|
||||||
|
@ -269,11 +269,11 @@ eo:
|
||||||
destroy_unavailable_domain_html: "%{name} restartigis sendon al domajno %{target}"
|
destroy_unavailable_domain_html: "%{name} restartigis sendon al domajno %{target}"
|
||||||
destroy_user_role_html: "%{name} forigis rolon de %{target}"
|
destroy_user_role_html: "%{name} forigis rolon de %{target}"
|
||||||
disable_2fa_user_html: "%{name} malebligis dufaktoran aŭtentigon por uzanto %{target}"
|
disable_2fa_user_html: "%{name} malebligis dufaktoran aŭtentigon por uzanto %{target}"
|
||||||
disable_custom_emoji_html: "%{name} malebligis la emoĝion %{target}"
|
disable_custom_emoji_html: "%{name} malebligis la bildosignon %{target}"
|
||||||
disable_relay_html: "%{name} malebligis la relajson %{target}"
|
disable_relay_html: "%{name} malebligis la relajson %{target}"
|
||||||
disable_sign_in_token_auth_user_html: "%{name} malebligis la aŭtentigon de retpoŝta ĵetono por %{target}"
|
disable_sign_in_token_auth_user_html: "%{name} malebligis la aŭtentigon de retpoŝta ĵetono por %{target}"
|
||||||
disable_user_html: "%{name} malebligis ensaluton por uzanto %{target}"
|
disable_user_html: "%{name} malebligis ensaluton por uzanto %{target}"
|
||||||
enable_custom_emoji_html: "%{name} ebligis la emoĝion %{target}"
|
enable_custom_emoji_html: "%{name} ebligis la bildosignon %{target}"
|
||||||
enable_relay_html: "%{name} ebligis la relajson %{target}"
|
enable_relay_html: "%{name} ebligis la relajson %{target}"
|
||||||
enable_sign_in_token_auth_user_html: "%{name} ebligis la aŭtentigon de retpoŝta ĵetono por %{target}"
|
enable_sign_in_token_auth_user_html: "%{name} ebligis la aŭtentigon de retpoŝta ĵetono por %{target}"
|
||||||
enable_user_html: "%{name} ebligis ensaluton por uzanto %{target}"
|
enable_user_html: "%{name} ebligis ensaluton por uzanto %{target}"
|
||||||
|
@ -296,7 +296,7 @@ eo:
|
||||||
unsilence_account_html: "%{name} malfaris limon al konto de %{target}"
|
unsilence_account_html: "%{name} malfaris limon al konto de %{target}"
|
||||||
unsuspend_account_html: "%{name} malsuspendis la konton de %{target}"
|
unsuspend_account_html: "%{name} malsuspendis la konton de %{target}"
|
||||||
update_announcement_html: "%{name} ĝisdatigis la anoncon %{target}"
|
update_announcement_html: "%{name} ĝisdatigis la anoncon %{target}"
|
||||||
update_custom_emoji_html: "%{name} ĝisdatigis la emoĝion %{target}"
|
update_custom_emoji_html: "%{name} ĝisdatigis la bildosignon %{target}"
|
||||||
update_domain_block_html: "%{name} ĝisdatigis domajnblokon por %{target}"
|
update_domain_block_html: "%{name} ĝisdatigis domajnblokon por %{target}"
|
||||||
update_ip_block_html: "%{name} ŝanĝis regulon por IP %{target}"
|
update_ip_block_html: "%{name} ŝanĝis regulon por IP %{target}"
|
||||||
update_report_html: "%{name} ĝisdatigis la raporton %{target}"
|
update_report_html: "%{name} ĝisdatigis la raporton %{target}"
|
||||||
|
@ -309,17 +309,17 @@ eo:
|
||||||
title: Ĵurnalo de revizo
|
title: Ĵurnalo de revizo
|
||||||
unavailable_instance: "(domajna nomo nedisponebla)"
|
unavailable_instance: "(domajna nomo nedisponebla)"
|
||||||
announcements:
|
announcements:
|
||||||
destroyed_msg: Anonco sukcese forigita!
|
destroyed_msg: La anonco sukcese forigita!
|
||||||
edit:
|
edit:
|
||||||
title: Redakti anoncon
|
title: Redakti anoncon
|
||||||
empty: Neniu anonco trovita.
|
empty: Neniu anonco troviĝas.
|
||||||
live: Publikigita
|
live: Publikigita
|
||||||
new:
|
new:
|
||||||
create: Krei anoncon
|
create: Krei anoncon
|
||||||
title: Nova anonco
|
title: Nova anonco
|
||||||
publish: Publikigi
|
publish: Publikigi
|
||||||
published_msg: Anonco sukcese publikigita!
|
published_msg: Anonco sukcese publikigita!
|
||||||
scheduled_for: Planigita je %{time}
|
scheduled_for: Planigota je %{time}
|
||||||
scheduled_msg: Anonco planigita por publikigo!
|
scheduled_msg: Anonco planigita por publikigo!
|
||||||
title: Anoncoj
|
title: Anoncoj
|
||||||
unpublish: Malpublikigi
|
unpublish: Malpublikigi
|
||||||
|
@ -341,7 +341,7 @@ eo:
|
||||||
disabled_msg: Emoĝio sukcese malebligita
|
disabled_msg: Emoĝio sukcese malebligita
|
||||||
emoji: Emoĝio
|
emoji: Emoĝio
|
||||||
enable: Ebligi
|
enable: Ebligi
|
||||||
enabled: Ebligita
|
enabled: Ŝaltita
|
||||||
enabled_msg: Emoĝio sukcese ebligita
|
enabled_msg: Emoĝio sukcese ebligita
|
||||||
image_hint: PNG aŭ GIF malpli granda ol %{size}
|
image_hint: PNG aŭ GIF malpli granda ol %{size}
|
||||||
list: Listo
|
list: Listo
|
||||||
|
@ -1313,8 +1313,8 @@ eo:
|
||||||
Por uzi la retan aplikaĵon de Mastodon, bonvolu ebligi JavaScript. Alimaniere, provu unu el la
|
Por uzi la retan aplikaĵon de Mastodon, bonvolu ebligi JavaScript. Alimaniere, provu unu el la
|
||||||
<a href="%{apps_path}">operaciumaj aplikaĵoj</a> por Mastodon por via platformo.
|
<a href="%{apps_path}">operaciumaj aplikaĵoj</a> por Mastodon por via platformo.
|
||||||
existing_username_validator:
|
existing_username_validator:
|
||||||
not_found: Ne povas trovi lokaj uzanto kun tiu uzantnomo
|
not_found: ne povas trovi lokaj uzanto kun tiu uzantnomo
|
||||||
not_found_multiple: Ne povas trovi %{usernames}
|
not_found_multiple: ne povas trovi %{usernames}
|
||||||
exports:
|
exports:
|
||||||
archive_takeout:
|
archive_takeout:
|
||||||
date: Dato
|
date: Dato
|
||||||
|
@ -1539,7 +1539,7 @@ eo:
|
||||||
validations:
|
validations:
|
||||||
images_and_video: Aldoni videon al mesaĝo, kiu jam havas bildojn ne eblas
|
images_and_video: Aldoni videon al mesaĝo, kiu jam havas bildojn ne eblas
|
||||||
not_found: Dosiero %{ids} ne trovis aŭ jam alteniĝis al alia afiŝo
|
not_found: Dosiero %{ids} ne trovis aŭ jam alteniĝis al alia afiŝo
|
||||||
not_ready: Ne povas aldoni dosieron kiu ne finas procezitis.
|
not_ready: Ne povas aldoni dosieron kiu ne finis procezitis.
|
||||||
too_many: Aldoni pli ol 4 dosierojn ne eblas
|
too_many: Aldoni pli ol 4 dosierojn ne eblas
|
||||||
migrations:
|
migrations:
|
||||||
acct: Movigita al
|
acct: Movigita al
|
||||||
|
|
|
@ -436,6 +436,7 @@ kab:
|
||||||
terms_of_service:
|
terms_of_service:
|
||||||
draft: Arewway
|
draft: Arewway
|
||||||
publish: Asuffeɣ
|
publish: Asuffeɣ
|
||||||
|
save_draft: Sekles arewway
|
||||||
title: Tadbelt
|
title: Tadbelt
|
||||||
trends:
|
trends:
|
||||||
allow: Sireg
|
allow: Sireg
|
||||||
|
@ -489,7 +490,7 @@ kab:
|
||||||
delete_account: Kkes amiḍan
|
delete_account: Kkes amiḍan
|
||||||
description:
|
description:
|
||||||
prefix_invited_by_user: "@%{name} inced-ik·ikem ad ternuḍ ɣer uqeddac-a n Mastodon!"
|
prefix_invited_by_user: "@%{name} inced-ik·ikem ad ternuḍ ɣer uqeddac-a n Mastodon!"
|
||||||
prefix_sign_up: Zeddi di Maṣṭudun assa!
|
prefix_sign_up: Zeddi di Maṣṭudun ass-a!
|
||||||
suffix: S umiḍan, tzemreḍ ad tḍefreḍ imdanen, ad d-tessufɣeḍ tisuffaɣ d wembadal n yiznan akked yiseqdacen n yal aqeddac Mastodon d wayen-nniḍen!
|
suffix: S umiḍan, tzemreḍ ad tḍefreḍ imdanen, ad d-tessufɣeḍ tisuffaɣ d wembadal n yiznan akked yiseqdacen n yal aqeddac Mastodon d wayen-nniḍen!
|
||||||
didnt_get_confirmation: Ur d-teṭṭifeḍ ara aseɣwen n usentem ?
|
didnt_get_confirmation: Ur d-teṭṭifeḍ ara aseɣwen n usentem ?
|
||||||
dont_have_your_security_key: Ulac ɣur-k·m tasarut-ik·im n tɣellist?
|
dont_have_your_security_key: Ulac ɣur-k·m tasarut-ik·im n tɣellist?
|
||||||
|
@ -746,6 +747,7 @@ kab:
|
||||||
electron: Electron
|
electron: Electron
|
||||||
firefox: Firefox
|
firefox: Firefox
|
||||||
generic: Iminig arusin
|
generic: Iminig arusin
|
||||||
|
huawei_browser: Iminig n Huawei
|
||||||
ie: Internet Explorer
|
ie: Internet Explorer
|
||||||
micro_messenger: MicroMessenger
|
micro_messenger: MicroMessenger
|
||||||
nokia: Iminig Nokia S40 Ovi
|
nokia: Iminig Nokia S40 Ovi
|
||||||
|
@ -754,6 +756,7 @@ kab:
|
||||||
phantom_js: PhantomJS
|
phantom_js: PhantomJS
|
||||||
qq: Iminig QQ
|
qq: Iminig QQ
|
||||||
safari: Safari
|
safari: Safari
|
||||||
|
uc_browser: UC Browser
|
||||||
unknown_browser: Iminig arussin
|
unknown_browser: Iminig arussin
|
||||||
weibo: Weibo
|
weibo: Weibo
|
||||||
current_session: Tiɣimit tamirant
|
current_session: Tiɣimit tamirant
|
||||||
|
|
|
@ -194,7 +194,7 @@ ko:
|
||||||
destroy_domain_allow: 도메인 허용 삭제
|
destroy_domain_allow: 도메인 허용 삭제
|
||||||
destroy_domain_block: 도메인 차단 삭제
|
destroy_domain_block: 도메인 차단 삭제
|
||||||
destroy_email_domain_block: 이메일 도메인 차단 삭제
|
destroy_email_domain_block: 이메일 도메인 차단 삭제
|
||||||
destroy_instance: 도메인 퍼지하기
|
destroy_instance: 도메인 제거
|
||||||
destroy_ip_block: IP 규칙 삭제
|
destroy_ip_block: IP 규칙 삭제
|
||||||
destroy_relay: 릴레이 삭제
|
destroy_relay: 릴레이 삭제
|
||||||
destroy_status: 게시물 삭제
|
destroy_status: 게시물 삭제
|
||||||
|
@ -536,7 +536,7 @@ ko:
|
||||||
title: 중재
|
title: 중재
|
||||||
private_comment: 비공개 주석
|
private_comment: 비공개 주석
|
||||||
public_comment: 공개 주석
|
public_comment: 공개 주석
|
||||||
purge: 퍼지
|
purge: 제거
|
||||||
purge_description_html: 이 도메인이 영구적으로 오프라인 상태라고 생각되면, 스토리지에서 이 도메인의 모든 계정 레코드와 관련 데이터를 삭제할 수 있습니다. 이 작업은 시간이 좀 걸릴 수 있습니다.
|
purge_description_html: 이 도메인이 영구적으로 오프라인 상태라고 생각되면, 스토리지에서 이 도메인의 모든 계정 레코드와 관련 데이터를 삭제할 수 있습니다. 이 작업은 시간이 좀 걸릴 수 있습니다.
|
||||||
title: 연합
|
title: 연합
|
||||||
total_blocked_by_us: 우리에게 차단 됨
|
total_blocked_by_us: 우리에게 차단 됨
|
||||||
|
@ -1754,7 +1754,7 @@ ko:
|
||||||
lost_followers: 잃은 팔로워
|
lost_followers: 잃은 팔로워
|
||||||
lost_follows: 잃은 팔로우
|
lost_follows: 잃은 팔로우
|
||||||
preamble: 내가 도메인을 차단하거나 중재진이 다른 서버를 정지하기로 결정했다면 내 팔로우와 팔로워를 잃게 됩니다. 그런 일이 일어났다면 그로 인해 단절된 관계들의 목록을 다운로드 받아 확인하고 다른 서버에서 불러올 수 있습니다.
|
preamble: 내가 도메인을 차단하거나 중재진이 다른 서버를 정지하기로 결정했다면 내 팔로우와 팔로워를 잃게 됩니다. 그런 일이 일어났다면 그로 인해 단절된 관계들의 목록을 다운로드 받아 확인하고 다른 서버에서 불러올 수 있습니다.
|
||||||
purged: 이 서버의 정보는 관리자가 퍼지하였습니다.
|
purged: 이 서버에 대한 정보는 관리자에 의해 제거되었습니다.
|
||||||
type: 이벤트
|
type: 이벤트
|
||||||
statuses:
|
statuses:
|
||||||
attached:
|
attached:
|
||||||
|
|
|
@ -937,6 +937,25 @@ pt-BR:
|
||||||
generates:
|
generates:
|
||||||
action: Gerar
|
action: Gerar
|
||||||
chance_to_review_html: "<strong>Os termos de serviço gerado não será publicado automaticamente.</strong>Você terá uma chance de revisar os resultados. Preencha os detalhes necessários para continuar"
|
chance_to_review_html: "<strong>Os termos de serviço gerado não será publicado automaticamente.</strong>Você terá uma chance de revisar os resultados. Preencha os detalhes necessários para continuar"
|
||||||
|
explanation_html: O modelo de termos de serviço fornecido é apenas para fins informativos e não deve ser interpretado como aconselhamento jurídico sobre qualquer assunto. Consulte seu próprio advogado para esclarecer sua situação e dúvidas jurídicas específicas.
|
||||||
|
title: Configuração dos Termos de Serviço
|
||||||
|
history: Histórico
|
||||||
|
live: Em vigor
|
||||||
|
no_history: Ainda não há alterações registradas nos termos de serviço.
|
||||||
|
no_terms_of_service_html: Atualmente, você não tem nenhum termo de serviço configurado. Os termos de serviço servem para fornecer clareza e protegê-lo de possíveis responsabilidades em disputas com seus usuários.
|
||||||
|
notified_on_html: Usuários notificados em %{date}
|
||||||
|
notify_users: Notificar usuários
|
||||||
|
preview:
|
||||||
|
explanation_html: 'O e-mail será enviado para <strong>%{display_count} usuários</strong> que se inscreveram antes de %{date}. O seguinte texto será incluído no e-mail:'
|
||||||
|
send_preview: Enviar pŕevia para %{email}
|
||||||
|
send_to_all:
|
||||||
|
one: Enviar %{display_count} email
|
||||||
|
other: Enviar %{display_count} emails
|
||||||
|
title: Prévia da notificação dos termos de serviço
|
||||||
|
publish: Publicar
|
||||||
|
published_on_html: Publicado em %{date}
|
||||||
|
save_draft: Salvar rascunho
|
||||||
|
title: Termos de Serviço
|
||||||
title: Administração
|
title: Administração
|
||||||
trends:
|
trends:
|
||||||
allow: Permitir
|
allow: Permitir
|
||||||
|
@ -1168,6 +1187,7 @@ pt-BR:
|
||||||
set_new_password: Definir uma nova senha
|
set_new_password: Definir uma nova senha
|
||||||
setup:
|
setup:
|
||||||
email_below_hint_html: Verifique a sua pasta de spam, ou solicite outra. Você pode corrigir o seu endereço de e-mail se estiver errado.
|
email_below_hint_html: Verifique a sua pasta de spam, ou solicite outra. Você pode corrigir o seu endereço de e-mail se estiver errado.
|
||||||
|
email_settings_hint_html: Clique no link que enviamos para %{email} para começar a usar o Mastodon. Estaremos esperando aqui.
|
||||||
link_not_received: Não recebeu um link?
|
link_not_received: Não recebeu um link?
|
||||||
new_confirmation_instructions_sent: Você receberá um novo e-mail com o link de confirmação em alguns minutos!
|
new_confirmation_instructions_sent: Você receberá um novo e-mail com o link de confirmação em alguns minutos!
|
||||||
title: Verifique sua caixa de entrada
|
title: Verifique sua caixa de entrada
|
||||||
|
@ -1176,6 +1196,7 @@ pt-BR:
|
||||||
title: Entrar em %{domain}
|
title: Entrar em %{domain}
|
||||||
sign_up:
|
sign_up:
|
||||||
manual_review: Inscrições no %{domain} passam pela revisão manual dos nossos moderadores. Para nos ajudar a processar o seu cadastro, escreva um pouco sobre você e por que você quer uma conta no %{domain}.
|
manual_review: Inscrições no %{domain} passam pela revisão manual dos nossos moderadores. Para nos ajudar a processar o seu cadastro, escreva um pouco sobre você e por que você quer uma conta no %{domain}.
|
||||||
|
preamble: Com uma conta neste servidor do Mastodon, você poderá seguir qualquer outra pessoa no fediverso, independentemente de onde a conta dela esteja hospedada.
|
||||||
title: Então vamos lá criar uma conta em %{domain}.
|
title: Então vamos lá criar uma conta em %{domain}.
|
||||||
status:
|
status:
|
||||||
account_status: Status da conta
|
account_status: Status da conta
|
||||||
|
@ -1187,6 +1208,8 @@ pt-BR:
|
||||||
view_strikes: Veja os avisos anteriores em relação à sua conta
|
view_strikes: Veja os avisos anteriores em relação à sua conta
|
||||||
too_fast: O formulário foi enviado muito rapidamente, tente novamente.
|
too_fast: O formulário foi enviado muito rapidamente, tente novamente.
|
||||||
use_security_key: Usar chave de segurança
|
use_security_key: Usar chave de segurança
|
||||||
|
user_agreement_html: Eu li e concordo com os <a href="%{terms_of_service_path}" target="_blank">termos de serviço</a> e <a href="%{privacy_policy_path}" target="_blank">política de privacidade</a>.
|
||||||
|
user_privacy_agreement_html: Eu li e concordo com a <a href="%{privacy_policy_path}" target="_blank">política de privacidade</a>.
|
||||||
author_attribution:
|
author_attribution:
|
||||||
example_title: Texto de amostra
|
example_title: Texto de amostra
|
||||||
hint_html: Você está escrevendo notícias ou artigos de blogs fora do Mastodon? Controle como você é credenciado quando eles forem compartilhados no Mastodon.
|
hint_html: Você está escrevendo notícias ou artigos de blogs fora do Mastodon? Controle como você é credenciado quando eles forem compartilhados no Mastodon.
|
||||||
|
@ -1401,7 +1424,31 @@ pt-BR:
|
||||||
domain_blocking_html:
|
domain_blocking_html:
|
||||||
one: Você está prestes a <strong>substituir seu bloco de lista do domínio</strong> com <strong>%{count} domínio</strong> de <strong>%{filename}</strong>.
|
one: Você está prestes a <strong>substituir seu bloco de lista do domínio</strong> com <strong>%{count} domínio</strong> de <strong>%{filename}</strong>.
|
||||||
other: Você está prestes a <strong>substituir sua lista de bloqueio de domínio</strong> com <strong>domínios%{count}</strong> de <strong>%{filename}</strong>.
|
other: Você está prestes a <strong>substituir sua lista de bloqueio de domínio</strong> com <strong>domínios%{count}</strong> de <strong>%{filename}</strong>.
|
||||||
|
following_html:
|
||||||
|
one: Você está prestes a <strong>seguir</strong> <strong>%{count} contas</strong> de <strong>%{filename}</strong> e <strong>parar de seguir todos os outros</strong>.
|
||||||
|
other: Você está prestes a <strong>seguir</strong> até <strong>%{count} contas</strong> de <strong>%{filename}</strong> e <strong>deixar de seguir qualquer outra pessoa</strong>.
|
||||||
|
lists_html:
|
||||||
|
one: Você está prestes a <strong>substituir suas listas</strong> pelo conteúdo de <strong>%{filename}</strong>. Até <strong>%{count} conta</strong> será adicionada às novas listas.
|
||||||
|
other: Você está prestes a <strong>substituir suas listas</strong> pelo conteúdo de <strong>%{filename}</strong>. Até <strong>%{count} contas</strong> serão adicionadas às novas listas.
|
||||||
|
muting_html:
|
||||||
|
one: Você está prestes a <strong>substituir sua lista de contas silenciadas</strong> por até <strong>%{count} conta</strong> de <strong>%{filename}</strong>.
|
||||||
|
other: Você está prestes a <strong>substituir sua lista de contas silenciadas</strong> por até <strong>%{count} contas</strong> de <strong>%{filename}</strong>.
|
||||||
preambles:
|
preambles:
|
||||||
|
blocking_html:
|
||||||
|
one: Você está prestes a <strong>bloquear</strong> até <strong>%{count} conta</strong> de <strong>%{filename}</strong>.
|
||||||
|
other: Você está prestes a <strong>bloquear</strong> até <strong>%{count} contas</strong> de <strong>%{filename}</strong>.
|
||||||
|
bookmarks_html:
|
||||||
|
one: Você está prestes a adicionar até <strong>%{count} post</strong> de <strong>%{filename}</strong> aos seus <strong>favoritos</strong>.
|
||||||
|
other: Você está prestes a adicionar até <strong>%{count} posts</strong> de <strong>%{filename}</strong> aos seus <strong>favoritos</strong>.
|
||||||
|
domain_blocking_html:
|
||||||
|
one: Você está prestes a <strong>bloquear</strong> até <strong>%{count} domínio</strong> de <strong>%{filename}</strong>.
|
||||||
|
other: Você está prestes a <strong>bloquear</strong> até <strong>%{count} domínios</strong> de <strong>%{filename}</strong>.
|
||||||
|
following_html:
|
||||||
|
one: Você está prestes a <strong>seguir</strong> até <strong>%{count} conta</strong> de <strong>%{filename}</strong>.
|
||||||
|
other: Você está prestes a <strong>seguir</strong> até <strong>%{count} contas</strong> de <strong>%{filename}</strong>.
|
||||||
|
lists_html:
|
||||||
|
one: Você está prestes a adicionar até <strong>%{count} conta</strong> a partir de <strong>%{filename}</strong> para suas <strong>listas</strong>. Novas listas serão criadas se não houver uma para a qual adicionar.
|
||||||
|
other: Você está prestes a adicionar até <strong>%{count} contas</strong> a partir de <strong>%{filename}</strong> para suas <strong>listas</strong>. Novas listas serão criadas se não houver uma para a qual adicionar.
|
||||||
muting_html:
|
muting_html:
|
||||||
one: Você está prestes a <strong>silenciar</strong> <strong>%{count} conta</strong> de <strong>%{filename}</strong>.
|
one: Você está prestes a <strong>silenciar</strong> <strong>%{count} conta</strong> de <strong>%{filename}</strong>.
|
||||||
other: Você está prestes a <strong>silenciar</strong> mais de <strong>%{count} contas</strong> de <strong>%{filename}</strong>.
|
other: Você está prestes a <strong>silenciar</strong> mais de <strong>%{count} contas</strong> de <strong>%{filename}</strong>.
|
||||||
|
@ -1824,6 +1871,8 @@ pt-BR:
|
||||||
too_late: É tarde demais para solicitar uma revisão desta punição
|
too_late: É tarde demais para solicitar uma revisão desta punição
|
||||||
tags:
|
tags:
|
||||||
does_not_match_previous_name: não corresponde ao nome anterior
|
does_not_match_previous_name: não corresponde ao nome anterior
|
||||||
|
terms_of_service:
|
||||||
|
title: Termos de Serviço
|
||||||
themes:
|
themes:
|
||||||
contrast: Mastodon (Alto contraste)
|
contrast: Mastodon (Alto contraste)
|
||||||
default: Mastodon (Noturno)
|
default: Mastodon (Noturno)
|
||||||
|
@ -1884,6 +1933,15 @@ pt-BR:
|
||||||
further_actions_html: Se não foi você, recomendamos que você %{action} imediatamente e ative a autenticação de dois fatores para manter sua conta segura.
|
further_actions_html: Se não foi você, recomendamos que você %{action} imediatamente e ative a autenticação de dois fatores para manter sua conta segura.
|
||||||
subject: Sua conta foi acessada a partir de um novo endereço IP
|
subject: Sua conta foi acessada a partir de um novo endereço IP
|
||||||
title: Um novo login
|
title: Um novo login
|
||||||
|
terms_of_service_changed:
|
||||||
|
agreement: Ao continuar a usar %{domain}, você concorda com estes termos. Se discordar dos termos atualizados, poderá encerrar seu acordo com %{domain} a qualquer momento excluindo sua conta.
|
||||||
|
changelog: 'Em resumo, veja o que essa atualização significa para você:'
|
||||||
|
description: 'Você está recebendo este e-mail porque estamos fazendo algumas alterações em nossos termos de serviço em %{domain}. Incentivamos você a revisar os termos atualizados na íntegra aqui:'
|
||||||
|
description_html: Você está recebendo este e-mail porque estamos fazendo algumas alterações em nossos termos de serviço em %{domain}. Incentivamos você a revisar os <a href="%{path}" target="_blank">termos atualizados na íntegra aqui</a>.
|
||||||
|
sign_off: A equipe do %{domain}
|
||||||
|
subject: Atualizações dos nossos termos de serviço
|
||||||
|
subtitle: Os termos de serviço do %{domain} estão mudando.
|
||||||
|
title: atualização importante
|
||||||
warning:
|
warning:
|
||||||
appeal: Enviar uma revisão
|
appeal: Enviar uma revisão
|
||||||
appeal_description: Se você acredita que isso é um erro, você pode enviar uma revisão para a equipe de %{instance}.
|
appeal_description: Se você acredita que isso é um erro, você pode enviar uma revisão para a equipe de %{instance}.
|
||||||
|
|
|
@ -56,7 +56,7 @@ eo:
|
||||||
scopes: Kiujn API-ojn la aplikaĵo permesiĝos atingi. Se vi elektas supran amplekson, vi ne bezonas elekti la individuajn.
|
scopes: Kiujn API-ojn la aplikaĵo permesiĝos atingi. Se vi elektas supran amplekson, vi ne bezonas elekti la individuajn.
|
||||||
setting_aggregate_reblogs: Ne montri novajn plusendojn de mesaĝoj lastatempe plusenditaj (nur efikas al nove ricevitaj plusendoj)
|
setting_aggregate_reblogs: Ne montri novajn plusendojn de mesaĝoj lastatempe plusenditaj (nur efikas al nove ricevitaj plusendoj)
|
||||||
setting_always_send_emails: Normale, la sciigoj per retpoŝto ne estos senditaj kiam vi uzas Mastodon aktive
|
setting_always_send_emails: Normale, la sciigoj per retpoŝto ne estos senditaj kiam vi uzas Mastodon aktive
|
||||||
setting_default_sensitive: Tiklaj vidaŭdaĵoj estas kaŝitaj implicite, kaj povas esti montritaj per klako
|
setting_default_sensitive: Tiklaj vidaŭdaĵoj estas implicite kaŝitaj kaj povas esti montritaj per alklako
|
||||||
setting_display_media_default: Kaŝi plurmediojn markitajn kiel tiklaj
|
setting_display_media_default: Kaŝi plurmediojn markitajn kiel tiklaj
|
||||||
setting_display_media_hide_all: Ĉiam kaŝi la vidaŭdaĵojn
|
setting_display_media_hide_all: Ĉiam kaŝi la vidaŭdaĵojn
|
||||||
setting_display_media_show_all: Ĉiam montri la vidaŭdaĵojn
|
setting_display_media_show_all: Ĉiam montri la vidaŭdaĵojn
|
||||||
|
|
|
@ -3,6 +3,7 @@ ja:
|
||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: 1行につき1つずつ入力してください。この設定は関わりのないwebサイトに対して虚偽の帰属表示が行われることを防止する役割があります。
|
||||||
discoverable: プロフィールと公開投稿をMastodonのおすすめやハイライトとしてほかのユーザーに表示することを許可します。
|
discoverable: プロフィールと公開投稿をMastodonのおすすめやハイライトとしてほかのユーザーに表示することを許可します。
|
||||||
display_name: フルネーム、ハンドルネームなど
|
display_name: フルネーム、ハンドルネームなど
|
||||||
fields: ホームページ、代名詞、年齢など何でも構いません。
|
fields: ホームページ、代名詞、年齢など何でも構いません。
|
||||||
|
@ -190,6 +191,7 @@ ja:
|
||||||
kmyblue: kmyblue
|
kmyblue: kmyblue
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: あなたの著者表示を許可するwebサイト
|
||||||
discoverable: アカウントを見つけやすくする
|
discoverable: アカウントを見つけやすくする
|
||||||
fields:
|
fields:
|
||||||
examples:
|
examples:
|
||||||
|
@ -310,6 +312,7 @@ ja:
|
||||||
setting_hide_quote_unavailable_server: 引用に対応していないと思われるサーバーの投稿からメニューを隠す
|
setting_hide_quote_unavailable_server: 引用に対応していないと思われるサーバーの投稿からメニューを隠す
|
||||||
setting_hide_status_reference_unavailable_server: ひかえめな引用(Fedibirdの参照)に対応していないと思われるサーバーの投稿からメニューを隠す
|
setting_hide_status_reference_unavailable_server: ひかえめな引用(Fedibirdの参照)に対応していないと思われるサーバーの投稿からメニューを隠す
|
||||||
setting_lock_follow_from_bot: botからのフォローを承認制にする
|
setting_lock_follow_from_bot: botからのフォローを承認制にする
|
||||||
|
setting_missing_alt_text_modal: 代替テキストなしでメディアを投稿する前に確認ダイアログを表示する
|
||||||
setting_public_post_to_unlisted: サードパーティから公開範囲「公開」で投稿した場合、「ローカル公開」に変更する
|
setting_public_post_to_unlisted: サードパーティから公開範囲「公開」で投稿した場合、「ローカル公開」に変更する
|
||||||
setting_reduce_motion: アニメーションの動きを減らす
|
setting_reduce_motion: アニメーションの動きを減らす
|
||||||
setting_reject_public_unlisted_subscription: Misskey系サーバーに「ローカル公開」かつ検索許可「誰でも以外」の投稿を「フォロワーのみ」に変換して配送する
|
setting_reject_public_unlisted_subscription: Misskey系サーバーに「ローカル公開」かつ検索許可「誰でも以外」の投稿を「フォロワーのみ」に変換して配送する
|
||||||
|
|
|
@ -104,6 +104,7 @@ kab:
|
||||||
featured_tag:
|
featured_tag:
|
||||||
name: Ahacṭag
|
name: Ahacṭag
|
||||||
form_admin_settings:
|
form_admin_settings:
|
||||||
|
app_icon: Tignit n usnas
|
||||||
custom_css: CSS udmawan
|
custom_css: CSS udmawan
|
||||||
profile_directory: Rmed akaram n imaγnuten
|
profile_directory: Rmed akaram n imaγnuten
|
||||||
site_contact_email: Imayl n unermas
|
site_contact_email: Imayl n unermas
|
||||||
|
|
|
@ -3,6 +3,7 @@ nn:
|
||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: Ein per line. Vernar mot falske krediteringar.
|
||||||
discoverable: Dei offentlege innlegga dine og profilen din kan dukka opp i tilrådingar på ulike stader på Mastodon, og profilen din kan bli føreslegen for andre folk.
|
discoverable: Dei offentlege innlegga dine og profilen din kan dukka opp i tilrådingar på ulike stader på Mastodon, og profilen din kan bli føreslegen for andre folk.
|
||||||
display_name: Ditt fulle namn eller ditt tøysenamn.
|
display_name: Ditt fulle namn eller ditt tøysenamn.
|
||||||
fields: Heimesida di, pronomen, alder, eller kva du måtte ynskje.
|
fields: Heimesida di, pronomen, alder, eller kva du måtte ynskje.
|
||||||
|
@ -155,6 +156,7 @@ nn:
|
||||||
url: Kvar hendingar skal sendast
|
url: Kvar hendingar skal sendast
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: Nettstader som har lov å kreditera deg
|
||||||
discoverable: Ta med profilen og innlegga i oppdagingsalgoritmar
|
discoverable: Ta med profilen og innlegga i oppdagingsalgoritmar
|
||||||
fields:
|
fields:
|
||||||
name: Merkelapp
|
name: Merkelapp
|
||||||
|
|
|
@ -7,7 +7,7 @@ pl:
|
||||||
discoverable: Twój profil i publiczne wpisy mogą być promowane lub polecane na Mastodonie i twój profil może być sugerowany innym użytkownikom.
|
discoverable: Twój profil i publiczne wpisy mogą być promowane lub polecane na Mastodonie i twój profil może być sugerowany innym użytkownikom.
|
||||||
display_name: Twoje imię lub pseudonim.
|
display_name: Twoje imię lub pseudonim.
|
||||||
fields: Co ci się tylko podoba – twoja strona domowa, zaimki, wiek…
|
fields: Co ci się tylko podoba – twoja strona domowa, zaimki, wiek…
|
||||||
indexable: Twoje publiczne wpisy mogą pojawiać się w wynikach wyszukiwania w Mastodonie. Użytkownicy, którzy wchodzili w interakcje z twoimi wpisami będą mogli je znaleźć niezależnie od tego ustawienia.
|
indexable: Twoje publiczne wpisy mogą pojawiać się w wynikach wyszukiwania w Mastodonie. Użytkownicy, którzy reagowali na Twoje wpisy, będą mogli je znaleźć niezależnie od tego ustawienia.
|
||||||
note: 'Możesz @wspomnieć użytkowników albo #hasztagi.'
|
note: 'Możesz @wspomnieć użytkowników albo #hasztagi.'
|
||||||
show_collections: Twoja lista obserwowanych i obserwujących będzie widoczna dla wszystkich. Użytkownicy których obserwujesz będą jednak o tym wiedzieli.
|
show_collections: Twoja lista obserwowanych i obserwujących będzie widoczna dla wszystkich. Użytkownicy których obserwujesz będą jednak o tym wiedzieli.
|
||||||
unlocked: Inni użytkownicy będą mogli cię obserwować bez proszenia o zgodę. Odznacz, jeżeli chcesz aprobować obserwujących ręcznie po przejrzeniu próśb o obserwowanie.
|
unlocked: Inni użytkownicy będą mogli cię obserwować bez proszenia o zgodę. Odznacz, jeżeli chcesz aprobować obserwujących ręcznie po przejrzeniu próśb o obserwowanie.
|
||||||
|
|
|
@ -3,6 +3,7 @@ pt-BR:
|
||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: Um por linha. Protege contra atribuições falsas.
|
||||||
discoverable: Suas publicações e perfil públicos podem ser destaques ou recomendados em várias áreas de Mastodon, e seu perfil pode ser sugerido a outros usuários.
|
discoverable: Suas publicações e perfil públicos podem ser destaques ou recomendados em várias áreas de Mastodon, e seu perfil pode ser sugerido a outros usuários.
|
||||||
display_name: Seu nome completo ou apelido.
|
display_name: Seu nome completo ou apelido.
|
||||||
fields: Sua página inicial, pronomes, idade ou qualquer coisa que quiser.
|
fields: Sua página inicial, pronomes, idade ou qualquer coisa que quiser.
|
||||||
|
@ -129,8 +130,17 @@ pt-BR:
|
||||||
show_application: Você sempre conseguirá ver qual aplicativo realizou sua publicação independentemente disso.
|
show_application: Você sempre conseguirá ver qual aplicativo realizou sua publicação independentemente disso.
|
||||||
tag:
|
tag:
|
||||||
name: Você pode mudar a capitalização das letras, por exemplo, para torná-la mais legível
|
name: Você pode mudar a capitalização das letras, por exemplo, para torná-la mais legível
|
||||||
|
terms_of_service:
|
||||||
|
changelog: Pode ser estruturado com a sintaxe Markdown.
|
||||||
|
text: Pode ser estruturado com a sintaxe Markdown.
|
||||||
terms_of_service_generator:
|
terms_of_service_generator:
|
||||||
|
admin_email: Avisos legais incluem contra-notificações, ordens judiciais, solicitações de remoção e solicitações de órgãos de fiscalização.
|
||||||
|
arbitration_address: Pode ser o mesmo que o endereço físico acima, ou "N/A" se estiver usando e-mail.
|
||||||
|
arbitration_website: Pode ser um formulário na web, ou "N/A" se estiver usando e-mail.
|
||||||
|
dmca_address: Para operadores dos EUA, utilize o endereço registrado no Diretório de Agentes Designados pela DMCA. Um endereço de Caixa Postal está disponível mediante solicitação direta; use a Solicitação de Isenção de Caixa Postal de Agente Designado pela DMCA para enviar um e-mail ao Escritório de Direitos Autorais, explicando que você é um moderador de conteúdo que trabalha em casa e teme vingança ou retaliação por suas ações, precisando usar uma Caixa Postal para remover seu endereço residencial da visualização pública.
|
||||||
dmca_email: Pode ser o mesmo e-mail utilizado para "Endereço de e-mail para avisos legais" acima
|
dmca_email: Pode ser o mesmo e-mail utilizado para "Endereço de e-mail para avisos legais" acima
|
||||||
|
domain: Identificação única do serviço online que você está fornecendo.
|
||||||
|
jurisdiction: Liste o país onde quem paga as contas reside. Se for uma empresa ou outra entidade, liste o país onde ela está incorporada, e a cidade, região, território ou estado, conforme apropriado.
|
||||||
user:
|
user:
|
||||||
chosen_languages: Apenas as publicações dos idiomas selecionados serão exibidas nas linhas públicas
|
chosen_languages: Apenas as publicações dos idiomas selecionados serão exibidas nas linhas públicas
|
||||||
role: A função controla quais permissões o usuário tem.
|
role: A função controla quais permissões o usuário tem.
|
||||||
|
@ -146,6 +156,7 @@ pt-BR:
|
||||||
url: Aonde os eventos serão enviados
|
url: Aonde os eventos serão enviados
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: Sites autorizados a creditar você.
|
||||||
discoverable: Destacar perfil e publicações nos algoritmos de descoberta
|
discoverable: Destacar perfil e publicações nos algoritmos de descoberta
|
||||||
fields:
|
fields:
|
||||||
name: Rótulo
|
name: Rótulo
|
||||||
|
@ -222,6 +233,7 @@ pt-BR:
|
||||||
setting_display_media_show_all: Mostrar tudo
|
setting_display_media_show_all: Mostrar tudo
|
||||||
setting_expand_spoilers: Sempre expandir toots com Aviso de Conteúdo
|
setting_expand_spoilers: Sempre expandir toots com Aviso de Conteúdo
|
||||||
setting_hide_network: Ocultar suas relações
|
setting_hide_network: Ocultar suas relações
|
||||||
|
setting_missing_alt_text_modal: Mostrar caixa de diálogo de confirmação antes de postar mídia sem texto alternativo.
|
||||||
setting_reduce_motion: Reduzir animações
|
setting_reduce_motion: Reduzir animações
|
||||||
setting_system_font_ui: Usar fonte padrão do sistema
|
setting_system_font_ui: Usar fonte padrão do sistema
|
||||||
setting_system_scrollbars_ui: Usar barra de rolagem padrão do sistema
|
setting_system_scrollbars_ui: Usar barra de rolagem padrão do sistema
|
||||||
|
@ -319,6 +331,17 @@ pt-BR:
|
||||||
name: Hashtag
|
name: Hashtag
|
||||||
trendable: Permitir que esta hashtag fique em alta
|
trendable: Permitir que esta hashtag fique em alta
|
||||||
usable: Permitir que as publicações usem esta hashtag localmente
|
usable: Permitir que as publicações usem esta hashtag localmente
|
||||||
|
terms_of_service:
|
||||||
|
changelog: O que mudou?
|
||||||
|
text: Termos de Serviço
|
||||||
|
terms_of_service_generator:
|
||||||
|
admin_email: Endereço de e-mail para avisos legais.
|
||||||
|
arbitration_address: Endereço físico para avisos de arbitragem.
|
||||||
|
arbitration_website: Site para submissão de notificações de arbitragem
|
||||||
|
dmca_address: Endereço físico para notificações de DMCA/direitos autorais
|
||||||
|
dmca_email: Endereço de e-mail para notificações de DMCA/direitos autorais
|
||||||
|
domain: Domínio
|
||||||
|
jurisdiction: Jurisdicação legal
|
||||||
user:
|
user:
|
||||||
role: Cargo
|
role: Cargo
|
||||||
time_zone: Fuso horário
|
time_zone: Fuso horário
|
||||||
|
|
|
@ -246,6 +246,7 @@ sk:
|
||||||
destroy_custom_emoji_html: "%{name} vymazal/a emotikonu %{target}"
|
destroy_custom_emoji_html: "%{name} vymazal/a emotikonu %{target}"
|
||||||
destroy_domain_allow_html: "%{name} zakázal/a federáciu s doménou %{target}"
|
destroy_domain_allow_html: "%{name} zakázal/a federáciu s doménou %{target}"
|
||||||
destroy_domain_block_html: "%{name} odblokoval/i doménu %{target}"
|
destroy_domain_block_html: "%{name} odblokoval/i doménu %{target}"
|
||||||
|
destroy_email_domain_block_html: "%{name} odblokoval/a emailovú doménu %{target}"
|
||||||
destroy_ip_block_html: "%{name} vymazal/a pravidlo pre IP %{target}"
|
destroy_ip_block_html: "%{name} vymazal/a pravidlo pre IP %{target}"
|
||||||
destroy_status_html: "%{name} zmazal/a príspevok od %{target}"
|
destroy_status_html: "%{name} zmazal/a príspevok od %{target}"
|
||||||
destroy_unavailable_domain_html: "%{name} znova spustil/a doručovanie pre doménu %{target}"
|
destroy_unavailable_domain_html: "%{name} znova spustil/a doručovanie pre doménu %{target}"
|
||||||
|
|
|
@ -59,16 +59,15 @@ RSpec.describe Admin::AccountsController do
|
||||||
let(:account) { Fabricate(:account) }
|
let(:account) { Fabricate(:account) }
|
||||||
|
|
||||||
it 'includes moderation notes' do
|
it 'includes moderation notes' do
|
||||||
note1 = Fabricate(:account_moderation_note, target_account: account)
|
note1 = Fabricate(:account_moderation_note, target_account: account, content: 'Note 1 remarks')
|
||||||
note2 = Fabricate(:account_moderation_note, target_account: account)
|
note2 = Fabricate(:account_moderation_note, target_account: account, content: 'Note 2 remarks')
|
||||||
|
|
||||||
get :show, params: { id: account.id }
|
get :show, params: { id: account.id }
|
||||||
expect(response).to have_http_status(200)
|
expect(response).to have_http_status(200)
|
||||||
|
|
||||||
moderation_notes = assigns(:moderation_notes).to_a
|
expect(response.body)
|
||||||
|
.to include(note1.content)
|
||||||
expect(moderation_notes.size).to be 2
|
.and include(note2.content)
|
||||||
expect(moderation_notes).to eq [note1, note2]
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -3,40 +3,54 @@
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe Admin::BaseController do
|
RSpec.describe Admin::BaseController do
|
||||||
|
render_views
|
||||||
|
|
||||||
controller do
|
controller do
|
||||||
def success
|
def success
|
||||||
authorize :dashboard, :index?
|
authorize :dashboard, :index?
|
||||||
render 'admin/reports/show'
|
render html: '<p>success</p>', layout: true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'requires administrator or moderator' do
|
before { routes.draw { get 'success' => 'admin/base#success' } }
|
||||||
routes.draw { get 'success' => 'admin/base#success' }
|
|
||||||
sign_in(Fabricate(:user))
|
|
||||||
get :success
|
|
||||||
|
|
||||||
expect(response).to have_http_status(403)
|
context 'when signed in as regular user' do
|
||||||
|
before { sign_in Fabricate(:user) }
|
||||||
|
|
||||||
|
it 'responds with unauthorized' do
|
||||||
|
get :success
|
||||||
|
|
||||||
|
expect(response).to have_http_status(403)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'returns private cache control headers' do
|
context 'when signed in as moderator' do
|
||||||
routes.draw { get 'success' => 'admin/base#success' }
|
before { sign_in Fabricate(:moderator_user) }
|
||||||
sign_in(Fabricate(:moderator_user))
|
|
||||||
get :success
|
|
||||||
|
|
||||||
expect(response.headers['Cache-Control']).to include('private, no-store')
|
it 'returns success with private headers and admin layout' do
|
||||||
|
get :success
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(200)
|
||||||
|
expect(response.headers['Cache-Control'])
|
||||||
|
.to include('private, no-store')
|
||||||
|
expect(response.parsed_body)
|
||||||
|
.to have_css('body.admin')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'renders admin layout as a moderator' do
|
context 'when signed in as admin' do
|
||||||
routes.draw { get 'success' => 'admin/base#success' }
|
before { sign_in Fabricate(:admin_user) }
|
||||||
sign_in(Fabricate(:moderator_user))
|
|
||||||
get :success
|
|
||||||
expect(response).to render_template layout: 'admin'
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'renders admin layout as an admin' do
|
it 'returns success with private headers and admin layout' do
|
||||||
routes.draw { get 'success' => 'admin/base#success' }
|
get :success
|
||||||
sign_in(Fabricate(:admin_user))
|
|
||||||
get :success
|
expect(response)
|
||||||
expect(response).to render_template layout: 'admin'
|
.to have_http_status(200)
|
||||||
|
expect(response.headers['Cache-Control'])
|
||||||
|
.to include('private, no-store')
|
||||||
|
expect(response.parsed_body)
|
||||||
|
.to have_css('body.admin')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -49,23 +49,11 @@ RSpec.describe Admin::InstancesController do
|
||||||
|
|
||||||
expect(response).to have_http_status(200)
|
expect(response).to have_http_status(200)
|
||||||
|
|
||||||
instance = assigns(:instance)
|
expect(response.body)
|
||||||
expect(instance).to_not be_new_record
|
.to include(I18n.t('admin.instances.totals_time_period_hint_html'))
|
||||||
|
.and include(I18n.t('accounts.nothing_here'))
|
||||||
|
|
||||||
expect(Admin::ActionLogFilter).to have_received(:new).with(target_domain: account_popular_main.domain)
|
expect(Admin::ActionLogFilter).to have_received(:new).with(target_domain: account_popular_main.domain)
|
||||||
|
|
||||||
action_logs = assigns(:action_logs).to_a
|
|
||||||
expect(action_logs.size).to eq 0
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with an unknown domain' do
|
|
||||||
it 'returns http success' do
|
|
||||||
get :show, params: { id: 'unknown.example' }
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
|
|
||||||
instance = assigns(:instance)
|
|
||||||
expect(instance).to be_new_record
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -262,8 +262,8 @@ RSpec.describe Auth::SessionsController do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'renders two factor authentication page' do
|
it 'renders two factor authentication page' do
|
||||||
expect(controller).to render_template('two_factor')
|
expect(response.body)
|
||||||
expect(controller).to render_template(partial: '_otp_authentication_form')
|
.to include(I18n.t('simple_form.hints.sessions.otp'))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -278,8 +278,8 @@ RSpec.describe Auth::SessionsController do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'renders two factor authentication page' do
|
it 'renders two factor authentication page' do
|
||||||
expect(controller).to render_template('two_factor')
|
expect(response.body)
|
||||||
expect(controller).to render_template(partial: '_otp_authentication_form')
|
.to include(I18n.t('simple_form.hints.sessions.otp'))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -289,8 +289,8 @@ RSpec.describe Auth::SessionsController do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'renders two factor authentication page' do
|
it 'renders two factor authentication page' do
|
||||||
expect(controller).to render_template('two_factor')
|
expect(response.body)
|
||||||
expect(controller).to render_template(partial: '_otp_authentication_form')
|
.to include(I18n.t('simple_form.hints.sessions.otp'))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -417,8 +417,8 @@ RSpec.describe Auth::SessionsController do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'renders webauthn authentication page' do
|
it 'renders webauthn authentication page' do
|
||||||
expect(controller).to render_template('two_factor')
|
expect(response.body)
|
||||||
expect(controller).to render_template(partial: '_webauthn_form')
|
.to include(I18n.t('simple_form.title.sessions.webauthn'))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -428,8 +428,8 @@ RSpec.describe Auth::SessionsController do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'renders webauthn authentication page' do
|
it 'renders webauthn authentication page' do
|
||||||
expect(controller).to render_template('two_factor')
|
expect(response.body)
|
||||||
expect(controller).to render_template(partial: '_webauthn_form')
|
.to include(I18n.t('simple_form.title.sessions.webauthn'))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe ChallengableConcern do
|
RSpec.describe ChallengableConcern do
|
||||||
|
render_views
|
||||||
|
|
||||||
controller(ApplicationController) do
|
controller(ApplicationController) do
|
||||||
include ChallengableConcern # rubocop:disable RSpec/DescribedClass
|
include ChallengableConcern # rubocop:disable RSpec/DescribedClass
|
||||||
|
|
||||||
|
@ -85,29 +87,35 @@ RSpec.describe ChallengableConcern do
|
||||||
before { get :foo }
|
before { get :foo }
|
||||||
|
|
||||||
it 'renders challenge' do
|
it 'renders challenge' do
|
||||||
expect(response).to render_template('auth/challenges/new', layout: :auth)
|
expect(response.parsed_body)
|
||||||
|
.to have_title(I18n.t('challenge.prompt'))
|
||||||
end
|
end
|
||||||
|
|
||||||
# See Auth::ChallengesControllerSpec
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with POST requests' do
|
context 'with POST requests' do
|
||||||
before { post :bar }
|
before { post :bar }
|
||||||
|
|
||||||
it 'renders challenge' do
|
it 'renders challenge' do
|
||||||
expect(response).to render_template('auth/challenges/new', layout: :auth)
|
expect(response.parsed_body)
|
||||||
|
.to have_title(I18n.t('challenge.prompt'))
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'accepts correct password' do
|
it 'accepts correct password' do
|
||||||
post :bar, params: { form_challenge: { current_password: password } }
|
post :bar, params: { form_challenge: { current_password: password } }
|
||||||
expect(response.body).to eq 'bar'
|
|
||||||
expect(session[:challenge_passed_at]).to_not be_nil
|
expect(response.body)
|
||||||
|
.to eq 'bar'
|
||||||
|
expect(session[:challenge_passed_at])
|
||||||
|
.to_not be_nil
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'rejects wrong password' do
|
it 'rejects wrong password' do
|
||||||
post :bar, params: { form_challenge: { current_password: 'dddfff888123' } }
|
post :bar, params: { form_challenge: { current_password: 'dddfff888123' } }
|
||||||
expect(response.body).to render_template('auth/challenges/new', layout: :auth)
|
|
||||||
expect(session[:challenge_passed_at]).to be_nil
|
expect(response.parsed_body)
|
||||||
|
.to have_title(I18n.t('challenge.prompt'))
|
||||||
|
expect(session[:challenge_passed_at])
|
||||||
|
.to be_nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,68 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
RSpec.describe Settings::FeaturedTagsController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
context 'when user is not signed in' do
|
|
||||||
subject { post :create }
|
|
||||||
|
|
||||||
it { is_expected.to redirect_to new_user_session_path }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when user is signed in' do
|
|
||||||
let(:user) { Fabricate(:user, password: '12345678') }
|
|
||||||
|
|
||||||
before { sign_in user, scope: :user }
|
|
||||||
|
|
||||||
describe 'POST #create' do
|
|
||||||
subject { post :create, params: { featured_tag: params } }
|
|
||||||
|
|
||||||
context 'when parameter is valid' do
|
|
||||||
let(:params) { { name: 'test' } }
|
|
||||||
|
|
||||||
it 'creates featured tag' do
|
|
||||||
expect { subject }.to change { user.account.featured_tags.count }.by(1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when parameter is invalid' do
|
|
||||||
let(:params) { { name: 'test, #foo !bleh' } }
|
|
||||||
|
|
||||||
it 'renders new' do
|
|
||||||
expect(subject).to render_template :index
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET to #index' do
|
|
||||||
let(:tag) { Fabricate(:tag) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
status = Fabricate :status, account: user.account
|
|
||||||
status.tags << tag
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'responds with success' do
|
|
||||||
get :index
|
|
||||||
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
expect(response.body).to include(
|
|
||||||
settings_featured_tags_path(featured_tag: { name: tag.name })
|
|
||||||
)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'DELETE to #destroy' do
|
|
||||||
let(:featured_tag) { Fabricate(:featured_tag, account: user.account) }
|
|
||||||
|
|
||||||
it 'removes the featured tag' do
|
|
||||||
delete :destroy, params: { id: featured_tag.id }
|
|
||||||
|
|
||||||
expect(response).to redirect_to(settings_featured_tags_path)
|
|
||||||
expect { featured_tag.reload }.to raise_error(ActiveRecord::RecordNotFound)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,67 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
RSpec.describe Settings::Migration::RedirectsController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
let!(:user) { Fabricate(:user, password: 'testtest') }
|
|
||||||
|
|
||||||
before do
|
|
||||||
sign_in user, scope: :user
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #new' do
|
|
||||||
before do
|
|
||||||
get :new
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns http success with private cache control headers', :aggregate_failures do
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
expect(response.headers['Cache-Control']).to include('private, no-store')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'POST #create' do
|
|
||||||
context 'with valid params' do
|
|
||||||
before { stub_resolver }
|
|
||||||
|
|
||||||
it 'redirects to the settings migration path' do
|
|
||||||
post :create, params: { form_redirect: { acct: 'new@host.com', current_password: 'testtest' } }
|
|
||||||
|
|
||||||
expect(response).to redirect_to(settings_migration_path)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with non valid params' do
|
|
||||||
it 'returns success and renders the new page' do
|
|
||||||
post :create, params: { form_redirect: { acct: '' } }
|
|
||||||
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
expect(response).to render_template(:new)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'DELETE #destroy' do
|
|
||||||
let(:account) { Fabricate(:account) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
user.account.update(moved_to_account_id: account.id)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'resets the account and sends an update' do
|
|
||||||
delete :destroy
|
|
||||||
|
|
||||||
expect(response).to redirect_to(settings_migration_path)
|
|
||||||
expect(user.account.reload.moved_to_account).to be_nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def stub_resolver
|
|
||||||
resolver = instance_double(ResolveAccountService, call: Fabricate(:account))
|
|
||||||
allow(ResolveAccountService).to receive(:new).and_return(resolver)
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,74 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
RSpec.describe Settings::PrivacyController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
let!(:user) { Fabricate(:user) }
|
|
||||||
let(:account) { user.account }
|
|
||||||
|
|
||||||
before do
|
|
||||||
sign_in user, scope: :user
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #show' do
|
|
||||||
before do
|
|
||||||
get :show
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns http success with private cache control headers', :aggregate_failures do
|
|
||||||
expect(response)
|
|
||||||
.to have_http_status(200)
|
|
||||||
.and have_attributes(
|
|
||||||
headers: include(
|
|
||||||
'Cache-Control' => 'private, no-store'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'PUT #update' do
|
|
||||||
context 'when update succeeds' do
|
|
||||||
before do
|
|
||||||
allow(ActivityPub::UpdateDistributionWorker).to receive(:perform_async)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'updates the user profile' do
|
|
||||||
put :update, params: { account: { discoverable: '1', settings: { indexable: '1' } } }
|
|
||||||
|
|
||||||
expect(account.reload.discoverable)
|
|
||||||
.to be(true)
|
|
||||||
|
|
||||||
expect(response)
|
|
||||||
.to redirect_to(settings_privacy_path)
|
|
||||||
|
|
||||||
expect(ActivityPub::UpdateDistributionWorker)
|
|
||||||
.to have_received(:perform_async).with(account.id)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when update fails' do
|
|
||||||
before do
|
|
||||||
allow(UpdateAccountService).to receive(:new).and_return(failing_update_service)
|
|
||||||
allow(ActivityPub::UpdateDistributionWorker).to receive(:perform_async)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'updates the user profile' do
|
|
||||||
put :update, params: { account: { discoverable: '1', settings: { indexable: '1' } } }
|
|
||||||
|
|
||||||
expect(response)
|
|
||||||
.to render_template(:show)
|
|
||||||
|
|
||||||
expect(ActivityPub::UpdateDistributionWorker)
|
|
||||||
.to_not have_received(:perform_async)
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def failing_update_service
|
|
||||||
instance_double(UpdateAccountService, call: false)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,30 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
RSpec.describe Settings::TwoFactorAuthentication::RecoveryCodesController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
describe 'POST #create' do
|
|
||||||
it 'updates the codes and shows them on a view when signed in' do
|
|
||||||
user = Fabricate(:user)
|
|
||||||
otp_backup_codes = user.generate_otp_backup_codes!
|
|
||||||
allow(user).to receive(:generate_otp_backup_codes!).and_return(otp_backup_codes)
|
|
||||||
allow(controller).to receive(:current_user).and_return(user)
|
|
||||||
|
|
||||||
sign_in user, scope: :user
|
|
||||||
post :create, session: { challenge_passed_at: Time.now.utc }
|
|
||||||
|
|
||||||
expect(flash[:notice]).to eq 'Recovery codes successfully regenerated'
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
expect(response).to render_template(:index)
|
|
||||||
expect(response.body)
|
|
||||||
.to include(*otp_backup_codes)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'redirects when not signed in' do
|
|
||||||
post :create
|
|
||||||
expect(response).to redirect_to '/auth/sign_in'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,79 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
RSpec.describe Settings::TwoFactorAuthenticationMethodsController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
context 'when not signed in' do
|
|
||||||
describe 'GET to #index' do
|
|
||||||
it 'redirects' do
|
|
||||||
get :index
|
|
||||||
|
|
||||||
expect(response).to redirect_to '/auth/sign_in'
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when signed in' do
|
|
||||||
let(:user) { Fabricate(:user) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
sign_in user, scope: :user
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #index' do
|
|
||||||
describe 'when user has enabled otp' do
|
|
||||||
before do
|
|
||||||
user.update(otp_required_for_login: true)
|
|
||||||
get :index
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns http success with private cache control headers', :aggregate_failures do
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
expect(response.headers['Cache-Control']).to include('private, no-store')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'when user has not enabled otp' do
|
|
||||||
before do
|
|
||||||
user.update(otp_required_for_login: false)
|
|
||||||
get :index
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'redirects to enable otp' do
|
|
||||||
expect(response).to redirect_to(settings_otp_authentication_path)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'POST to #disable' do
|
|
||||||
before do
|
|
||||||
user.update(otp_required_for_login: true)
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when user has not passed challenge' do
|
|
||||||
it 'renders challenge page' do
|
|
||||||
post :disable
|
|
||||||
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
expect(response).to render_template('auth/challenges/new')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when user has passed challenge' do
|
|
||||||
before do
|
|
||||||
mailer = instance_double(ApplicationMailer::MessageDelivery, deliver_later!: true)
|
|
||||||
allow(UserMailer).to receive(:two_factor_disabled).with(user).and_return(mailer)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'redirects to settings page' do
|
|
||||||
post :disable, session: { challenge_passed_at: 10.minutes.ago }
|
|
||||||
|
|
||||||
expect(UserMailer).to have_received(:two_factor_disabled).with(user)
|
|
||||||
expect(response).to redirect_to(settings_otp_authentication_path)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -9,93 +9,6 @@ RSpec.describe StatusesController do
|
||||||
let(:account) { Fabricate(:account) }
|
let(:account) { Fabricate(:account) }
|
||||||
let(:status) { Fabricate(:status, account: account) }
|
let(:status) { Fabricate(:status, account: account) }
|
||||||
|
|
||||||
context 'when status is public' do
|
|
||||||
before do
|
|
||||||
get :show, params: { account_username: status.account.username, id: status.id, format: format }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with HTML' do
|
|
||||||
let(:format) { 'html' }
|
|
||||||
|
|
||||||
it 'renders status successfully', :aggregate_failures do
|
|
||||||
expect(response)
|
|
||||||
.to have_http_status(200)
|
|
||||||
.and render_template(:show)
|
|
||||||
expect(response.headers).to include(
|
|
||||||
'Vary' => 'Accept, Accept-Language, Cookie',
|
|
||||||
'Cache-Control' => include('public'),
|
|
||||||
'Link' => include('activity+json')
|
|
||||||
)
|
|
||||||
expect(response.body).to include status.text
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with JSON' do
|
|
||||||
let(:format) { 'json' }
|
|
||||||
|
|
||||||
it 'renders ActivityPub Note object successfully', :aggregate_failures do
|
|
||||||
expect(response)
|
|
||||||
.to have_http_status(200)
|
|
||||||
.and have_cacheable_headers.with_vary('Accept, Accept-Language, Cookie')
|
|
||||||
|
|
||||||
expect(response.headers).to include(
|
|
||||||
'Content-Type' => include('application/activity+json'),
|
|
||||||
'Link' => include('activity+json')
|
|
||||||
)
|
|
||||||
expect(response.parsed_body)
|
|
||||||
.to include(content: include(status.text))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when status is private' do
|
|
||||||
let(:status) { Fabricate(:status, account: account, visibility: :private) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
get :show, params: { account_username: status.account.username, id: status.id, format: format }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with JSON' do
|
|
||||||
let(:format) { 'json' }
|
|
||||||
|
|
||||||
it 'returns http not found' do
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with HTML' do
|
|
||||||
let(:format) { 'html' }
|
|
||||||
|
|
||||||
it 'returns http not found' do
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when status is direct' do
|
|
||||||
let(:status) { Fabricate(:status, account: account, visibility: :direct) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
get :show, params: { account_username: status.account.username, id: status.id, format: format }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with JSON' do
|
|
||||||
let(:format) { 'json' }
|
|
||||||
|
|
||||||
it 'returns http not found' do
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with HTML' do
|
|
||||||
let(:format) { 'html' }
|
|
||||||
|
|
||||||
it 'returns http not found' do
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when signed-in' do
|
context 'when signed-in' do
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user) }
|
||||||
|
|
||||||
|
@ -275,206 +188,5 @@ RSpec.describe StatusesController do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with signature' do
|
|
||||||
let(:remote_account) { Fabricate(:account, domain: 'example.com') }
|
|
||||||
|
|
||||||
before do
|
|
||||||
allow(controller).to receive(:signed_request_actor).and_return(remote_account)
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when account blocks account' do
|
|
||||||
before do
|
|
||||||
account.block!(remote_account)
|
|
||||||
get :show, params: { account_username: status.account.username, id: status.id }
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns http not found' do
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when account domain blocks account' do
|
|
||||||
before do
|
|
||||||
account.block_domain!(remote_account.domain)
|
|
||||||
get :show, params: { account_username: status.account.username, id: status.id }
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns http not found' do
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when status is public' do
|
|
||||||
before do
|
|
||||||
get :show, params: { account_username: status.account.username, id: status.id, format: format }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with HTML' do
|
|
||||||
let(:format) { 'html' }
|
|
||||||
|
|
||||||
it 'renders status successfully', :aggregate_failures do
|
|
||||||
expect(response)
|
|
||||||
.to have_http_status(200)
|
|
||||||
.and render_template(:show)
|
|
||||||
expect(response.headers).to include(
|
|
||||||
'Vary' => 'Accept, Accept-Language, Cookie',
|
|
||||||
'Cache-Control' => include('private'),
|
|
||||||
'Link' => include('activity+json')
|
|
||||||
)
|
|
||||||
expect(response.body).to include status.text
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with JSON' do
|
|
||||||
let(:format) { 'json' }
|
|
||||||
|
|
||||||
it 'renders ActivityPub Note object successfully', :aggregate_failures do
|
|
||||||
expect(response)
|
|
||||||
.to have_http_status(200)
|
|
||||||
.and have_cacheable_headers.with_vary('Accept, Accept-Language, Cookie')
|
|
||||||
expect(response.headers).to include(
|
|
||||||
'Content-Type' => include('application/activity+json'),
|
|
||||||
'Link' => include('activity+json')
|
|
||||||
)
|
|
||||||
expect(response.parsed_body)
|
|
||||||
.to include(content: include(status.text))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when status is private' do
|
|
||||||
let(:status) { Fabricate(:status, account: account, visibility: :private) }
|
|
||||||
|
|
||||||
context 'when user is authorized to see it' do
|
|
||||||
before do
|
|
||||||
remote_account.follow!(account)
|
|
||||||
get :show, params: { account_username: status.account.username, id: status.id, format: format }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with HTML' do
|
|
||||||
let(:format) { 'html' }
|
|
||||||
|
|
||||||
it 'renders status successfully', :aggregate_failures do
|
|
||||||
expect(response)
|
|
||||||
.to have_http_status(200)
|
|
||||||
.and render_template(:show)
|
|
||||||
expect(response.headers).to include(
|
|
||||||
'Vary' => 'Accept, Accept-Language, Cookie',
|
|
||||||
'Cache-Control' => include('private'),
|
|
||||||
'Link' => include('activity+json')
|
|
||||||
)
|
|
||||||
expect(response.body).to include status.text
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with JSON' do
|
|
||||||
let(:format) { 'json' }
|
|
||||||
|
|
||||||
it 'renders ActivityPub Note object successfully' do
|
|
||||||
expect(response)
|
|
||||||
.to have_http_status(200)
|
|
||||||
expect(response.headers).to include(
|
|
||||||
'Vary' => 'Accept, Accept-Language, Cookie',
|
|
||||||
'Cache-Control' => include('private'),
|
|
||||||
'Content-Type' => include('application/activity+json'),
|
|
||||||
'Link' => include('activity+json')
|
|
||||||
)
|
|
||||||
|
|
||||||
expect(response.parsed_body)
|
|
||||||
.to include(content: include(status.text))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when user is not authorized to see it' do
|
|
||||||
before do
|
|
||||||
get :show, params: { account_username: status.account.username, id: status.id, format: format }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with JSON' do
|
|
||||||
let(:format) { 'json' }
|
|
||||||
|
|
||||||
it 'returns http not found' do
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with HTML' do
|
|
||||||
let(:format) { 'html' }
|
|
||||||
|
|
||||||
it 'returns http not found' do
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when status is direct' do
|
|
||||||
let(:status) { Fabricate(:status, account: account, visibility: :direct) }
|
|
||||||
|
|
||||||
context 'when user is authorized to see it' do
|
|
||||||
before do
|
|
||||||
Fabricate(:mention, account: remote_account, status: status)
|
|
||||||
get :show, params: { account_username: status.account.username, id: status.id, format: format }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with HTML' do
|
|
||||||
let(:format) { 'html' }
|
|
||||||
|
|
||||||
it 'renders status successfully', :aggregate_failures do
|
|
||||||
expect(response)
|
|
||||||
.to have_http_status(200)
|
|
||||||
.and render_template(:show)
|
|
||||||
expect(response.headers).to include(
|
|
||||||
'Vary' => 'Accept, Accept-Language, Cookie',
|
|
||||||
'Cache-Control' => include('private'),
|
|
||||||
'Link' => include('activity+json')
|
|
||||||
)
|
|
||||||
expect(response.body).to include status.text
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with JSON' do
|
|
||||||
let(:format) { 'json' }
|
|
||||||
|
|
||||||
it 'renders ActivityPub Note object', :aggregate_failures do
|
|
||||||
expect(response)
|
|
||||||
.to have_http_status(200)
|
|
||||||
expect(response.headers).to include(
|
|
||||||
'Vary' => 'Accept, Accept-Language, Cookie',
|
|
||||||
'Cache-Control' => include('private'),
|
|
||||||
'Content-Type' => include('application/activity+json'),
|
|
||||||
'Link' => include('activity+json')
|
|
||||||
)
|
|
||||||
expect(response.parsed_body)
|
|
||||||
.to include(content: include(status.text))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when user is not authorized to see it' do
|
|
||||||
before do
|
|
||||||
get :show, params: { account_username: status.account.username, id: status.id, format: format }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with JSON' do
|
|
||||||
let(:format) { 'json' }
|
|
||||||
|
|
||||||
it 'returns http not found' do
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with HTML' do
|
|
||||||
let(:format) { 'html' }
|
|
||||||
|
|
||||||
it 'returns http not found' do
|
|
||||||
expect(response).to have_http_status(404)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
BIN
spec/fixtures/files/4096x4097.png
vendored
Before Width: | Height: | Size: 58 KiB |
|
@ -48,10 +48,16 @@ RSpec.describe ActivityPub::Activity::Create do
|
||||||
content: '@bob lorem ipsum',
|
content: '@bob lorem ipsum',
|
||||||
published: 1.hour.ago.utc.iso8601,
|
published: 1.hour.ago.utc.iso8601,
|
||||||
updated: 1.hour.ago.utc.iso8601,
|
updated: 1.hour.ago.utc.iso8601,
|
||||||
tag: {
|
tag: [
|
||||||
type: 'Mention',
|
{
|
||||||
href: ActivityPub::TagManager.instance.uri_for(follower),
|
type: 'Mention',
|
||||||
},
|
href: ActivityPub::TagManager.instance.uri_for(follower),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'Mention',
|
||||||
|
href: ActivityPub::TagManager.instance.uri_for(follower),
|
||||||
|
},
|
||||||
|
],
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
18
spec/requests/admin/instances_spec.rb
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Admin Instances' do
|
||||||
|
describe 'GET /admin/instances/:id' do
|
||||||
|
context 'with an unknown domain' do
|
||||||
|
before { sign_in Fabricate(:admin_user) }
|
||||||
|
|
||||||
|
it 'returns http success' do
|
||||||
|
get admin_instance_path(id: 'unknown.example')
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(200)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -2,15 +2,23 @@
|
||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe 'Settings Aliases' do
|
RSpec.describe 'Settings Featured Tags' do
|
||||||
describe 'POST /settings/featured_tags' do
|
describe 'POST /settings/featured_tags' do
|
||||||
before { sign_in Fabricate(:user) }
|
context 'when signed in' do
|
||||||
|
before { sign_in Fabricate(:user) }
|
||||||
|
|
||||||
it 'gracefully handles invalid nested params' do
|
it 'gracefully handles invalid nested params' do
|
||||||
post settings_featured_tags_path(featured_tag: 'invalid')
|
post settings_featured_tags_path(featured_tag: 'invalid')
|
||||||
|
|
||||||
expect(response)
|
expect(response)
|
||||||
.to have_http_status(400)
|
.to have_http_status(400)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when not signed in' do
|
||||||
|
subject { post settings_featured_tags_path }
|
||||||
|
|
||||||
|
it { is_expected.to redirect_to new_user_session_path }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Settings TwoFactorAuthentication RecoveryCodes' do
|
||||||
|
describe 'POST /settings/two_factor_authentication/recovery_codes' do
|
||||||
|
context 'when signed out' do
|
||||||
|
it 'redirects to sign in page' do
|
||||||
|
post settings_two_factor_authentication_recovery_codes_path
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to redirect_to(new_user_session_path)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,35 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Settings TwoFactorAuthenticationMethods' do
|
||||||
|
context 'when not signed in' do
|
||||||
|
describe 'GET to /settings/two_factor_authentication_methods' do
|
||||||
|
it 'redirects to sign in page' do
|
||||||
|
get settings_two_factor_authentication_methods_path
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to redirect_to(new_user_session_path)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when signed in' do
|
||||||
|
let(:user) { Fabricate(:user) }
|
||||||
|
|
||||||
|
before { sign_in user }
|
||||||
|
|
||||||
|
describe 'GET to /settings/two_factor_authentication_methods' do
|
||||||
|
describe 'when user has not enabled otp' do
|
||||||
|
before { user.update(otp_required_for_login: false) }
|
||||||
|
|
||||||
|
it 'redirects to enable otp' do
|
||||||
|
get settings_two_factor_authentication_methods_path
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to redirect_to(settings_otp_authentication_path)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -45,6 +45,72 @@ RSpec.describe 'Statuses' do
|
||||||
.to redirect_to(original_status.url)
|
.to redirect_to(original_status.url)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when status visibility is public' do
|
||||||
|
subject { get short_account_status_path(account_username: account.username, id: status.id, format: format) }
|
||||||
|
|
||||||
|
let(:status) { Fabricate(:status, account: account, visibility: :public) }
|
||||||
|
|
||||||
|
context 'with HTML' do
|
||||||
|
let(:format) { 'html' }
|
||||||
|
|
||||||
|
it 'renders status successfully', :aggregate_failures do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(200)
|
||||||
|
.and render_template(:show)
|
||||||
|
expect(response.headers).to include(
|
||||||
|
'Vary' => 'Accept, Accept-Language, Cookie',
|
||||||
|
'Cache-Control' => include('public'),
|
||||||
|
'Link' => include('activity+json')
|
||||||
|
)
|
||||||
|
expect(response.body)
|
||||||
|
.to include(status.text)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with JSON' do
|
||||||
|
let(:format) { 'json' }
|
||||||
|
|
||||||
|
it 'renders ActivityPub Note object successfully', :aggregate_failures do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(200)
|
||||||
|
.and have_cacheable_headers.with_vary('Accept, Accept-Language, Cookie')
|
||||||
|
|
||||||
|
expect(response.headers).to include(
|
||||||
|
'Content-Type' => include('application/activity+json'),
|
||||||
|
'Link' => include('activity+json')
|
||||||
|
)
|
||||||
|
expect(response.parsed_body)
|
||||||
|
.to include(content: include(status.text))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when status visibility is private' do
|
||||||
|
let(:status) { Fabricate(:status, account: account, visibility: :private) }
|
||||||
|
|
||||||
|
it 'returns http not found' do
|
||||||
|
get short_account_status_path(account_username: account.username, id: status.id)
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(404)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when status visibility is direct' do
|
||||||
|
let(:status) { Fabricate(:status, account: account, visibility: :direct) }
|
||||||
|
|
||||||
|
it 'returns http not found' do
|
||||||
|
get short_account_status_path(account_username: account.username, id: status.id)
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(404)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when signed in' do
|
context 'when signed in' do
|
||||||
|
@ -63,5 +129,185 @@ RSpec.describe 'Statuses' do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with "HTTP Signature" access signed by a remote account' do
|
||||||
|
subject do
|
||||||
|
get short_account_status_path(account_username: status.account.username, id: status.id, format: format),
|
||||||
|
headers: nil,
|
||||||
|
sign_with: remote_account
|
||||||
|
end
|
||||||
|
|
||||||
|
let(:format) { 'html' }
|
||||||
|
let(:remote_account) { Fabricate(:account, domain: 'host.example') }
|
||||||
|
|
||||||
|
context 'when account blocks the remote account' do
|
||||||
|
before { account.block!(remote_account) }
|
||||||
|
|
||||||
|
it 'returns http not found' do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(404)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when account domain blocks the domain of the remote account' do
|
||||||
|
before { account.block_domain!(remote_account.domain) }
|
||||||
|
|
||||||
|
it 'returns http not found' do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(404)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when status has public visibility' do
|
||||||
|
context 'with HTML' do
|
||||||
|
let(:format) { 'html' }
|
||||||
|
|
||||||
|
it 'renders status successfully', :aggregate_failures do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(200)
|
||||||
|
expect(response.headers).to include(
|
||||||
|
'Vary' => 'Accept, Accept-Language, Cookie',
|
||||||
|
'Cache-Control' => include('private'),
|
||||||
|
'Link' => include('activity+json')
|
||||||
|
)
|
||||||
|
expect(response.body)
|
||||||
|
.to include(status.text)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with JSON' do
|
||||||
|
let(:format) { 'json' }
|
||||||
|
|
||||||
|
it 'renders ActivityPub Note object successfully', :aggregate_failures do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(200)
|
||||||
|
.and have_cacheable_headers.with_vary('Accept, Accept-Language, Cookie')
|
||||||
|
expect(response.headers).to include(
|
||||||
|
'Content-Type' => include('application/activity+json'),
|
||||||
|
'Link' => include('activity+json')
|
||||||
|
)
|
||||||
|
expect(response.parsed_body)
|
||||||
|
.to include(content: include(status.text))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when status has private visibility' do
|
||||||
|
let(:status) { Fabricate(:status, account: account, visibility: :private) }
|
||||||
|
|
||||||
|
context 'when user is authorized to see it' do
|
||||||
|
before { remote_account.follow!(account) }
|
||||||
|
|
||||||
|
context 'with HTML' do
|
||||||
|
let(:format) { 'html' }
|
||||||
|
|
||||||
|
it 'renders status successfully', :aggregate_failures do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(200)
|
||||||
|
expect(response.headers).to include(
|
||||||
|
'Vary' => 'Accept, Accept-Language, Cookie',
|
||||||
|
'Cache-Control' => include('private'),
|
||||||
|
'Link' => include('activity+json')
|
||||||
|
)
|
||||||
|
expect(response.body)
|
||||||
|
.to include(status.text)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with JSON' do
|
||||||
|
let(:format) { 'json' }
|
||||||
|
|
||||||
|
it 'renders ActivityPub Note object successfully' do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(200)
|
||||||
|
expect(response.headers).to include(
|
||||||
|
'Vary' => 'Accept, Accept-Language, Cookie',
|
||||||
|
'Cache-Control' => include('private'),
|
||||||
|
'Content-Type' => include('application/activity+json'),
|
||||||
|
'Link' => include('activity+json')
|
||||||
|
)
|
||||||
|
|
||||||
|
expect(response.parsed_body)
|
||||||
|
.to include(content: include(status.text))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when user is not authorized to see it' do
|
||||||
|
it 'returns http not found' do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(404)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when status is direct' do
|
||||||
|
let(:status) { Fabricate(:status, account: account, visibility: :direct) }
|
||||||
|
|
||||||
|
context 'when user is authorized to see it' do
|
||||||
|
before { Fabricate(:mention, account: remote_account, status: status) }
|
||||||
|
|
||||||
|
context 'with HTML' do
|
||||||
|
let(:format) { 'html' }
|
||||||
|
|
||||||
|
it 'renders status successfully', :aggregate_failures do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(200)
|
||||||
|
expect(response.headers).to include(
|
||||||
|
'Vary' => 'Accept, Accept-Language, Cookie',
|
||||||
|
'Cache-Control' => include('private'),
|
||||||
|
'Link' => include('activity+json')
|
||||||
|
)
|
||||||
|
expect(response.body)
|
||||||
|
.to include(status.text)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with JSON' do
|
||||||
|
let(:format) { 'json' }
|
||||||
|
|
||||||
|
it 'renders ActivityPub Note object', :aggregate_failures do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(200)
|
||||||
|
expect(response.headers).to include(
|
||||||
|
'Vary' => 'Accept, Accept-Language, Cookie',
|
||||||
|
'Cache-Control' => include('private'),
|
||||||
|
'Content-Type' => include('application/activity+json'),
|
||||||
|
'Link' => include('activity+json')
|
||||||
|
)
|
||||||
|
expect(response.parsed_body)
|
||||||
|
.to include(content: include(status.text))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when user is not authorized to see it' do
|
||||||
|
it 'returns http not found' do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(404)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -12,6 +12,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService do
|
||||||
[
|
[
|
||||||
{ type: 'Hashtag', name: 'hoge' },
|
{ type: 'Hashtag', name: 'hoge' },
|
||||||
{ type: 'Mention', href: ActivityPub::TagManager.instance.uri_for(alice) },
|
{ type: 'Mention', href: ActivityPub::TagManager.instance.uri_for(alice) },
|
||||||
|
{ type: 'Mention', href: ActivityPub::TagManager.instance.uri_for(alice) },
|
||||||
{ type: 'Mention', href: bogus_mention },
|
{ type: 'Mention', href: bogus_mention },
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,6 +5,7 @@ require 'rails_helper'
|
||||||
RSpec.describe 'finding software updates through the admin interface' do
|
RSpec.describe 'finding software updates through the admin interface' do
|
||||||
before do
|
before do
|
||||||
Fabricate(:software_update, version: '99.99.99', type: 'major', urgent: true, release_notes: 'https://github.com/mastodon/mastodon/releases/v99')
|
Fabricate(:software_update, version: '99.99.99', type: 'major', urgent: true, release_notes: 'https://github.com/mastodon/mastodon/releases/v99')
|
||||||
|
Fabricate(:software_update, version: '3.5.0', type: 'major', urgent: true, release_notes: 'https://github.com/mastodon/mastodon/releases/v3.5.0')
|
||||||
|
|
||||||
sign_in Fabricate(:owner_user), scope: :user
|
sign_in Fabricate(:owner_user), scope: :user
|
||||||
end
|
end
|
||||||
|
@ -16,6 +17,7 @@ RSpec.describe 'finding software updates through the admin interface' do
|
||||||
expect(page).to have_title(I18n.t('admin.software_updates.title'))
|
expect(page).to have_title(I18n.t('admin.software_updates.title'))
|
||||||
|
|
||||||
expect(page).to have_content('99.99.99')
|
expect(page).to have_content('99.99.99')
|
||||||
|
.and have_no_content('3.5.0')
|
||||||
|
|
||||||
click_on I18n.t('admin.software_updates.release_notes')
|
click_on I18n.t('admin.software_updates.release_notes')
|
||||||
expect(page).to have_current_path('https://github.com/mastodon/mastodon/releases/v99', url: true)
|
expect(page).to have_current_path('https://github.com/mastodon/mastodon/releases/v99', url: true)
|
||||||
|
|
42
spec/system/settings/featured_tags_spec.rb
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Settings Featured Tags' do
|
||||||
|
let(:user) { Fabricate(:user) }
|
||||||
|
|
||||||
|
before { sign_in(user) }
|
||||||
|
|
||||||
|
describe 'Managing tags' do
|
||||||
|
let(:tag) { Fabricate(:tag) }
|
||||||
|
let(:status) { Fabricate :status, account: user.account }
|
||||||
|
|
||||||
|
before { status.tags << tag }
|
||||||
|
|
||||||
|
it 'Views, adds, and removes featured tags' do
|
||||||
|
visit settings_featured_tags_path
|
||||||
|
|
||||||
|
# Link to existing tag used on a status
|
||||||
|
expect(page.body)
|
||||||
|
.to include(
|
||||||
|
settings_featured_tags_path(featured_tag: { name: tag.name })
|
||||||
|
)
|
||||||
|
|
||||||
|
# Invalid entry
|
||||||
|
fill_in 'featured_tag_name', with: 'test, #foo !bleh'
|
||||||
|
expect { click_on I18n.t('featured_tags.add_new') }
|
||||||
|
.to_not change(user.account.featured_tags, :count)
|
||||||
|
|
||||||
|
# Valid entry
|
||||||
|
fill_in 'featured_tag_name', with: '#friends'
|
||||||
|
expect { click_on I18n.t('featured_tags.add_new') }
|
||||||
|
.to change(user.account.featured_tags, :count).by(1)
|
||||||
|
|
||||||
|
# Delete the created entry
|
||||||
|
expect { click_on I18n.t('filters.index.delete') }
|
||||||
|
.to change(user.account.featured_tags, :count).by(-1)
|
||||||
|
expect(page)
|
||||||
|
.to have_title(I18n.t('settings.featured_tags'))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
42
spec/system/settings/migration/redirects_spec.rb
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Settings Migration Redirects' do
|
||||||
|
let!(:user) { Fabricate(:user, password: 'testtest') }
|
||||||
|
|
||||||
|
before { sign_in(user) }
|
||||||
|
|
||||||
|
describe 'Managing redirects' do
|
||||||
|
before { stub_resolver }
|
||||||
|
|
||||||
|
it 'creates and destroys redirects' do
|
||||||
|
visit new_settings_migration_redirect_path
|
||||||
|
expect(page)
|
||||||
|
.to have_title(I18n.t('settings.migrate'))
|
||||||
|
|
||||||
|
# Empty form invalid submission
|
||||||
|
expect { click_on I18n.t('migrations.set_redirect') }
|
||||||
|
.to_not(change { user.account.moved_to_account_id }.from(nil))
|
||||||
|
|
||||||
|
# Valid form submission
|
||||||
|
fill_in 'form_redirect_acct', with: 'new@example.host'
|
||||||
|
fill_in 'form_redirect_current_password', with: 'testtest'
|
||||||
|
expect { click_on I18n.t('migrations.set_redirect') }
|
||||||
|
.to(change { user.reload.account.moved_to_account_id }.from(nil))
|
||||||
|
|
||||||
|
# Delete the account move
|
||||||
|
expect { click_on I18n.t('migrations.cancel') }
|
||||||
|
.to(change { user.reload.account.moved_to_account_id }.to(nil))
|
||||||
|
expect(page)
|
||||||
|
.to have_content(I18n.t('migrations.cancelled_msg'))
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def stub_resolver
|
||||||
|
resolver = instance_double(ResolveAccountService, call: Fabricate(:account))
|
||||||
|
allow(ResolveAccountService).to receive(:new).and_return(resolver)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
67
spec/system/settings/privacy_spec.rb
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Settings Privacy' do
|
||||||
|
let!(:user) { Fabricate(:user) }
|
||||||
|
|
||||||
|
before { sign_in(user) }
|
||||||
|
|
||||||
|
describe 'Managing privacy settings' do
|
||||||
|
before { user.account.update(discoverable: false) }
|
||||||
|
|
||||||
|
context 'with a successful update' do
|
||||||
|
before { allow(ActivityPub::UpdateDistributionWorker).to receive(:perform_async) }
|
||||||
|
|
||||||
|
it 'updates user profile information' do
|
||||||
|
# View settings page
|
||||||
|
visit settings_privacy_path
|
||||||
|
expect(page)
|
||||||
|
.to have_content(I18n.t('privacy.title'))
|
||||||
|
.and have_private_cache_control
|
||||||
|
|
||||||
|
# Fill out form and submit
|
||||||
|
check 'account_discoverable'
|
||||||
|
check 'account_indexable'
|
||||||
|
expect { click_on submit_button }
|
||||||
|
.to change { user.account.reload.discoverable }.to(true)
|
||||||
|
expect(page)
|
||||||
|
.to have_content(I18n.t('privacy.title'))
|
||||||
|
.and have_content(I18n.t('generic.changes_saved_msg'))
|
||||||
|
expect(ActivityPub::UpdateDistributionWorker)
|
||||||
|
.to have_received(:perform_async).with(user.account.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with a failed update' do
|
||||||
|
before do
|
||||||
|
allow(UpdateAccountService).to receive(:new).and_return(failing_update_service)
|
||||||
|
allow(ActivityPub::UpdateDistributionWorker).to receive(:perform_async)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'updates user profile information' do
|
||||||
|
# View settings page
|
||||||
|
visit settings_privacy_path
|
||||||
|
expect(page)
|
||||||
|
.to have_content(I18n.t('privacy.title'))
|
||||||
|
.and have_private_cache_control
|
||||||
|
|
||||||
|
# Fill out form and submit
|
||||||
|
check 'account_discoverable'
|
||||||
|
check 'account_indexable'
|
||||||
|
expect { click_on submit_button }
|
||||||
|
.to_not(change { user.account.reload.discoverable })
|
||||||
|
expect(page)
|
||||||
|
.to have_content(I18n.t('privacy.title'))
|
||||||
|
expect(ActivityPub::UpdateDistributionWorker)
|
||||||
|
.to_not have_received(:perform_async)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def failing_update_service
|
||||||
|
instance_double(UpdateAccountService, call: false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,37 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Settings TwoFactorAuthentication RecoveryCodes' do
|
||||||
|
describe 'Generating recovery codes' do
|
||||||
|
let(:user) { Fabricate :user, otp_required_for_login: true }
|
||||||
|
let(:backup_code) { +'147e7284c95bd260b91ed17820860019' }
|
||||||
|
|
||||||
|
before do
|
||||||
|
stub_code_generator
|
||||||
|
sign_in(user)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'updates the codes and includes them in the view' do
|
||||||
|
# Attempt to generate codes
|
||||||
|
visit settings_two_factor_authentication_methods_path
|
||||||
|
click_on I18n.t('two_factor_authentication.generate_recovery_codes')
|
||||||
|
|
||||||
|
# Fill in challenge password
|
||||||
|
fill_in 'form_challenge_current_password', with: user.password
|
||||||
|
|
||||||
|
expect { click_on I18n.t('challenge.confirm') }
|
||||||
|
.to(change { user.reload.otp_backup_codes })
|
||||||
|
|
||||||
|
expect(page)
|
||||||
|
.to have_content(I18n.t('two_factor_authentication.recovery_codes_regenerated'))
|
||||||
|
.and have_title(I18n.t('settings.two_factor_authentication'))
|
||||||
|
.and have_css('ol.recovery-codes')
|
||||||
|
.and have_content(backup_code)
|
||||||
|
end
|
||||||
|
|
||||||
|
def stub_code_generator
|
||||||
|
allow(SecureRandom).to receive(:hex).and_return(backup_code)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,41 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Settings TwoFactorAuthenticationMethods' do
|
||||||
|
context 'when signed in' do
|
||||||
|
let(:user) { Fabricate(:user) }
|
||||||
|
|
||||||
|
before { sign_in user }
|
||||||
|
|
||||||
|
describe 'Managing 2FA methods' do
|
||||||
|
before { user.update(otp_required_for_login: true) }
|
||||||
|
|
||||||
|
it 'disables 2FA with challenge confirmation', :inline_jobs do
|
||||||
|
visit settings_two_factor_authentication_methods_path
|
||||||
|
expect(page)
|
||||||
|
.to have_content(I18n.t('settings.two_factor_authentication'))
|
||||||
|
.and have_private_cache_control
|
||||||
|
|
||||||
|
# Attempt to disable
|
||||||
|
click_on I18n.t('two_factor_authentication.disable')
|
||||||
|
expect(page)
|
||||||
|
.to have_title(I18n.t('challenge.prompt'))
|
||||||
|
|
||||||
|
# Fill in challenge form
|
||||||
|
fill_in 'form_challenge_current_password', with: user.password
|
||||||
|
emails = capture_emails do
|
||||||
|
expect { click_on I18n.t('challenge.confirm') }
|
||||||
|
.to change { user.reload.otp_required_for_login }.to(false)
|
||||||
|
end
|
||||||
|
|
||||||
|
expect(page)
|
||||||
|
.to have_content(I18n.t('two_factor_authentication.disabled_success'))
|
||||||
|
expect(emails.first)
|
||||||
|
.to be_present
|
||||||
|
.and(deliver_to(user.email))
|
||||||
|
.and(have_subject(I18n.t('devise.mailer.two_factor_disabled.subject')))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
418
yarn.lock
|
@ -55,7 +55,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
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.25.9, @babel/code-frame@npm:^7.26.2":
|
"@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.26.2":
|
||||||
version: 7.26.2
|
version: 7.26.2
|
||||||
resolution: "@babel/code-frame@npm:7.26.2"
|
resolution: "@babel/code-frame@npm:7.26.2"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -66,46 +66,47 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.26.5":
|
"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.26.5, @babel/compat-data@npm:^7.26.8":
|
||||||
version: 7.26.5
|
version: 7.26.8
|
||||||
resolution: "@babel/compat-data@npm:7.26.5"
|
resolution: "@babel/compat-data@npm:7.26.8"
|
||||||
checksum: 10c0/9d2b41f0948c3dfc5de44d9f789d2208c2ea1fd7eb896dfbb297fe955e696728d6f363c600cd211e7f58ccbc2d834fe516bb1e4cf883bbabed8a32b038afc1a0
|
checksum: 10c0/66408a0388c3457fff1c2f6c3a061278dd7b3d2f0455ea29bb7b187fa52c60ae8b4054b3c0a184e21e45f0eaac63cf390737bc7504d1f4a088a6e7f652c068ca
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.22.1, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.0":
|
"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.22.1, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.0":
|
||||||
version: 7.26.7
|
version: 7.26.8
|
||||||
resolution: "@babel/core@npm:7.26.7"
|
resolution: "@babel/core@npm:7.26.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ampproject/remapping": "npm:^2.2.0"
|
"@ampproject/remapping": "npm:^2.2.0"
|
||||||
"@babel/code-frame": "npm:^7.26.2"
|
"@babel/code-frame": "npm:^7.26.2"
|
||||||
"@babel/generator": "npm:^7.26.5"
|
"@babel/generator": "npm:^7.26.8"
|
||||||
"@babel/helper-compilation-targets": "npm:^7.26.5"
|
"@babel/helper-compilation-targets": "npm:^7.26.5"
|
||||||
"@babel/helper-module-transforms": "npm:^7.26.0"
|
"@babel/helper-module-transforms": "npm:^7.26.0"
|
||||||
"@babel/helpers": "npm:^7.26.7"
|
"@babel/helpers": "npm:^7.26.7"
|
||||||
"@babel/parser": "npm:^7.26.7"
|
"@babel/parser": "npm:^7.26.8"
|
||||||
"@babel/template": "npm:^7.25.9"
|
"@babel/template": "npm:^7.26.8"
|
||||||
"@babel/traverse": "npm:^7.26.7"
|
"@babel/traverse": "npm:^7.26.8"
|
||||||
"@babel/types": "npm:^7.26.7"
|
"@babel/types": "npm:^7.26.8"
|
||||||
|
"@types/gensync": "npm:^1.0.0"
|
||||||
convert-source-map: "npm:^2.0.0"
|
convert-source-map: "npm:^2.0.0"
|
||||||
debug: "npm:^4.1.0"
|
debug: "npm:^4.1.0"
|
||||||
gensync: "npm:^1.0.0-beta.2"
|
gensync: "npm:^1.0.0-beta.2"
|
||||||
json5: "npm:^2.2.3"
|
json5: "npm:^2.2.3"
|
||||||
semver: "npm:^6.3.1"
|
semver: "npm:^6.3.1"
|
||||||
checksum: 10c0/fbd2cd9fc23280bdcaca556e558f715c0a42d940b9913c52582e8e3d24e391d269cb8a9cd6589172593983569021c379e28bba6b19ea2ee08674f6068c210a9d
|
checksum: 10c0/fafbd083ed3f79973ae2a11a69eee3f13b3226a1d4907abc2c6f2fea21adf4a7c20e00fe0eaa33f44a3666eeaf414edb07460ec031d478ee5f6088eb38b2a011
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/generator@npm:^7.26.5, @babel/generator@npm:^7.7.2":
|
"@babel/generator@npm:^7.26.8, @babel/generator@npm:^7.7.2":
|
||||||
version: 7.26.5
|
version: 7.26.8
|
||||||
resolution: "@babel/generator@npm:7.26.5"
|
resolution: "@babel/generator@npm:7.26.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/parser": "npm:^7.26.5"
|
"@babel/parser": "npm:^7.26.8"
|
||||||
"@babel/types": "npm:^7.26.5"
|
"@babel/types": "npm:^7.26.8"
|
||||||
"@jridgewell/gen-mapping": "npm:^0.3.5"
|
"@jridgewell/gen-mapping": "npm:^0.3.5"
|
||||||
"@jridgewell/trace-mapping": "npm:^0.3.25"
|
"@jridgewell/trace-mapping": "npm:^0.3.25"
|
||||||
jsesc: "npm:^3.0.2"
|
jsesc: "npm:^3.0.2"
|
||||||
checksum: 10c0/3be79e0aa03f38858a465d12ee2e468320b9122dc44fc85984713e32f16f4d77ce34a16a1a9505972782590e0b8d847b6f373621f9c6fafa1906d90f31416cb0
|
checksum: 10c0/9467f197d285ac315d1fa419138d36a3bfd69ca4baf763e914acab12f5f38e5d231497f6528e80613b28e73bb28c66fcc50b250b1f277b1a4d38ac14b03e9674
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -171,9 +172,9 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/helper-define-polyfill-provider@npm:^0.6.1, @babel/helper-define-polyfill-provider@npm:^0.6.2":
|
"@babel/helper-define-polyfill-provider@npm:^0.6.1, @babel/helper-define-polyfill-provider@npm:^0.6.2, @babel/helper-define-polyfill-provider@npm:^0.6.3":
|
||||||
version: 0.6.2
|
version: 0.6.3
|
||||||
resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2"
|
resolution: "@babel/helper-define-polyfill-provider@npm:0.6.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/helper-compilation-targets": "npm:^7.22.6"
|
"@babel/helper-compilation-targets": "npm:^7.22.6"
|
||||||
"@babel/helper-plugin-utils": "npm:^7.22.5"
|
"@babel/helper-plugin-utils": "npm:^7.22.5"
|
||||||
|
@ -182,7 +183,7 @@ __metadata:
|
||||||
resolve: "npm:^1.14.2"
|
resolve: "npm:^1.14.2"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
|
"@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
|
||||||
checksum: 10c0/f777fe0ee1e467fdaaac059c39ed203bdc94ef2465fb873316e9e1acfc511a276263724b061e3b0af2f6d7ad3ff174f2bb368fde236a860e0f650fda43d7e022
|
checksum: 10c0/4320e3527645e98b6a0d5626fef815680e3b2b03ec36045de5e909b0f01546ab3674e96f50bf3bc8413f8c9037e5ee1a5f560ebdf8210426dad1c2c03c96184a
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -313,14 +314,14 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.5, @babel/parser@npm:^7.26.7":
|
"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.26.8":
|
||||||
version: 7.26.7
|
version: 7.26.8
|
||||||
resolution: "@babel/parser@npm:7.26.7"
|
resolution: "@babel/parser@npm:7.26.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/types": "npm:^7.26.7"
|
"@babel/types": "npm:^7.26.8"
|
||||||
bin:
|
bin:
|
||||||
parser: ./bin/babel-parser.js
|
parser: ./bin/babel-parser.js
|
||||||
checksum: 10c0/dcb08a4f2878ece33caffefe43b71488d753324bae7ca58d64bca3bc4af34dcfa1b58abdf9972516d76af760fceb25bb9294ca33461d56b31c5059ccfe32001f
|
checksum: 10c0/da04f26bae732a5b6790775a736b58c7876c28e62203c5097f043fd7273ef6debe5bfd7a4e670a6819f4549b215c7b9762c6358e44797b3c4d733defc8290781
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -591,16 +592,16 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/plugin-transform-async-generator-functions@npm:^7.25.9":
|
"@babel/plugin-transform-async-generator-functions@npm:^7.26.8":
|
||||||
version: 7.25.9
|
version: 7.26.8
|
||||||
resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.9"
|
resolution: "@babel/plugin-transform-async-generator-functions@npm:7.26.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/helper-plugin-utils": "npm:^7.25.9"
|
"@babel/helper-plugin-utils": "npm:^7.26.5"
|
||||||
"@babel/helper-remap-async-to-generator": "npm:^7.25.9"
|
"@babel/helper-remap-async-to-generator": "npm:^7.25.9"
|
||||||
"@babel/traverse": "npm:^7.25.9"
|
"@babel/traverse": "npm:^7.26.8"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@babel/core": ^7.0.0-0
|
"@babel/core": ^7.0.0-0
|
||||||
checksum: 10c0/e3fcb9fc3d6ab6cbd4fcd956b48c17b5e92fe177553df266ffcd2b2c1f2f758b893e51b638e77ed867941e0436487d2b8b505908d615c41799241699b520dec6
|
checksum: 10c0/f6fefce963fe2e6268dde1958975d7adbce65fba94ca6f4bc554c90da03104ad1dd2e66d03bc0462da46868498428646e30b03a218ef0e5a84bfc87a7e375cec
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -1137,18 +1138,18 @@ __metadata:
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/plugin-transform-runtime@npm:^7.22.4":
|
"@babel/plugin-transform-runtime@npm:^7.22.4":
|
||||||
version: 7.25.9
|
version: 7.26.8
|
||||||
resolution: "@babel/plugin-transform-runtime@npm:7.25.9"
|
resolution: "@babel/plugin-transform-runtime@npm:7.26.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/helper-module-imports": "npm:^7.25.9"
|
"@babel/helper-module-imports": "npm:^7.25.9"
|
||||||
"@babel/helper-plugin-utils": "npm:^7.25.9"
|
"@babel/helper-plugin-utils": "npm:^7.26.5"
|
||||||
babel-plugin-polyfill-corejs2: "npm:^0.4.10"
|
babel-plugin-polyfill-corejs2: "npm:^0.4.10"
|
||||||
babel-plugin-polyfill-corejs3: "npm:^0.10.6"
|
babel-plugin-polyfill-corejs3: "npm:^0.10.6"
|
||||||
babel-plugin-polyfill-regenerator: "npm:^0.6.1"
|
babel-plugin-polyfill-regenerator: "npm:^0.6.1"
|
||||||
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: 10c0/888a4998ba0a2313de347954c9a8dfeccbff0633c69d33aee385b8878eba2b429dbfb00c3cc04f6bca454b9be8afa01ebbd73defb7fbbb6e2d3086205c07758b
|
checksum: 10c0/e206206fee262d2200763e6c427b27ca8a7a40a967dfe52f984f07a225952be0990fcce0acae6cee63fe92f5cadc94bb336fae2f3d687f0f2fcd2dadaf33029a
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -1186,14 +1187,14 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/plugin-transform-template-literals@npm:^7.25.9":
|
"@babel/plugin-transform-template-literals@npm:^7.26.8":
|
||||||
version: 7.25.9
|
version: 7.26.8
|
||||||
resolution: "@babel/plugin-transform-template-literals@npm:7.25.9"
|
resolution: "@babel/plugin-transform-template-literals@npm:7.26.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/helper-plugin-utils": "npm:^7.25.9"
|
"@babel/helper-plugin-utils": "npm:^7.26.5"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@babel/core": ^7.0.0-0
|
"@babel/core": ^7.0.0-0
|
||||||
checksum: 10c0/5144da6036807bbd4e9d2a8b92ae67a759543929f34f4db9b463448a77298f4a40bf1e92e582db208fe08ee116224806a3bd0bed75d9da404fc2c0af9e6da540
|
checksum: 10c0/205a938ded9554857a604416d369023a961334b6c20943bd861b45f0e5dbbeca1cf6fda1c2049126e38a0d18865993433fdc78eae3028e94836b3b643c08ba0d
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -1271,10 +1272,10 @@ __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.26.7
|
version: 7.26.8
|
||||||
resolution: "@babel/preset-env@npm:7.26.7"
|
resolution: "@babel/preset-env@npm:7.26.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/compat-data": "npm:^7.26.5"
|
"@babel/compat-data": "npm:^7.26.8"
|
||||||
"@babel/helper-compilation-targets": "npm:^7.26.5"
|
"@babel/helper-compilation-targets": "npm:^7.26.5"
|
||||||
"@babel/helper-plugin-utils": "npm:^7.26.5"
|
"@babel/helper-plugin-utils": "npm:^7.26.5"
|
||||||
"@babel/helper-validator-option": "npm:^7.25.9"
|
"@babel/helper-validator-option": "npm:^7.25.9"
|
||||||
|
@ -1288,7 +1289,7 @@ __metadata:
|
||||||
"@babel/plugin-syntax-import-attributes": "npm:^7.26.0"
|
"@babel/plugin-syntax-import-attributes": "npm:^7.26.0"
|
||||||
"@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6"
|
"@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6"
|
||||||
"@babel/plugin-transform-arrow-functions": "npm:^7.25.9"
|
"@babel/plugin-transform-arrow-functions": "npm:^7.25.9"
|
||||||
"@babel/plugin-transform-async-generator-functions": "npm:^7.25.9"
|
"@babel/plugin-transform-async-generator-functions": "npm:^7.26.8"
|
||||||
"@babel/plugin-transform-async-to-generator": "npm:^7.25.9"
|
"@babel/plugin-transform-async-to-generator": "npm:^7.25.9"
|
||||||
"@babel/plugin-transform-block-scoped-functions": "npm:^7.26.5"
|
"@babel/plugin-transform-block-scoped-functions": "npm:^7.26.5"
|
||||||
"@babel/plugin-transform-block-scoping": "npm:^7.25.9"
|
"@babel/plugin-transform-block-scoping": "npm:^7.25.9"
|
||||||
|
@ -1331,7 +1332,7 @@ __metadata:
|
||||||
"@babel/plugin-transform-shorthand-properties": "npm:^7.25.9"
|
"@babel/plugin-transform-shorthand-properties": "npm:^7.25.9"
|
||||||
"@babel/plugin-transform-spread": "npm:^7.25.9"
|
"@babel/plugin-transform-spread": "npm:^7.25.9"
|
||||||
"@babel/plugin-transform-sticky-regex": "npm:^7.25.9"
|
"@babel/plugin-transform-sticky-regex": "npm:^7.25.9"
|
||||||
"@babel/plugin-transform-template-literals": "npm:^7.25.9"
|
"@babel/plugin-transform-template-literals": "npm:^7.26.8"
|
||||||
"@babel/plugin-transform-typeof-symbol": "npm:^7.26.7"
|
"@babel/plugin-transform-typeof-symbol": "npm:^7.26.7"
|
||||||
"@babel/plugin-transform-unicode-escapes": "npm:^7.25.9"
|
"@babel/plugin-transform-unicode-escapes": "npm:^7.25.9"
|
||||||
"@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9"
|
"@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9"
|
||||||
|
@ -1339,13 +1340,13 @@ __metadata:
|
||||||
"@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9"
|
"@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9"
|
||||||
"@babel/preset-modules": "npm:0.1.6-no-external-plugins"
|
"@babel/preset-modules": "npm:0.1.6-no-external-plugins"
|
||||||
babel-plugin-polyfill-corejs2: "npm:^0.4.10"
|
babel-plugin-polyfill-corejs2: "npm:^0.4.10"
|
||||||
babel-plugin-polyfill-corejs3: "npm:^0.10.6"
|
babel-plugin-polyfill-corejs3: "npm:^0.11.0"
|
||||||
babel-plugin-polyfill-regenerator: "npm:^0.6.1"
|
babel-plugin-polyfill-regenerator: "npm:^0.6.1"
|
||||||
core-js-compat: "npm:^3.38.1"
|
core-js-compat: "npm:^3.40.0"
|
||||||
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: 10c0/77d2e46a4f133768c5c8a6b3fec49a7c85c6baec601991e63458921e889ff93911f447723c3a99a6a471ca654ea6dc2aaa7ed690f3e518ee80cea7820ab80ce3
|
checksum: 10c0/314ab8c6173d1f14e40cf22e1e646c429acfd45195e2ddbadca81956aa2a670e37e4446658db65f1a669f82ef115a4a018f78448bc10789cacdaf4e995680db5
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -1411,39 +1412,39 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/template@npm:^7.25.9, @babel/template@npm:^7.3.3":
|
"@babel/template@npm:^7.25.9, @babel/template@npm:^7.26.8, @babel/template@npm:^7.3.3":
|
||||||
version: 7.25.9
|
version: 7.26.8
|
||||||
resolution: "@babel/template@npm:7.25.9"
|
resolution: "@babel/template@npm:7.26.8"
|
||||||
dependencies:
|
|
||||||
"@babel/code-frame": "npm:^7.25.9"
|
|
||||||
"@babel/parser": "npm:^7.25.9"
|
|
||||||
"@babel/types": "npm:^7.25.9"
|
|
||||||
checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.7":
|
|
||||||
version: 7.26.7
|
|
||||||
resolution: "@babel/traverse@npm:7.26.7"
|
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/code-frame": "npm:^7.26.2"
|
"@babel/code-frame": "npm:^7.26.2"
|
||||||
"@babel/generator": "npm:^7.26.5"
|
"@babel/parser": "npm:^7.26.8"
|
||||||
"@babel/parser": "npm:^7.26.7"
|
"@babel/types": "npm:^7.26.8"
|
||||||
"@babel/template": "npm:^7.25.9"
|
checksum: 10c0/90bc1085cbc090cbdd43af7b9dbb98e6bda96e55e0f565f17ebb8e97c2dfce866dc727ca02b8e08bd2662ba4fd3851907ba3c48618162c291221af17fb258213
|
||||||
"@babel/types": "npm:^7.26.7"
|
|
||||||
debug: "npm:^4.3.1"
|
|
||||||
globals: "npm:^11.1.0"
|
|
||||||
checksum: 10c0/b23a36ce40d2e4970741431c45d4f92e3f4c2895c0a421456516b2729bd9e17278846e01ee3d9039b0adf5fc5a071768061c17fcad040e74a5c3e39517449d5b
|
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.5, @babel/types@npm:^7.26.7, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4":
|
"@babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.8":
|
||||||
version: 7.26.7
|
version: 7.26.8
|
||||||
resolution: "@babel/types@npm:7.26.7"
|
resolution: "@babel/traverse@npm:7.26.8"
|
||||||
|
dependencies:
|
||||||
|
"@babel/code-frame": "npm:^7.26.2"
|
||||||
|
"@babel/generator": "npm:^7.26.8"
|
||||||
|
"@babel/parser": "npm:^7.26.8"
|
||||||
|
"@babel/template": "npm:^7.26.8"
|
||||||
|
"@babel/types": "npm:^7.26.8"
|
||||||
|
debug: "npm:^4.3.1"
|
||||||
|
globals: "npm:^11.1.0"
|
||||||
|
checksum: 10c0/0771d1ce0351628ad2e8dac56f0d59f706eb125c83fbcc039bde83088ba0a1477244ad5fb060802f90366cc4d7fa871e5009a292aef6205bcf83f2e01d1a0a5d
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.7, @babel/types@npm:^7.26.8, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4":
|
||||||
|
version: 7.26.8
|
||||||
|
resolution: "@babel/types@npm:7.26.8"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/helper-string-parser": "npm:^7.25.9"
|
"@babel/helper-string-parser": "npm:^7.25.9"
|
||||||
"@babel/helper-validator-identifier": "npm:^7.25.9"
|
"@babel/helper-validator-identifier": "npm:^7.25.9"
|
||||||
checksum: 10c0/7810a2bca97b13c253f07a0863a628d33dbe76ee3c163367f24be93bfaf4c8c0a325f73208abaaa050a6b36059efc2950c2e4b71fb109c0f07fa62221d8473d4
|
checksum: 10c0/cd41ea47bb3d7baf2b3bf5e70e9c3a16f2eab699fab8575b2b31a7b1cb64166eb52c97124313863dde0581747bfc7a1810c838ad60b5b7ad1897d8004c7b95a9
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -1657,12 +1658,12 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@csstools/postcss-initial@npm:^2.0.0":
|
"@csstools/postcss-initial@npm:^2.0.1":
|
||||||
version: 2.0.0
|
version: 2.0.1
|
||||||
resolution: "@csstools/postcss-initial@npm:2.0.0"
|
resolution: "@csstools/postcss-initial@npm:2.0.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/44c443cba84cc66367f2082bf20db06c8437338c02c244c38798c5bf5342932d89fed0dd13e4409f084ecf7fce47ae6394e9a7a006fd98a973decfa24ab1eb04
|
checksum: 10c0/dbff7084ef4f1c4647efe2b147001daf172003c15b5e22689f0540d03c8d362f2a332cd9cf136e6c8dcda7564ee30492a4267ea188f72cb9c1000fb9bcfbfef8
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -2258,15 +2259,15 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@formatjs/ecma402-abstract@npm:2.3.2":
|
"@formatjs/ecma402-abstract@npm:2.3.3":
|
||||||
version: 2.3.2
|
version: 2.3.3
|
||||||
resolution: "@formatjs/ecma402-abstract@npm:2.3.2"
|
resolution: "@formatjs/ecma402-abstract@npm:2.3.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@formatjs/fast-memoize": "npm:2.2.6"
|
"@formatjs/fast-memoize": "npm:2.2.6"
|
||||||
"@formatjs/intl-localematcher": "npm:0.5.10"
|
"@formatjs/intl-localematcher": "npm:0.6.0"
|
||||||
decimal.js: "npm:10"
|
decimal.js: "npm:10"
|
||||||
tslib: "npm:2"
|
tslib: "npm:2"
|
||||||
checksum: 10c0/364e9e7de974fed976e0e8142a0f888ee0af4a11a61899115e5761ed933e7c1f16379b7b54a01524fd3c5d58bf08b71308237ea969cd54889eaf7bb2d30ec776
|
checksum: 10c0/63de990c380a1800bc54d97c4aa13a88a92e73b1680f0f561d03f9bf3e23289b7aafd1a92037527c285bd587a44e20504258ac2cbd4564a4138ce2b4612c1495
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -2288,14 +2289,14 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@formatjs/icu-messageformat-parser@npm:2.11.0":
|
"@formatjs/icu-messageformat-parser@npm:2.11.1":
|
||||||
version: 2.11.0
|
version: 2.11.1
|
||||||
resolution: "@formatjs/icu-messageformat-parser@npm:2.11.0"
|
resolution: "@formatjs/icu-messageformat-parser@npm:2.11.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@formatjs/ecma402-abstract": "npm:2.3.2"
|
"@formatjs/ecma402-abstract": "npm:2.3.3"
|
||||||
"@formatjs/icu-skeleton-parser": "npm:1.8.12"
|
"@formatjs/icu-skeleton-parser": "npm:1.8.13"
|
||||||
tslib: "npm:2"
|
tslib: "npm:2"
|
||||||
checksum: 10c0/9ad43847cb4a5c13895af606c634dcf2ec034d484cbbce6566746b60920643f33cbc5e2e3fd1efe21bcfdb555e1ee527e4518768001c3b36bf2e76c171e4049f
|
checksum: 10c0/2e4106d564ede73cc52c97fc4270002f2460c3ded10715a095ec6765c48f951b1e9744cc55679abe046e24e4e22c345e738f7477c43d440d1d10a0235b12df37
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -2310,13 +2311,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@formatjs/icu-skeleton-parser@npm:1.8.12":
|
"@formatjs/icu-skeleton-parser@npm:1.8.13":
|
||||||
version: 1.8.12
|
version: 1.8.13
|
||||||
resolution: "@formatjs/icu-skeleton-parser@npm:1.8.12"
|
resolution: "@formatjs/icu-skeleton-parser@npm:1.8.13"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@formatjs/ecma402-abstract": "npm:2.3.2"
|
"@formatjs/ecma402-abstract": "npm:2.3.3"
|
||||||
tslib: "npm:2"
|
tslib: "npm:2"
|
||||||
checksum: 10c0/03e743aa09acb2137e37d03b98578fcbbc949d056b8c151763778e885d04d621e69c82f7656547f0532351d2a987bffac0a8c4c3d81186f47a28047ba64385e2
|
checksum: 10c0/eddea5b7c43745d05178211b25641319e054747e40b42ffaa93ae9940fd42e6f5654d12d42e6998b91b4de4b67a24e3ed779a37394262ec1dd46e693c166729a
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -2330,15 +2331,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@formatjs/intl-localematcher@npm:0.5.10":
|
|
||||||
version: 0.5.10
|
|
||||||
resolution: "@formatjs/intl-localematcher@npm:0.5.10"
|
|
||||||
dependencies:
|
|
||||||
tslib: "npm:2"
|
|
||||||
checksum: 10c0/362ec83aca9382165be575f1cefa477478339e6fead8ca8866185ce6e58427ea1487a811b12c73d1bcfa99fd4db0c24543b35c823451839f585576bfccb8c9cc
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@formatjs/intl-localematcher@npm:0.5.5":
|
"@formatjs/intl-localematcher@npm:0.5.5":
|
||||||
version: 0.5.5
|
version: 0.5.5
|
||||||
resolution: "@formatjs/intl-localematcher@npm:0.5.5"
|
resolution: "@formatjs/intl-localematcher@npm:0.5.5"
|
||||||
|
@ -2348,33 +2340,42 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@formatjs/intl-pluralrules@npm:^5.2.2":
|
"@formatjs/intl-localematcher@npm:0.6.0":
|
||||||
version: 5.4.2
|
version: 0.6.0
|
||||||
resolution: "@formatjs/intl-pluralrules@npm:5.4.2"
|
resolution: "@formatjs/intl-localematcher@npm:0.6.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@formatjs/ecma402-abstract": "npm:2.3.2"
|
|
||||||
"@formatjs/intl-localematcher": "npm:0.5.10"
|
|
||||||
decimal.js: "npm:10"
|
|
||||||
tslib: "npm:2"
|
tslib: "npm:2"
|
||||||
checksum: 10c0/0ecb9da19084d7a15e636362c206c7ee14297ad365e3e63ea53c82c8442d02cd4dcf8a0da65af9b0f835b32f0e8c3d43407d6ee0a0d7974c3044c92574b49686
|
checksum: 10c0/90238e633426ff7237ab2bbe017be044fb2fb185a8d59a0652096ddab9cb1ddf64106d58fafd711ea19c4d3455bd966516ab93574ac3b169d9af2325875fae59
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@formatjs/intl@npm:3.1.3":
|
"@formatjs/intl-pluralrules@npm:^5.2.2":
|
||||||
version: 3.1.3
|
version: 5.4.3
|
||||||
resolution: "@formatjs/intl@npm:3.1.3"
|
resolution: "@formatjs/intl-pluralrules@npm:5.4.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@formatjs/ecma402-abstract": "npm:2.3.2"
|
"@formatjs/ecma402-abstract": "npm:2.3.3"
|
||||||
|
"@formatjs/intl-localematcher": "npm:0.6.0"
|
||||||
|
decimal.js: "npm:10"
|
||||||
|
tslib: "npm:2"
|
||||||
|
checksum: 10c0/ffebb0fa56e0a8452a5e948a0ae38902daa138fc5c7638732697fb1648d8fb4d42883dbff7531e09468a498a85ef9cb4f443f916544a683f8d4c18d2fca8b69a
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@formatjs/intl@npm:3.1.4":
|
||||||
|
version: 3.1.4
|
||||||
|
resolution: "@formatjs/intl@npm:3.1.4"
|
||||||
|
dependencies:
|
||||||
|
"@formatjs/ecma402-abstract": "npm:2.3.3"
|
||||||
"@formatjs/fast-memoize": "npm:2.2.6"
|
"@formatjs/fast-memoize": "npm:2.2.6"
|
||||||
"@formatjs/icu-messageformat-parser": "npm:2.11.0"
|
"@formatjs/icu-messageformat-parser": "npm:2.11.1"
|
||||||
intl-messageformat: "npm:10.7.14"
|
intl-messageformat: "npm:10.7.15"
|
||||||
tslib: "npm:2"
|
tslib: "npm:2"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: 5
|
typescript: 5
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10c0/1f9fce896b69dd3ff84221d2d18fbd57f8968c1d0691e44d33ac949d3d6f4e86f9c3075e4da870fb0b189d4952ec5e8bc7375558fa85c37bcb76a73aeb6f9f52
|
checksum: 10c0/c05828cf510b3e7930e7d334662142d4bbe603eb8b1bcb2eb5bc81856501c8ae62c89d43f6c54c9605d2a538fc8b361822880e5d92cea621c95e8d1915f870c5
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -2398,11 +2399,11 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@formatjs/ts-transformer@npm:3.13.31":
|
"@formatjs/ts-transformer@npm:3.13.32":
|
||||||
version: 3.13.31
|
version: 3.13.32
|
||||||
resolution: "@formatjs/ts-transformer@npm:3.13.31"
|
resolution: "@formatjs/ts-transformer@npm:3.13.32"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@formatjs/icu-messageformat-parser": "npm:2.11.0"
|
"@formatjs/icu-messageformat-parser": "npm:2.11.1"
|
||||||
"@types/json-stable-stringify": "npm:1"
|
"@types/json-stable-stringify": "npm:1"
|
||||||
"@types/node": "npm:14 || 16 || 17 || 18 || 20 || 22"
|
"@types/node": "npm:14 || 16 || 17 || 18 || 20 || 22"
|
||||||
chalk: "npm:4"
|
chalk: "npm:4"
|
||||||
|
@ -2414,7 +2415,7 @@ __metadata:
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
ts-jest:
|
ts-jest:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10c0/bfd7a41203c2b1691d883b3c306f3ae413b94c4875dec75df2be0e62da22625f673e41ecdc3257be40fe4a5b22a311365c2462d00a98f9bac59f00488543add0
|
checksum: 10c0/f51102e5427f9e22ed8dd4094e0347fa7bf96b99a97c5b48eb23bb11cd319f653c829073040884d0c6381136e227a1d0d2b7b2ac3ec0dba6ed9e26f454b61254
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -3792,6 +3793,13 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@types/gensync@npm:^1.0.0":
|
||||||
|
version: 1.0.4
|
||||||
|
resolution: "@types/gensync@npm:1.0.4"
|
||||||
|
checksum: 10c0/1daeb1693196a85ee68b82f3fb30906a1cccede69d492b190de80ff20cec2d528d98cad866d733fd83cb171096dfe8c26c9c02c50ffb93e1113d48bd79daa556
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@types/glob@npm:^7.1.1":
|
"@types/glob@npm:^7.1.1":
|
||||||
version: 7.2.0
|
version: 7.2.0
|
||||||
resolution: "@types/glob@npm:7.2.0"
|
resolution: "@types/glob@npm:7.2.0"
|
||||||
|
@ -5319,21 +5327,21 @@ __metadata:
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"babel-plugin-formatjs@npm:^10.5.1":
|
"babel-plugin-formatjs@npm:^10.5.1":
|
||||||
version: 10.5.34
|
version: 10.5.35
|
||||||
resolution: "babel-plugin-formatjs@npm:10.5.34"
|
resolution: "babel-plugin-formatjs@npm:10.5.35"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/core": "npm:^7.25.0"
|
"@babel/core": "npm:^7.25.0"
|
||||||
"@babel/helper-plugin-utils": "npm:^7.25.0"
|
"@babel/helper-plugin-utils": "npm:^7.25.0"
|
||||||
"@babel/plugin-syntax-jsx": "npm:^7.25.0"
|
"@babel/plugin-syntax-jsx": "npm:^7.25.0"
|
||||||
"@babel/traverse": "npm:^7.25.0"
|
"@babel/traverse": "npm:^7.25.0"
|
||||||
"@babel/types": "npm:^7.25.0"
|
"@babel/types": "npm:^7.25.0"
|
||||||
"@formatjs/icu-messageformat-parser": "npm:2.11.0"
|
"@formatjs/icu-messageformat-parser": "npm:2.11.1"
|
||||||
"@formatjs/ts-transformer": "npm:3.13.31"
|
"@formatjs/ts-transformer": "npm:3.13.32"
|
||||||
"@types/babel__core": "npm:^7.20.5"
|
"@types/babel__core": "npm:^7.20.5"
|
||||||
"@types/babel__helper-plugin-utils": "npm:^7.10.3"
|
"@types/babel__helper-plugin-utils": "npm:^7.10.3"
|
||||||
"@types/babel__traverse": "npm:^7.20.6"
|
"@types/babel__traverse": "npm:^7.20.6"
|
||||||
tslib: "npm:2"
|
tslib: "npm:2"
|
||||||
checksum: 10c0/6e6c67db41044427a7f182e7c18a8519e5aca96645de094244b332cb8c82ed498c56a4634e4e4ed1a4ef85c8e996669ef5bddd63ee9c45d6e512cbbf782af2a2
|
checksum: 10c0/2b47105f5e5b894c921fd60bafbe78d1286eec7aae499892dbc95dbd043dd38c8fe49ba28f1529321c3fea263d1fcfe8b5803116288c5bbffb35c123fc3fc2e5
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -5424,6 +5432,18 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"babel-plugin-polyfill-corejs3@npm:^0.11.0":
|
||||||
|
version: 0.11.1
|
||||||
|
resolution: "babel-plugin-polyfill-corejs3@npm:0.11.1"
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-define-polyfill-provider": "npm:^0.6.3"
|
||||||
|
core-js-compat: "npm:^3.40.0"
|
||||||
|
peerDependencies:
|
||||||
|
"@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0
|
||||||
|
checksum: 10c0/025f754b6296d84b20200aff63a3c1acdd85e8c621781f2bd27fe2512d0060526192d02329326947c6b29c27cf475fbcfaaff8c51eab1d2bfc7b79086bb64229
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"babel-plugin-polyfill-regenerator@npm:^0.6.1":
|
"babel-plugin-polyfill-regenerator@npm:^0.6.1":
|
||||||
version: 0.6.1
|
version: 0.6.1
|
||||||
resolution: "babel-plugin-polyfill-regenerator@npm:0.6.1"
|
resolution: "babel-plugin-polyfill-regenerator@npm:0.6.1"
|
||||||
|
@ -5763,17 +5783,17 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"browserslist@npm:^4.0.0, browserslist@npm:^4.23.0, browserslist@npm:^4.23.1, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0":
|
"browserslist@npm:^4.0.0, browserslist@npm:^4.23.0, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0, browserslist@npm:^4.24.3, browserslist@npm:^4.24.4":
|
||||||
version: 4.24.0
|
version: 4.24.4
|
||||||
resolution: "browserslist@npm:4.24.0"
|
resolution: "browserslist@npm:4.24.4"
|
||||||
dependencies:
|
dependencies:
|
||||||
caniuse-lite: "npm:^1.0.30001663"
|
caniuse-lite: "npm:^1.0.30001688"
|
||||||
electron-to-chromium: "npm:^1.5.28"
|
electron-to-chromium: "npm:^1.5.73"
|
||||||
node-releases: "npm:^2.0.18"
|
node-releases: "npm:^2.0.19"
|
||||||
update-browserslist-db: "npm:^1.1.0"
|
update-browserslist-db: "npm:^1.1.1"
|
||||||
bin:
|
bin:
|
||||||
browserslist: cli.js
|
browserslist: cli.js
|
||||||
checksum: 10c0/95e76ad522753c4c470427f6e3c8a4bb5478ff448841e22b3d3e53f89ecaf17b6984666d6c7e715c370f1e7fa0cf684f42e34e554236a8b2fab38ea76b9e4c52
|
checksum: 10c0/db7ebc1733cf471e0b490b4f47e3e2ea2947ce417192c9246644e92c667dd56a71406cc58f62ca7587caf828364892e9952904a02b7aead752bc65b62a37cfe9
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -5965,10 +5985,10 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001599, caniuse-lite@npm:^1.0.30001663":
|
"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001599, caniuse-lite@npm:^1.0.30001688":
|
||||||
version: 1.0.30001666
|
version: 1.0.30001699
|
||||||
resolution: "caniuse-lite@npm:1.0.30001666"
|
resolution: "caniuse-lite@npm:1.0.30001699"
|
||||||
checksum: 10c0/2d49e9be676233c24717f12aad3d01b3e5f902b457fe1deefaa8d82e64786788a8f79381ae437c61b50e15c9aea8aeb59871b1d54cb4c28b9190d53d292e2339
|
checksum: 10c0/e87b3a0602c3124131f6a21f1eb262378e17a2ee3089e3c472ac8b9caa85cf7d6a219655379302c29c6f10a74051f2a712639d7f98ee0444c73fefcbaf25d519
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -6471,12 +6491,12 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.38.1":
|
"core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.40.0":
|
||||||
version: 3.38.1
|
version: 3.40.0
|
||||||
resolution: "core-js-compat@npm:3.38.1"
|
resolution: "core-js-compat@npm:3.40.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
browserslist: "npm:^4.23.3"
|
browserslist: "npm:^4.24.3"
|
||||||
checksum: 10c0/d8bc8a35591fc5fbf3e376d793f298ec41eb452619c7ef9de4ea59b74be06e9fda799e0dcbf9ba59880dae87e3b41fb191d744ffc988315642a1272bb9442b31
|
checksum: 10c0/44f6e88726fe266a5be9581a79766800478a8d5c492885f2d4c2a4e2babd9b06bc1689d5340d3a61ae7332f990aff2e83b6203ff8773137a627cfedfbeefabeb
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -7536,10 +7556,10 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"electron-to-chromium@npm:^1.5.28":
|
"electron-to-chromium@npm:^1.5.73":
|
||||||
version: 1.5.31
|
version: 1.5.96
|
||||||
resolution: "electron-to-chromium@npm:1.5.31"
|
resolution: "electron-to-chromium@npm:1.5.96"
|
||||||
checksum: 10c0/e8aecd88c4c6d50a9d459b4b222865b855bab8f1b52e82913804e18b7884f2887bd76c61b3aa08c2ccbdcda098dd8486443f75bf770f0138f21dd9e63548fca7
|
checksum: 10c0/827d480f35abe8b0d01a4311fc3180089a406edfcd016d8433712b03ec6e56618ad6f9757e35403092de5c2e163372f9ec90eb8e8334f6f26119a21b568d9bf9
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -7876,10 +7896,10 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"escalade@npm:^3.1.1, escalade@npm:^3.1.2":
|
"escalade@npm:^3.1.1, escalade@npm:^3.2.0":
|
||||||
version: 3.1.2
|
version: 3.2.0
|
||||||
resolution: "escalade@npm:3.1.2"
|
resolution: "escalade@npm:3.2.0"
|
||||||
checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287
|
checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -9868,15 +9888,15 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"intl-messageformat@npm:10.7.14, intl-messageformat@npm:^10.3.5":
|
"intl-messageformat@npm:10.7.15, intl-messageformat@npm:^10.3.5":
|
||||||
version: 10.7.14
|
version: 10.7.15
|
||||||
resolution: "intl-messageformat@npm:10.7.14"
|
resolution: "intl-messageformat@npm:10.7.15"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@formatjs/ecma402-abstract": "npm:2.3.2"
|
"@formatjs/ecma402-abstract": "npm:2.3.3"
|
||||||
"@formatjs/fast-memoize": "npm:2.2.6"
|
"@formatjs/fast-memoize": "npm:2.2.6"
|
||||||
"@formatjs/icu-messageformat-parser": "npm:2.11.0"
|
"@formatjs/icu-messageformat-parser": "npm:2.11.1"
|
||||||
tslib: "npm:2"
|
tslib: "npm:2"
|
||||||
checksum: 10c0/914c11118c47bb7d0163a7d54afebf52ae4fe9b250bba609b5db4c802a34f8bf758edbbc8c58094203205faf76948c7112399addb32e9b36e40483c4cf7c1cb7
|
checksum: 10c0/5759cd38718b7e4874fd6eb5e759e920227f993bdf17d71cd7474919098aafc13c8bbc63f5ccb2bafe13093f3a519fd7a03a47efc84bb3e9fbf9f25f88a408c9
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -12427,10 +12447,10 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"node-releases@npm:^2.0.18":
|
"node-releases@npm:^2.0.19":
|
||||||
version: 2.0.18
|
version: 2.0.19
|
||||||
resolution: "node-releases@npm:2.0.18"
|
resolution: "node-releases@npm:2.0.19"
|
||||||
checksum: 10c0/786ac9db9d7226339e1dc84bbb42007cb054a346bd9257e6aa154d294f01bc6a6cddb1348fa099f079be6580acbb470e3c048effd5f719325abd0179e566fd27
|
checksum: 10c0/52a0dbd25ccf545892670d1551690fe0facb6a471e15f2cfa1b20142a5b255b3aa254af5f59d6ecb69c2bec7390bc643c43aa63b13bf5e64b6075952e716b1aa
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -13101,19 +13121,19 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"pg-pool@npm:^3.7.0":
|
"pg-pool@npm:^3.7.1":
|
||||||
version: 3.7.0
|
version: 3.7.1
|
||||||
resolution: "pg-pool@npm:3.7.0"
|
resolution: "pg-pool@npm:3.7.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
pg: ">=8.0"
|
pg: ">=8.0"
|
||||||
checksum: 10c0/9128673cf941f288c0cb1a74ca959a9b4f6075ef73b2cc7dece5d4db3dd7043784869e7c12bce2e69ca0df22132a419cc45c2050b4373632856fe8bae9eb94b5
|
checksum: 10c0/65bff013102684774f4cfdffbfe0a2b0614252234561d391608f7fd915477e44f5fd0e1968ecc2f42032dcf8bac241d2f724c4f3df90384567d22df37dd3b6ba
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"pg-protocol@npm:*, pg-protocol@npm:^1.7.0":
|
"pg-protocol@npm:*, pg-protocol@npm:^1.7.1":
|
||||||
version: 1.7.0
|
version: 1.7.1
|
||||||
resolution: "pg-protocol@npm:1.7.0"
|
resolution: "pg-protocol@npm:1.7.1"
|
||||||
checksum: 10c0/c4af854d9b843c808231c0040fed89f2b9101006157df8da2bb2f62a7dde702de748d852228dc22df41cc7ffddfb526af3bcb34b278b581e9f76a060789186c1
|
checksum: 10c0/3168d407ddc4c0fa2403eb9b49205399d4bc53dadbafdfcc5d25fa61b860a31c25df25704cf14c8140c80f0a41061d586e5fd5ce9bf800dfb91e9ce810bc2c37
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -13146,13 +13166,13 @@ __metadata:
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"pg@npm:^8.5.0":
|
"pg@npm:^8.5.0":
|
||||||
version: 8.13.1
|
version: 8.13.3
|
||||||
resolution: "pg@npm:8.13.1"
|
resolution: "pg@npm:8.13.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
pg-cloudflare: "npm:^1.1.1"
|
pg-cloudflare: "npm:^1.1.1"
|
||||||
pg-connection-string: "npm:^2.7.0"
|
pg-connection-string: "npm:^2.7.0"
|
||||||
pg-pool: "npm:^3.7.0"
|
pg-pool: "npm:^3.7.1"
|
||||||
pg-protocol: "npm:^1.7.0"
|
pg-protocol: "npm:^1.7.1"
|
||||||
pg-types: "npm:^2.1.0"
|
pg-types: "npm:^2.1.0"
|
||||||
pgpass: "npm:1.x"
|
pgpass: "npm:1.x"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -13163,7 +13183,7 @@ __metadata:
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
pg-native:
|
pg-native:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10c0/c13bc661cbdb115337bc8519254836faf4bd79106dfd7ed588c8ece8c8b2dd3b7376bfec9a9a2f7646fa095b0b310cec77a83c3ba2ea4872331446eb93fd9055
|
checksum: 10c0/7296f0e5930b35faef471be2673210cda553b30f1b8e9d176fcc286aa43248e17e09336032bf5a6bba55d2cc2d03afb8a407b5a6e6bc56ebb331c02d1a7ccc05
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -13176,7 +13196,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.1":
|
"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1":
|
||||||
version: 1.1.1
|
version: 1.1.1
|
||||||
resolution: "picocolors@npm:1.1.1"
|
resolution: "picocolors@npm:1.1.1"
|
||||||
checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58
|
checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58
|
||||||
|
@ -13939,8 +13959,8 @@ __metadata:
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"postcss-preset-env@npm:^10.0.0":
|
"postcss-preset-env@npm:^10.0.0":
|
||||||
version: 10.1.3
|
version: 10.1.4
|
||||||
resolution: "postcss-preset-env@npm:10.1.3"
|
resolution: "postcss-preset-env@npm:10.1.4"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@csstools/postcss-cascade-layers": "npm:^5.0.1"
|
"@csstools/postcss-cascade-layers": "npm:^5.0.1"
|
||||||
"@csstools/postcss-color-function": "npm:^4.0.7"
|
"@csstools/postcss-color-function": "npm:^4.0.7"
|
||||||
|
@ -13952,7 +13972,7 @@ __metadata:
|
||||||
"@csstools/postcss-gradients-interpolation-method": "npm:^5.0.7"
|
"@csstools/postcss-gradients-interpolation-method": "npm:^5.0.7"
|
||||||
"@csstools/postcss-hwb-function": "npm:^4.0.7"
|
"@csstools/postcss-hwb-function": "npm:^4.0.7"
|
||||||
"@csstools/postcss-ic-unit": "npm:^4.0.0"
|
"@csstools/postcss-ic-unit": "npm:^4.0.0"
|
||||||
"@csstools/postcss-initial": "npm:^2.0.0"
|
"@csstools/postcss-initial": "npm:^2.0.1"
|
||||||
"@csstools/postcss-is-pseudo-class": "npm:^5.0.1"
|
"@csstools/postcss-is-pseudo-class": "npm:^5.0.1"
|
||||||
"@csstools/postcss-light-dark-function": "npm:^2.0.7"
|
"@csstools/postcss-light-dark-function": "npm:^2.0.7"
|
||||||
"@csstools/postcss-logical-float-and-clear": "npm:^3.0.0"
|
"@csstools/postcss-logical-float-and-clear": "npm:^3.0.0"
|
||||||
|
@ -13975,7 +13995,7 @@ __metadata:
|
||||||
"@csstools/postcss-trigonometric-functions": "npm:^4.0.6"
|
"@csstools/postcss-trigonometric-functions": "npm:^4.0.6"
|
||||||
"@csstools/postcss-unset-value": "npm:^4.0.0"
|
"@csstools/postcss-unset-value": "npm:^4.0.0"
|
||||||
autoprefixer: "npm:^10.4.19"
|
autoprefixer: "npm:^10.4.19"
|
||||||
browserslist: "npm:^4.23.1"
|
browserslist: "npm:^4.24.4"
|
||||||
css-blank-pseudo: "npm:^7.0.1"
|
css-blank-pseudo: "npm:^7.0.1"
|
||||||
css-has-pseudo: "npm:^7.0.2"
|
css-has-pseudo: "npm:^7.0.2"
|
||||||
css-prefers-color-scheme: "npm:^10.0.0"
|
css-prefers-color-scheme: "npm:^10.0.0"
|
||||||
|
@ -14007,7 +14027,7 @@ __metadata:
|
||||||
postcss-selector-not: "npm:^8.0.1"
|
postcss-selector-not: "npm:^8.0.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
checksum: 10c0/0ae02015ad3ac69e8ef26afc1a06cb9fbb400104eca5c69a4baa20925e06364712f05b5d87ec9cf9445256e62344e6c2bad8d261a09b35a0e982e055564e3ba8
|
checksum: 10c0/bd3ad0a32fa30e53f4fdfb980b77d4e86a53ad40681dd8f7d2d9fb00728730b426cd7d039b57f0849261014e4c9e5a55f72edfda1c70165c96a52f246d273ebb
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -14141,13 +14161,13 @@ __metadata:
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"postcss@npm:^8.2.15, postcss@npm:^8.4.24, postcss@npm:^8.4.49":
|
"postcss@npm:^8.2.15, postcss@npm:^8.4.24, postcss@npm:^8.4.49":
|
||||||
version: 8.5.1
|
version: 8.5.2
|
||||||
resolution: "postcss@npm:8.5.1"
|
resolution: "postcss@npm:8.5.2"
|
||||||
dependencies:
|
dependencies:
|
||||||
nanoid: "npm:^3.3.8"
|
nanoid: "npm:^3.3.8"
|
||||||
picocolors: "npm:^1.1.1"
|
picocolors: "npm:^1.1.1"
|
||||||
source-map-js: "npm:^1.2.1"
|
source-map-js: "npm:^1.2.1"
|
||||||
checksum: 10c0/c4d90c59c98e8a0c102b77d3f4cac190f883b42d63dc60e2f3ed840f16197c0c8e25a4327d2e9a847b45a985612317dc0534178feeebd0a1cf3eb0eecf75cae4
|
checksum: 10c0/3044d49bc725029ab62292e8bf9849741251b95f3b754e191bf8b4025414d40ec3b4ac05c5a563d4b50060b5c8e96683eb4d783d8d8fa3867eb7b763cbe66127
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -14598,16 +14618,16 @@ __metadata:
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"react-intl@npm:^7.0.0":
|
"react-intl@npm:^7.0.0":
|
||||||
version: 7.1.5
|
version: 7.1.6
|
||||||
resolution: "react-intl@npm:7.1.5"
|
resolution: "react-intl@npm:7.1.6"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@formatjs/ecma402-abstract": "npm:2.3.2"
|
"@formatjs/ecma402-abstract": "npm:2.3.3"
|
||||||
"@formatjs/icu-messageformat-parser": "npm:2.11.0"
|
"@formatjs/icu-messageformat-parser": "npm:2.11.1"
|
||||||
"@formatjs/intl": "npm:3.1.3"
|
"@formatjs/intl": "npm:3.1.4"
|
||||||
"@types/hoist-non-react-statics": "npm:3"
|
"@types/hoist-non-react-statics": "npm:3"
|
||||||
"@types/react": "npm:16 || 17 || 18 || 19"
|
"@types/react": "npm:16 || 17 || 18 || 19"
|
||||||
hoist-non-react-statics: "npm:3"
|
hoist-non-react-statics: "npm:3"
|
||||||
intl-messageformat: "npm:10.7.14"
|
intl-messageformat: "npm:10.7.15"
|
||||||
tslib: "npm:2"
|
tslib: "npm:2"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^16.6.0 || 17 || 18 || 19
|
react: ^16.6.0 || 17 || 18 || 19
|
||||||
|
@ -14615,7 +14635,7 @@ __metadata:
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10c0/9d8d5afae16d26466f82fc1c0b8c4afd7559a8faa5b3ef31983a0af540b1b225fa89208b48bf9ec83056c0a27f2972fb86f2717422f788efdc819fb0e0846134
|
checksum: 10c0/6ccb6ba40e30079822994eb36f76c8631d5f31f5826f1fa62b00371be6efd1481b094285f7f1f672c01705dfe9b36b91ce89df35f61d7bb293e5709d7f07d1b7
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -17621,17 +17641,17 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"update-browserslist-db@npm:^1.1.0":
|
"update-browserslist-db@npm:^1.1.1":
|
||||||
version: 1.1.0
|
version: 1.1.2
|
||||||
resolution: "update-browserslist-db@npm:1.1.0"
|
resolution: "update-browserslist-db@npm:1.1.2"
|
||||||
dependencies:
|
dependencies:
|
||||||
escalade: "npm:^3.1.2"
|
escalade: "npm:^3.2.0"
|
||||||
picocolors: "npm:^1.0.1"
|
picocolors: "npm:^1.1.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
browserslist: ">= 4.21.0"
|
browserslist: ">= 4.21.0"
|
||||||
bin:
|
bin:
|
||||||
update-browserslist-db: cli.js
|
update-browserslist-db: cli.js
|
||||||
checksum: 10c0/a7452de47785842736fb71547651c5bbe5b4dc1e3722ccf48a704b7b34e4dcf633991eaa8e4a6a517ffb738b3252eede3773bef673ef9021baa26b056d63a5b9
|
checksum: 10c0/9cb353998d6d7d6ba1e46b8fa3db888822dd972212da4eda609d185eb5c3557a93fd59780ceb757afd4d84240518df08542736969e6a5d6d6ce2d58e9363aac6
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
|