mirror of
https://github.com/glitch-soc/mastodon.git
synced 2025-02-23 11:03:50 -05:00
Merge pull request #2971 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes up to f1d4be1e7509f795706ff2310c5fc36e0e79bf4d
This commit is contained in:
commit
4a7fc25221
@ -26,9 +26,11 @@ inherit_mode:
|
|||||||
merge:
|
merge:
|
||||||
- Exclude
|
- Exclude
|
||||||
|
|
||||||
require:
|
plugins:
|
||||||
- rubocop-rails
|
- rubocop-rails
|
||||||
- rubocop-rspec
|
- rubocop-rspec
|
||||||
- rubocop-rspec_rails
|
|
||||||
- rubocop-performance
|
- rubocop-performance
|
||||||
|
|
||||||
|
require:
|
||||||
|
- rubocop-rspec_rails
|
||||||
- rubocop-capybara
|
- rubocop-capybara
|
||||||
|
@ -2,6 +2,9 @@
|
|||||||
Rails/BulkChangeTable:
|
Rails/BulkChangeTable:
|
||||||
Enabled: false # Conflicts with strong_migrations features
|
Enabled: false # Conflicts with strong_migrations features
|
||||||
|
|
||||||
|
Rails/Delegate:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
Rails/FilePath:
|
Rails/FilePath:
|
||||||
EnforcedStyle: arguments
|
EnforcedStyle: arguments
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# This configuration was generated by
|
# This configuration was generated by
|
||||||
# `rubocop --auto-gen-config --auto-gen-only-exclude --no-offense-counts --no-auto-gen-timestamp`
|
# `rubocop --auto-gen-config --auto-gen-only-exclude --no-offense-counts --no-auto-gen-timestamp`
|
||||||
# using RuboCop version 1.70.0.
|
# using RuboCop version 1.72.2.
|
||||||
# The point is for the user to remove these configuration records
|
# The point is for the user to remove these configuration records
|
||||||
# one by one as the offenses are removed from the code base.
|
# one by one as the offenses are removed from the code base.
|
||||||
# Note that changes in the inspected code, or installation of new
|
# Note that changes in the inspected code, or installation of new
|
||||||
|
@ -1 +1 @@
|
|||||||
3.4.1
|
3.4.2
|
||||||
|
@ -13,7 +13,7 @@ ARG BASE_REGISTRY="docker.io"
|
|||||||
|
|
||||||
# Ruby image to use for base image, change with [--build-arg RUBY_VERSION="3.4.x"]
|
# Ruby image to use for base image, change with [--build-arg RUBY_VERSION="3.4.x"]
|
||||||
# renovate: datasource=docker depName=docker.io/ruby
|
# renovate: datasource=docker depName=docker.io/ruby
|
||||||
ARG RUBY_VERSION="3.4.1"
|
ARG RUBY_VERSION="3.4.2"
|
||||||
# # Node version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"]
|
# # Node version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"]
|
||||||
# renovate: datasource=node-version depName=node
|
# renovate: datasource=node-version depName=node
|
||||||
ARG NODE_MAJOR_VERSION="22"
|
ARG NODE_MAJOR_VERSION="22"
|
||||||
|
31
Gemfile.lock
31
Gemfile.lock
@ -90,7 +90,7 @@ GEM
|
|||||||
public_suffix (>= 2.0.2, < 7.0)
|
public_suffix (>= 2.0.2, < 7.0)
|
||||||
aes_key_wrap (1.1.0)
|
aes_key_wrap (1.1.0)
|
||||||
android_key_attestation (0.3.0)
|
android_key_attestation (0.3.0)
|
||||||
annotaterb (4.13.0)
|
annotaterb (4.14.0)
|
||||||
ast (2.4.2)
|
ast (2.4.2)
|
||||||
attr_required (1.0.2)
|
attr_required (1.0.2)
|
||||||
aws-eventstream (1.3.0)
|
aws-eventstream (1.3.0)
|
||||||
@ -383,10 +383,11 @@ GEM
|
|||||||
railties (>= 6.1)
|
railties (>= 6.1)
|
||||||
rexml
|
rexml
|
||||||
link_header (0.0.8)
|
link_header (0.0.8)
|
||||||
|
lint_roller (1.1.0)
|
||||||
llhttp-ffi (0.5.0)
|
llhttp-ffi (0.5.0)
|
||||||
ffi-compiler (~> 1.0)
|
ffi-compiler (~> 1.0)
|
||||||
rake (~> 13.0)
|
rake (~> 13.0)
|
||||||
logger (1.6.5)
|
logger (1.6.6)
|
||||||
lograge (0.14.0)
|
lograge (0.14.0)
|
||||||
actionpack (>= 4)
|
actionpack (>= 4)
|
||||||
activesupport (>= 4)
|
activesupport (>= 4)
|
||||||
@ -722,9 +723,10 @@ GEM
|
|||||||
rspec-mocks (~> 3.0)
|
rspec-mocks (~> 3.0)
|
||||||
sidekiq (>= 5, < 8)
|
sidekiq (>= 5, < 8)
|
||||||
rspec-support (3.13.2)
|
rspec-support (3.13.2)
|
||||||
rubocop (1.71.2)
|
rubocop (1.72.2)
|
||||||
json (~> 2.3)
|
json (~> 2.3)
|
||||||
language_server-protocol (>= 3.17.0)
|
language_server-protocol (~> 3.17.0.2)
|
||||||
|
lint_roller (~> 1.1.0)
|
||||||
parallel (~> 1.10)
|
parallel (~> 1.10)
|
||||||
parser (>= 3.3.0.2)
|
parser (>= 3.3.0.2)
|
||||||
rainbow (>= 2.2.2, < 4.0)
|
rainbow (>= 2.2.2, < 4.0)
|
||||||
@ -736,16 +738,19 @@ GEM
|
|||||||
parser (>= 3.3.1.0)
|
parser (>= 3.3.1.0)
|
||||||
rubocop-capybara (2.21.0)
|
rubocop-capybara (2.21.0)
|
||||||
rubocop (~> 1.41)
|
rubocop (~> 1.41)
|
||||||
rubocop-performance (1.23.1)
|
rubocop-performance (1.24.0)
|
||||||
rubocop (>= 1.48.1, < 2.0)
|
lint_roller (~> 1.1)
|
||||||
rubocop-ast (>= 1.31.1, < 2.0)
|
rubocop (>= 1.72.1, < 2.0)
|
||||||
rubocop-rails (2.29.1)
|
rubocop-ast (>= 1.38.0, < 2.0)
|
||||||
|
rubocop-rails (2.30.1)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
|
lint_roller (~> 1.1)
|
||||||
rack (>= 1.1)
|
rack (>= 1.1)
|
||||||
rubocop (>= 1.52.0, < 2.0)
|
rubocop (>= 1.72.1, < 2.0)
|
||||||
rubocop-ast (>= 1.31.1, < 2.0)
|
rubocop-ast (>= 1.38.0, < 2.0)
|
||||||
rubocop-rspec (3.4.0)
|
rubocop-rspec (3.5.0)
|
||||||
rubocop (~> 1.61)
|
lint_roller (~> 1.1)
|
||||||
|
rubocop (~> 1.72, >= 1.72.1)
|
||||||
rubocop-rspec_rails (2.30.0)
|
rubocop-rspec_rails (2.30.0)
|
||||||
rubocop (~> 1.61)
|
rubocop (~> 1.61)
|
||||||
rubocop-rspec (~> 3, >= 3.0.1)
|
rubocop-rspec (~> 3, >= 3.0.1)
|
||||||
@ -863,7 +868,7 @@ GEM
|
|||||||
public_suffix
|
public_suffix
|
||||||
warden (1.2.9)
|
warden (1.2.9)
|
||||||
rack (>= 2.0.9)
|
rack (>= 2.0.9)
|
||||||
webauthn (3.3.0)
|
webauthn (3.4.0)
|
||||||
android_key_attestation (~> 0.3.0)
|
android_key_attestation (~> 0.3.0)
|
||||||
bindata (~> 2.4)
|
bindata (~> 2.4)
|
||||||
cbor (~> 0.5.9)
|
cbor (~> 0.5.9)
|
||||||
|
@ -305,6 +305,9 @@
|
|||||||
"empty_column.explore_statuses": "Hal-hazırda trenddə heç yoxdur. Daha sonra yenidən yoxlayın!",
|
"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.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.",
|
"empty_column.favourites": "Bu paylaşımı hələ ki, heç kim bəyənməyib. Bəyənildikdə burada görünəcək.",
|
||||||
|
"empty_column.follow_requests": "İzləmə sorğularınız yoxdur. Qəbul etdikdə burada görəcəksiniz.",
|
||||||
|
"empty_column.followed_tags": "Heç bir heşteq izləmirsiniz. İzlədikdə burada görünəcək.",
|
||||||
|
"empty_column.hashtag": "Bu heşteqdə hələ ki, heç nə yoxdur.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Bu profil izlədiyiniz insanlar arasında populyardır.",
|
"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."
|
"follow_suggestions.hints.most_followed": "Bu profil {domain} serverində ən çox izlənilənlərdən biridir."
|
||||||
}
|
}
|
||||||
|
@ -212,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": "Вы ўпэўнены, што хочаце выдаліць допіс і перапісаць яго? Упадабанні і пашырэнні згубяцца, а адказы да арыгінальнага допісу асірацеюць.",
|
||||||
|
@ -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 alternativa 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",
|
||||||
|
@ -35,8 +35,8 @@
|
|||||||
"account.followers": "Seuraajat",
|
"account.followers": "Seuraajat",
|
||||||
"account.followers.empty": "Kukaan ei seuraa tätä käyttäjää vielä.",
|
"account.followers.empty": "Kukaan ei seuraa tätä käyttäjää vielä.",
|
||||||
"account.followers_counter": "{count, plural, one {{counter} seuraaja} other {{counter} seuraajaa}}",
|
"account.followers_counter": "{count, plural, one {{counter} seuraaja} other {{counter} seuraajaa}}",
|
||||||
"account.following": "Seuratut",
|
"account.following": "Seurattavat",
|
||||||
"account.following_counter": "{count, plural, one {{counter} seurattu} other {{counter} seurattua}}",
|
"account.following_counter": "{count, plural, one {{counter} seurattava} other {{counter} seurattavaa}}",
|
||||||
"account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.",
|
"account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.",
|
||||||
"account.go_to_profile": "Siirry profiiliin",
|
"account.go_to_profile": "Siirry profiiliin",
|
||||||
"account.hide_reblogs": "Piilota käyttäjän @{name} tehostukset",
|
"account.hide_reblogs": "Piilota käyttäjän @{name} tehostukset",
|
||||||
@ -260,8 +260,8 @@
|
|||||||
"domain_block_modal.they_cant_follow": "Kukaan tältä palvelimelta ei voi seurata sinua.",
|
"domain_block_modal.they_cant_follow": "Kukaan tältä palvelimelta ei voi seurata sinua.",
|
||||||
"domain_block_modal.they_wont_know": "Hän ei saa tietää tulleensa estetyksi.",
|
"domain_block_modal.they_wont_know": "Hän ei saa tietää tulleensa estetyksi.",
|
||||||
"domain_block_modal.title": "Estetäänkö verkkotunnus?",
|
"domain_block_modal.title": "Estetäänkö verkkotunnus?",
|
||||||
"domain_block_modal.you_will_lose_num_followers": "Menetät {followersCount, plural, one {{followersCountDisplay} seuraajasi} other {{followersCountDisplay} seuraajaasi}} ja {followingCount, plural, one {{followingCountDisplay} seurattusi} other {{followingCountDisplay} seurattuasi}}.",
|
"domain_block_modal.you_will_lose_num_followers": "Menetät {followersCount, plural, one {{followersCountDisplay} seuraajasi} other {{followersCountDisplay} seuraajaasi}} ja {followingCount, plural, one {{followingCountDisplay} seurattavasi} other {{followingCountDisplay} seurattavaasi}}.",
|
||||||
"domain_block_modal.you_will_lose_relationships": "Menetät kaikki tämän palvelimen seuraajasi ja seurattusi.",
|
"domain_block_modal.you_will_lose_relationships": "Menetät kaikki tämän palvelimen seuraajasi ja seurattavasi.",
|
||||||
"domain_block_modal.you_wont_see_posts": "Et enää näe julkaisuja etkä ilmoituksia tämän palvelimen käyttäjiltä.",
|
"domain_block_modal.you_wont_see_posts": "Et enää näe julkaisuja etkä ilmoituksia tämän palvelimen käyttäjiltä.",
|
||||||
"domain_pill.activitypub_lets_connect": "Sen avulla voit muodostaa yhteyden ja olla vuorovaikutuksessa ihmisten kanssa, ei vain Mastodonissa vaan myös muissa sosiaalisissa sovelluksissa.",
|
"domain_pill.activitypub_lets_connect": "Sen avulla voit muodostaa yhteyden ja olla vuorovaikutuksessa ihmisten kanssa, ei vain Mastodonissa vaan myös muissa sosiaalisissa sovelluksissa.",
|
||||||
"domain_pill.activitypub_like_language": "ActivityPub on kuin kieli, jota Mastodon puhuu muiden sosiaalisten verkostojen kanssa.",
|
"domain_pill.activitypub_like_language": "ActivityPub on kuin kieli, jota Mastodon puhuu muiden sosiaalisten verkostojen kanssa.",
|
||||||
@ -365,7 +365,7 @@
|
|||||||
"follow_suggestions.similar_to_recently_followed_longer": "Samankaltainen kuin äskettäin seuraamasi profiilit",
|
"follow_suggestions.similar_to_recently_followed_longer": "Samankaltainen kuin äskettäin seuraamasi profiilit",
|
||||||
"follow_suggestions.view_all": "Näytä kaikki",
|
"follow_suggestions.view_all": "Näytä kaikki",
|
||||||
"follow_suggestions.who_to_follow": "Ehdotuksia seurattavaksi",
|
"follow_suggestions.who_to_follow": "Ehdotuksia seurattavaksi",
|
||||||
"followed_tags": "Seuratut aihetunnisteet",
|
"followed_tags": "Seurattavat aihetunnisteet",
|
||||||
"footer.about": "Tietoja",
|
"footer.about": "Tietoja",
|
||||||
"footer.directory": "Profiilihakemisto",
|
"footer.directory": "Profiilihakemisto",
|
||||||
"footer.get_app": "Hanki sovellus",
|
"footer.get_app": "Hanki sovellus",
|
||||||
@ -393,10 +393,10 @@
|
|||||||
"hashtag.unfollow": "Lopeta aihetunnisteen seuraaminen",
|
"hashtag.unfollow": "Lopeta aihetunnisteen seuraaminen",
|
||||||
"hashtags.and_other": "…ja {count, plural, other {# lisää}}",
|
"hashtags.and_other": "…ja {count, plural, other {# lisää}}",
|
||||||
"hints.profiles.followers_may_be_missing": "Tämän profiilin seuraajia saattaa puuttua.",
|
"hints.profiles.followers_may_be_missing": "Tämän profiilin seuraajia saattaa puuttua.",
|
||||||
"hints.profiles.follows_may_be_missing": "Tämän profiilin seurattuja saattaa puuttua.",
|
"hints.profiles.follows_may_be_missing": "Tämän profiilin seurattavia saattaa puuttua.",
|
||||||
"hints.profiles.posts_may_be_missing": "Tämän profiilin julkaisuja saattaa puuttua.",
|
"hints.profiles.posts_may_be_missing": "Tämän profiilin julkaisuja saattaa puuttua.",
|
||||||
"hints.profiles.see_more_followers": "Näytä lisää seuraajia palvelimella {domain}",
|
"hints.profiles.see_more_followers": "Näytä lisää seuraajia palvelimella {domain}",
|
||||||
"hints.profiles.see_more_follows": "Näytä lisää seurattuja palvelimella {domain}",
|
"hints.profiles.see_more_follows": "Näytä lisää seurattavia palvelimella {domain}",
|
||||||
"hints.profiles.see_more_posts": "Näytä lisää julkaisuja palvelimella {domain}",
|
"hints.profiles.see_more_posts": "Näytä lisää julkaisuja palvelimella {domain}",
|
||||||
"hints.threads.replies_may_be_missing": "Muiden palvelinten vastauksia saattaa puuttua.",
|
"hints.threads.replies_may_be_missing": "Muiden palvelinten vastauksia saattaa puuttua.",
|
||||||
"hints.threads.see_more": "Näytä lisää vastauksia palvelimella {domain}",
|
"hints.threads.see_more": "Näytä lisää vastauksia palvelimella {domain}",
|
||||||
@ -503,7 +503,7 @@
|
|||||||
"lists.no_members_yet": "Ei vielä jäseniä.",
|
"lists.no_members_yet": "Ei vielä jäseniä.",
|
||||||
"lists.no_results_found": "Tuloksia ei löytynyt.",
|
"lists.no_results_found": "Tuloksia ei löytynyt.",
|
||||||
"lists.remove_member": "Poista",
|
"lists.remove_member": "Poista",
|
||||||
"lists.replies_policy.followed": "Jokaiselle seuratulle käyttäjälle",
|
"lists.replies_policy.followed": "Jokaiselle seurattavalle käyttäjälle",
|
||||||
"lists.replies_policy.list": "Listan jäsenille",
|
"lists.replies_policy.list": "Listan jäsenille",
|
||||||
"lists.replies_policy.none": "Ei kellekään",
|
"lists.replies_policy.none": "Ei kellekään",
|
||||||
"lists.save": "Tallenna",
|
"lists.save": "Tallenna",
|
||||||
@ -536,8 +536,8 @@
|
|||||||
"navigation_bar.favourites": "Suosikit",
|
"navigation_bar.favourites": "Suosikit",
|
||||||
"navigation_bar.filters": "Mykistetyt sanat",
|
"navigation_bar.filters": "Mykistetyt sanat",
|
||||||
"navigation_bar.follow_requests": "Seurantapyynnöt",
|
"navigation_bar.follow_requests": "Seurantapyynnöt",
|
||||||
"navigation_bar.followed_tags": "Seuratut aihetunnisteet",
|
"navigation_bar.followed_tags": "Seurattavat aihetunnisteet",
|
||||||
"navigation_bar.follows_and_followers": "Seuratut ja seuraajat",
|
"navigation_bar.follows_and_followers": "Seurattavat ja seuraajat",
|
||||||
"navigation_bar.lists": "Listat",
|
"navigation_bar.lists": "Listat",
|
||||||
"navigation_bar.logout": "Kirjaudu ulos",
|
"navigation_bar.logout": "Kirjaudu ulos",
|
||||||
"navigation_bar.moderation": "Moderointi",
|
"navigation_bar.moderation": "Moderointi",
|
||||||
@ -588,9 +588,9 @@
|
|||||||
"notification.reblog.name_and_others_with_link": "{name} ja <a>{count, plural, one {# muu} other {# muuta}}</a> tehostivat julkaisuasi",
|
"notification.reblog.name_and_others_with_link": "{name} ja <a>{count, plural, one {# muu} other {# muuta}}</a> tehostivat julkaisuasi",
|
||||||
"notification.relationships_severance_event": "Menetettiin yhteydet palvelimeen {name}",
|
"notification.relationships_severance_event": "Menetettiin yhteydet palvelimeen {name}",
|
||||||
"notification.relationships_severance_event.account_suspension": "Palvelimen {from} ylläpitäjä on jäädyttänyt palvelimen {target} vuorovaikutuksen. Enää et voi siis vastaanottaa päivityksiä heiltä tai olla yhteyksissä heidän kanssaan.",
|
"notification.relationships_severance_event.account_suspension": "Palvelimen {from} ylläpitäjä on jäädyttänyt palvelimen {target} vuorovaikutuksen. Enää et voi siis vastaanottaa päivityksiä heiltä tai olla yhteyksissä heidän kanssaan.",
|
||||||
"notification.relationships_severance_event.domain_block": "Palvelimen {from} ylläpitäjä on estänyt palvelimen {target} vuorovaikutuksen – mukaan lukien {followersCount} seuraajistasi ja {followingCount, plural, one {# seuratuistasi} other {# seuratuistasi}}.",
|
"notification.relationships_severance_event.domain_block": "Palvelimen {from} ylläpitäjä on estänyt palvelimen {target} vuorovaikutuksen – mukaan lukien {followersCount} seuraajistasi ja {followingCount, plural, one {# seurattavistasi} other {# seurattavistasi}}.",
|
||||||
"notification.relationships_severance_event.learn_more": "Lue lisää",
|
"notification.relationships_severance_event.learn_more": "Lue lisää",
|
||||||
"notification.relationships_severance_event.user_domain_block": "Olet estänyt verkkotunnuksen {target}, mikä poisti {followersCount} seuraajistasi ja {followingCount, plural, one {# seuratuistasi} other {# seuratuistasi}}.",
|
"notification.relationships_severance_event.user_domain_block": "Olet estänyt palvelimen {target}, mikä poisti {followersCount} seuraajistasi ja {followingCount, plural, one {# seurattavistasi} other {# seurattavistasi}}.",
|
||||||
"notification.status": "{name} julkaisi juuri",
|
"notification.status": "{name} julkaisi juuri",
|
||||||
"notification.update": "{name} muokkasi julkaisua",
|
"notification.update": "{name} muokkasi julkaisua",
|
||||||
"notification_requests.accept": "Hyväksy",
|
"notification_requests.accept": "Hyväksy",
|
||||||
|
@ -11,13 +11,16 @@
|
|||||||
"about.not_available": "Ev zanyarî li ser vê rajekarê nehatine peydakirin.",
|
"about.not_available": "Ev zanyarî li ser vê rajekarê nehatine peydakirin.",
|
||||||
"about.powered_by": "Medyaya civakî ya nenavendî bi hêzdariya {mastodon}",
|
"about.powered_by": "Medyaya civakî ya nenavendî bi hêzdariya {mastodon}",
|
||||||
"about.rules": "Rêbazên rajekar",
|
"about.rules": "Rêbazên rajekar",
|
||||||
|
"account.account_note_header": "Nîşeyên kesane",
|
||||||
"account.add_or_remove_from_list": "Li lîsteyan zêde bike yan jî rake",
|
"account.add_or_remove_from_list": "Li lîsteyan zêde bike yan jî rake",
|
||||||
"account.badges.bot": "Bot",
|
"account.badges.bot": "Bot",
|
||||||
"account.badges.group": "Kom",
|
"account.badges.group": "Kom",
|
||||||
"account.block": "@{name} asteng bike",
|
"account.block": "@{name} asteng bike",
|
||||||
"account.block_domain": "Navpera {domain} asteng bike",
|
"account.block_domain": "Navpera {domain} asteng bike",
|
||||||
|
"account.block_short": "Asteng bike",
|
||||||
"account.blocked": "Astengkirî",
|
"account.blocked": "Astengkirî",
|
||||||
"account.cancel_follow_request": "Daxwaza şopandinê vekişîne",
|
"account.cancel_follow_request": "Daxwaza şopandinê vekişîne",
|
||||||
|
"account.copy": "Girêdanê bo profîlê jê bigire",
|
||||||
"account.direct": "Bi taybetî qale @{name} bike",
|
"account.direct": "Bi taybetî qale @{name} bike",
|
||||||
"account.disable_notifications": "Êdî min agahdar neke gava @{name} diweşîne",
|
"account.disable_notifications": "Êdî min agahdar neke gava @{name} diweşîne",
|
||||||
"account.domain_blocked": "Navper hate astengkirin",
|
"account.domain_blocked": "Navper hate astengkirin",
|
||||||
@ -28,9 +31,12 @@
|
|||||||
"account.featured_tags.last_status_never": "Şandî tune ne",
|
"account.featured_tags.last_status_never": "Şandî tune ne",
|
||||||
"account.featured_tags.title": "{name}'s hashtagên taybet",
|
"account.featured_tags.title": "{name}'s hashtagên taybet",
|
||||||
"account.follow": "Bişopîne",
|
"account.follow": "Bişopîne",
|
||||||
|
"account.follow_back": "Bişopîne",
|
||||||
"account.followers": "Şopîner",
|
"account.followers": "Şopîner",
|
||||||
"account.followers.empty": "Kesekî hin ev bikarhêner neşopandiye.",
|
"account.followers.empty": "Kesekî hin ev bikarhêner neşopandiye.",
|
||||||
|
"account.followers_counter": "{count, plural, one {{counter} şopîner} other {{counter} şopîner}}",
|
||||||
"account.following": "Dişopîne",
|
"account.following": "Dişopîne",
|
||||||
|
"account.following_counter": "{count, plural, one {{counter} dişopîne} other {{counter} dişopîne}}",
|
||||||
"account.follows.empty": "Ev bikarhêner hin kesekî heya niha neşopandiye.",
|
"account.follows.empty": "Ev bikarhêner hin kesekî heya niha neşopandiye.",
|
||||||
"account.go_to_profile": "Biçe bo profîlê",
|
"account.go_to_profile": "Biçe bo profîlê",
|
||||||
"account.hide_reblogs": "Bilindkirinên ji @{name} veşêre",
|
"account.hide_reblogs": "Bilindkirinên ji @{name} veşêre",
|
||||||
@ -43,7 +49,11 @@
|
|||||||
"account.mention": "Qal @{name} bike",
|
"account.mention": "Qal @{name} bike",
|
||||||
"account.moved_to": "{name} diyar kir ku ajimêra nû ya wan niha ev e:",
|
"account.moved_to": "{name} diyar kir ku ajimêra nû ya wan niha ev e:",
|
||||||
"account.mute": "@{name} bêdeng bike",
|
"account.mute": "@{name} bêdeng bike",
|
||||||
|
"account.mute_notifications_short": "Agahdariyan bêdeng bike",
|
||||||
|
"account.mute_short": "Bêdeng bike",
|
||||||
"account.muted": "Bêdengkirî",
|
"account.muted": "Bêdengkirî",
|
||||||
|
"account.mutual": "Hevpar",
|
||||||
|
"account.no_bio": "Ti danasîn nehatiye tevlîkirin.",
|
||||||
"account.open_original_page": "Rûpela resen veke",
|
"account.open_original_page": "Rûpela resen veke",
|
||||||
"account.posts": "Şandî",
|
"account.posts": "Şandî",
|
||||||
"account.posts_with_replies": "Şandî û bersiv",
|
"account.posts_with_replies": "Şandî û bersiv",
|
||||||
@ -52,12 +62,14 @@
|
|||||||
"account.requested_follow": "{name} dixwaze te bişopîne",
|
"account.requested_follow": "{name} dixwaze te bişopîne",
|
||||||
"account.share": "Profîla @{name} parve bike",
|
"account.share": "Profîla @{name} parve bike",
|
||||||
"account.show_reblogs": "Bilindkirinên ji @{name} nîşan bike",
|
"account.show_reblogs": "Bilindkirinên ji @{name} nîşan bike",
|
||||||
|
"account.statuses_counter": "{count, plural,one {{counter} şandî}other {{counter} şandî}}",
|
||||||
"account.unblock": "Astengê li ser @{name} rake",
|
"account.unblock": "Astengê li ser @{name} rake",
|
||||||
"account.unblock_domain": "Astengê li ser navperê {domain} rake",
|
"account.unblock_domain": "Astengê li ser navperê {domain} rake",
|
||||||
"account.unblock_short": "Astengiyê rake",
|
"account.unblock_short": "Astengiyê rake",
|
||||||
"account.unendorse": "Li ser profîl nîşan neke",
|
"account.unendorse": "Li ser profîl nîşan neke",
|
||||||
"account.unfollow": "Neşopîne",
|
"account.unfollow": "Neşopîne",
|
||||||
"account.unmute": "@{name} bêdeng neke",
|
"account.unmute": "@{name} bêdeng neke",
|
||||||
|
"account.unmute_notifications_short": "Agahdariyan bêdeng bike",
|
||||||
"account.unmute_short": "Bêdeng neke",
|
"account.unmute_short": "Bêdeng neke",
|
||||||
"account_note.placeholder": "Bitikîne bo nîşeyekê tevlî bikî",
|
"account_note.placeholder": "Bitikîne bo nîşeyekê tevlî bikî",
|
||||||
"admin.dashboard.daily_retention": "Rêjeya ragirtina bikarhêner bi roj piştî tomarkirinê",
|
"admin.dashboard.daily_retention": "Rêjeya ragirtina bikarhêner bi roj piştî tomarkirinê",
|
||||||
@ -69,9 +81,18 @@
|
|||||||
"alert.rate_limited.title": "Rêje sînorkirî ye",
|
"alert.rate_limited.title": "Rêje sînorkirî ye",
|
||||||
"alert.unexpected.message": "Çewtiyeke bêhêvî çê bû.",
|
"alert.unexpected.message": "Çewtiyeke bêhêvî çê bû.",
|
||||||
"alert.unexpected.title": "Wey li min!",
|
"alert.unexpected.title": "Wey li min!",
|
||||||
|
"alt_text_modal.cancel": "Têk bibe",
|
||||||
|
"alt_text_modal.change_thumbnail": "Wêneyê biçûk biguherîne",
|
||||||
|
"alt_text_modal.done": "Qediya",
|
||||||
"announcement.announcement": "Daxuyanî",
|
"announcement.announcement": "Daxuyanî",
|
||||||
|
"annual_report.summary.followers.followers": "şopîner",
|
||||||
|
"annual_report.summary.followers.total": "{count} tevahî",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "şandiyên nû",
|
||||||
"attachments_list.unprocessed": "(bêpêvajo)",
|
"attachments_list.unprocessed": "(bêpêvajo)",
|
||||||
"audio.hide": "Dengê veşêre",
|
"audio.hide": "Dengê veşêre",
|
||||||
|
"block_modal.show_less": "Kêmtir nîşan bide",
|
||||||
|
"block_modal.show_more": "Bêtir nîşan bide",
|
||||||
|
"block_modal.title": "Bikarhêner asteng bike?",
|
||||||
"boost_modal.combo": "Ji bo derbas bî carekî din de pêlê {combo} bike",
|
"boost_modal.combo": "Ji bo derbas bî carekî din de pêlê {combo} bike",
|
||||||
"bundle_column_error.copy_stacktrace": "Rapora çewtiyê jê bigire",
|
"bundle_column_error.copy_stacktrace": "Rapora çewtiyê jê bigire",
|
||||||
"bundle_column_error.error.body": "Rûpela xwestî nehate pêşkêşkirin. Dibe ku ew ji ber şaşetiyeke koda me, an jî pirsgirêkeke lihevhatina gerokê be.",
|
"bundle_column_error.error.body": "Rûpela xwestî nehate pêşkêşkirin. Dibe ku ew ji ber şaşetiyeke koda me, an jî pirsgirêkeke lihevhatina gerokê be.",
|
||||||
@ -141,10 +162,12 @@
|
|||||||
"confirmations.logout.message": "Ma tu dixwazî ku derkevî?",
|
"confirmations.logout.message": "Ma tu dixwazî ku derkevî?",
|
||||||
"confirmations.mute.confirm": "Bêdeng bike",
|
"confirmations.mute.confirm": "Bêdeng bike",
|
||||||
"confirmations.redraft.confirm": "Jê bibe & ji nû ve serrast bike",
|
"confirmations.redraft.confirm": "Jê bibe & ji nû ve serrast bike",
|
||||||
|
"confirmations.redraft.message": "Bi rastî tu dixwazî şandî ye jê bibî û ji nû ve reşnivîsek çê bikî? Bijarte û şandî wê wenda bibin û bersivên ji bo şandiyê resen wê sêwî bimînin.",
|
||||||
"confirmations.reply.confirm": "Bersivê bide",
|
"confirmations.reply.confirm": "Bersivê bide",
|
||||||
"confirmations.reply.message": "Bersiva niha li ser peyama ku tu niha berhev dikî dê binivsîne. Ma pê bawer î ku tu dixwazî bidomînî?",
|
"confirmations.reply.message": "Bersiva niha li ser peyama ku tu niha berhev dikî dê binivsîne. Ma pê bawer î ku tu dixwazî bidomînî?",
|
||||||
"confirmations.unfollow.confirm": "Neşopîne",
|
"confirmations.unfollow.confirm": "Neşopîne",
|
||||||
"confirmations.unfollow.message": "Ma tu dixwazî ku dev ji şopa {name} berdî?",
|
"confirmations.unfollow.message": "Ma tu dixwazî ku dev ji şopa {name} berdî?",
|
||||||
|
"content_warning.show_more": "Bêtir nîşan bide",
|
||||||
"conversation.delete": "Axaftinê jê bibe",
|
"conversation.delete": "Axaftinê jê bibe",
|
||||||
"conversation.mark_as_read": "Wekî xwendî nîşan bide",
|
"conversation.mark_as_read": "Wekî xwendî nîşan bide",
|
||||||
"conversation.open": "Axaftinê nîşan bide",
|
"conversation.open": "Axaftinê nîşan bide",
|
||||||
@ -158,6 +181,9 @@
|
|||||||
"disabled_account_banner.text": "Ajimêrê te {disabledAccount} niha neçalak e.",
|
"disabled_account_banner.text": "Ajimêrê te {disabledAccount} niha neçalak e.",
|
||||||
"dismissable_banner.community_timeline": "Ev şandiyên giştî yên herî dawî ji kesên ku ajimêrê wan ji aliyê {domain} ve têne pêşkêşkirin.",
|
"dismissable_banner.community_timeline": "Ev şandiyên giştî yên herî dawî ji kesên ku ajimêrê wan ji aliyê {domain} ve têne pêşkêşkirin.",
|
||||||
"dismissable_banner.dismiss": "Paşguh bike",
|
"dismissable_banner.dismiss": "Paşguh bike",
|
||||||
|
"domain_block_modal.block": "Rajekar asteng bike",
|
||||||
|
"domain_pill.server": "Rajekar",
|
||||||
|
"domain_pill.username": "Navê bikarhêner",
|
||||||
"embed.instructions": "Bi jêgirtina koda jêrîn vê şandiyê li ser malpera xwe bi cih bike.",
|
"embed.instructions": "Bi jêgirtina koda jêrîn vê şandiyê li ser malpera xwe bi cih bike.",
|
||||||
"embed.preview": "Ew ê çawa xuya bibe li vir tê nîşandan:",
|
"embed.preview": "Ew ê çawa xuya bibe li vir tê nîşandan:",
|
||||||
"emoji_button.activity": "Çalakî",
|
"emoji_button.activity": "Çalakî",
|
||||||
|
@ -250,9 +250,27 @@
|
|||||||
"disabled_account_banner.text": "Lí ê口座 {disabledAccount} tsit-má hōo lâng停止使用。",
|
"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.community_timeline": "Tsia sī uì 口座hē tī {domain} ê lâng,最近所公開PO ê。",
|
||||||
"dismissable_banner.dismiss": "Mài kā tshah",
|
"dismissable_banner.dismiss": "Mài kā tshah",
|
||||||
|
"dismissable_banner.explore_links": "Tsiah ê新聞故事是kín-á日tī Fediverse hōo lâng分享上tsē pái ê。Hōo koh khah tsē lâng 分享ê khah新ê新聞故事,名次koh khah kuân。",
|
||||||
|
"dismissable_banner.explore_statuses": "Tsiah ê tuì Fediverse來ê PO文kín-á日有真tsē關注。Khah新ê,有khah tsē轉送kap收藏ê,名次koh khah kuân。",
|
||||||
|
"dismissable_banner.explore_tags": "Tsiah ê hashtag kín-á日tī Fediverse 有真tsē關注。Khah tsē無kâng ê lâng leh用ê hashtag,名次koh khah kuân。",
|
||||||
|
"dismissable_banner.public_timeline": "Tsiah ê是 {domain} 內底ê lâng 佇 Fediverse所跟tuè ê ê,上新ê公開PO文。.",
|
||||||
"domain_block_modal.block": "封鎖服侍器",
|
"domain_block_modal.block": "封鎖服侍器",
|
||||||
"domain_block_modal.block_account_instead": "改做封鎖 @{name}",
|
"domain_block_modal.block_account_instead": "改做封鎖 @{name}",
|
||||||
"domain_block_modal.they_can_interact_with_old_posts": "Uì tsit ê服侍器來ê,通kap lí khah早ê PO交流。",
|
"domain_block_modal.they_can_interact_with_old_posts": "Uì tsit ê服侍器來ê,通kap lí khah早ê PO交流。",
|
||||||
|
"domain_block_modal.they_cant_follow": "Tuì tsit ê服侍器來ê 通跟tuè lí。",
|
||||||
|
"domain_block_modal.they_wont_know": "In buē知影in受封鎖。",
|
||||||
|
"domain_block_modal.title": "Kám beh封鎖域名?",
|
||||||
|
"domain_block_modal.you_will_lose_num_followers": "Lí ē失去 {followersCount, plural, other {{followersCountDisplay} ê lâng跟tuè}} kap {followingCount, plural, other {{followingCountDisplay} ê lí所tuè ê 口座}}。",
|
||||||
|
"domain_block_modal.you_will_lose_relationships": "Lí ē失去逐ê佇tsit ê服侍器跟tuè lí ê,kap lí所跟tuè ê。",
|
||||||
|
"domain_block_modal.you_wont_see_posts": "Lí buē看見tsit ê服侍器ê用者所送ê PO文kap通知。",
|
||||||
|
"domain_pill.activitypub_lets_connect": "伊ē hōo lí kap Mastodon ê lâng連結kap互動,其他社交應用程式ê lâng mā ē使。",
|
||||||
|
"domain_pill.activitypub_like_language": "ActivityPub親像Mastodon kap其他社交應用程式所講ê語言。",
|
||||||
|
"domain_pill.server": "服侍器",
|
||||||
|
"domain_pill.their_handle": "In ê口座:",
|
||||||
|
"domain_pill.their_server": "In數位ê tau,in所有ê PO文lóng tī tsia。",
|
||||||
|
"domain_pill.their_username": "In佇tsit ê服侍器獨一ê稱呼。佇無kâng ê服侍器有可能tshuē著kāng名ê用者。",
|
||||||
|
"domain_pill.username": "用者ê名",
|
||||||
|
"domain_pill.whats_in_a_handle": "口座是siánn-mih?",
|
||||||
"embed.preview": "伊e án-ne顯示:\n",
|
"embed.preview": "伊e án-ne顯示:\n",
|
||||||
"emoji_button.activity": "活動",
|
"emoji_button.activity": "活動",
|
||||||
"emoji_button.clear": "清掉",
|
"emoji_button.clear": "清掉",
|
||||||
@ -273,6 +291,52 @@
|
|||||||
"empty_column.account_suspended": "口座已經受停止",
|
"empty_column.account_suspended": "口座已經受停止",
|
||||||
"empty_column.account_timeline": "Tsia無PO文!",
|
"empty_column.account_timeline": "Tsia無PO文!",
|
||||||
"empty_column.account_unavailable": "個人資料bē當看",
|
"empty_column.account_unavailable": "個人資料bē當看",
|
||||||
|
"errors.unexpected_crash.copy_stacktrace": "Khóo-pih stacktrace kàu剪貼pang-á",
|
||||||
|
"errors.unexpected_crash.report_issue": "報告問題",
|
||||||
|
"explore.suggested_follows": "用者",
|
||||||
|
"explore.title": "探索",
|
||||||
|
"explore.trending_links": "新聞",
|
||||||
|
"firehose.remote": "別ê服侍器",
|
||||||
|
"follow_request.authorize": "授權",
|
||||||
|
"follow_request.reject": "拒絕",
|
||||||
|
"follow_requests.unlocked_explanation": "就算lí ê口座無hőng鎖,{domain} ê管理員leh想,lí可能beh手動審查tuì tsiah ê口座送ê跟tuè請求。",
|
||||||
|
"follow_suggestions.curated_suggestion": "精選ê內容",
|
||||||
|
"follow_suggestions.dismiss": "Mài koh顯示。",
|
||||||
|
"follow_suggestions.featured_longer": "{domain} 團隊所揀ê",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "時行佇lí所tuè ê lâng",
|
||||||
|
"follow_suggestions.personalized_suggestion": "個人化ê推薦",
|
||||||
|
"follow_suggestions.popular_suggestion": "流行ê推薦",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "佇{domain} 足有lâng緣",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Kap lí最近跟tuè ê相siâng",
|
||||||
|
"follow_suggestions.view_all": "看全部",
|
||||||
|
"follow_suggestions.who_to_follow": "Thang tuè ê",
|
||||||
|
"followed_tags": "跟tuè ê hashtag",
|
||||||
|
"footer.about": "概要",
|
||||||
|
"footer.directory": "個人資料ê目錄",
|
||||||
|
"footer.get_app": "The̍h著app",
|
||||||
|
"footer.keyboard_shortcuts": "鍵盤kiu-té khí (shortcut)",
|
||||||
|
"footer.privacy_policy": "隱私權政策",
|
||||||
|
"footer.source_code": "看原始碼",
|
||||||
|
"footer.status": "狀態",
|
||||||
|
"footer.terms_of_service": "服務規定",
|
||||||
|
"generic.saved": "儲存ah",
|
||||||
|
"getting_started.heading": "開始用",
|
||||||
|
"hashtag.admin_moderation": "Phah開 #{name} ê管理界面",
|
||||||
|
"hashtag.column_header.tag_mode.all": "kap {additional}",
|
||||||
|
"hashtag.column_header.tag_mode.any": "á是 {additional}",
|
||||||
|
"hashtag.column_header.tag_mode.none": "無需要 {additional}",
|
||||||
|
"hashtag.column_settings.select.no_options_message": "Tshuē無建議",
|
||||||
|
"hashtag.column_settings.select.placeholder": "請輸入hashtag……",
|
||||||
|
"hashtag.column_settings.tag_mode.all": "Kui ê",
|
||||||
|
"hashtag.column_settings.tag_mode.any": "任何tsi̍t ê",
|
||||||
|
"hashtag.column_settings.tag_mode.none": "Lóng mài",
|
||||||
|
"hashtag.column_settings.tag_toggle": "Kā追加ê標籤加添kàu tsit ê欄",
|
||||||
|
"hashtag.counter_by_accounts": "{count, plural, one {{counter} ê} other {{counter} ê}}參與ê",
|
||||||
|
"hashtag.counter_by_uses": "{count, plural, one {{counter} ê} other {{counter} ê}} PO文",
|
||||||
|
"hashtag.counter_by_uses_today": "Kin-á日有 {count, plural, one {{counter} ê} other {{counter} ê}} PO文",
|
||||||
|
"hashtag.follow": "跟tuè hashtag",
|
||||||
|
"hashtag.unfollow": "取消跟tuè hashtag",
|
||||||
|
"hashtags.and_other": "……kap 其他 {count, plural, other {# ê}}",
|
||||||
"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語言代碼",
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -219,6 +219,9 @@
|
|||||||
"confirmations.logout.message": "Är du säker på att du vill logga ut?",
|
"confirmations.logout.message": "Är du säker på att du vill logga ut?",
|
||||||
"confirmations.logout.title": "Logga ut?",
|
"confirmations.logout.title": "Logga ut?",
|
||||||
"confirmations.missing_alt_text.confirm": "Lägg till alt-text",
|
"confirmations.missing_alt_text.confirm": "Lägg till alt-text",
|
||||||
|
"confirmations.missing_alt_text.message": "Ditt inlägg innehåller media utan alt-text. Om du lägger till beskrivningar blir ditt innehåll tillgängligt för fler personer.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Posta ändå",
|
||||||
|
"confirmations.missing_alt_text.title": "Lägg till alt-text?",
|
||||||
"confirmations.mute.confirm": "Tysta",
|
"confirmations.mute.confirm": "Tysta",
|
||||||
"confirmations.redraft.confirm": "Radera & gör om",
|
"confirmations.redraft.confirm": "Radera & gör om",
|
||||||
"confirmations.redraft.message": "Är du säker på att du vill radera detta inlägg och göra om det? Favoritmarkeringar, boostar och svar till det ursprungliga inlägget kommer förlora sitt sammanhang.",
|
"confirmations.redraft.message": "Är du säker på att du vill radera detta inlägg och göra om det? Favoritmarkeringar, boostar och svar till det ursprungliga inlägget kommer förlora sitt sammanhang.",
|
||||||
@ -416,6 +419,7 @@
|
|||||||
"ignore_notifications_modal.not_following_title": "Vill du blockera aviseringar från personer som du inte följer dig?",
|
"ignore_notifications_modal.not_following_title": "Vill du blockera aviseringar från personer som du inte följer dig?",
|
||||||
"ignore_notifications_modal.private_mentions_title": "Vill du ignorera aviseringar från oombedda privata omnämnanden?",
|
"ignore_notifications_modal.private_mentions_title": "Vill du ignorera aviseringar från oombedda privata omnämnanden?",
|
||||||
"info_button.label": "Hjälp",
|
"info_button.label": "Hjälp",
|
||||||
|
"info_button.what_is_alt_text": "<h1>Vad är alt-text?</h1> <p>alt-text ger bildbeskrivningar för personer med synnedsättning, anslutningar med låg bandbredd eller de som söker extra sammanhang.</p> <p>Du kan förbättra tillgängligheten och förståelsen för alla genom att skriva en tydlig, koncis och objektiv alt-text.</p> <ul> <li>Fånga viktiga element</li> <li>Sammanfatta text i bilder</li> <li>Använd vanlig meningsstruktur</li> <li>Undvik överflödig information</li> <li>Fokus på trender och viktiga resultat i komplexa bilder (som diagram eller kartor)</li> </ul>",
|
||||||
"interaction_modal.action.favourite": "För att fortsätta, måste du favoritmarkera från ditt konto.",
|
"interaction_modal.action.favourite": "För att fortsätta, måste du favoritmarkera från ditt konto.",
|
||||||
"interaction_modal.action.follow": "För att fortsätta, måste du följa från ditt konto.",
|
"interaction_modal.action.follow": "För att fortsätta, måste du följa från ditt konto.",
|
||||||
"interaction_modal.action.reblog": "För att fortsätta, måste du boosta från ditt konto.",
|
"interaction_modal.action.reblog": "För att fortsätta, måste du boosta från ditt konto.",
|
||||||
|
@ -86,6 +86,13 @@
|
|||||||
"alert.unexpected.message": "เกิดข้อผิดพลาดที่ไม่คาดคิด",
|
"alert.unexpected.message": "เกิดข้อผิดพลาดที่ไม่คาดคิด",
|
||||||
"alert.unexpected.title": "อุปส์!",
|
"alert.unexpected.title": "อุปส์!",
|
||||||
"alt_text_badge.title": "ข้อความแสดงแทน",
|
"alt_text_badge.title": "ข้อความแสดงแทน",
|
||||||
|
"alt_text_modal.add_alt_text": "เพิ่มข้อความแสดงแทน",
|
||||||
|
"alt_text_modal.add_text_from_image": "เพิ่มข้อความจากภาพ",
|
||||||
|
"alt_text_modal.cancel": "ยกเลิก",
|
||||||
|
"alt_text_modal.change_thumbnail": "เปลี่ยนภาพขนาดย่อ",
|
||||||
|
"alt_text_modal.describe_for_people_with_hearing_impairments": "อธิบายสิ่งนี้สำหรับผู้คนที่มีความบกพร่องทางการได้ยิน…",
|
||||||
|
"alt_text_modal.describe_for_people_with_visual_impairments": "อธิบายสิ่งนี้สำหรับผู้คนที่มีความบกพร่องทางการมองเห็น…",
|
||||||
|
"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": "ผู้ซุ่มอ่านข่าว",
|
||||||
@ -208,6 +215,10 @@
|
|||||||
"confirmations.logout.confirm": "ออกจากระบบ",
|
"confirmations.logout.confirm": "ออกจากระบบ",
|
||||||
"confirmations.logout.message": "คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบ?",
|
"confirmations.logout.message": "คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบ?",
|
||||||
"confirmations.logout.title": "ออกจากระบบ?",
|
"confirmations.logout.title": "ออกจากระบบ?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "เพิ่มข้อความแสดงแทน",
|
||||||
|
"confirmations.missing_alt_text.message": "โพสต์ของคุณมีสื่อที่ไม่มีข้อความแสดงแทน การเพิ่มคำอธิบายช่วยทำให้เนื้อหาของคุณเข้าถึงผู้คนได้มากขึ้น",
|
||||||
|
"confirmations.missing_alt_text.secondary": "โพสต์ต่อไป",
|
||||||
|
"confirmations.missing_alt_text.title": "เพิ่มข้อความแสดงแทน?",
|
||||||
"confirmations.mute.confirm": "ซ่อน",
|
"confirmations.mute.confirm": "ซ่อน",
|
||||||
"confirmations.redraft.confirm": "ลบแล้วร่างใหม่",
|
"confirmations.redraft.confirm": "ลบแล้วร่างใหม่",
|
||||||
"confirmations.redraft.message": "คุณแน่ใจหรือไม่ว่าต้องการลบโพสต์นี้แล้วร่างโพสต์ใหม่? รายการโปรดและการดันจะสูญหาย และการตอบกลับโพสต์ดั้งเดิมจะไม่มีความเกี่ยวพัน",
|
"confirmations.redraft.message": "คุณแน่ใจหรือไม่ว่าต้องการลบโพสต์นี้แล้วร่างโพสต์ใหม่? รายการโปรดและการดันจะสูญหาย และการตอบกลับโพสต์ดั้งเดิมจะไม่มีความเกี่ยวพัน",
|
||||||
@ -400,6 +411,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.action.reblog": "เพื่อดำเนินการต่อ คุณจำเป็นต้องดันจากบัญชีของคุณ",
|
"interaction_modal.action.reblog": "เพื่อดำเนินการต่อ คุณจำเป็นต้องดันจากบัญชีของคุณ",
|
||||||
|
@ -148,7 +148,7 @@
|
|||||||
"column.bookmarks": "Yer İşaretleri",
|
"column.bookmarks": "Yer İşaretleri",
|
||||||
"column.community": "Yerel ağ akışı",
|
"column.community": "Yerel ağ akışı",
|
||||||
"column.create_list": "Liste oluştur",
|
"column.create_list": "Liste oluştur",
|
||||||
"column.direct": "Özel değinmeler",
|
"column.direct": "Özel mesajlar",
|
||||||
"column.directory": "Profillere göz at",
|
"column.directory": "Profillere göz at",
|
||||||
"column.domain_blocks": "Engellenen alan adları",
|
"column.domain_blocks": "Engellenen alan adları",
|
||||||
"column.edit_list": "Listeyi düzenle",
|
"column.edit_list": "Listeyi düzenle",
|
||||||
@ -444,7 +444,7 @@
|
|||||||
"keyboard_shortcuts.column": "Sütunlardan birindeki duruma odaklanmak için",
|
"keyboard_shortcuts.column": "Sütunlardan birindeki duruma odaklanmak için",
|
||||||
"keyboard_shortcuts.compose": "Yazma alanına odaklanmak için",
|
"keyboard_shortcuts.compose": "Yazma alanına odaklanmak için",
|
||||||
"keyboard_shortcuts.description": "Açıklama",
|
"keyboard_shortcuts.description": "Açıklama",
|
||||||
"keyboard_shortcuts.direct": "özel değinmeler sütununu açmak için",
|
"keyboard_shortcuts.direct": "özel mesajlar sütununu açmak için",
|
||||||
"keyboard_shortcuts.down": "Listede aşağıya inmek için",
|
"keyboard_shortcuts.down": "Listede aşağıya inmek için",
|
||||||
"keyboard_shortcuts.enter": "Gönderiyi açınız",
|
"keyboard_shortcuts.enter": "Gönderiyi açınız",
|
||||||
"keyboard_shortcuts.favourite": "Gönderiyi favorilerine ekle",
|
"keyboard_shortcuts.favourite": "Gönderiyi favorilerine ekle",
|
||||||
@ -529,7 +529,7 @@
|
|||||||
"navigation_bar.bookmarks": "Yer İşaretleri",
|
"navigation_bar.bookmarks": "Yer İşaretleri",
|
||||||
"navigation_bar.community_timeline": "Yerel ağ akışı",
|
"navigation_bar.community_timeline": "Yerel ağ akışı",
|
||||||
"navigation_bar.compose": "Yeni gönderi yaz",
|
"navigation_bar.compose": "Yeni gönderi yaz",
|
||||||
"navigation_bar.direct": "Özel değinmeler",
|
"navigation_bar.direct": "Özel mesajlar",
|
||||||
"navigation_bar.discover": "Keşfet",
|
"navigation_bar.discover": "Keşfet",
|
||||||
"navigation_bar.domain_blocks": "Engellenen alan adları",
|
"navigation_bar.domain_blocks": "Engellenen alan adları",
|
||||||
"navigation_bar.explore": "Keşfet",
|
"navigation_bar.explore": "Keşfet",
|
||||||
@ -662,10 +662,10 @@
|
|||||||
"notifications.policy.filter_not_following_hint": "Onları manuel olarak onaylayana kadar",
|
"notifications.policy.filter_not_following_hint": "Onları manuel olarak onaylayana kadar",
|
||||||
"notifications.policy.filter_not_following_title": "Takip etmediğin kullanıcılar",
|
"notifications.policy.filter_not_following_title": "Takip etmediğin kullanıcılar",
|
||||||
"notifications.policy.filter_private_mentions_hint": "Kendi değinmenize yanıt veya takip ettiğiniz kullanıcıdan değilse filtrelenir",
|
"notifications.policy.filter_private_mentions_hint": "Kendi değinmenize yanıt veya takip ettiğiniz kullanıcıdan değilse filtrelenir",
|
||||||
"notifications.policy.filter_private_mentions_title": "İstenmeyen özel değinmeler",
|
"notifications.policy.filter_private_mentions_title": "İstenmeyen özel mesajlar",
|
||||||
"notifications.policy.title": "Şundan bildirimleri yönet…",
|
"notifications.policy.title": "Şundan bildirimleri yönet…",
|
||||||
"notifications_permission_banner.enable": "Masaüstü bildirimlerini etkinleştir",
|
"notifications_permission_banner.enable": "Masaüstü bildirimlerini etkinleştir",
|
||||||
"notifications_permission_banner.how_to_control": "Mastodon açık olmadığında bildirim almak için masaüstü bildirimlerini etkinleştirin. Etkinleştirildikten sonra yukarıdaki {icon} düğmesini kullanarak hangi etkileşim türlerinin masaüstü bildirimleri oluşturduğunu tam olarak kontrol edebilirsiniz.",
|
"notifications_permission_banner.how_to_control": "Mastodon açık olmadığında bildirim almak için masaüstü bildirimlerini etkinleştirin. Etkinleştirildikten sonra, yukarıdaki{icon} düğmesi aracılığıyla hangi etkileşim türlerinin masaüstü bildirimi oluşturacağını tam olarak kontrol edebilirsiniz.",
|
||||||
"notifications_permission_banner.title": "Hiçbir şeyi kaçırmayın",
|
"notifications_permission_banner.title": "Hiçbir şeyi kaçırmayın",
|
||||||
"onboarding.follows.back": "Geri",
|
"onboarding.follows.back": "Geri",
|
||||||
"onboarding.follows.done": "Tamamlandı",
|
"onboarding.follows.done": "Tamamlandı",
|
||||||
|
@ -78,8 +78,8 @@
|
|||||||
"admin.dashboard.retention.cohort": "注册月份",
|
"admin.dashboard.retention.cohort": "注册月份",
|
||||||
"admin.dashboard.retention.cohort_size": "新用户",
|
"admin.dashboard.retention.cohort_size": "新用户",
|
||||||
"admin.impact_report.instance_accounts": "将被删除的账号",
|
"admin.impact_report.instance_accounts": "将被删除的账号",
|
||||||
"admin.impact_report.instance_followers": "本实例用户即将丢失的关注者",
|
"admin.impact_report.instance_followers": "本站用户即将丢失的关注者",
|
||||||
"admin.impact_report.instance_follows": "对方实例用户将会丢失的关注者",
|
"admin.impact_report.instance_follows": "对方站点用户即将丢失的关注者",
|
||||||
"admin.impact_report.title": "影响摘要",
|
"admin.impact_report.title": "影响摘要",
|
||||||
"alert.rate_limited.message": "请在 {retry_time, time, medium} 后重试。",
|
"alert.rate_limited.message": "请在 {retry_time, time, medium} 后重试。",
|
||||||
"alert.rate_limited.title": "频率受限",
|
"alert.rate_limited.title": "频率受限",
|
||||||
@ -219,7 +219,7 @@
|
|||||||
"confirmations.logout.message": "确定要退出登录吗?",
|
"confirmations.logout.message": "确定要退出登录吗?",
|
||||||
"confirmations.logout.title": "确定要退出登录?",
|
"confirmations.logout.title": "确定要退出登录?",
|
||||||
"confirmations.missing_alt_text.confirm": "添加替代文本",
|
"confirmations.missing_alt_text.confirm": "添加替代文本",
|
||||||
"confirmations.missing_alt_text.message": "您的帖子包含没有添加替代文本的媒体。添加描述有助于使更多人访问您的内容。",
|
"confirmations.missing_alt_text.message": "你的帖子包含没有替代文本的媒体。添加描述有助于使更多用户理解你的内容。",
|
||||||
"confirmations.missing_alt_text.secondary": "就这样发布",
|
"confirmations.missing_alt_text.secondary": "就这样发布",
|
||||||
"confirmations.missing_alt_text.title": "添加替代文本?",
|
"confirmations.missing_alt_text.title": "添加替代文本?",
|
||||||
"confirmations.mute.confirm": "隐藏",
|
"confirmations.mute.confirm": "隐藏",
|
||||||
@ -298,7 +298,7 @@
|
|||||||
"empty_column.account_timeline": "这里没有嘟文!",
|
"empty_column.account_timeline": "这里没有嘟文!",
|
||||||
"empty_column.account_unavailable": "个人资料不可用",
|
"empty_column.account_unavailable": "个人资料不可用",
|
||||||
"empty_column.blocks": "你还未屏蔽任何用户。",
|
"empty_column.blocks": "你还未屏蔽任何用户。",
|
||||||
"empty_column.bookmarked_statuses": "你还没有收藏任何嘟文。收藏后嘟文就会显示在这里。",
|
"empty_column.bookmarked_statuses": "你还没有给任何嘟文添加书签。添加书签后的嘟文会显示在这里。",
|
||||||
"empty_column.community": "本站时间线还没有内容,写点什么并公开发布,让它活跃起来吧!",
|
"empty_column.community": "本站时间线还没有内容,写点什么并公开发布,让它活跃起来吧!",
|
||||||
"empty_column.direct": "你还未使用过私下提及。当你发出或者收到私下提及时,它将显示在此。",
|
"empty_column.direct": "你还未使用过私下提及。当你发出或者收到私下提及时,它将显示在此。",
|
||||||
"empty_column.domain_blocks": "暂且没有被屏蔽的站点。",
|
"empty_column.domain_blocks": "暂且没有被屏蔽的站点。",
|
||||||
@ -813,7 +813,7 @@
|
|||||||
"status.admin_domain": "打开 {domain} 的管理界面",
|
"status.admin_domain": "打开 {domain} 的管理界面",
|
||||||
"status.admin_status": "在管理界面查看此嘟文",
|
"status.admin_status": "在管理界面查看此嘟文",
|
||||||
"status.block": "屏蔽 @{name}",
|
"status.block": "屏蔽 @{name}",
|
||||||
"status.bookmark": "收藏",
|
"status.bookmark": "添加到书签",
|
||||||
"status.cancel_reblog_private": "取消转嘟",
|
"status.cancel_reblog_private": "取消转嘟",
|
||||||
"status.cannot_reblog": "不能转嘟这条嘟文",
|
"status.cannot_reblog": "不能转嘟这条嘟文",
|
||||||
"status.continued_thread": "上接嘟文串",
|
"status.continued_thread": "上接嘟文串",
|
||||||
@ -849,7 +849,7 @@
|
|||||||
"status.reblogs": "{count, plural, other {次转嘟}}",
|
"status.reblogs": "{count, plural, other {次转嘟}}",
|
||||||
"status.reblogs.empty": "没有人转嘟过此条嘟文。如果有人转嘟了,就会显示在这里。",
|
"status.reblogs.empty": "没有人转嘟过此条嘟文。如果有人转嘟了,就会显示在这里。",
|
||||||
"status.redraft": "删除并重新编辑",
|
"status.redraft": "删除并重新编辑",
|
||||||
"status.remove_bookmark": "取消收藏",
|
"status.remove_bookmark": "移除书签",
|
||||||
"status.remove_favourite": "从喜欢列表中移除",
|
"status.remove_favourite": "从喜欢列表中移除",
|
||||||
"status.replied_in_thread": "回复嘟文串",
|
"status.replied_in_thread": "回复嘟文串",
|
||||||
"status.replied_to": "回复 {name}",
|
"status.replied_to": "回复 {name}",
|
||||||
|
@ -260,7 +260,7 @@ class Request
|
|||||||
outer_e = nil
|
outer_e = nil
|
||||||
port = args.first
|
port = args.first
|
||||||
|
|
||||||
addresses = [] # rubocop:disable Lint/UselessAssignment # TODO: https://github.com/rubocop/rubocop/issues/13395
|
addresses = [] # rubocop:disable Lint/UselessAssignment -- TODO: https://github.com/rubocop/rubocop/issues/13395
|
||||||
begin
|
begin
|
||||||
addresses = [IPAddr.new(host)]
|
addresses = [IPAddr.new(host)]
|
||||||
rescue IPAddr::InvalidAddressError
|
rescue IPAddr::InvalidAddressError
|
||||||
|
@ -6,6 +6,8 @@ class BackupService < BaseService
|
|||||||
include Payloadable
|
include Payloadable
|
||||||
include ContextHelper
|
include ContextHelper
|
||||||
|
|
||||||
|
CHUNK_SIZE = 1.megabyte
|
||||||
|
|
||||||
attr_reader :account, :backup
|
attr_reader :account, :backup
|
||||||
|
|
||||||
def call(backup)
|
def call(backup)
|
||||||
@ -182,8 +184,6 @@ class BackupService < BaseService
|
|||||||
).as_json
|
).as_json
|
||||||
end
|
end
|
||||||
|
|
||||||
CHUNK_SIZE = 1.megabyte
|
|
||||||
|
|
||||||
def download_to_zip(zipfile, attachment, filename)
|
def download_to_zip(zipfile, attachment, filename)
|
||||||
adapter = Paperclip.io_adapters.for(attachment)
|
adapter = Paperclip.io_adapters.for(attachment)
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
WebAuthn.configure do |config|
|
WebAuthn.configure do |config|
|
||||||
# This value needs to match `window.location.origin` evaluated by
|
# This value needs to match `window.location.origin` evaluated by
|
||||||
# the User Agent during registration and authentication ceremonies.
|
# the User Agent during registration and authentication ceremonies.
|
||||||
config.origin = "#{Rails.configuration.x.use_https ? 'https' : 'http'}://#{Rails.configuration.x.web_domain}"
|
config.allowed_origins = ["#{Rails.configuration.x.use_https ? 'https' : 'http'}://#{Rails.configuration.x.web_domain}"]
|
||||||
|
|
||||||
# Relying Party name for display purposes
|
# Relying Party name for display purposes
|
||||||
config.rp_name = 'Mastodon'
|
config.rp_name = 'Mastodon'
|
||||||
|
@ -44,7 +44,7 @@ fi:
|
|||||||
attributes:
|
attributes:
|
||||||
account_id:
|
account_id:
|
||||||
taken: on jo listassa
|
taken: on jo listassa
|
||||||
must_be_following: on oltava seurattu tili
|
must_be_following: on oltava seurattava tili
|
||||||
status:
|
status:
|
||||||
attributes:
|
attributes:
|
||||||
reblog:
|
reblog:
|
||||||
|
@ -1 +1,46 @@
|
|||||||
|
---
|
||||||
az:
|
az:
|
||||||
|
devise:
|
||||||
|
confirmations:
|
||||||
|
confirmed: E-poçt ünvanınız uğurla təsdiqləndi.
|
||||||
|
send_instructions: Bir neçə dəqiqə ərzində e-poçt ünvanınızı necə təsdiqləyəcəyinizə dair təlimatları olan bir e-məktub alacaqsınız. Bu e-məktubu almamısınızsa, spam qovluğunuzu yoxlayın.
|
||||||
|
send_paranoid_instructions: E-poçt ünvanınız verilənlər bazamızda varsa, bir neçə dəqiqədən sonra e-poçt ünvanınızı necə təsdiqləyəcəyinizə dair təlimatları olan bir e-məktub alacaqsınız. Bu e-məktubu almamısınızsa, spam qovluğunuzu yoxlayın.
|
||||||
|
failure:
|
||||||
|
already_authenticated: Siz artıq daxil olmusunuz.
|
||||||
|
inactive: Hesabınız hələ aktivləşdirilməyib.
|
||||||
|
invalid: Səhv %{authentication_keys} və ya parol.
|
||||||
|
last_attempt: Hesabınız blok olmamışdan əvvəl bir dəfə də cəhdiniz var.
|
||||||
|
locked: Hesabınız bloklandı.
|
||||||
|
not_found_in_database: Səhv %{authentication_keys} və ya parol.
|
||||||
|
omniauth_user_creation_failure: Bu kimlik üçün hesab yaradarkən xəta.
|
||||||
|
pending: Hesabınız hələ yoxlanışdadır.
|
||||||
|
timeout: Sessiyanın vaxtı bitdi. Xahiş edirik davam etmək üçün yenidən daxil olun.
|
||||||
|
unauthenticated: Davam etmək üçün daxil olmaq və ya qeydiyyatdan keçmək lazımdır.
|
||||||
|
unconfirmed: Davam etmək üçün e-poçt ünvanınızı təsdiqləməlisiniz.
|
||||||
|
mailer:
|
||||||
|
confirmation_instructions:
|
||||||
|
action: E-poçt ünvanını təsdiqlə
|
||||||
|
action_with_app: Təsdiqlə və %{app}-a geri qayıt
|
||||||
|
explanation: Siz %{host} saytında bu e-poçt ilə hesab yaratmısınız. Onu aktivləşdirməkdən bir klik uzaqlıqdasınız. Əgər bu siz olmamısınızsa, zəhmət olmasa, bu e-məktuba məhəl qoymayın.
|
||||||
|
explanation_when_pending: Bu e-poçt ünvanı ilə %{host} saytına dəvət üçün müraciət etmisiniz. Siz e-poçt ünvanınızı təsdiqlədikdən sonra müraciətinizi nəzərdən keçirəcəyik. Siz məlumatlarınızı dəyişdirmək və ya hesabınızı silmək üçün daxil ola bilərsiniz, lakin hesabınız təsdiqlənənə qədər əksər funksiyaları istifadə edə bilməzsiniz. Müraciətiniz rədd edilərsə, məlumatlarınız silinəcək, buna görə də sizdən heç bir tədbir tələb olunmayacaq. Əgər bu siz deyildinizsə, zəhmət, bu e-məktuba məhəl qoymayın.
|
||||||
|
extra_html: Həmçinin zəhmət olmasa, <a href="%{terms_path}">serverin qaydalarını</a> və <a href="%{policy_path}">istifadə şərtlərini</a> oxuyun.
|
||||||
|
subject: 'Mastodon: %{instance} üçün təsdiqlənmə təlimatları'
|
||||||
|
title: E-poçt ünvanını təsdiqlə
|
||||||
|
email_changed:
|
||||||
|
explanation: 'Hesabınız üçün e-poçt ünvanı buna dəyişdirilir:'
|
||||||
|
extra: E-poçtunuzu dəyişməmisinizsə, çox güman ki, kimsə hesabınıza giriş əldə edib. Zəhmət olmasa, parolunuzu dərhal dəyişdirin və ya hesabınıza daxil ola bilməyəcəksinizsə, server admini ilə əlaqə saxlayın.
|
||||||
|
subject: 'Mastodon: E-poçt dəyişdirildi'
|
||||||
|
title: Yeni e-poçt ünvanı
|
||||||
|
password_change:
|
||||||
|
explanation: Hesabınızın parolu dəyişdirilib.
|
||||||
|
extra: Parolunuzu dəyişməmisinizsə, çox güman ki, kimsə hesabınıza giriş əldə edib. Zəhmət olmasa, parolunuzu dərhal dəyişdirin və ya hesabınıza daxil ola bilməyəcəksinizsə, server admini ilə əlaqə saxlayın.
|
||||||
|
subject: 'Mastodon: Parol dəyişdirildi'
|
||||||
|
title: Parol dəyişdirildi
|
||||||
|
reconfirmation_instructions:
|
||||||
|
explanation: E-poçtunuzu dəyişdirmək üçün yeni ünvanı təsdiqləyin.
|
||||||
|
extra: Əgər bu dəyişiklik sizin tərəfinizdən deyilsə, zəhmət olmasa, bu e-məktuba məhəl qoymayın. Siz yuxarıdakı linkə daxil olana qədər Mastodon hesabının e-poçt ünvanı dəyişməyəcək.
|
||||||
|
subject: 'Mastodon: %{instance} üçün e-poçtu təsdiqlə'
|
||||||
|
title: E-poçt ünvanını təsdiqlə
|
||||||
|
reset_password_instructions:
|
||||||
|
action: Parolu dəyiş
|
||||||
|
explanation: Siz hesabınız üçün yeni parol tələb etmisiniz.
|
||||||
|
@ -130,8 +130,8 @@ fi:
|
|||||||
crypto: Päästä päähän -salaus
|
crypto: Päästä päähän -salaus
|
||||||
favourites: Suosikit
|
favourites: Suosikit
|
||||||
filters: Suodattimet
|
filters: Suodattimet
|
||||||
follow: Seuratut, mykistykset ja estot
|
follow: Seurattavat, mykistykset ja estot
|
||||||
follows: Seuratut
|
follows: Seurattavat
|
||||||
lists: Listat
|
lists: Listat
|
||||||
media: Medialiitteet
|
media: Medialiitteet
|
||||||
mutes: Mykistykset
|
mutes: Mykistykset
|
||||||
@ -175,7 +175,7 @@ fi:
|
|||||||
read:bookmarks: katso kirjanmerkkejäsi
|
read:bookmarks: katso kirjanmerkkejäsi
|
||||||
read:favourites: katso suosikkejasi
|
read:favourites: katso suosikkejasi
|
||||||
read:filters: katso suodattimiasi
|
read:filters: katso suodattimiasi
|
||||||
read:follows: katso seurattujasi
|
read:follows: katso seurattaviasi
|
||||||
read:lists: katso listojasi
|
read:lists: katso listojasi
|
||||||
read:mutes: katso mykistyksiäsi
|
read:mutes: katso mykistyksiäsi
|
||||||
read:notifications: katso ilmoituksiasi
|
read:notifications: katso ilmoituksiasi
|
||||||
|
@ -185,7 +185,7 @@ zh-CN:
|
|||||||
write: 修改你的账号数据
|
write: 修改你的账号数据
|
||||||
write:accounts: 修改你的个人资料
|
write:accounts: 修改你的个人资料
|
||||||
write:blocks: 屏蔽账号与站点
|
write:blocks: 屏蔽账号与站点
|
||||||
write:bookmarks: 收藏嘟文
|
write:bookmarks: 将嘟文加入书签
|
||||||
write:conversations: 静音并删除会话
|
write:conversations: 静音并删除会话
|
||||||
write:favourites: 喜欢嘟文
|
write:favourites: 喜欢嘟文
|
||||||
write:filters: 创建过滤规则
|
write:filters: 创建过滤规则
|
||||||
|
@ -10,7 +10,7 @@ fi:
|
|||||||
followers:
|
followers:
|
||||||
one: seuraaja
|
one: seuraaja
|
||||||
other: seuraajaa
|
other: seuraajaa
|
||||||
following: seurattu(a)
|
following: Seurattavat
|
||||||
instance_actor_flash: Tämä tili on virtuaalinen toimija, jota käytetään edustamaan itse palvelinta eikä yksittäistä käyttäjää. Sitä käytetään federointitarkoituksiin, eikä sitä tule jäädyttää.
|
instance_actor_flash: Tämä tili on virtuaalinen toimija, jota käytetään edustamaan itse palvelinta eikä yksittäistä käyttäjää. Sitä käytetään federointitarkoituksiin, eikä sitä tule jäädyttää.
|
||||||
last_active: viimeksi aktiivinen
|
last_active: viimeksi aktiivinen
|
||||||
link_verified_on: Tämän linkin omistus on tarkastettu %{date}
|
link_verified_on: Tämän linkin omistus on tarkastettu %{date}
|
||||||
@ -74,7 +74,7 @@ fi:
|
|||||||
enabled: Käytössä
|
enabled: Käytössä
|
||||||
enabled_msg: Käyttäjän %{username} tilin jäädytys kumottiin onnistuneesti
|
enabled_msg: Käyttäjän %{username} tilin jäädytys kumottiin onnistuneesti
|
||||||
followers: Seuraajat
|
followers: Seuraajat
|
||||||
follows: Seuratut
|
follows: Seurattavat
|
||||||
header: Otsakekuva
|
header: Otsakekuva
|
||||||
inbox_url: Postilaatikon osoite
|
inbox_url: Postilaatikon osoite
|
||||||
invite_request_text: Syitä liittymiseen
|
invite_request_text: Syitä liittymiseen
|
||||||
@ -1466,18 +1466,18 @@ fi:
|
|||||||
blocking: Tuodaan estettyjä tilejä
|
blocking: Tuodaan estettyjä tilejä
|
||||||
bookmarks: Tuodaan kirjanmerkkejä
|
bookmarks: Tuodaan kirjanmerkkejä
|
||||||
domain_blocking: Tuodaan estettyjä verkkotunnuksia
|
domain_blocking: Tuodaan estettyjä verkkotunnuksia
|
||||||
following: Tuodaan seurattuja tilejä
|
following: Tuodaan seurattavia tilejä
|
||||||
lists: Tuodaan listoja
|
lists: Tuodaan listoja
|
||||||
muting: Tuodaan mykistettyjä tilejä
|
muting: Tuodaan mykistettyjä tilejä
|
||||||
type: Tuontityyppi
|
type: Tuontityyppi
|
||||||
type_groups:
|
type_groups:
|
||||||
constructive: Seuratut ja kirjanmerkit
|
constructive: Seurattavat ja kirjanmerkit
|
||||||
destructive: Estot ja mykistykset
|
destructive: Estot ja mykistykset
|
||||||
types:
|
types:
|
||||||
blocking: Estoluettelo
|
blocking: Estoluettelo
|
||||||
bookmarks: Kirjanmerkit
|
bookmarks: Kirjanmerkit
|
||||||
domain_blocking: Verkkotunnusten estoluettelo
|
domain_blocking: Verkkotunnusten estoluettelo
|
||||||
following: Seurattujen luettelo
|
following: Seurattavien luettelo
|
||||||
lists: Listat
|
lists: Listat
|
||||||
muting: Mykistysluettelo
|
muting: Mykistysluettelo
|
||||||
upload: Lähetä
|
upload: Lähetä
|
||||||
@ -1683,7 +1683,7 @@ fi:
|
|||||||
follow_failure: Joitain valittuja tilejä ei voitu seurata.
|
follow_failure: Joitain valittuja tilejä ei voitu seurata.
|
||||||
follow_selected_followers: Seuraa valittuja seuraajia
|
follow_selected_followers: Seuraa valittuja seuraajia
|
||||||
followers: Seuraajat
|
followers: Seuraajat
|
||||||
following: Seuratut
|
following: Seurattavat
|
||||||
invited: Kutsutut
|
invited: Kutsutut
|
||||||
last_active: Viimeksi aktiivinen
|
last_active: Viimeksi aktiivinen
|
||||||
most_recent: Tuorein
|
most_recent: Tuorein
|
||||||
@ -1776,7 +1776,7 @@ fi:
|
|||||||
notifications: Sähköposti-ilmoitukset
|
notifications: Sähköposti-ilmoitukset
|
||||||
preferences: Asetukset
|
preferences: Asetukset
|
||||||
profile: Julkinen profiili
|
profile: Julkinen profiili
|
||||||
relationships: Seuratut ja seuraajat
|
relationships: Seurattavat ja seuraajat
|
||||||
severed_relationships: Katkenneet suhteet
|
severed_relationships: Katkenneet suhteet
|
||||||
statuses_cleanup: Julkaisujen automaattipoisto
|
statuses_cleanup: Julkaisujen automaattipoisto
|
||||||
strikes: Moderointivaroitukset
|
strikes: Moderointivaroitukset
|
||||||
@ -1789,8 +1789,8 @@ fi:
|
|||||||
domain_block: Palvelimen jäädytys (%{target_name})
|
domain_block: Palvelimen jäädytys (%{target_name})
|
||||||
user_domain_block: Estit käyttäjän %{target_name}
|
user_domain_block: Estit käyttäjän %{target_name}
|
||||||
lost_followers: Menetetyt seuraajat
|
lost_followers: Menetetyt seuraajat
|
||||||
lost_follows: Menetetyt seuratut
|
lost_follows: Menetetyt seurattavat
|
||||||
preamble: Voit menettää seurattusi ja seuraajasi, kun estät verkkotunnuksen tai kun moderaattorisi päättävät jäädyttää etäpalvelimen. Kun näin tapahtuu, voit ladata luetteloita katkenneista seurantasuhteista, jotta voit tarkastella niitä ja mahdollisesti viedä ne toiselle palvelimelle.
|
preamble: Voit menettää seurattavasi ja seuraajasi, kun estät verkkotunnuksen tai kun moderaattorisi päättävät jäädyttää etäpalvelimen. Kun näin tapahtuu, voit ladata luetteloita katkenneista seurantasuhteista, jotta voit tarkastella niitä ja mahdollisesti viedä ne toiselle palvelimelle.
|
||||||
purged: Palvelimesi ylläpitäjät ovat tyhjentäneet tämän palvelimen tiedot.
|
purged: Palvelimesi ylläpitäjät ovat tyhjentäneet tämän palvelimen tiedot.
|
||||||
type: Tapahtuma
|
type: Tapahtuma
|
||||||
statuses:
|
statuses:
|
||||||
|
@ -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:
|
||||||
|
@ -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 implicite kaŝitaj, 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
|
||||||
|
@ -9,7 +9,7 @@ fi:
|
|||||||
fields: Verkkosivustosi, pronominisi, ikäsi ja mitä ikinä haluatkaan ilmoittaa.
|
fields: Verkkosivustosi, pronominisi, ikäsi ja mitä ikinä haluatkaan ilmoittaa.
|
||||||
indexable: Julkiset julkaisusi voivat näkyä Mastodonin hakutuloksissa. Käyttäjät, jotka ovat olleet vuorovaikutuksessa julkaisujesi kanssa, voivat etsiä niitä asetuksesta riippumatta.
|
indexable: Julkiset julkaisusi voivat näkyä Mastodonin hakutuloksissa. Käyttäjät, jotka ovat olleet vuorovaikutuksessa julkaisujesi kanssa, voivat etsiä niitä asetuksesta riippumatta.
|
||||||
note: 'Voit @mainita muita käyttäjiä tai #aihetunnisteita.'
|
note: 'Voit @mainita muita käyttäjiä tai #aihetunnisteita.'
|
||||||
show_collections: Käyttäjät voivat selata seurattujasi ja seuraajiasi. Käyttäjät, joita seuraat, näkevät joka tapauksessa, että seuraat heitä.
|
show_collections: Käyttäjät voivat selata seurattaviasi ja seuraajiasi. Käyttäjät, joita seuraat, näkevät joka tapauksessa, että seuraat heitä.
|
||||||
unlocked: Käyttäjät voivat seurata sinua pyytämättä hyväksyntääsi. Poista valinta, jos haluat tarkistaa sekä hyväksyä tai hylätä vastaanottamasi seurantapyynnöt.
|
unlocked: Käyttäjät voivat seurata sinua pyytämättä hyväksyntääsi. Poista valinta, jos haluat tarkistaa sekä hyväksyä tai hylätä vastaanottamasi seurantapyynnöt.
|
||||||
account_alias:
|
account_alias:
|
||||||
acct: Määrittele sen tilin käyttäjänimi@verkkotunnus, josta haluat muuttaa
|
acct: Määrittele sen tilin käyttäjänimi@verkkotunnus, josta haluat muuttaa
|
||||||
@ -162,7 +162,7 @@ fi:
|
|||||||
name: Nimike
|
name: Nimike
|
||||||
value: Sisältö
|
value: Sisältö
|
||||||
indexable: Sisällytä julkiset julkaisut hakutuloksiin
|
indexable: Sisällytä julkiset julkaisut hakutuloksiin
|
||||||
show_collections: Näytä seuratut ja seuraajat profiilissa
|
show_collections: Näytä seurattavat ja seuraajat profiilissa
|
||||||
unlocked: Hyväksy uudet seuraajat automaattisesti
|
unlocked: Hyväksy uudet seuraajat automaattisesti
|
||||||
account_alias:
|
account_alias:
|
||||||
acct: Vanhan tilin käyttäjätunnus
|
acct: Vanhan tilin käyttäjätunnus
|
||||||
|
@ -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 @@ sv:
|
|||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: En per rad. Skyddar mot falska attributioner.
|
||||||
discoverable: Dina offentliga inlägg och din profil kan komma att presenteras eller rekommenderas inom olika områden av Mastodon och din profil kan komma att föreslås till andra användare.
|
discoverable: Dina offentliga inlägg och din profil kan komma att presenteras eller rekommenderas inom olika områden av Mastodon och din profil kan komma att föreslås till andra användare.
|
||||||
display_name: Ditt fullständiga namn eller ditt roliga namn.
|
display_name: Ditt fullständiga namn eller ditt roliga namn.
|
||||||
fields: Din hemsida, ditt pronomen, din ålder, vadhelst du vill.
|
fields: Din hemsida, ditt pronomen, din ålder, vadhelst du vill.
|
||||||
|
@ -3,6 +3,7 @@ th:
|
|||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: หนึ่งรายการต่อบรรทัด ปกป้องจากการระบุแหล่งที่มาที่ผิด
|
||||||
discoverable: อาจแสดงหรือแนะนำโพสต์และโปรไฟล์สาธารณะของคุณในพื้นที่ต่าง ๆ ของ Mastodon และอาจเสนอแนะโปรไฟล์ของคุณให้กับผู้ใช้อื่น ๆ
|
discoverable: อาจแสดงหรือแนะนำโพสต์และโปรไฟล์สาธารณะของคุณในพื้นที่ต่าง ๆ ของ Mastodon และอาจเสนอแนะโปรไฟล์ของคุณให้กับผู้ใช้อื่น ๆ
|
||||||
display_name: ชื่อเต็มของคุณหรือชื่อแบบสนุกสนานของคุณ
|
display_name: ชื่อเต็มของคุณหรือชื่อแบบสนุกสนานของคุณ
|
||||||
fields: หน้าแรก, สรรพนาม, อายุของคุณ สิ่งใดก็ตามที่คุณต้องการ
|
fields: หน้าแรก, สรรพนาม, อายุของคุณ สิ่งใดก็ตามที่คุณต้องการ
|
||||||
@ -143,6 +144,7 @@ th:
|
|||||||
url: ที่ซึ่งจะส่งเหตุการณ์ไปยัง
|
url: ที่ซึ่งจะส่งเหตุการณ์ไปยัง
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: เว็บไซต์ที่ได้รับอนุญาตให้ให้เครดิตคุณ
|
||||||
discoverable: แสดงโปรไฟล์และโพสต์ในอัลกอริทึมการค้นพบ
|
discoverable: แสดงโปรไฟล์และโพสต์ในอัลกอริทึมการค้นพบ
|
||||||
fields:
|
fields:
|
||||||
name: ป้ายชื่อ
|
name: ป้ายชื่อ
|
||||||
@ -219,6 +221,7 @@ th:
|
|||||||
setting_display_media_show_all: แสดงทั้งหมด
|
setting_display_media_show_all: แสดงทั้งหมด
|
||||||
setting_expand_spoilers: ขยายโพสต์ที่มีการทำเครื่องหมายด้วยคำเตือนเนื้อหาเสมอ
|
setting_expand_spoilers: ขยายโพสต์ที่มีการทำเครื่องหมายด้วยคำเตือนเนื้อหาเสมอ
|
||||||
setting_hide_network: ซ่อนกราฟทางสังคมของคุณ
|
setting_hide_network: ซ่อนกราฟทางสังคมของคุณ
|
||||||
|
setting_missing_alt_text_modal: แสดงกล่องโต้ตอบการยืนยันก่อนที่จะโพสต์สื่อโดยไม่มีข้อความแสดงแทน
|
||||||
setting_reduce_motion: ลดการเคลื่อนไหวในภาพเคลื่อนไหว
|
setting_reduce_motion: ลดการเคลื่อนไหวในภาพเคลื่อนไหว
|
||||||
setting_system_font_ui: ใช้แบบอักษรเริ่มต้นของระบบ
|
setting_system_font_ui: ใช้แบบอักษรเริ่มต้นของระบบ
|
||||||
setting_system_scrollbars_ui: ใช้แถบเลื่อนเริ่มต้นของระบบ
|
setting_system_scrollbars_ui: ใช้แถบเลื่อนเริ่มต้นของระบบ
|
||||||
|
@ -1209,6 +1209,7 @@ sv:
|
|||||||
too_fast: Formuläret har skickats för snabbt, försök igen.
|
too_fast: Formuläret har skickats för snabbt, försök igen.
|
||||||
use_security_key: Använd säkerhetsnyckel
|
use_security_key: Använd säkerhetsnyckel
|
||||||
user_agreement_html: Jag har läst och godkänner <a href="%{terms_of_service_path}" target="_blank">användarvillkoren</a> och <a href="%{privacy_policy_path}" target="_blank">integritetspolicy</a>
|
user_agreement_html: Jag har läst och godkänner <a href="%{terms_of_service_path}" target="_blank">användarvillkoren</a> och <a href="%{privacy_policy_path}" target="_blank">integritetspolicy</a>
|
||||||
|
user_privacy_agreement_html: Jag har läst och godkänner <a href="%{privacy_policy_path}" target="_blank">integritetspolicyn</a>
|
||||||
author_attribution:
|
author_attribution:
|
||||||
example_title: Exempeltext
|
example_title: Exempeltext
|
||||||
hint_html: Skriver du nyheter eller bloggartiklar utanför Mastodon? Kontrollera hur du får krediteras när de delas på Mastodon.
|
hint_html: Skriver du nyheter eller bloggartiklar utanför Mastodon? Kontrollera hur du får krediteras när de delas på Mastodon.
|
||||||
|
@ -1177,6 +1177,7 @@ th:
|
|||||||
view_strikes: ดูการดำเนินการที่ผ่านมาต่อบัญชีของคุณ
|
view_strikes: ดูการดำเนินการที่ผ่านมาต่อบัญชีของคุณ
|
||||||
too_fast: ส่งแบบฟอร์มเร็วเกินไป ลองอีกครั้ง
|
too_fast: ส่งแบบฟอร์มเร็วเกินไป ลองอีกครั้ง
|
||||||
use_security_key: ใช้กุญแจความปลอดภัย
|
use_security_key: ใช้กุญแจความปลอดภัย
|
||||||
|
user_privacy_agreement_html: ฉันได้อ่านและเห็นด้วยกับ <a href="%{privacy_policy_path}" target="_blank">นโยบายความเป็นส่วนตัว</a>
|
||||||
author_attribution:
|
author_attribution:
|
||||||
example_title: ข้อความตัวอย่าง
|
example_title: ข้อความตัวอย่าง
|
||||||
hint_html: คุณกำลังเขียนข่าวหรือบทความบล็อกภายนอก Mastodon หรือไม่? ควบคุมวิธีที่คุณได้รับเครดิตเมื่อมีการแบ่งปันข่าวหรือบทความบล็อกใน Mastodon
|
hint_html: คุณกำลังเขียนข่าวหรือบทความบล็อกภายนอก Mastodon หรือไม่? ควบคุมวิธีที่คุณได้รับเครดิตเมื่อมีการแบ่งปันข่าวหรือบทความบล็อกใน Mastodon
|
||||||
|
@ -1303,7 +1303,7 @@ zh-CN:
|
|||||||
request: 请求你的存档
|
request: 请求你的存档
|
||||||
size: 大小
|
size: 大小
|
||||||
blocks: 屏蔽的用户
|
blocks: 屏蔽的用户
|
||||||
bookmarks: 收藏
|
bookmarks: 书签
|
||||||
csv: CSV
|
csv: CSV
|
||||||
domain_blocks: 站点屏蔽列表
|
domain_blocks: 站点屏蔽列表
|
||||||
lists: 列表
|
lists: 列表
|
||||||
@ -1426,18 +1426,18 @@ zh-CN:
|
|||||||
time_started: 开始于
|
time_started: 开始于
|
||||||
titles:
|
titles:
|
||||||
blocking: 正在导入被屏蔽的账号
|
blocking: 正在导入被屏蔽的账号
|
||||||
bookmarks: 正在导入收藏
|
bookmarks: 正在导入书签
|
||||||
domain_blocking: 正在导入站点屏蔽列表
|
domain_blocking: 正在导入站点屏蔽列表
|
||||||
following: 正在导入关注的账号
|
following: 正在导入关注的账号
|
||||||
lists: 导入列表
|
lists: 导入列表
|
||||||
muting: 正在导入隐藏的账号
|
muting: 正在导入隐藏的账号
|
||||||
type: 导入类型
|
type: 导入类型
|
||||||
type_groups:
|
type_groups:
|
||||||
constructive: 关注与收藏
|
constructive: 关注和书签
|
||||||
destructive: 屏蔽与隐藏
|
destructive: 屏蔽与隐藏
|
||||||
types:
|
types:
|
||||||
blocking: 屏蔽列表
|
blocking: 屏蔽列表
|
||||||
bookmarks: 收藏
|
bookmarks: 书签
|
||||||
domain_blocking: 站点屏蔽列表
|
domain_blocking: 站点屏蔽列表
|
||||||
following: 关注列表
|
following: 关注列表
|
||||||
lists: 列表
|
lists: 列表
|
||||||
@ -1803,8 +1803,8 @@ zh-CN:
|
|||||||
keep_pinned_hint: 不会删除你的任何置顶嘟文
|
keep_pinned_hint: 不会删除你的任何置顶嘟文
|
||||||
keep_polls: 保留投票
|
keep_polls: 保留投票
|
||||||
keep_polls_hint: 不删除你的任何投票
|
keep_polls_hint: 不删除你的任何投票
|
||||||
keep_self_bookmark: 保存被你加入书签的嘟文
|
keep_self_bookmark: 保留你加入书签的嘟文
|
||||||
keep_self_bookmark_hint: 如果你已将自己的嘟文添加书签,就不会删除这些嘟文
|
keep_self_bookmark_hint: 不删除书签中你自己的嘟文
|
||||||
keep_self_fav: 保留你喜欢的嘟文
|
keep_self_fav: 保留你喜欢的嘟文
|
||||||
keep_self_fav_hint: 如果你喜欢了自己的嘟文,则不会删除这些嘟文
|
keep_self_fav_hint: 如果你喜欢了自己的嘟文,则不会删除这些嘟文
|
||||||
min_age:
|
min_age:
|
||||||
|
@ -289,6 +289,16 @@ module Mastodon::CLI
|
|||||||
fail_with_message 'Invalid URL'
|
fail_with_message 'Invalid URL'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
PRELOADED_MODELS = %w(
|
||||||
|
Account
|
||||||
|
Backup
|
||||||
|
CustomEmoji
|
||||||
|
Import
|
||||||
|
MediaAttachment
|
||||||
|
PreviewCard
|
||||||
|
SiteUpload
|
||||||
|
).freeze
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def object_storage_summary
|
def object_storage_summary
|
||||||
@ -310,16 +320,6 @@ module Mastodon::CLI
|
|||||||
SQL
|
SQL
|
||||||
end
|
end
|
||||||
|
|
||||||
PRELOADED_MODELS = %w(
|
|
||||||
Account
|
|
||||||
Backup
|
|
||||||
CustomEmoji
|
|
||||||
Import
|
|
||||||
MediaAttachment
|
|
||||||
PreviewCard
|
|
||||||
SiteUpload
|
|
||||||
).freeze
|
|
||||||
|
|
||||||
def preload_records_from_mixed_objects(objects)
|
def preload_records_from_mixed_objects(objects)
|
||||||
preload_map = Hash.new { |hash, key| hash[key] = [] }
|
preload_map = Hash.new { |hash, key| hash[key] = [] }
|
||||||
|
|
||||||
|
@ -1,77 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
RSpec.describe Admin::Users::RolesController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
let(:current_role) { UserRole.create(name: 'Foo', permissions: UserRole::FLAGS[:manage_roles], position: 10) }
|
|
||||||
let(:current_user) { Fabricate(:user, role: current_role) }
|
|
||||||
|
|
||||||
let(:previous_role) { nil }
|
|
||||||
let(:user) { Fabricate(:user, role: previous_role) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
sign_in current_user, scope: :user
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #show' do
|
|
||||||
before do
|
|
||||||
get :show, params: { user_id: user.id }
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns http success' do
|
|
||||||
expect(response).to have_http_status(:success)
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when target user is higher ranked than current user' do
|
|
||||||
let(:previous_role) { UserRole.create(name: 'Baz', permissions: UserRole::FLAGS[:administrator], position: 100) }
|
|
||||||
|
|
||||||
it 'returns http forbidden' do
|
|
||||||
expect(response).to have_http_status(403)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'PUT #update' do
|
|
||||||
let(:selected_role) { UserRole.create(name: 'Bar', permissions: permissions, position: position) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
put :update, params: { user_id: user.id, user: { role_id: selected_role.id } }
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with manage roles permissions' do
|
|
||||||
let(:permissions) { UserRole::FLAGS[:manage_roles] }
|
|
||||||
let(:position) { 1 }
|
|
||||||
|
|
||||||
it 'updates user role and redirects' do
|
|
||||||
expect(user.reload.role_id).to eq selected_role&.id
|
|
||||||
|
|
||||||
expect(response).to redirect_to(admin_account_path(user.account_id))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when selected role has higher position than current user\'s role' do
|
|
||||||
let(:permissions) { UserRole::FLAGS[:administrator] }
|
|
||||||
let(:position) { 100 }
|
|
||||||
|
|
||||||
it 'does not update user role and renders edit' do
|
|
||||||
expect(user.reload.role_id).to eq previous_role&.id
|
|
||||||
|
|
||||||
expect(response).to render_template(:show)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'when target user is higher ranked than current user' do
|
|
||||||
let(:previous_role) { UserRole.create(name: 'Baz', permissions: UserRole::FLAGS[:administrator], position: 100) }
|
|
||||||
let(:permissions) { UserRole::FLAGS[:manage_roles] }
|
|
||||||
let(:position) { 1 }
|
|
||||||
|
|
||||||
it 'does not update user role and returns http forbidden' do
|
|
||||||
expect(user.reload.role_id).to eq previous_role&.id
|
|
||||||
|
|
||||||
expect(response).to have_http_status(403)
|
|
||||||
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
|
|
@ -1,192 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
RSpec.describe StatusesController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
describe 'GET #show' do
|
|
||||||
let(:account) { Fabricate(:account) }
|
|
||||||
let(:status) { Fabricate(:status, account: account) }
|
|
||||||
|
|
||||||
context 'when signed-in' do
|
|
||||||
let(:user) { Fabricate(:user) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
sign_in(user)
|
|
||||||
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)
|
|
||||||
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 status is private' do
|
|
||||||
let(:status) { Fabricate(:status, account: account, visibility: :private) }
|
|
||||||
|
|
||||||
context 'when user is authorized to see it' do
|
|
||||||
before do
|
|
||||||
user.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', :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
|
|
||||||
|
|
||||||
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: user.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 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
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
@ -3,6 +3,34 @@
|
|||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe 'Admin Users Roles' do
|
RSpec.describe 'Admin Users Roles' do
|
||||||
|
context 'when target user is higher ranked than current user' do
|
||||||
|
let(:current_role) { UserRole.create(name: 'Foo', permissions: UserRole::FLAGS[:manage_roles], position: 10) }
|
||||||
|
let(:current_user) { Fabricate(:user, role: current_role) }
|
||||||
|
|
||||||
|
let(:previous_role) { UserRole.create(name: 'Baz', permissions: UserRole::FLAGS[:administrator], position: 100) }
|
||||||
|
let(:user) { Fabricate(:user, role: previous_role) }
|
||||||
|
|
||||||
|
before { sign_in(current_user) }
|
||||||
|
|
||||||
|
describe 'GET /admin/users/:user_id/role' do
|
||||||
|
it 'returns http forbidden' do
|
||||||
|
get admin_user_role_path(user.id)
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(403)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'PUT /admin/users/:user_id/role' do
|
||||||
|
it 'returns http forbidden' do
|
||||||
|
put admin_user_role_path(user.id)
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(403)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe 'PUT /admin/users/:user_id/role' do
|
describe 'PUT /admin/users/:user_id/role' do
|
||||||
before { sign_in Fabricate(:admin_user) }
|
before { sign_in Fabricate(:admin_user) }
|
||||||
|
|
||||||
|
@ -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
|
@ -59,7 +59,6 @@ RSpec.describe 'Statuses' do
|
|||||||
|
|
||||||
expect(response)
|
expect(response)
|
||||||
.to have_http_status(200)
|
.to have_http_status(200)
|
||||||
.and render_template(:show)
|
|
||||||
expect(response.headers).to include(
|
expect(response.headers).to include(
|
||||||
'Vary' => 'Accept, Accept-Language, Cookie',
|
'Vary' => 'Accept, Accept-Language, Cookie',
|
||||||
'Cache-Control' => include('public'),
|
'Cache-Control' => include('public'),
|
||||||
@ -114,9 +113,11 @@ RSpec.describe 'Statuses' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
context 'when signed in' do
|
context 'when signed in' do
|
||||||
|
subject { get short_account_status_path(account_username: account.username, id: status.id, format: format) }
|
||||||
|
|
||||||
let(:user) { Fabricate(:user) }
|
let(:user) { Fabricate(:user) }
|
||||||
|
|
||||||
before { sign_in(user) }
|
before { sign_in_with_session(user) }
|
||||||
|
|
||||||
context 'when account blocks user' do
|
context 'when account blocks user' do
|
||||||
before { account.block!(user.account) }
|
before { account.block!(user.account) }
|
||||||
@ -128,6 +129,167 @@ RSpec.describe 'Statuses' do
|
|||||||
.to have_http_status(404)
|
.to have_http_status(404)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when status is public' 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)
|
||||||
|
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 status is private' do
|
||||||
|
let(:status) { Fabricate(:status, account: account, visibility: :private) }
|
||||||
|
|
||||||
|
context 'when user is authorized to see it' do
|
||||||
|
before { user.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', :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
|
||||||
|
let(:format) { 'html' }
|
||||||
|
|
||||||
|
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: user.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 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
|
||||||
|
let(:format) { 'html' }
|
||||||
|
|
||||||
|
it 'returns http not found' do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to have_http_status(404)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def sign_in_with_session(user)
|
||||||
|
# The regular `sign_in` helper does not actually set session cookies
|
||||||
|
# The endpoint responses here rely on cookie/session checks to set cache privacy headers
|
||||||
|
# To enable that, perform a full sign in which will establish those cookies for subsequent spec requests
|
||||||
|
post user_session_path, params: { user: { email: user.email, password: user.password } }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with "HTTP Signature" access signed by a remote account' do
|
context 'with "HTTP Signature" access signed by a remote account' do
|
||||||
|
38
spec/system/admin/users/roles_spec.rb
Normal file
38
spec/system/admin/users/roles_spec.rb
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Admin Users Roles' do
|
||||||
|
let(:current_role) { UserRole.create(name: 'Foo', permissions: UserRole::FLAGS[:manage_roles], position: 10) }
|
||||||
|
let(:current_user) { Fabricate(:user, role: current_role) }
|
||||||
|
|
||||||
|
let(:previous_role) { nil }
|
||||||
|
let(:user) { Fabricate(:user, role: previous_role) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
sign_in current_user, scope: :user
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'Managing user roles' do
|
||||||
|
let!(:too_high_role) { UserRole.create(name: 'TooHigh', permissions: UserRole::FLAGS[:administrator], position: 100) }
|
||||||
|
let!(:usable_role) { UserRole.create(name: 'Usable', permissions: UserRole::FLAGS[:manage_roles], position: 1) }
|
||||||
|
|
||||||
|
it 'selects and updates user roles' do
|
||||||
|
visit admin_user_role_path(user)
|
||||||
|
expect(page)
|
||||||
|
.to have_title I18n.t('admin.accounts.change_role.title', username: user.account.username)
|
||||||
|
|
||||||
|
# Fails to assign not allowed role
|
||||||
|
select too_high_role.name, from: 'user_role_id'
|
||||||
|
expect { click_on submit_button }
|
||||||
|
.to_not(change { user.reload.role_id })
|
||||||
|
expect(page)
|
||||||
|
.to have_title I18n.t('admin.accounts.change_role.title', username: user.account.username)
|
||||||
|
|
||||||
|
# Assigns allowed role
|
||||||
|
select usable_role.name, from: 'user_role_id'
|
||||||
|
expect { click_on submit_button }
|
||||||
|
.to(change { user.reload.role_id }.to(usable_role.id))
|
||||||
|
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
|
15
spec/system/statuses_spec.rb
Normal file
15
spec/system/statuses_spec.rb
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Status page' do
|
||||||
|
let(:status) { Fabricate :status }
|
||||||
|
|
||||||
|
it 'visits the status page and renders the web app' do
|
||||||
|
visit short_account_status_path(account_username: status.account.username, id: status.id)
|
||||||
|
|
||||||
|
expect(page)
|
||||||
|
.to have_css('noscript', text: /Mastodon/)
|
||||||
|
.and have_css('body', class: 'app-body')
|
||||||
|
end
|
||||||
|
end
|
164
yarn.lock
164
yarn.lock
@ -74,39 +74,38 @@ __metadata:
|
|||||||
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.8
|
version: 7.26.9
|
||||||
resolution: "@babel/core@npm:7.26.8"
|
resolution: "@babel/core@npm:7.26.9"
|
||||||
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.8"
|
"@babel/generator": "npm:^7.26.9"
|
||||||
"@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.9"
|
||||||
"@babel/parser": "npm:^7.26.8"
|
"@babel/parser": "npm:^7.26.9"
|
||||||
"@babel/template": "npm:^7.26.8"
|
"@babel/template": "npm:^7.26.9"
|
||||||
"@babel/traverse": "npm:^7.26.8"
|
"@babel/traverse": "npm:^7.26.9"
|
||||||
"@babel/types": "npm:^7.26.8"
|
"@babel/types": "npm:^7.26.9"
|
||||||
"@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/fafbd083ed3f79973ae2a11a69eee3f13b3226a1d4907abc2c6f2fea21adf4a7c20e00fe0eaa33f44a3666eeaf414edb07460ec031d478ee5f6088eb38b2a011
|
checksum: 10c0/ed7212ff42a9453765787019b7d191b167afcacd4bd8fec10b055344ef53fa0cc648c9a80159ae4ecf870016a6318731e087042dcb68d1a2a9d34eb290dc014b
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/generator@npm:^7.26.8, @babel/generator@npm:^7.7.2":
|
"@babel/generator@npm:^7.26.9, @babel/generator@npm:^7.7.2":
|
||||||
version: 7.26.8
|
version: 7.26.9
|
||||||
resolution: "@babel/generator@npm:7.26.8"
|
resolution: "@babel/generator@npm:7.26.9"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/parser": "npm:^7.26.8"
|
"@babel/parser": "npm:^7.26.9"
|
||||||
"@babel/types": "npm:^7.26.8"
|
"@babel/types": "npm:^7.26.9"
|
||||||
"@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/9467f197d285ac315d1fa419138d36a3bfd69ca4baf763e914acab12f5f38e5d231497f6528e80613b28e73bb28c66fcc50b250b1f277b1a4d38ac14b03e9674
|
checksum: 10c0/6b78872128205224a9a9761b9ea7543a9a7902a04b82fc2f6801ead4de8f59056bab3fd17b1f834ca7b049555fc4c79234b9a6230dd9531a06525306050becad
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -304,24 +303,24 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/helpers@npm:^7.26.7":
|
"@babel/helpers@npm:^7.26.9":
|
||||||
version: 7.26.7
|
version: 7.26.9
|
||||||
resolution: "@babel/helpers@npm:7.26.7"
|
resolution: "@babel/helpers@npm:7.26.9"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/template": "npm:^7.25.9"
|
"@babel/template": "npm:^7.26.9"
|
||||||
"@babel/types": "npm:^7.26.7"
|
"@babel/types": "npm:^7.26.9"
|
||||||
checksum: 10c0/37fec398e53a2dbbf24bc2a025c4d571b2556cef18d8116d05d04b153f13ef659cdfbaab96c8eed875e629d39bdf9b3ea5d099ccf80544537de224e2d94f9b11
|
checksum: 10c0/3d4dbc4a33fe4181ed810cac52318b578294745ceaec07e2f6ecccf6cda55d25e4bfcea8f085f333bf911c9e1fc13320248dd1d5315ab47ad82ce1077410df05
|
||||||
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.26.8":
|
"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.26.9":
|
||||||
version: 7.26.8
|
version: 7.26.9
|
||||||
resolution: "@babel/parser@npm:7.26.8"
|
resolution: "@babel/parser@npm:7.26.9"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/types": "npm:^7.26.8"
|
"@babel/types": "npm:^7.26.9"
|
||||||
bin:
|
bin:
|
||||||
parser: ./bin/babel-parser.js
|
parser: ./bin/babel-parser.js
|
||||||
checksum: 10c0/da04f26bae732a5b6790775a736b58c7876c28e62203c5097f043fd7273ef6debe5bfd7a4e670a6819f4549b215c7b9762c6358e44797b3c4d733defc8290781
|
checksum: 10c0/4b9ef3c9a0d4c328e5e5544f50fe8932c36f8a2c851e7f14a85401487cd3da75cad72c2e1bcec1eac55599a6bbb2fdc091f274c4fcafa6bdd112d4915ff087fc
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -771,15 +770,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/plugin-transform-for-of@npm:^7.25.9":
|
"@babel/plugin-transform-for-of@npm:^7.26.9":
|
||||||
version: 7.25.9
|
version: 7.26.9
|
||||||
resolution: "@babel/plugin-transform-for-of@npm:7.25.9"
|
resolution: "@babel/plugin-transform-for-of@npm:7.26.9"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/helper-plugin-utils": "npm:^7.25.9"
|
"@babel/helper-plugin-utils": "npm:^7.26.5"
|
||||||
"@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9"
|
"@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@babel/core": ^7.0.0-0
|
"@babel/core": ^7.0.0-0
|
||||||
checksum: 10c0/bf11abc71934a1f369f39cd7a33cf3d4dc5673026a53f70b7c1238c4fcc44e68b3ca1bdbe3db2076f60defb6ffe117cbe10b90f3e1a613b551d88f7c4e693bbe
|
checksum: 10c0/e28a521521cf9f84ddd69ca8da7c89fb9f7aa38e4dea35742fe973e4e1d7c23f9cee1a4861a2fdd9e9f18ff945886a44d7335cea1c603b96bfcb1c7c8791ef09
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1138,8 +1137,8 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/plugin-transform-runtime@npm:^7.22.4":
|
"@babel/plugin-transform-runtime@npm:^7.22.4":
|
||||||
version: 7.26.8
|
version: 7.26.9
|
||||||
resolution: "@babel/plugin-transform-runtime@npm:7.26.8"
|
resolution: "@babel/plugin-transform-runtime@npm:7.26.9"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/helper-module-imports": "npm:^7.25.9"
|
"@babel/helper-module-imports": "npm:^7.25.9"
|
||||||
"@babel/helper-plugin-utils": "npm:^7.26.5"
|
"@babel/helper-plugin-utils": "npm:^7.26.5"
|
||||||
@ -1149,7 +1148,7 @@ __metadata:
|
|||||||
semver: "npm:^6.3.1"
|
semver: "npm:^6.3.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@babel/core": ^7.0.0-0
|
"@babel/core": ^7.0.0-0
|
||||||
checksum: 10c0/e206206fee262d2200763e6c427b27ca8a7a40a967dfe52f984f07a225952be0990fcce0acae6cee63fe92f5cadc94bb336fae2f3d687f0f2fcd2dadaf33029a
|
checksum: 10c0/2c4d77d0671badc7fd53dcd7015df5db892712436c7e9740ffb2f5b85e8591e5bfe208f78dff402b4ee2d55d0f7a3c0a1102c683f333f4ee0cfa62f68ea68842
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1272,8 +1271,8 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.22.4":
|
"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.22.4":
|
||||||
version: 7.26.8
|
version: 7.26.9
|
||||||
resolution: "@babel/preset-env@npm:7.26.8"
|
resolution: "@babel/preset-env@npm:7.26.9"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/compat-data": "npm:^7.26.8"
|
"@babel/compat-data": "npm:^7.26.8"
|
||||||
"@babel/helper-compilation-targets": "npm:^7.26.5"
|
"@babel/helper-compilation-targets": "npm:^7.26.5"
|
||||||
@ -1304,7 +1303,7 @@ __metadata:
|
|||||||
"@babel/plugin-transform-dynamic-import": "npm:^7.25.9"
|
"@babel/plugin-transform-dynamic-import": "npm:^7.25.9"
|
||||||
"@babel/plugin-transform-exponentiation-operator": "npm:^7.26.3"
|
"@babel/plugin-transform-exponentiation-operator": "npm:^7.26.3"
|
||||||
"@babel/plugin-transform-export-namespace-from": "npm:^7.25.9"
|
"@babel/plugin-transform-export-namespace-from": "npm:^7.25.9"
|
||||||
"@babel/plugin-transform-for-of": "npm:^7.25.9"
|
"@babel/plugin-transform-for-of": "npm:^7.26.9"
|
||||||
"@babel/plugin-transform-function-name": "npm:^7.25.9"
|
"@babel/plugin-transform-function-name": "npm:^7.25.9"
|
||||||
"@babel/plugin-transform-json-strings": "npm:^7.25.9"
|
"@babel/plugin-transform-json-strings": "npm:^7.25.9"
|
||||||
"@babel/plugin-transform-literals": "npm:^7.25.9"
|
"@babel/plugin-transform-literals": "npm:^7.25.9"
|
||||||
@ -1346,7 +1345,7 @@ __metadata:
|
|||||||
semver: "npm:^6.3.1"
|
semver: "npm:^6.3.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@babel/core": ^7.0.0-0
|
"@babel/core": ^7.0.0-0
|
||||||
checksum: 10c0/314ab8c6173d1f14e40cf22e1e646c429acfd45195e2ddbadca81956aa2a670e37e4446658db65f1a669f82ef115a4a018f78448bc10789cacdaf4e995680db5
|
checksum: 10c0/6812ca76bd38165a58fe8354bab5e7204e1aa17d8b9270bd8f8babb08cc7fa94cd29525fe41b553f2ba0e84033d566f10da26012b8ee0f81897005c5225d0051
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1404,47 +1403,47 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.22.3, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
|
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.22.3, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
|
||||||
version: 7.26.7
|
version: 7.26.9
|
||||||
resolution: "@babel/runtime@npm:7.26.7"
|
resolution: "@babel/runtime@npm:7.26.9"
|
||||||
dependencies:
|
dependencies:
|
||||||
regenerator-runtime: "npm:^0.14.0"
|
regenerator-runtime: "npm:^0.14.0"
|
||||||
checksum: 10c0/60199c049f90e5e41c687687430052a370aca60bac7859ff4ee761c5c1739b8ba1604d391d01588c22dc0e93828cbadb8ada742578ad1b1df240746bce98729a
|
checksum: 10c0/e8517131110a6ec3a7360881438b85060e49824e007f4a64b5dfa9192cf2bb5c01e84bfc109f02d822c7edb0db926928dd6b991e3ee460b483fb0fac43152d9b
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/template@npm:^7.25.9, @babel/template@npm:^7.26.8, @babel/template@npm:^7.3.3":
|
"@babel/template@npm:^7.25.9, @babel/template@npm:^7.26.9, @babel/template@npm:^7.3.3":
|
||||||
version: 7.26.8
|
version: 7.26.9
|
||||||
resolution: "@babel/template@npm:7.26.8"
|
resolution: "@babel/template@npm:7.26.9"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/code-frame": "npm:^7.26.2"
|
"@babel/code-frame": "npm:^7.26.2"
|
||||||
"@babel/parser": "npm:^7.26.8"
|
"@babel/parser": "npm:^7.26.9"
|
||||||
"@babel/types": "npm:^7.26.8"
|
"@babel/types": "npm:^7.26.9"
|
||||||
checksum: 10c0/90bc1085cbc090cbdd43af7b9dbb98e6bda96e55e0f565f17ebb8e97c2dfce866dc727ca02b8e08bd2662ba4fd3851907ba3c48618162c291221af17fb258213
|
checksum: 10c0/019b1c4129cc01ad63e17529089c2c559c74709d225f595eee017af227fee11ae8a97a6ab19ae6768b8aa22d8d75dcb60a00b28f52e9fa78140672d928bc1ae9
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.8":
|
"@babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.8, @babel/traverse@npm:^7.26.9":
|
||||||
version: 7.26.8
|
version: 7.26.9
|
||||||
resolution: "@babel/traverse@npm:7.26.8"
|
resolution: "@babel/traverse@npm:7.26.9"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/code-frame": "npm:^7.26.2"
|
"@babel/code-frame": "npm:^7.26.2"
|
||||||
"@babel/generator": "npm:^7.26.8"
|
"@babel/generator": "npm:^7.26.9"
|
||||||
"@babel/parser": "npm:^7.26.8"
|
"@babel/parser": "npm:^7.26.9"
|
||||||
"@babel/template": "npm:^7.26.8"
|
"@babel/template": "npm:^7.26.9"
|
||||||
"@babel/types": "npm:^7.26.8"
|
"@babel/types": "npm:^7.26.9"
|
||||||
debug: "npm:^4.3.1"
|
debug: "npm:^4.3.1"
|
||||||
globals: "npm:^11.1.0"
|
globals: "npm:^11.1.0"
|
||||||
checksum: 10c0/0771d1ce0351628ad2e8dac56f0d59f706eb125c83fbcc039bde83088ba0a1477244ad5fb060802f90366cc4d7fa871e5009a292aef6205bcf83f2e01d1a0a5d
|
checksum: 10c0/51dd57fa39ea34d04816806bfead04c74f37301269d24c192d1406dc6e244fea99713b3b9c5f3e926d9ef6aa9cd5c062ad4f2fc1caa9cf843d5e864484ac955e
|
||||||
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.7, @babel/types@npm:^7.26.8, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4":
|
"@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.9, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4":
|
||||||
version: 7.26.8
|
version: 7.26.9
|
||||||
resolution: "@babel/types@npm:7.26.8"
|
resolution: "@babel/types@npm:7.26.9"
|
||||||
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/cd41ea47bb3d7baf2b3bf5e70e9c3a16f2eab699fab8575b2b31a7b1cb64166eb52c97124313863dde0581747bfc7a1810c838ad60b5b7ad1897d8004c7b95a9
|
checksum: 10c0/999c56269ba00e5c57aa711fbe7ff071cd6990bafd1b978341ea7572cc78919986e2aa6ee51dacf4b6a7a6fa63ba4eb3f1a03cf55eee31b896a56d068b895964
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1658,12 +1657,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
|
||||||
|
|
||||||
@ -3777,13 +3776,6 @@ __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"
|
||||||
@ -5774,7 +5766,7 @@ __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.24.3":
|
"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.4
|
version: 4.24.4
|
||||||
resolution: "browserslist@npm:4.24.4"
|
resolution: "browserslist@npm:4.24.4"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -9906,8 +9898,8 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"ioredis@npm:^5.3.2":
|
"ioredis@npm:^5.3.2":
|
||||||
version: 5.4.2
|
version: 5.5.0
|
||||||
resolution: "ioredis@npm:5.4.2"
|
resolution: "ioredis@npm:5.5.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ioredis/commands": "npm:^1.1.1"
|
"@ioredis/commands": "npm:^1.1.1"
|
||||||
cluster-key-slot: "npm:^1.1.0"
|
cluster-key-slot: "npm:^1.1.0"
|
||||||
@ -9918,7 +9910,7 @@ __metadata:
|
|||||||
redis-errors: "npm:^1.2.0"
|
redis-errors: "npm:^1.2.0"
|
||||||
redis-parser: "npm:^3.0.0"
|
redis-parser: "npm:^3.0.0"
|
||||||
standard-as-callback: "npm:^2.1.0"
|
standard-as-callback: "npm:^2.1.0"
|
||||||
checksum: 10c0/e59d2cceb43ed74b487d7b50fa91b93246e734e5d4835c7e62f64e44da072f12ab43b044248012e6f8b76c61a7c091a2388caad50e8ad69a8ce5515a730b23b8
|
checksum: 10c0/ba64502fc92d9e05465793fafcd0568cb668af6e2350462b61daadfd499e3a48239d9a723d3ce08b08c93f3f745d05dda91136cdc597d4d485604e6730305305
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -13162,8 +13154,8 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"pg@npm:^8.5.0":
|
"pg@npm:^8.5.0":
|
||||||
version: 8.13.2
|
version: 8.13.3
|
||||||
resolution: "pg@npm:8.13.2"
|
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"
|
||||||
@ -13179,7 +13171,7 @@ __metadata:
|
|||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
pg-native:
|
pg-native:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10c0/955615fc6db2849e047472b3a314ce6b70ecdef2de1ecdbb663ac2cd39f6e9ae25da5de4727baceb0b6e439075e6ad0ac8548fd150e38d9cda6514c43c840a31
|
checksum: 10c0/7296f0e5930b35faef471be2673210cda553b30f1b8e9d176fcc286aa43248e17e09336032bf5a6bba55d2cc2d03afb8a407b5a6e6bc56ebb331c02d1a7ccc05
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -13955,8 +13947,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"
|
||||||
@ -13968,7 +13960,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"
|
||||||
@ -13991,7 +13983,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"
|
||||||
@ -14023,7 +14015,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
|
||||||
|
|
||||||
@ -15558,8 +15550,8 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"sass@npm:^1.62.1":
|
"sass@npm:^1.62.1":
|
||||||
version: 1.84.0
|
version: 1.85.0
|
||||||
resolution: "sass@npm:1.84.0"
|
resolution: "sass@npm:1.85.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@parcel/watcher": "npm:^2.4.1"
|
"@parcel/watcher": "npm:^2.4.1"
|
||||||
chokidar: "npm:^4.0.0"
|
chokidar: "npm:^4.0.0"
|
||||||
@ -15570,7 +15562,7 @@ __metadata:
|
|||||||
optional: true
|
optional: true
|
||||||
bin:
|
bin:
|
||||||
sass: sass.js
|
sass: sass.js
|
||||||
checksum: 10c0/4af28c12416b6f1fec2423677cfa8c48af7fb7652a50bd076e0cdd1ea260f0330948ddd6075368a734b8d6cfa16c9af5518292181334f47a9471cb542599bc7b
|
checksum: 10c0/a1af0c0596ae1904f66337d0c70a684db6e12210f97be4326cc3dcf18b0f956d7bc45ab2bcc7a8422d433d3eb3c9cb2cc8e60b2dafbdd01fb1ae5a23f5424690
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user