diff --git a/.env.production.sample b/.env.production.sample
index 0b458a1aa9..3dd66abae4 100644
--- a/.env.production.sample
+++ b/.env.production.sample
@@ -45,6 +45,17 @@ ES_PASS=password
SECRET_KEY_BASE=
OTP_SECRET=
+# Encryption secrets
+# ------------------
+# Must be available (and set to same values) for all server processes
+# These are private/secret values, do not share outside hosting environment
+# Use `bin/rails db:encryption:init` to generate fresh secrets
+# Do not change these secrets once in use, as this would cause data loss and other issues
+# ------------------
+# ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=
+# ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=
+# ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=
+
# Web Push
# --------
# Generate with `bundle exec rails mastodon:webpush:generate_vapid_key`
diff --git a/.github/ISSUE_TEMPLATE/1.web_bug_report.yml b/.github/ISSUE_TEMPLATE/1.web_bug_report.yml
index 20e27d103c..f897a7d7da 100644
--- a/.github/ISSUE_TEMPLATE/1.web_bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/1.web_bug_report.yml
@@ -1,6 +1,7 @@
name: Bug Report (Web Interface)
-description: If you are using Mastodon's web interface and something is not working as expected
-labels: [bug, 'status/to triage', 'area/web interface']
+description: There is a problem using Mastodon's web interface.
+labels: ['status/to triage', 'area/web interface']
+type: Bug
body:
- type: markdown
attributes:
@@ -47,8 +48,8 @@ body:
attributes:
label: Mastodon version
description: |
- This is displayed at the bottom of the About page, eg. `v4.1.2+nightly-20230627`
- placeholder: v4.1.2
+ This is displayed at the bottom of the About page, eg. `v4.4.0-alpha.1`
+ placeholder: v4.3.0
validations:
required: true
- type: input
@@ -56,7 +57,7 @@ body:
label: Browser name and version
description: |
What browser are you using when getting this bug? Please specify the version as well.
- placeholder: Firefox 105.0.3
+ placeholder: Firefox 131.0.0
validations:
required: true
- type: input
@@ -64,7 +65,7 @@ body:
label: Operating system
description: |
What OS are you running? Please specify the version as well.
- placeholder: macOS 13.4.1
+ placeholder: macOS 15.0.1
validations:
required: true
- type: textarea
diff --git a/.github/ISSUE_TEMPLATE/2.server_bug_report.yml b/.github/ISSUE_TEMPLATE/2.server_bug_report.yml
index 49d5f57209..a66f5c1076 100644
--- a/.github/ISSUE_TEMPLATE/2.server_bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/2.server_bug_report.yml
@@ -1,7 +1,8 @@
name: Bug Report (server / API)
description: |
- If something is not working as expected, but is not from using the web interface.
-labels: [bug, 'status/to triage']
+ There is a problem with the HTTP server, REST API, ActivityPub interaction, etc.
+labels: ['status/to triage']
+type: 'Bug'
body:
- type: markdown
attributes:
@@ -48,8 +49,8 @@ body:
attributes:
label: Mastodon version
description: |
- This is displayed at the bottom of the About page, eg. `v4.1.2+nightly-20230627`
- placeholder: v4.1.2
+ This is displayed at the bottom of the About page, eg. `v4.4.0-alpha.1`
+ placeholder: v4.3.0
validations:
required: false
- type: textarea
@@ -59,7 +60,7 @@ body:
Any additional technical details you may have, like logs or error traces
value: |
If this is happening on your own Mastodon server, please fill out those:
- - Ruby version: (from `ruby --version`, eg. v3.1.2)
- - Node.js version: (from `node --version`, eg. v18.16.0)
+ - Ruby version: (from `ruby --version`, eg. v3.3.5)
+ - Node.js version: (from `node --version`, eg. v20.18.0)
validations:
required: false
diff --git a/.github/ISSUE_TEMPLATE/3.troubleshooting.yml b/.github/ISSUE_TEMPLATE/3.troubleshooting.yml
new file mode 100644
index 0000000000..eeb74b160b
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/3.troubleshooting.yml
@@ -0,0 +1,74 @@
+name: Deployment troubleshooting
+description: |
+ You are a server administrator and you are encountering a technical issue during installation, upgrade or operations of Mastodon.
+labels: ['status/to triage']
+type: 'Troubleshooting'
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Make sure that you are submitting a new bug that was not previously reported or already fixed.
+
+ Please use a concise and distinct title for the issue.
+ - type: textarea
+ attributes:
+ label: Steps to reproduce the problem
+ description: What were you trying to do?
+ value: |
+ 1.
+ 2.
+ 3.
+ ...
+ validations:
+ required: true
+ - type: input
+ attributes:
+ label: Expected behaviour
+ description: What should have happened?
+ validations:
+ required: true
+ - type: input
+ attributes:
+ label: Actual behaviour
+ description: What happened?
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Detailed description
+ validations:
+ required: false
+ - type: input
+ attributes:
+ label: Mastodon instance
+ description: The address of the Mastodon instance where you experienced the issue
+ placeholder: mastodon.social
+ validations:
+ required: true
+ - type: input
+ attributes:
+ label: Mastodon version
+ description: |
+ This is displayed at the bottom of the About page, eg. `v4.4.0-alpha.1`
+ placeholder: v4.3.0
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Environment
+ description: |
+ Details about your environment, like how Mastodon is deployed, if containers are used, version numbers, etc.
+ value: |
+ Please at least include those informations:
+ - Operating system: (eg. Ubuntu 22.04)
+ - Ruby version: (from `ruby --version`, eg. v3.3.5)
+ - Node.js version: (from `node --version`, eg. v20.18.0)
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Technical details
+ description: |
+ Any additional technical details you may have, like logs or error traces
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/3.feature_request.yml b/.github/ISSUE_TEMPLATE/4.feature_request.yml
similarity index 96%
rename from .github/ISSUE_TEMPLATE/3.feature_request.yml
rename to .github/ISSUE_TEMPLATE/4.feature_request.yml
index 2cabcf61e0..7146b4f8a3 100644
--- a/.github/ISSUE_TEMPLATE/3.feature_request.yml
+++ b/.github/ISSUE_TEMPLATE/4.feature_request.yml
@@ -1,6 +1,6 @@
name: Feature Request
description: I have a suggestion
-labels: [suggestion]
+type: Suggestion
body:
- type: markdown
attributes:
diff --git a/.github/workflows/build-push-pr.yml b/.github/workflows/build-push-pr.yml
index 72baed5121..d3bc8e5df8 100644
--- a/.github/workflows/build-push-pr.yml
+++ b/.github/workflows/build-push-pr.yml
@@ -21,9 +21,11 @@ jobs:
uses: actions/checkout@v4
- id: version_vars
run: |
- echo mastodon_version_metadata=pr-${{ github.event.pull_request.number }}-$(git rev-parse --short HEAD) >> $GITHUB_OUTPUT
+ echo mastodon_version_metadata=pr-${{ github.event.pull_request.number }}-$(git rev-parse --short ${{github.event.pull_request.head.sha}}) >> $GITHUB_OUTPUT
+ echo mastodon_short_sha=$(git rev-parse --short ${{github.event.pull_request.head.sha}}) >> $GITHUB_OUTPUT
outputs:
metadata: ${{ steps.version_vars.outputs.mastodon_version_metadata }}
+ short_sha: ${{ steps.version_vars.outputs.mastodon_short_sha }}
build-image:
needs: compute-suffix
@@ -39,6 +41,7 @@ jobs:
latest=auto
tags: |
type=ref,event=pr
+ type=ref,event=pr,suffix=-${{ needs.compute-suffix.outputs.short_sha }}
secrets: inherit
build-image-streaming:
@@ -55,4 +58,5 @@ jobs:
latest=auto
tags: |
type=ref,event=pr
+ type=ref,event=pr,suffix=-${{ needs.compute-suffix.outputs.short_sha }}
secrets: inherit
diff --git a/.github/workflows/build-releases.yml b/.github/workflows/build-releases.yml
index 3f0bef32ac..da9a458282 100644
--- a/.github/workflows/build-releases.yml
+++ b/.github/workflows/build-releases.yml
@@ -23,7 +23,7 @@ jobs:
# Only tag with latest when ran against the latest stable branch
# This needs to be updated after each minor version release
flavor: |
- latest=${{ startsWith(github.ref, 'refs/tags/v4.2.') }}
+ latest=${{ startsWith(github.ref, 'refs/tags/v4.3.') }}
tags: |
type=pep440,pattern={{raw}}
type=pep440,pattern=v{{major}}.{{minor}}
diff --git a/.github/workflows/crowdin-upload.yml b/.github/workflows/crowdin-upload.yml
index 62ad1150bc..4f4d917d15 100644
--- a/.github/workflows/crowdin-upload.yml
+++ b/.github/workflows/crowdin-upload.yml
@@ -1,7 +1,6 @@
name: Crowdin / Upload translations
on:
- merge_group:
push:
branches:
- 'main'
diff --git a/.github/workflows/test-migrations.yml b/.github/workflows/test-migrations.yml
index 6a0e67c58e..5b80fef037 100644
--- a/.github/workflows/test-migrations.yml
+++ b/.github/workflows/test-migrations.yml
@@ -32,6 +32,8 @@ jobs:
postgres:
- 14-alpine
- 15-alpine
+ - 16-alpine
+ - 17-alpine
services:
postgres:
diff --git a/.github/workflows/test-ruby.yml b/.github/workflows/test-ruby.yml
index 3da53c1ae8..c05c8333b2 100644
--- a/.github/workflows/test-ruby.yml
+++ b/.github/workflows/test-ruby.yml
@@ -143,7 +143,7 @@ jobs:
uses: ./.github/actions/setup-ruby
with:
ruby-version: ${{ matrix.ruby-version}}
- additional-system-dependencies: ffmpeg libpam-dev
+ additional-system-dependencies: ffmpeg imagemagick libpam-dev
- name: Load database schema
run: |
@@ -245,7 +245,7 @@ jobs:
uses: ./.github/actions/setup-ruby
with:
ruby-version: ${{ matrix.ruby-version}}
- additional-system-dependencies: ffmpeg libpam-dev libyaml-dev
+ additional-system-dependencies: ffmpeg libpam-dev
- name: Load database schema
run: './bin/rails db:create db:schema:load db:seed'
@@ -325,7 +325,7 @@ jobs:
uses: ./.github/actions/setup-ruby
with:
ruby-version: ${{ matrix.ruby-version}}
- additional-system-dependencies: ffmpeg
+ additional-system-dependencies: ffmpeg imagemagick
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
@@ -445,7 +445,7 @@ jobs:
uses: ./.github/actions/setup-ruby
with:
ruby-version: ${{ matrix.ruby-version}}
- additional-system-dependencies: ffmpeg
+ additional-system-dependencies: ffmpeg imagemagick
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5eef082ccc..0fc5291d72 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,7 @@
All notable changes to this project will be documented in this file.
-## [4.3.0] - UNRELEASED
+## [4.3.0] - 2024-10-08
The following changelog entries focus on changes visible to users, administrators, client developers or federated software developers, but there has also been a lot of code modernization, refactoring, and tooling work, in particular by @mjankowski.
@@ -11,12 +11,12 @@ The following changelog entries focus on changes visible to users, administrator
- **Add confirmation interstitial instead of silently redirecting logged-out visitors to remote resources** (#27792, #28902, and #30651 by @ClearlyClaire and @Gargron)\
This fixes a longstanding open redirect in Mastodon, at the cost of added friction when local links to remote resources are shared.
- Fix ReDoS vulnerability on some Ruby versions ([GHSA-jpxp-r43f-rhvx](https://github.com/mastodon/mastodon/security/advisories/GHSA-jpxp-r43f-rhvx))
-- Change `form-action` Content-Security-Policy directive to be more restrictive (#26897 by @ClearlyClaire)
+- Change `form-action` Content-Security-Policy directive to be more restrictive (#26897 and #32241 by @ClearlyClaire)
- Update dependencies
### Added
-- **Add server-side notification grouping** (#29889, #30576, #30685, #30688, #30707, #30776, #30779, #30781, #30440, #31062, #31098, #31076, #31111, #31123, #31223, #31214, #31224, #31299, #31325, #31347, #31304, #31326, #31384, #31403, #31433, #31509, #31486, #31513, #31592, #31594, #31638, #31746, #31652, #31709, #31725, #31745, #31613, #31657, #31840, #31610, #31929, #32089 and #32085 by @ClearlyClaire, @Gargron, @mgmn, and @renchap)\
+- **Add server-side notification grouping** (#29889, #30576, #30685, #30688, #30707, #30776, #30779, #30781, #30440, #31062, #31098, #31076, #31111, #31123, #31223, #31214, #31224, #31299, #31325, #31347, #31304, #31326, #31384, #31403, #31433, #31509, #31486, #31513, #31592, #31594, #31638, #31746, #31652, #31709, #31725, #31745, #31613, #31657, #31840, #31610, #31929, #32089, #32085, #32243, #32179 and #32254 by @ClearlyClaire, @Gargron, @mgmn, and @renchap)\
Group notifications of the same type for the same target, so that your notifications no longer get cluttered by boost and favorite notifications as soon as a couple of your posts get traction.\
This is done server-side so that clients can efficiently get relevant groups without having to go through numerous pages of individual notifications.\
As part of this, the visual design of the entire notifications feature has been revamped.\
@@ -28,7 +28,7 @@ The following changelog entries focus on changes visible to users, administrator
- `GET /api/v2/notifications/:group_key/accounts`: https://docs.joinmastodon.org/methods/grouped_notifications/#get-group-accounts
- `POST /api/v2/notifications/:group_key/dimsiss`: https://docs.joinmastodon.org/methods/grouped_notifications/#dismiss-group
- `GET /api/v2/notifications/:unread_count`: https://docs.joinmastodon.org/methods/grouped_notifications/#unread-group-count
-- **Add notification policies, filtered notifications and notification requests** (#29366, #29529, #29433, #29565, #29567, #29572, #29575, #29588, #29646, #29652, #29658, #29666, #29693, #29699, #29737, #29706, #29570, #29752, #29810, #29826, #30114, #30251, #30559, #29868, #31008, #31011, #30996, #31149, #31220, #31222, #31225, #31242, #31262, #31250, #31273, #31310, #31316, #31322, #31329, #31324, #31331, #31343, #31342, #31309, #31358, #31378, #31406, #31256, #31456, #31419, #31457, #31508, #31540, #31541, #31723 and #32062 by @ClearlyClaire, @Gargron, @TheEssem, @mgmn, @oneiros, and @renchap)\
+- **Add notification policies, filtered notifications and notification requests** (#29366, #29529, #29433, #29565, #29567, #29572, #29575, #29588, #29646, #29652, #29658, #29666, #29693, #29699, #29737, #29706, #29570, #29752, #29810, #29826, #30114, #30251, #30559, #29868, #31008, #31011, #30996, #31149, #31220, #31222, #31225, #31242, #31262, #31250, #31273, #31310, #31316, #31322, #31329, #31324, #31331, #31343, #31342, #31309, #31358, #31378, #31406, #31256, #31456, #31419, #31457, #31508, #31540, #31541, #31723, #32062 and #32281 by @ClearlyClaire, @Gargron, @TheEssem, @mgmn, @oneiros, and @renchap)\
The old “Block notifications from non-followers”, “Block notifications from people you don't follow” and “Block direct messages from people you don't follow” notification settings have been replaced by a new set of settings found directly in the notification column.\
You can now separately filter or drop notifications from people you don't follow, people who don't follow you, accounts created within the past 30 days, as well as unsolicited private mentions, and accounts limited by the moderation.\
Instead of being outright dropped, notifications that you chose to filter are put in a separate “Filtered notifications” box that you can review separately without it clogging your main notifications.\
@@ -61,13 +61,13 @@ The following changelog entries focus on changes visible to users, administrator
- **Add timeline of public posts about a trending link** (#30381 and #30840 by @Gargron)\
You can now see public posts mentioning currently-trending articles from people who have opted into discovery features.\
This adds a new REST API endpoint: https://docs.joinmastodon.org/methods/timelines/#link
-- **Add author highlight for news articles whose authors are on the fediverse** (#30398, #30670, #30521, #30846, #31819, and #31900 by @Gargron and @oneiros)\
+- **Add author highlight for news articles whose authors are on the fediverse** (#30398, #30670, #30521, #30846, #31819, #31900 and #32188 by @Gargron, @mjankowski and @oneiros)\
This adds a mechanism to [highlight the author of news articles](https://blog.joinmastodon.org/2024/07/highlighting-journalism-on-mastodon/) shared on Mastodon.\
Articles hosted outside the fediverse can indicate a fediverse author with a meta tag:
```html
```
- On the API side, this is represented by a new `authors` attribute to the `PreviewCard` entity: https://docs.joinmastodon.org/entities/PreviewCard/#authors\
+ On the API side, this is represented by a new `authors` attribute to the `PreviewCard` entity: https://docs.joinmastodon.org/entities/PreviewCard/#authors \
Users can allow arbitrary domains to use `fediverse:creator` to credit them by visiting `/settings/verification`.\
This is federated as a new `attributionDomains` property in the `http://joinmastodon.org/ns` namespace, containing an array of domain names: https://docs.joinmastodon.org/spec/activitypub/#properties-used-1
- **Add in-app notifications for moderation actions and warnings** (#30065, #30082, and #30081 by @ClearlyClaire)\
@@ -150,10 +150,12 @@ The following changelog entries focus on changes visible to users, administrator
- Add groundwork for annual reports for accounts (#28693 by @Gargron)\
This lays the groundwork for a “year-in-review”/“wrapped” style report for local users, but is currently not in use.
- Add notification email on invalid second authenticator (#28822 by @ClearlyClaire)
+- Add date of account deletion in list of accounts in the admin interface (#25640 by @tribela)
- Add new emojis from `jdecked/twemoji` 15.0 (#28404 by @TheEssem)
- Add configurable error handling in attachment batch deletion (#28184 by @vmstan)\
This makes the S3 batch size configurable through the `S3_BATCH_DELETE_LIMIT` environment variable (defaults to 1000), and adds some retry logic, configurable through the `S3_BATCH_DELETE_RETRY` environment variable (defaults to 3).
- Add VAPID public key to instance serializer (#28006 by @ThisIsMissEm)
+- Add support for serving JRD `/.well-known/host-meta.json` in addition to XRD host-meta (#32206 by @c960657)
- Add `nodeName` and `nodeDescription` to nodeinfo `metadata` (#28079 by @6543)
- Add Thai diacritics and tone marks in `HASHTAG_INVALID_CHARS_RE` (#26576 by @ppnplus)
- Add variable delay before link verification of remote account links (#27774 by @ClearlyClaire)
@@ -168,7 +170,7 @@ The following changelog entries focus on changes visible to users, administrator
### Changed
-- **Change icons throughout the web interface** (#27385, #27539, #27555, #27579, #27700, #27817, #28519, #28709, #28064, #28775, #28780, #27924, #29294, #29395, #29537, #29569, #29610, #29612, #29649, #29844, #27780, #30974, #30963, #30962, #30961, #31362, #31363, #31359, #31371, #31360, #31512, #31511, and #31525 by @ClearlyClaire, @Gargron, @arbolitoloco1, @mjankowski, @nclm, @renchap, @ronilaukkarinen, and @zunda)\
+- **Change icons throughout the web interface** (#27385, #27539, #27555, #27579, #27700, #27817, #28519, #28709, #28064, #28775, #28780, #27924, #29294, #29395, #29537, #29569, #29610, #29612, #29649, #29844, #27780, #30974, #30963, #30962, #30961, #31362, #31363, #31359, #31371, #31360, #31512, #31511, #31525, #32153, and #32201 by @ClearlyClaire, @Gargron, @arbolitoloco1, @mjankowski, @nclm, @renchap, @ronilaukkarinen, and @zunda)\
This changes all the interface icons from FontAwesome to Material Symbols for a more modern look, consistent with the official Mastodon Android app.\
In addition, better care is given to pixel alignment, and icon variants are used to better highlight active/inactive state.
- **Change design of compose form in web UI** (#28119, #29059, #29248, #29372, #29384, #29417, #29456, #29406, #29651, #29659, #31889 and #32033 by @ClearlyClaire, @Gargron, @eai04191, @hinaloe, and @ronilaukkarinen)\
@@ -192,9 +194,9 @@ The following changelog entries focus on changes visible to users, administrator
Administrators may need to update their setup accordingly.
- Change how content warnings and filters are displayed in web UI (#31365, and #31761 by @Gargron)
- Change preview card processing to ignore `undefined` as canonical url (#31882 by @oneiros)
-- Change embedded posts to use web UI (#31766 and #32135 by @Gargron)
+- Change embedded posts to use web UI (#31766, #32135 and #32271 by @Gargron)
- Change inner borders in media galleries in web UI (#31852 by @Gargron)
-- Change design of media attachments and profile media tab in web UI (#31807, #32048, and #31967 by @Gargron)
+- Change design of media attachments and profile media tab in web UI (#31807, #32048, #31967, #32217, #32224 and #32257 by @ClearlyClaire and @Gargron)
- Change labels on thread indicators in web UI (#31806 by @Gargron)
- Change label of "Data export" menu item in settings interface (#32099 by @c960657)
- Change responsive break points on navigation panel in web UI (#32034 by @Gargron)
@@ -284,9 +286,10 @@ The following changelog entries focus on changes visible to users, administrator
- Fix error when accepting an appeal for sensitive posts deleted in the meantime (#32037 by @ClearlyClaire)
- Fix error when encountering reblog of deleted post in feed rebuild (#32001 by @ClearlyClaire)
- Fix Safari browser glitch related to horizontal scrolling (#31960 by @Gargron)
+- Fix unresolvable mentions sometimes preventing processing incoming posts (#29215 by @tribela and @ClearlyClaire)
- Fix too many requests caused by relationship look-ups in web UI (#32042 by @Gargron)
- Fix links for reblogs in moderation interface (#31979 by @ClearlyClaire)
-- Fix the appearance of avatars when they do not load (#31966 by @renchap)
+- Fix the appearance of avatars when they do not load (#31966 and #32270 by @Gargron and @renchap)
- Fix spurious error notifications for aborted requests in web UI (#31952 by @c960657)
- Fix HTTP 500 error in `/api/v1/polls/:id/votes` when required `choices` parameter is missing (#25598 by @danielmbrasil)
- Fix security context sometimes not being added in LD-Signed activities (#31871 by @ClearlyClaire)
@@ -309,10 +312,12 @@ The following changelog entries focus on changes visible to users, administrator
- Fix “Redirect URI” field not being marked as required in “New application” form (#30311 by @ThisIsMissEm)
- Fix right-to-left text in preview cards (#30930 by @ClearlyClaire)
- Fix rack attack `match_type` value typo in logging config (#30514 by @mjankowski)
-- Fix various cases of duplicate, missing, or inconsistent borders or scrollbar styles (#31068, #31286, #31268, #31275, #31284, #31305, #31346, #31372, #31373, #31389, #31432, #31391, #31445 and #32091 by @ClearlyClaire, @valtlai and @vmstan)
+- Fix various cases of duplicate, missing, or inconsistent borders or scrollbar styles (#31068, #31286, #31268, #31275, #31284, #31305, #31346, #31372, #31373, #31389, #31432, #31391, #31445, #32091, #32147 and #32137 by @ClearlyClaire, @mjankowski, @valtlai and @vmstan)
+- Fix editing description of media uploads with custom thumbnails (#32221 by @ClearlyClaire)
- Fix race condition in `POST /api/v1/push/subscription` (#30166 by @ClearlyClaire)
- Fix post deletion not being delayed when those are part of an account warning (#30163 by @ClearlyClaire)
- Fix rendering error on `/start` when not logged in (#30023 by @timothyjrogers)
+- Fix unneeded requests to blocked domains when receiving relayed signed activities from them (#31161 by @ClearlyClaire)
- Fix logo pushing header buttons out of view on certain conditions in mobile layout (#29787 by @ClearlyClaire)
- Fix notification-related records not being reattributed when merging accounts (#29694 by @ClearlyClaire)
- Fix results/query in `api/v1/featured_tags/suggestions` (#29597 by @mjankowski)
@@ -322,6 +327,7 @@ The following changelog entries focus on changes visible to users, administrator
- Fix full date display not respecting the locale 12/24h format (#29448 by @renchap)
- Fix filters title and keywords overflow (#29396 by @GeopJr)
- Fix incorrect date format in “Follows and followers” (#29390 by @JasonPunyon)
+- Fix navigation item active highlight for some paths (#32159 by @mjankowski)
- Fix “Edit media” modal sizing and layout when space-constrained (#27095 by @ronilaukkarinen)
- Fix modal container bounds (#29185 by @nico3333fr)
- Fix inefficient HTTP signature parsing using regexps and `StringScanner` (#29133 by @ClearlyClaire)
diff --git a/Gemfile.lock b/Gemfile.lock
index 1c2bb8df08..d1ee8e0fa8 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -10,35 +10,35 @@ GIT
GEM
remote: https://rubygems.org/
specs:
- actioncable (7.1.4)
- actionpack (= 7.1.4)
- activesupport (= 7.1.4)
+ actioncable (7.1.4.1)
+ actionpack (= 7.1.4.1)
+ activesupport (= 7.1.4.1)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
zeitwerk (~> 2.6)
- actionmailbox (7.1.4)
- actionpack (= 7.1.4)
- activejob (= 7.1.4)
- activerecord (= 7.1.4)
- activestorage (= 7.1.4)
- activesupport (= 7.1.4)
+ actionmailbox (7.1.4.1)
+ actionpack (= 7.1.4.1)
+ activejob (= 7.1.4.1)
+ activerecord (= 7.1.4.1)
+ activestorage (= 7.1.4.1)
+ activesupport (= 7.1.4.1)
mail (>= 2.7.1)
net-imap
net-pop
net-smtp
- actionmailer (7.1.4)
- actionpack (= 7.1.4)
- actionview (= 7.1.4)
- activejob (= 7.1.4)
- activesupport (= 7.1.4)
+ actionmailer (7.1.4.1)
+ actionpack (= 7.1.4.1)
+ actionview (= 7.1.4.1)
+ activejob (= 7.1.4.1)
+ activesupport (= 7.1.4.1)
mail (~> 2.5, >= 2.5.4)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.2)
- actionpack (7.1.4)
- actionview (= 7.1.4)
- activesupport (= 7.1.4)
+ actionpack (7.1.4.1)
+ actionview (= 7.1.4.1)
+ activesupport (= 7.1.4.1)
nokogiri (>= 1.8.5)
racc
rack (>= 2.2.4)
@@ -46,15 +46,15 @@ GEM
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
- actiontext (7.1.4)
- actionpack (= 7.1.4)
- activerecord (= 7.1.4)
- activestorage (= 7.1.4)
- activesupport (= 7.1.4)
+ actiontext (7.1.4.1)
+ actionpack (= 7.1.4.1)
+ activerecord (= 7.1.4.1)
+ activestorage (= 7.1.4.1)
+ activesupport (= 7.1.4.1)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
- actionview (7.1.4)
- activesupport (= 7.1.4)
+ actionview (7.1.4.1)
+ activesupport (= 7.1.4.1)
builder (~> 3.1)
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
@@ -64,22 +64,22 @@ GEM
activemodel (>= 4.1)
case_transform (>= 0.2)
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
- activejob (7.1.4)
- activesupport (= 7.1.4)
+ activejob (7.1.4.1)
+ activesupport (= 7.1.4.1)
globalid (>= 0.3.6)
- activemodel (7.1.4)
- activesupport (= 7.1.4)
- activerecord (7.1.4)
- activemodel (= 7.1.4)
- activesupport (= 7.1.4)
+ activemodel (7.1.4.1)
+ activesupport (= 7.1.4.1)
+ activerecord (7.1.4.1)
+ activemodel (= 7.1.4.1)
+ activesupport (= 7.1.4.1)
timeout (>= 0.4.0)
- activestorage (7.1.4)
- actionpack (= 7.1.4)
- activejob (= 7.1.4)
- activerecord (= 7.1.4)
- activesupport (= 7.1.4)
+ activestorage (7.1.4.1)
+ actionpack (= 7.1.4.1)
+ activejob (= 7.1.4.1)
+ activerecord (= 7.1.4.1)
+ activesupport (= 7.1.4.1)
marcel (~> 1.0)
- activesupport (7.1.4)
+ activesupport (7.1.4.1)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -591,7 +591,7 @@ GEM
pastel (0.8.0)
tty-color (~> 0.5)
pg (1.5.8)
- pghero (3.6.0)
+ pghero (3.6.1)
activerecord (>= 6.1)
premailer (1.27.0)
addressable
@@ -615,7 +615,7 @@ GEM
activesupport (>= 3.0.0)
raabro (1.4.0)
racc (1.8.1)
- rack (2.2.9)
+ rack (2.2.10)
rack-attack (6.7.0)
rack (>= 1.0, < 4)
rack-cors (2.0.2)
@@ -638,20 +638,20 @@ GEM
rackup (1.0.0)
rack (< 3)
webrick
- rails (7.1.4)
- actioncable (= 7.1.4)
- actionmailbox (= 7.1.4)
- actionmailer (= 7.1.4)
- actionpack (= 7.1.4)
- actiontext (= 7.1.4)
- actionview (= 7.1.4)
- activejob (= 7.1.4)
- activemodel (= 7.1.4)
- activerecord (= 7.1.4)
- activestorage (= 7.1.4)
- activesupport (= 7.1.4)
+ rails (7.1.4.1)
+ actioncable (= 7.1.4.1)
+ actionmailbox (= 7.1.4.1)
+ actionmailer (= 7.1.4.1)
+ actionpack (= 7.1.4.1)
+ actiontext (= 7.1.4.1)
+ actionview (= 7.1.4.1)
+ activejob (= 7.1.4.1)
+ activemodel (= 7.1.4.1)
+ activerecord (= 7.1.4.1)
+ activestorage (= 7.1.4.1)
+ activesupport (= 7.1.4.1)
bundler (>= 1.15.0)
- railties (= 7.1.4)
+ railties (= 7.1.4.1)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
actionview (>= 5.0.1.rc1)
@@ -666,9 +666,9 @@ GEM
rails-i18n (7.0.9)
i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 8)
- railties (7.1.4)
- actionpack (= 7.1.4)
- activesupport (= 7.1.4)
+ railties (7.1.4.1)
+ actionpack (= 7.1.4.1)
+ activesupport (= 7.1.4.1)
irb
rackup (>= 1.0.0)
rake (>= 12.2)
@@ -822,7 +822,7 @@ GEM
stoplight (4.1.0)
redlock (~> 1.0)
stringio (3.1.1)
- strong_migrations (2.0.0)
+ strong_migrations (2.0.1)
activerecord (>= 6.1)
swd (1.3.0)
activesupport (>= 3)
diff --git a/SECURITY.md b/SECURITY.md
index 156954ce02..43ab4454c4 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -13,8 +13,9 @@ A "vulnerability in Mastodon" is a vulnerability in the code distributed through
## Supported Versions
-| Version | Supported |
-| ------- | --------- |
-| 4.2.x | Yes |
-| 4.1.x | Yes |
-| < 4.1 | No |
+| Version | Supported |
+| ------- | ---------------- |
+| 4.3.x | Yes |
+| 4.2.x | Yes |
+| 4.1.x | Until 2025-04-08 |
+| < 4.1 | No |
diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb
index 84b604b305..28acaeea05 100644
--- a/app/controllers/api/v1/accounts_controller.rb
+++ b/app/controllers/api/v1/accounts_controller.rb
@@ -16,6 +16,7 @@ class Api::V1::AccountsController < Api::BaseController
before_action :check_account_confirmation, except: [:index, :create]
before_action :check_enabled_registrations, only: [:create]
before_action :check_accounts_limit, only: [:index]
+ before_action :check_following_self, only: [:follow]
skip_before_action :require_authenticated_user!, only: :create
@@ -101,6 +102,10 @@ class Api::V1::AccountsController < Api::BaseController
raise(Mastodon::ValidationError) if account_ids.size > DEFAULT_ACCOUNTS_LIMIT
end
+ def check_following_self
+ render json: { error: I18n.t('accounts.self_follow_error') }, status: 403 if current_user.account.id == @account.id
+ end
+
def relationships(**options)
AccountRelationshipsPresenter.new([@account], current_user.account_id, **options)
end
diff --git a/app/controllers/api/v1/notifications/requests_controller.rb b/app/controllers/api/v1/notifications/requests_controller.rb
index 36ee073b9c..3c90f13ce2 100644
--- a/app/controllers/api/v1/notifications/requests_controller.rb
+++ b/app/controllers/api/v1/notifications/requests_controller.rb
@@ -52,7 +52,7 @@ class Api::V1::Notifications::RequestsController < Api::BaseController
private
def load_requests
- requests = NotificationRequest.where(account: current_account).includes(:last_status, from_account: [:account_stat, :user]).to_a_paginated_by_id(
+ requests = NotificationRequest.where(account: current_account).without_suspended.includes(:last_status, from_account: [:account_stat, :user]).to_a_paginated_by_id(
limit_param(DEFAULT_ACCOUNTS_LIMIT),
params_slice(:max_id, :since_id, :min_id)
)
diff --git a/app/controllers/api/v1/statuses/translations_controller.rb b/app/controllers/api/v1/statuses/translations_controller.rb
index 26aed5c7f6..3822620061 100644
--- a/app/controllers/api/v1/statuses/translations_controller.rb
+++ b/app/controllers/api/v1/statuses/translations_controller.rb
@@ -23,6 +23,6 @@ class Api::V1::Statuses::TranslationsController < Api::V1::Statuses::BaseControl
private
def set_translation
- @translation = TranslateStatusService.new.call(@status, params[:source_language], content_locale)
+ @translation = TranslateStatusService.new.call(@status, params[:source_language], I18n.locale.to_s)
end
end
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 62e3355ae6..d493bd43bf 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -32,7 +32,7 @@ class ApplicationController < ActionController::Base
rescue_from ActionController::InvalidAuthenticityToken, with: :unprocessable_entity
rescue_from Mastodon::RateLimitExceededError, with: :too_many_requests
- rescue_from HTTP::Error, OpenSSL::SSL::SSLError, with: :internal_server_error
+ rescue_from(*Mastodon::HTTP_CONNECTION_ERRORS, with: :internal_server_error)
rescue_from Mastodon::RaceConditionError, Stoplight::Error::RedLight, ActiveRecord::SerializationFailure, with: :service_unavailable
rescue_from Seahorse::Client::NetworkingError do |e|
diff --git a/app/controllers/concerns/api/error_handling.rb b/app/controllers/concerns/api/error_handling.rb
index ad559fe2d7..9ce4795b02 100644
--- a/app/controllers/concerns/api/error_handling.rb
+++ b/app/controllers/concerns/api/error_handling.rb
@@ -20,7 +20,7 @@ module Api::ErrorHandling
render json: { error: 'Record not found' }, status: 404
end
- rescue_from HTTP::Error, Mastodon::UnexpectedResponseError do
+ rescue_from(*Mastodon::HTTP_CONNECTION_ERRORS, Mastodon::UnexpectedResponseError) do
render json: { error: 'Remote data could not be fetched' }, status: 503
end
diff --git a/app/controllers/concerns/signature_verification.rb b/app/controllers/concerns/signature_verification.rb
index 68f09ee023..4ae63632c0 100644
--- a/app/controllers/concerns/signature_verification.rb
+++ b/app/controllers/concerns/signature_verification.rb
@@ -80,7 +80,7 @@ module SignatureVerification
fail_with! "Verification failed for #{actor.to_log_human_identifier} #{actor.uri} using rsa-sha256 (RSASSA-PKCS1-v1_5 with SHA-256)", signed_string: compare_signed_string, signature: signature_params['signature']
rescue SignatureVerificationError => e
fail_with! e.message
- rescue HTTP::Error, OpenSSL::SSL::SSLError => e
+ rescue *Mastodon::HTTP_CONNECTION_ERRORS => e
fail_with! "Failed to fetch remote data: #{e.message}"
rescue Mastodon::UnexpectedResponseError
fail_with! 'Failed to fetch remote data (got unexpected reply from server)'
diff --git a/app/controllers/media_proxy_controller.rb b/app/controllers/media_proxy_controller.rb
index c4230d62c3..f68d85e44e 100644
--- a/app/controllers/media_proxy_controller.rb
+++ b/app/controllers/media_proxy_controller.rb
@@ -13,7 +13,7 @@ class MediaProxyController < ApplicationController
rescue_from ActiveRecord::RecordInvalid, with: :not_found
rescue_from Mastodon::UnexpectedResponseError, with: :not_found
rescue_from Mastodon::NotPermittedError, with: :not_found
- rescue_from HTTP::TimeoutError, HTTP::ConnectionError, OpenSSL::SSL::SSLError, with: :internal_server_error
+ rescue_from(*Mastodon::HTTP_CONNECTION_ERRORS, with: :internal_server_error)
def show
with_redis_lock("media_download:#{params[:id]}") do
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 8f9a433d82..4caf0398fe 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -244,6 +244,11 @@ module ApplicationHelper
tag.input(type: :text, maxlength: 999, spellcheck: false, readonly: true, **options)
end
+ def recent_tag_usage(tag)
+ people = tag.history.aggregate(2.days.ago.to_date..Time.zone.today).accounts
+ I18n.t 'user_mailer.welcome.hashtags_recent_count', people: number_with_delimiter(people), count: people
+ end
+
private
def storage_host_var
diff --git a/app/helpers/formatting_helper.rb b/app/helpers/formatting_helper.rb
index 7d1423e52d..2ef7d362d8 100644
--- a/app/helpers/formatting_helper.rb
+++ b/app/helpers/formatting_helper.rb
@@ -1,6 +1,14 @@
# frozen_string_literal: true
module FormattingHelper
+ SYNDICATED_EMOJI_STYLES = <<~CSS.squish
+ height: 1.1em;
+ margin: -.2ex .15em .2ex;
+ object-fit: contain;
+ vertical-align: middle;
+ width: 1.1em;
+ CSS
+
def html_aware_format(text, local, options = {})
HtmlAwareFormatter.new(text, local, options).to_s
end
@@ -23,33 +31,10 @@ module FormattingHelper
end
def rss_status_content_format(status)
- html = status_content_format(status)
-
- before_html = if status.spoiler_text?
- tag.p do
- tag.strong do
- I18n.t('rss.content_warning', locale: available_locale_or_nil(status.language) || I18n.default_locale)
- end
-
- status.spoiler_text
- end + tag.hr
- end
-
- after_html = if status.preloadable_poll
- tag.p do
- safe_join(
- status.preloadable_poll.options.map do |o|
- tag.send(status.preloadable_poll.multiple? ? 'checkbox' : 'radio', o, disabled: true)
- end,
- tag.br
- )
- end
- end
-
prerender_custom_emojis(
- safe_join([before_html, html, after_html]),
+ wrapped_status_content_format(status),
status.emojis,
- style: 'width: 1.1em; height: 1.1em; object-fit: contain; vertical-align: middle; margin: -.2ex .15em .2ex'
+ style: SYNDICATED_EMOJI_STYLES
).to_str
end
@@ -64,4 +49,47 @@ module FormattingHelper
html_aware_format(field.value, field.account.local?, with_rel_me: with_rel_me, with_domains: true, multiline: false)
end
end
+
+ private
+
+ def wrapped_status_content_format(status)
+ safe_join [
+ rss_content_preroll(status),
+ status_content_format(status),
+ rss_content_postroll(status),
+ ]
+ end
+
+ def rss_content_preroll(status)
+ if status.spoiler_text?
+ safe_join [
+ tag.p { spoiler_with_warning(status) },
+ tag.hr,
+ ]
+ end
+ end
+
+ def spoiler_with_warning(status)
+ safe_join [
+ tag.strong { I18n.t('rss.content_warning', locale: available_locale_or_nil(status.language) || I18n.default_locale) },
+ status.spoiler_text,
+ ]
+ end
+
+ def rss_content_postroll(status)
+ if status.preloadable_poll
+ tag.p do
+ poll_option_tags(status)
+ end
+ end
+ end
+
+ def poll_option_tags(status)
+ safe_join(
+ status.preloadable_poll.options.map do |option|
+ tag.send(status.preloadable_poll.multiple? ? 'checkbox' : 'radio', option, disabled: true)
+ end,
+ tag.br
+ )
+ end
end
diff --git a/app/helpers/languages_helper.rb b/app/helpers/languages_helper.rb
index b6c09b7314..394202e39a 100644
--- a/app/helpers/languages_helper.rb
+++ b/app/helpers/languages_helper.rb
@@ -193,6 +193,7 @@ module LanguagesHelper
ckb: ['Sorani (Kurdish)', 'سۆرانی'].freeze,
cnr: ['Montenegrin', 'crnogorski'].freeze,
csb: ['Kashubian', 'Kaszëbsczi'].freeze,
+ gsw: ['Swiss German', 'Schwiizertütsch'].freeze,
jbo: ['Lojban', 'la .lojban.'].freeze,
kab: ['Kabyle', 'Taqbaylit'].freeze,
ldn: ['Láadan', 'Láadan'].freeze,
diff --git a/app/helpers/statuses_helper.rb b/app/helpers/statuses_helper.rb
index bba6d64a47..9bbb03fd82 100644
--- a/app/helpers/statuses_helper.rb
+++ b/app/helpers/statuses_helper.rb
@@ -12,7 +12,7 @@ module StatusesHelper
}.freeze
def nothing_here(extra_classes = '')
- content_tag(:div, class: "nothing-here #{extra_classes}") do
+ tag.div(class: ['nothing-here', extra_classes]) do
t('accounts.nothing_here')
end
end
diff --git a/app/javascript/mastodon/actions/notification_groups.ts b/app/javascript/mastodon/actions/notification_groups.ts
index a359913e61..a3c8095ac4 100644
--- a/app/javascript/mastodon/actions/notification_groups.ts
+++ b/app/javascript/mastodon/actions/notification_groups.ts
@@ -8,6 +8,7 @@ import type { ApiAccountJSON } from 'mastodon/api_types/accounts';
import type {
ApiNotificationGroupJSON,
ApiNotificationJSON,
+ NotificationType,
} from 'mastodon/api_types/notifications';
import { allNotificationTypes } from 'mastodon/api_types/notifications';
import type { ApiStatusJSON } from 'mastodon/api_types/statuses';
@@ -15,6 +16,7 @@ import { usePendingItems } from 'mastodon/initial_state';
import type { NotificationGap } from 'mastodon/reducers/notification_groups';
import {
selectSettingsNotificationsExcludedTypes,
+ selectSettingsNotificationsGroupFollows,
selectSettingsNotificationsQuickFilterActive,
selectSettingsNotificationsShows,
} from 'mastodon/selectors/settings';
@@ -68,17 +70,19 @@ function dispatchAssociatedRecords(
dispatch(importFetchedStatuses(fetchedStatuses));
}
-const supportedGroupedNotificationTypes = ['favourite', 'reblog'];
+function selectNotificationGroupedTypes(state: RootState) {
+ const types: NotificationType[] = ['favourite', 'reblog'];
-export function shouldGroupNotificationType(type: string) {
- return supportedGroupedNotificationTypes.includes(type);
+ if (selectSettingsNotificationsGroupFollows(state)) types.push('follow');
+
+ return types;
}
export const fetchNotifications = createDataLoadingThunk(
'notificationGroups/fetch',
async (_params, { getState }) =>
apiFetchNotificationGroups({
- grouped_types: supportedGroupedNotificationTypes,
+ grouped_types: selectNotificationGroupedTypes(getState()),
exclude_types: getExcludedTypes(getState()),
}),
({ notifications, accounts, statuses }, { dispatch }) => {
@@ -102,7 +106,7 @@ export const fetchNotificationsGap = createDataLoadingThunk(
'notificationGroups/fetchGap',
async (params: { gap: NotificationGap }, { getState }) =>
apiFetchNotificationGroups({
- grouped_types: supportedGroupedNotificationTypes,
+ grouped_types: selectNotificationGroupedTypes(getState()),
max_id: params.gap.maxId,
exclude_types: getExcludedTypes(getState()),
}),
@@ -119,7 +123,7 @@ export const pollRecentNotifications = createDataLoadingThunk(
'notificationGroups/pollRecentNotifications',
async (_params, { getState }) => {
return apiFetchNotificationGroups({
- grouped_types: supportedGroupedNotificationTypes,
+ grouped_types: selectNotificationGroupedTypes(getState()),
max_id: undefined,
exclude_types: getExcludedTypes(getState()),
// In slow mode, we don't want to include notifications that duplicate the already-displayed ones
@@ -168,7 +172,10 @@ export const processNewNotificationForGroups = createAppAsyncThunk(
dispatchAssociatedRecords(dispatch, [notification]);
- return notification;
+ return {
+ notification,
+ groupedTypes: selectNotificationGroupedTypes(state),
+ };
},
);
diff --git a/app/javascript/mastodon/api_types/accounts.ts b/app/javascript/mastodon/api_types/accounts.ts
index 5bf3e64288..fdbd7523fc 100644
--- a/app/javascript/mastodon/api_types/accounts.ts
+++ b/app/javascript/mastodon/api_types/accounts.ts
@@ -13,7 +13,7 @@ export interface ApiAccountRoleJSON {
}
// See app/serializers/rest/account_serializer.rb
-export interface ApiAccountJSON {
+export interface BaseApiAccountJSON {
acct: string;
avatar: string;
avatar_static: string;
@@ -45,3 +45,12 @@ export interface ApiAccountJSON {
memorial?: boolean;
hide_collections: boolean;
}
+
+// See app/serializers/rest/muted_account_serializer.rb
+export interface ApiMutedAccountJSON extends BaseApiAccountJSON {
+ mute_expires_at?: string | null;
+}
+
+// For now, we have the same type representing both `Account` and `MutedAccount`
+// objects, but we should refactor this in the future.
+export type ApiAccountJSON = ApiMutedAccountJSON;
diff --git a/app/javascript/mastodon/components/__tests__/__snapshots__/avatar-test.jsx.snap b/app/javascript/mastodon/components/__tests__/__snapshots__/avatar-test.jsx.snap
index 2f0a2de324..124b50d8c7 100644
--- a/app/javascript/mastodon/components/__tests__/__snapshots__/avatar-test.jsx.snap
+++ b/app/javascript/mastodon/components/__tests__/__snapshots__/avatar-test.jsx.snap
@@ -2,7 +2,7 @@
exports[`
ES_PRESET
i single_node_cluster
.
+ message_html: Dim ond un nod sydd gan eich clwstwr Elasticsearch, mae angen gosod ES_PRESET
i single_node_cluster
.
elasticsearch_reset_chewy:
message_html: Mae eich mynegai system Elasticsearch wedi dyddio oherwydd newid gosodiad. Rhedwch chwiliad tootctl search deploy --reset-chewy
i'w ddiweddaru.
elasticsearch_running_check:
@@ -1062,7 +1063,7 @@ cy:
webhooks:
add_new: Ychwanegu diweddbwynt
delete: Dileu
- description_html: Mae bachyn gwe yn galluogi Mastodon i wthio hysbysiadau amser real am ddigwyddiadau a ddewiswyd i'ch cais eich hun, fel y gall eich cais ysgogi ymatebion yn awtomatig .
+ description_html: Mae bachyn gwe yn galluogi Mastodon i wthio hysbysiadau amser real am ddigwyddiadau a ddewiswyd i'ch cais eich hun, fel y gall eich cais ysgogi ymatebion yn awtomatig.
disable: Analluogi
disabled: Wedi'i analluogi
edit: Golygu diweddbwynt
@@ -1126,7 +1127,7 @@ cy:
created_msg: Wedi creu enw arall yn llwyddiannus. Gallwch nawr ddechrau symud o'r hen gyfrif.
deleted_msg: Wedi tynnu enw arall yn llwyddiannus. Ni fydd symud o'r cyfrif hynny i'r cyfrif hon yn bosib.
empty: Nid oes gennych enwau eraill.
- hint_html: Os ydych chi am symud o gyfrif arall i'r un hwn, gallwch greu enw arall yma, sy'n ofynnol cyn y gallwch symud ymlaen i symud dilynwyr o'r hen gyfrif i'r un hwn. Mae'r weithred hon ynddo'i hun yn ddiniwed ac yn wrthdroadwy. Mae'r mudo cyfrif yn cael ei wneud o'r hen gyfrif .
+ hint_html: Os ydych chi am symud o gyfrif arall i'r un hwn, gallwch greu enw arall yma, sy'n ofynnol cyn y gallwch symud ymlaen i symud dilynwyr o'r hen gyfrif i'r un hwn. Mae'r weithred hon ynddo'i hun yn ddiniwed ac yn wrthdroadwy. Mae'r mudo cyfrif yn cael ei wneud o'r hen gyfrif.
remove: Dadgysylltu'r enw arall
appearance:
advanced_web_interface: Rhyngwyneb gwe uwch
@@ -1237,9 +1238,11 @@ cy:
use_security_key: Defnyddiwch allwedd diogelwch
author_attribution:
example_title: Testun enghreifftiol
- hint_html: Rheolwch sut rydych chi'n cael eich canmol pan fydd dolenni'n cael eu rhannu ar Mastodon.
+ hint_html: Ydych chi'n ysgrifennu erthyglau newyddion neu flog y tu allan i Mastodon? Rheolwch sut y byddwch yn cael eich cydnabod pan fyddan nhw'n cael eu rhannu ar Mastodon.
+ instructions: 'Gwnewch yn siŵr fod y cod hwn yn HTML eich erthygl:'
more_from_html: Mwy gan %{name}
s_blog: Blog %{name}
+ then_instructions: Yna, ychwanegwch enw parth y cyhoeddiad yn y maes isod.
title: Priodoliad awdur
challenge:
confirm: Parhau
@@ -1367,7 +1370,7 @@ cy:
add_keyword: Ychwanegu allweddair
keywords: Allweddeiriau
statuses: Postiadau unigol
- statuses_hint_html: Mae'r hidlydd hwn yn berthnasol i ddewis postiadau unigol pa un ai a ydynt yn cyfateb i'r allweddeiriau isod. Adolygu neu ddileu postiadau o'r hidlydd .
+ statuses_hint_html: Mae'r hidlydd hwn yn berthnasol i ddewis postiadau unigol pa un ai a ydynt yn cyfateb i'r allweddeiriau isod. Adolygu neu ddileu postiadau o'r hidlydd.
title: Golygu hidlydd
errors:
deprecated_api_multiple_keywords: Nid oes modd newid y paramedrau hyn o'r cais hwn oherwydd eu bod yn berthnasol i fwy nag un allweddair hidlo. Defnyddiwch raglen fwy diweddar neu'r rhyngwyneb gwe.
@@ -1466,19 +1469,91 @@ cy:
overwrite: Trosysgrifio
overwrite_long: Amnewid y cofnodion cyfredol gyda'r rhai newydd
overwrite_preambles:
- blocking_html: Rydych ar fin amnewid eich rhestr rhwystro gyda hyd at %{total_items} o gyfrifon o %{filename} .
- bookmarks_html: Rydych ar fin amnewid eich nodau tudalen gyda hyd at %{total_items} o bostiadau gan %{filename} .
- domain_blocking_html: Rydych ar fin amnewid eich rhestr rhwystro parth gyda hyd at %{total_items} parth o %{filename} .
- following_html: Rydych ar fin dilyn hyd at %{total_items} o gyfrifon o %{filename} a pheidio a ddilyn unrhyw un arall .
- lists_html: Rydych ar fin amnewid eich rhestrau gyda chynnwys %{filename} . Bydd hyd at %{total_items} o gyfrifon yn cael eu hychwanegu at restrau newydd.
- muting_html: Rydych ar fin amnewid eich rhestr o gyfrifon tawel gyda hyd at %{total_items} o gyfrifon o %{filename} .
+ blocking_html:
+ few: Rydych ar fin amnewid eich rhestr rhwystro gyda hyd at %{count} o gyfrifon o %{filename}.
+ many: Rydych ar fin amnewid eich rhestr rhwystro gyda hyd at %{count} o gyfrifon o %{filename}.
+ one: Rydych ar fin amnewid eich rhestr rhwystro gyda hyd at %{count} o gyfrifon o %{filename}.
+ other: Rydych ar fin amnewid eich rhestr rhwystro gyda hyd at %{count} o gyfrifon o %{filename}.
+ two: Rydych ar fin amnewid eich rhestr rhwystro gyda hyd at %{count} o gyfrifon o %{filename}.
+ zero: Rydych ar fin amnewid eich rhestr rhwystro gyda hyd at %{count} o gyfrifon o %{filename}.
+ bookmarks_html:
+ few: Rydych ar fin amnewid eich nodau tudalen gyda hyd at %{count} postiadau gan %{filename}.
+ many: Rydych ar fin amnewid eich nodau tudalen gyda hyd at %{count} postiadau gan %{filename}.
+ one: Rydych ar fin disodli eich nodau tudalen gyda hyd at %{count} postiad o %{filename}.
+ other: Rydych ar fin amnewid eich nodau tudalen gyda hyd at %{count} postiadau gan %{filename}.
+ two: Rydych ar fin amnewid eich nodau tudalen gyda hyd at %{count} postiadau gan %{filename}.
+ zero: Rydych ar fin amnewid eich nodau tudalen gyda hyd at %{count} postiadau gan %{filename}.
+ domain_blocking_html:
+ few: Rydych ar fin amnewid eich rhestr rhwystro parthau gyda hyd at %{count} parth o %{filename}.
+ many: Rydych ar fin amnewid eich rhestr rhwystro parthau gyda hyd at %{count} parth o %{filename}.
+ one: Rydych ar fin disodli eich rhestr blociau parth gyda hyd at %{count} parth o %{filename}.
+ other: Rydych ar fin amnewid eich rhestr rhwystro parthau gyda hyd at %{count} parth o %{filename}.
+ two: Rydych ar fin amnewid eich rhestr rhwystro parthau gyda hyd at %{count} parth o %{filename}amnewid eich rhestr rhwystro parthau gyda hyd at %{count} parth o %{filename}.
+ following_html:
+ few: Rydych ar fin dilyn hyd at %{count} cyfrif gan %{filename} a pheidio â dilyn unrhyw un arall.
+ many: Rydych ar fin dilyn hyd at %{count} cyfrif gan %{filename} a pheidio â dilyn unrhyw un arall.
+ one: Rydych ar fin dilyn hyd at %{count} gyfrif o %{filename} a rhoi'r gorau i ddilyn unrhyw un arall.
+ other: Rydych ar fin dilyn hyd at %{count} cyfrif gan %{filename} a pheidio â dilyn unrhyw un arall.
+ two: Rydych ar fin dilyn hyd at %{count} cyfrif gan %{filename} a pheidio â dilyn unrhyw un arall.
+ zero: Rydych ar fin dilyn hyd at %{count} cyfrif gan %{filename} a pheidio â dilyn unrhyw un arall.
+ lists_html:
+ few: Rydych ar fin amnewid eich rhestrau gyda chynnwys %{filename}. Bydd hyd at %{count} cyfrif yn cael eu hychwanegu at restrau newydd.
+ many: Rydych ar fin amnewid eich rhestrau gyda chynnwys %{filename}. Bydd hyd at %{count} cyfrif yn cael eu hychwanegu at restrau newydd.
+ one: Rydych ar fin amnewid eich rhestrau gyda chynnwys %{filename}. Bydd hyd at %{count} cyfrif yn cael eu hychwanegu at restrau newydd.
+ other: Rydych ar fin amnewid eich rhestrau gyda chynnwys %{filename}. Bydd hyd at %{count} cyfrif yn cael eu hychwanegu at restrau newydd.
+ two: Rydych ar fin amnewid eich rhestrau gyda chynnwys %{filename}. Bydd hyd at %{count} cyfrif yn cael eu hychwanegu at restrau newydd.
+ zero: Rydych ar fin amnewid eich rhestrau gyda chynnwys %{filename}. Bydd hyd at %{count} cyfrif yn cael eu hychwanegu at restrau newydd.
+ muting_html:
+ few: Rydych ar fin amnewid eich rhestr o gyfrifon tawel gyda hyd at %{count} o gyfrifon o %{filename}.
+ many: Rydych ar fin amnewid eich rhestr o gyfrifon tawel gyda hyd at %{count} o gyfrifon o %{filename}.
+ one: Rydych ar fin disodli eich rhestr o gyfrifon wedi'u tewi am hyd at %{count} gyfrif o %{filename}.
+ other: Rydych ar fin amnewid eich rhestr o gyfrifon tawel gyda hyd at %{count} o gyfrifon o %{filename}.
+ two: Rydych ar fin amnewid eich rhestr o gyfrifon tawel gyda hyd at %{count} o gyfrifon o %{filename}.
+ zero: Rydych ar fin amnewid eich rhestr o gyfrifon tawel gyda hyd at %{count} o gyfrifon o %{filename}.
preambles:
- blocking_html: Rydych ar fin rhwystro hyd at %{total_items} o gyfrifon o %{filename} .
- bookmarks_html: Rydych ar fin ychwanegu hyd at %{total_items} o bostiadau o %{filename} at eich nodau tudalen .
- domain_blocking_html: Rydych ar fin rhwystro hyd at %{total_items} parth o %{filename} .
- following_html: Rydych ar fin dilyn hyd at %{total_items} cyfrif gan %{filename} .
- lists_html: Rydych ar fin ychwanegu hyd at %{total_items} o gyfrifon o %{filename} at eich rhestrau . Bydd rhestrau newydd yn cael eu creu os nad oes rhestr i ychwanegu ati.
- muting_html: Rydych ar fin anwybyddu hyd at %{total_items} cyfrif o %{filename}.
+ blocking_html:
+ few: Rydych ar fin rhwystro hyd at %{count} cyfrif o %{filename}.
+ many: Rydych ar fin rhwystro hyd at %{count} cyfrif o %{filename}.
+ one: Rydych ar fin rhwystro hyd at %{count} cyfrif o %{filename}.
+ other: Rydych ar fin rhwystro hyd at %{count} cyfrif o %{filename}.
+ two: Rydych ar fin rhwystro hyd at %{count} cyfrif o %{filename}.
+ zero: Rydych ar fin rhwystro hyd at %{count} cyfrif o %{filename}.
+ bookmarks_html:
+ few: Rydych ar fin ychwanegu hyd at %{count} pbostiad o %{filename} at eich nodau tudalen.
+ many: Rydych ar fin ychwanegu hyd at %{count} pbostiad o %{filename} at eich nodau tudalen.
+ one: Rydych ar fin ychwanegu hyd at %{count} pbostiad o %{filename} at eich nodau tudalen.
+ other: Rydych ar fin ychwanegu hyd at %{count} pbostiad o %{filename} at eich nodau tudalen.
+ two: Rydych ar fin ychwanegu hyd at %{count} pbostiad o %{filename} at eich nodau tudalen.
+ zero: Rydych ar fin ychwanegu hyd at %{count} pbostiad o %{filename} at eich nodau tudalen.
+ domain_blocking_html:
+ few: Rydych ar fin rhwystro hyd at %{count} parth o %{filename}.
+ many: Rydych ar fin rhwystro hyd at %{count} parth o %{filename}.
+ one: Rydych ar fin rhwystro hyd at %{count} parth o %{filename}.
+ other: Rydych ar fin rhwystro hyd at %{count} parth o %{filename}.
+ two: Rydych ar fin rhwystro hyd at %{count} parth o %{filename}.
+ zero: Rydych ar fin rhwystro hyd at %{count} parth o %{filename}.
+ following_html:
+ few: Rydych ar fin dilyn hyd at %{count} cyfrif gan %{filename}.
+ many: Rydych ar fin dilyn hyd at %{count} cyfrif gan %{filename}.
+ one: Rydych ar fin dilyn hyd at %{count} gyfrif o %{filename}.
+ other: Rydych ar fin dilyn hyd at %{count} cyfrif gan %{filename}.
+ two: Rydych ar fin dilyn hyd at %{count} cyfrif gan %{filename}.
+ zero: Rydych ar fin dilyn hyd at %{count} cyfrif gan %{filename}.
+ lists_html:
+ few: Rydych ar fin ychwanegu hyd at %{count} cyfrif o %{filename} at eich rhestrau. Bydd rhestrau newydd yn cael eu creu os nad oes rhestr i ychwanegu ati.
+ many: Rydych ar fin ychwanegu hyd at %{count} cyfrif o %{filename} at eich rhestrau. Bydd rhestrau newydd yn cael eu creu os nad oes rhestr i ychwanegu ati.
+ one: Rydych ar fin ychwanegu hyd at %{count} cyfrif o %{filename} at eich rhestrau. Bydd rhestrau newydd yn cael eu creu os nad oes rhestr i ychwanegu ati.
+ other: Rydych ar fin ychwanegu hyd at %{count} cyfrif o %{filename} at eich rhestrau. Bydd rhestrau newydd yn cael eu creu os nad oes rhestr i ychwanegu ati.
+ two: Rydych ar fin ychwanegu hyd at %{count} cyfrif o %{filename} at eich rhestrau. Bydd rhestrau newydd yn cael eu creu os nad oes rhestr i ychwanegu ati.
+ zero: Rydych ar fin ychwanegu hyd at %{count} cyfrif o %{filename} at eich rhestrau. Bydd rhestrau newydd yn cael eu creu os nad oes rhestr i ychwanegu ati.
+ muting_html:
+ few: Rydych ar fin tewi hyd at %{count} cyfrif o %{filename}.
+ many: Rydych ar fin tewi hyd at %{count} cyfrif o %{filename}.
+ one: Rydych ar fin tewi hyd at %{count} cyfrif o %{filename}.
+ other: Rydych ar fin tewi hyd at %{count} cyfrif o %{filename}.
+ two: Rydych ar fin tewi hyd at %{count} cyfrif o %{filename}.
+ zero: Rydych ar fin tewi hyd at %{count} cyfrif o %{filename}.
preface: Gallwch fewnforio data rydych chi wedi'i allforio o weinydd arall, fel rhestr o'r bobl rydych chi'n eu dilyn neu'n eu blocio.
recent_imports: Mewnforion diweddar
states:
@@ -1561,7 +1636,7 @@ cy:
follow_request: e-byst ceisiadau dilyn
mention: e-byst hysbysu crybwylliadau
reblog: e-byst hysbysiadau hybu
- resubscribe_html: Os ydych wedi dad-danysgrifio trwy gamgymeriad, gallwch ail-danysgrifio drwy'ch gosodiadau hysbysu e-bost .
+ resubscribe_html: Os ydych wedi dad-danysgrifio trwy gamgymeriad, gallwch ail-danysgrifio drwy'ch gosodiadau hysbysu e-bost.
success_html: Ni fyddwch bellach yn derbyn %{type} ar gyfer Mastodon ar %{domain} i'ch e-bost am %{email}.
title: Dad-danysgrifio
media_attachments:
@@ -1583,7 +1658,7 @@ cy:
on_cooldown: Rydych ar amser allan
followers_count: Dilynwyr ar adeg y symud
incoming_migrations: Symud o gyfrif wahanol
- incoming_migrations_html: I symud o gyfrif arall i'r un hwn, yn gyntaf mae angen i chi greu enwarall (alias) cyfrif .
+ incoming_migrations_html: I symud o gyfrif arall i'r un hwn, yn gyntaf mae angen i chi greu enwarall (alias) cyfrif.
moved_msg: Mae eich cyfrif bellach yn ailgyfeirio i %{acct} ac mae eich dilynwyr yn cael eu symud drosodd.
not_redirecting: Nid yw eich cyfrif yn ailgyfeirio i unrhyw gyfrif arall ar hyn o bryd.
on_cooldown: Rydych chi wedi mudo'ch cyfrif yn ddiweddar. Bydd y swyddogaeth hon ar gael eto ymhen %{count} diwrnod.
@@ -1598,7 +1673,7 @@ cy:
cooldown: Ar ôl symud, bydd yna cyfnod aros na fydd modd i chi symud eto
disabled_account: Ni fydd modd defnyddio'ch cyfrif cyfredol yn llawn wedyn. Fodd bynnag, bydd gennych fynediad i allforio data yn ogystal ag ail agor.
followers: Bydd y weithred hon yn symud yr holl ddilynwyr o'r cyfrif cyfredol i'r cyfrif newydd
- only_redirect_html: Fel arall, dim ond ailgyfeiriad y gallwch chi ei osod ar eich proffil .
+ only_redirect_html: Fel arall, dim ond ailgyfeiriad y gallwch chi ei osod ar eich proffil.
other_data: Ni fydd unrhyw data arall yn cael ei symud yn awtomatig
redirect: Bydd proffil eich cyfrif presennol yn cael ei diweddaru gyda hysbysiad ailgyfeirio ac yn cael ei eithrio o chwiliadau
moderation:
diff --git a/config/locales/da.yml b/config/locales/da.yml
index 0da901d4a8..6447afb493 100644
--- a/config/locales/da.yml
+++ b/config/locales/da.yml
@@ -21,6 +21,7 @@ da:
one: Indlæg
other: Indlæg
posts_tab_heading: Indlæg
+ self_follow_error: Det er ikke tilladt at følge sin egen konto
admin:
account_actions:
action: Udfør handling
@@ -1165,9 +1166,11 @@ da:
use_security_key: Brug sikkerhedsnøgle
author_attribution:
example_title: Eksempeltekst
- hint_html: Styrer, hvordan man krediteres, når links deles på Mastodon.
+ hint_html: Skriver du nyheder eller blogartikler uden for Mastodon? Styr, hvordan man bliver krediteret, når disse deles på Mastodon.
+ instructions: 'Sørg for, at denne kode er i artikelens HTML:'
more_from_html: Flere fra %{name}
s_blog: "%{name}s blog"
+ then_instructions: Tilføj dernæst publikationsdomænenavnet i feltet nedenfor.
title: Forfattertilskrivning
challenge:
confirm: Fortsæt
@@ -1366,19 +1369,43 @@ da:
overwrite: Overskriv
overwrite_long: Erstat aktuelle poster med de nye
overwrite_preambles:
- blocking_html: Du er ved at erstatte bloklisten med op til %{total_items} konti fra %{filename}.
- bookmarks_html: Du er ved at erstatte bogmærkelisten med op til %{total_items} emner fra %{filename}.
- domain_blocking_html: Du er ved at erstatte domæneblokeringslisten med op til %{total_items} domæner fra %{filename}.
- following_html: Du er ved at følge op til %{total_items} konti fra %{filename} og stoppe med at følge alle andre.
- lists_html: Du er ved at erstatte dine lister med indholdet af %{filename}. Op til %{total_items} konti tilføjes nye lister.
- muting_html: Du er ved at erstatte listen over tavsgjorte konti med op til %{total_items} konti fra %{filename}.
+ blocking_html:
+ one: Man er ved at erstatte sin sortliste med %{count} konto fra %{filename}.
+ other: Man er ved at erstatte sin sortliste med optil %{count} konti fra %{filename}.
+ bookmarks_html:
+ one: Man er ved at erstatte sine bogmærker med %{count} post fra %{filename}.
+ other: Man er ved at erstatte sine bogmærker med op til %{count} poster fra %{filename}.
+ domain_blocking_html:
+ one: Man er ved at erstatte sin domænesortliste med %{count} domæne fra %{filename}.
+ other: Man er ved at erstatte sin domænesortliste med op til %{count} domæner fra %{filename}.
+ following_html:
+ one: Man er ved at følge %{count} konto fra %{filename} og stoppe med at følge andre.
+ other: Man er ved at følge %{count} konti fra %{filename} og stoppe med at følge andre.
+ lists_html:
+ one: Man er ved at erstatte sine lister med indhold fra %{filename}. %{count} konto føjes til nye lister.
+ other: Man er ved at erstatte sine lister med indhold fra %{filename}. Op til %{count} konti føjes til nye lister.
+ muting_html:
+ one: Man er ved at sin liste over en tavsgjort konto med %{count} konto fra %{filename}.
+ other: Man er ved at sin liste over tavsgjorte konti med op til %{count} konti fra %{filename}.
preambles:
- blocking_html: Du er ved at blokere op til %{total_items} konti fra %{filename}.
- bookmarks_html: Du er ved at føje op til %{total_items} indlæg fra %{filename} til bogmærkelisten.
- domain_blocking_html: Du er ved at blokere op til %{total_items} domæner fra %{filename}.
- following_html: Du er ved at følge op til %{total_items} konti fra %{filename}.
- lists_html: Du er ved at tilføje op til %{total_items} konti fra %{filename} til dine lister. Nye lister oprettes, hvis der ikke er nogen liste at føje konti til.
- muting_html: Du er ved at tavsgøre op til %{total_items} konti fra %{filename}.
+ blocking_html:
+ one: Man er ved at blokere %{count} konto fra %{filename}.
+ other: Man er ved at blokere op til %{count} konti fra %{filename}.
+ bookmarks_html:
+ one: Man er ved at tilføje %{count} post fra %{filename} til sine bogmærker.
+ other: Man er ved at tilføje %{count} poster fra %{filename} til sine bogmærker.
+ domain_blocking_html:
+ one: Man er ved at blokere %{count} domæne fra %{filename}.
+ other: Man er ved at blokere op til %{count} domæner fra %{filename}.
+ following_html:
+ one: Man er ved at følge %{count} konto fra %{filename}.
+ other: Man er ved at følge op til%{count} konti fra %{filename}.
+ lists_html:
+ one: Man er ved at tilføje %{count} konto fra %{filename} til sine lister. Nye lister oprettes, hvis der ikke findes nogen liste at tilføje til.
+ other: Man er ved at tilføje %{count} konti fra %{filename} til sine lister. Nye lister oprettes, hvis der ikke findes nogen liste at tilføje til.
+ muting_html:
+ one: Man er ved at tavsgøre %{count} konto fra %{filename}.
+ other: Man er ved at tavsgøre op til %{count} konto fra %{filename}.
preface: Du kan importere data, du har eksporteret fra en anden server, såsom en liste over folk du følger eller blokerer.
recent_imports: Seneste importer
states:
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 7a8469df61..323579f25f 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -21,6 +21,7 @@ de:
one: Beitrag
other: Beiträge
posts_tab_heading: Beiträge
+ self_follow_error: Es ist nicht erlaubt, deinem eigenen Konto zu folgen
admin:
account_actions:
action: Aktion ausführen
@@ -1165,9 +1166,11 @@ de:
use_security_key: Sicherheitsschlüssel verwenden
author_attribution:
example_title: Beispieltext
- hint_html: Bestimme, wie du Anerkennungen durch geteilte Links auf Mastodon handhaben möchtest.
+ hint_html: Schreibst du außerhalb von Mastodon Nachrichtenartikel oder betreibst du einen Blog? Bestimme, wie du Anerkennungen durch geteilte Links auf Mastodon handhaben möchtest.
+ instructions: 'Der nachfolgende Code muss im HTML-Code deines Artikels sein:'
more_from_html: Mehr von %{name}
s_blog: Blog von %{name}
+ then_instructions: Ergänze die Domain, auf der deine Inhalte veröffentlicht werden in das unten stehende Feld.
title: Anerkennung als Autor*in
challenge:
confirm: Fortfahren
@@ -1366,19 +1369,43 @@ de:
overwrite: Überschreiben
overwrite_long: Bestehende Datensätze durch neue ersetzen
overwrite_preambles:
- blocking_html: Du bist dabei, deine Liste blockierter Konten durch bis zu %{total_items} Konten aus %{filename} zu ersetzen.
- bookmarks_html: Du bist dabei, deine Lesezeichen durch bis zu %{total_items} Beiträge aus %{filename} zu ersetzen.
- domain_blocking_html: Du bist dabei, deine Liste blockierter Domains durch bis zu %{total_items} Domains aus %{filename} zu ersetzen.
- following_html: Du bist dabei, bis zu %{total_items} Konten aus %{filename} zu folgen und niemand anderes zu folgen.
- lists_html: Du bist dabei, deine Listen durch den Inhalt aus %{filename} zu ersetzen. Es werden bis zu %{total_items} Konten zu neuen Listen hinzugefügt.
- muting_html: Du bist dabei, deine Liste stummgeschalteter Konten durch bis zu %{total_items} Konten aus %{filename} zu ersetzen.
+ blocking_html:
+ one: Du bist dabei, deine Liste blockierter Konten aus %{filename} durch bis zu %{count} Konto zu ersetzen.
+ other: Du bist dabei, deine Liste blockierter Konten aus %{filename} durch bis zu %{count} Konten zu ersetzen.
+ bookmarks_html:
+ one: Du bist dabei, deine Lesezeichen aus %{filename} durch bis zu %{count} Beitrag zu ersetzen.
+ other: Du bist dabei, deine Lesezeichen aus %{filename} durch bis zu %{count} Beiträge zu ersetzen.
+ domain_blocking_html:
+ one: Du bist dabei, deine Liste blockierter Domains aus %{filename} durch bis zu %{count} Domain zu ersetzen.
+ other: Du bist dabei, deine Liste blockierter Domains aus %{filename} durch bis zu %{count} Domains zu ersetzen.
+ following_html:
+ one: Du bist dabei, bis zu %{count} Konto aus %{filename} zu folgen und allen anderen zu entfolgen.
+ other: Du bist dabei, bis zu %{count} Konten aus %{filename} zu folgen und allen anderen zu entfolgen.
+ lists_html:
+ one: Du bist dabei, deine Listen mit dem Inhalt aus %{filename} zu ersetzen. Bis zu %{count} Konto wird zu neuen Listen hinzugefügt.
+ other: Du bist dabei, deine Listen mit dem Inhalt aus %{filename} zu ersetzen. Bis zu %{count} Konten wird zu neuen Listen hinzugefügt.
+ muting_html:
+ one: Du bist dabei, deine Liste mit einem stummgeschalteten Konto aus %{filename} durch bis zu %{count} Konto zu ersetzen.
+ other: Du bist dabei, deine Liste stummgeschalteter Konten aus %{filename} durch bis zu %{count} Konten zu ersetzen.
preambles:
- blocking_html: Du bist dabei, bis zu %{total_items}%{total_items} Konten aus %{filename} zu blockieren.
- bookmarks_html: Du bist dabei, bis zu %{total_items} Beiträge aus %{filename} zu deinen Lesezeichen hinzuzufügen.
- domain_blocking_html: Du bist dabei, bis zu %{total_items} Domains aus %{filename} zu blockieren.
- following_html: Du bist dabei, bis zu %{total_items} Konten aus %{filename} zu folgen.
- lists_html: Du bist dabei, bis zu %{total_items} Konten aus %{filename} zu deinen Listen hinzuzufügen. Wenn es keine Liste gibt, zu der etwas hinzugefügt werden kann, dann werden neue Listen erstellt.
- muting_html: Du bist dabei, bis zu %{total_items} Konten aus %{filename} stummzuschalten.
+ blocking_html:
+ one: Du bist dabei, bis zu %{count} Konto aus %{filename} zu blockieren.
+ other: Du bist dabei, bis zu %{count} Konten aus %{filename} zu blockieren.
+ bookmarks_html:
+ one: Du bist dabei, bis zu %{count} Beitrag aus %{filename} zu deinen Lesezeichen hinzuzufügen.
+ other: Du bist dabei, bis zu %{count} Beiträge aus %{filename} zu deinen Lesezeichen hinzuzufügen.
+ domain_blocking_html:
+ one: Du bist dabei, bis zu %{count} Domain aus %{filename} zu blockieren.
+ other: Du bist dabei, bis zu %{count} Domains aus %{filename} zu blockieren.
+ following_html:
+ one: Du bist dabei, bis zu %{count} Konto aus %{filename} zu folgen.
+ other: Du bist dabei, bis zu %{count} Konten aus %{filename} zu folgen.
+ lists_html:
+ one: Du bist dabei, bis zu %{count} Konto aus %{filename} zu deinen Listen hinzuzufügen. Wenn es keine Listen gibt, zu denen etwas hinzugefügt werden kann, dann werden neue Listen erstellt.
+ other: Du bist dabei, bis zu %{count} Konten aus %{filename} zu deinen Listen hinzuzufügen. Wenn es keine Listen gibt, zu denen etwas hinzugefügt werden kann, dann werden neue Listen erstellt.
+ muting_html:
+ one: Du bist dabei, bis zu %{count} Konto aus %{filename} stummzuschalten.
+ other: Du bist dabei, bis zu %{count} Konten aus %{filename} stummzuschalten.
preface: Daten, die du von einem Mastodon-Server exportiert hast, kannst du hierher importieren. Das betrifft beispielsweise die Listen von Profilen, denen du folgst oder die du blockiert hast.
recent_imports: Zuletzt importiert
states:
@@ -1942,7 +1969,7 @@ de:
extra_instructions_html: Hinweis: Der Link auf deiner Website kann unsichtbar sein. Der wichtige Teil ist rel="me"
, wodurch das Nachahmen von Personen auf Websites mit nutzergenerierten Inhalten verhindert wird. Du kannst auch ein link
-Tag statt a
im Header auf der Seite verwenden, jedoch muss der HTML-Code ohne das Ausführen von JavaScript zugänglich sein.
here_is_how: So funktioniert’s
hint_html: "Alle können ihre Identität auf Mastodon verifizieren. Basierend auf offenen Standards – jetzt und für immer kostenlos. Alles, was du brauchst, ist eine eigene Website. Wenn du von deinem Profil auf diese Website verlinkst, überprüfen wir, ob die Website zu deinem Profil zurückverlinkt, und zeigen einen visuellen Hinweis an."
- instructions_html: Kopiere den unten stehenden Code und füge ihn in das HTML deiner Website ein. Trage anschließend die Adresse deiner Website in ein Zusatzfeld auf deinem Profil ein und speichere die Änderungen. Die Zusatzfelder befinden sich im Reiter „Profil bearbeiten“.
+ instructions_html: Kopiere den unten stehenden Code und füge ihn in den HTML-Code deiner Website ein. Trage anschließend die Adresse deiner Website in ein Zusatzfeld auf deinem Profil ein und speichere die Änderungen. Die Zusatzfelder befinden sich im Reiter „Profil bearbeiten“.
verification: Verifizierung
verified_links: Deine verifizierten Links
website_verification: Website-Verifizierung
diff --git a/config/locales/devise.eo.yml b/config/locales/devise.eo.yml
index 9d946967e9..88514ab5e2 100644
--- a/config/locales/devise.eo.yml
+++ b/config/locales/devise.eo.yml
@@ -6,7 +6,7 @@ eo:
send_instructions: Vi ricevos retmesaĝon kun instrukcioj por konfirmi vian retadreson ene de kelkaj minutoj. Bonvolu kontroli vian spamujon se vi ne ricevis ĉi tiun retmesaĝon.
send_paranoid_instructions: Se via retadreso ekzistas en nia datumbazo, vi ricevos retmesaĝon kun instrukcioj por konfirmi vian retadreson ene de kelkaj minutoj. Bonvolu kontroli vian spamujon se vi ne ricevis ĉi tiun retmesaĝon.
failure:
- already_authenticated: Vi jam salutis.
+ already_authenticated: Vi jam ensalutis.
inactive: Via konto ankoraŭ ne estas konfirmita.
invalid: Nevalida %{authentication_keys} aŭ pasvorto.
last_attempt: Vi ankoraŭ povas provi unufoje antaŭ ol via konto estos ŝlosita.
@@ -73,9 +73,11 @@ eo:
title: Unu el viaj sekurecaj ŝlosiloj estis forigita
webauthn_disabled:
explanation: Aŭtentigo per sekurecaj ŝlosiloj estas malŝaltita por via konto.
+ extra: Ensaluto nun eblas uzante nur la ĵetonon generitan de la parigita tempbazita unufoja pasvorta aplikaĵo.
subject: 'Mastodon: sekureca-ŝlosila aŭtentigo malebligita'
title: Sekurecaj ŝlosiloj malaktivigitaj
webauthn_enabled:
+ explanation: Sekurecŝlosila aŭtentigo estas ebligita por via konto.
extra: Via sekureca ŝlosilo nun povas esti uzata por ensaluto.
subject: 'Mastodon: sekureca-ŝlosila aŭtentigo ebligita'
title: Sekurecaj ŝlosiloj aktivigitaj
diff --git a/config/locales/doorkeeper.ast.yml b/config/locales/doorkeeper.ast.yml
index c9c831f7f5..3df18d6f7a 100644
--- a/config/locales/doorkeeper.ast.yml
+++ b/config/locales/doorkeeper.ast.yml
@@ -50,7 +50,9 @@ ast:
confirmations:
revoke: "¿De xuru que quies facer esta aición?"
index:
+ authorized_at: 'Data d''autorización: %{date}'
description_html: Estes son les aplicaciones que puen acceder a la cuenta cola API. Si equí hai aplicaciones que nun conoces o hai dalguna aplicación que nun funciona correutamente, pues revocar el so accesu.
+ last_used_at: 'Últimu usu: %{date}'
never_used: Enxamás s'usó
scopes: Permisos
title: Les aplicaciones qu'autoricesti
diff --git a/config/locales/doorkeeper.es-MX.yml b/config/locales/doorkeeper.es-MX.yml
index e119d71f4e..eaf1bf69fb 100644
--- a/config/locales/doorkeeper.es-MX.yml
+++ b/config/locales/doorkeeper.es-MX.yml
@@ -60,7 +60,7 @@ es-MX:
error:
title: Ha ocurrido un error
new:
- prompt_html: A %{client_name} le gustaría obtener permiso para acceder a tu cuenta. Aprueba esta solicitud solo si reconoces y confías en esta fuente.
+ prompt_html: "%{client_name} desea obtener permiso para acceder a tu cuenta. Aprueba esta solicitud solamente si reconoces y confías en esta fuente."
review_permissions: Revisar permisos
title: Se requiere autorización
show:
diff --git a/config/locales/doorkeeper.et.yml b/config/locales/doorkeeper.et.yml
index ebfaf5c710..fb135b1f96 100644
--- a/config/locales/doorkeeper.et.yml
+++ b/config/locales/doorkeeper.et.yml
@@ -60,6 +60,7 @@ et:
error:
title: Ilmnes viga
new:
+ prompt_html: "%{client_name} soovib saada ligipääsu su kontole. Kinnita see taotlus ainult siis, kui sa tunned ja usaldad seda allikat."
review_permissions: Lubade ülevaade
title: Autoriseerimine vajalik
show:
diff --git a/config/locales/doorkeeper.fa.yml b/config/locales/doorkeeper.fa.yml
index 4ff03950b5..8e2bc864a2 100644
--- a/config/locales/doorkeeper.fa.yml
+++ b/config/locales/doorkeeper.fa.yml
@@ -130,7 +130,7 @@ fa:
favourites: برگزیدهها
filters: پالایهها
follow: پیگیری، خموشی و مسدودیها
- follows: پیگرفتگان
+ follows: پیگرفتنها
lists: سیاههها
media: پیوستهای رسانهای
mutes: خموشها
diff --git a/config/locales/doorkeeper.fy.yml b/config/locales/doorkeeper.fy.yml
index 94e67d17a6..180c7e733f 100644
--- a/config/locales/doorkeeper.fy.yml
+++ b/config/locales/doorkeeper.fy.yml
@@ -60,6 +60,7 @@ fy:
error:
title: Der is in flater bard
new:
+ prompt_html: "%{client_name} freget om tagong ta jo account. Keur dit fersyk allinnich goed as jo dizze boarne werkenne en fertrouwe."
review_permissions: Tastimmingen beoardiele
title: Autorisaasje fereaske
show:
diff --git a/config/locales/doorkeeper.is.yml b/config/locales/doorkeeper.is.yml
index 05f2415eea..1fabd1b55f 100644
--- a/config/locales/doorkeeper.is.yml
+++ b/config/locales/doorkeeper.is.yml
@@ -60,6 +60,7 @@ is:
error:
title: Villa kom upp
new:
+ prompt_html: "%{client_name} vill fá heimild til að skoða aðganginn þinn. Ekki samþykkja þessa beiðni nema þú þekkir og treystir viðkomandi."
review_permissions: Yfirfara heimildir
title: Auðkenning er nauðsynleg
show:
diff --git a/config/locales/doorkeeper.ja.yml b/config/locales/doorkeeper.ja.yml
index 7cfddf50a1..d44451c746 100644
--- a/config/locales/doorkeeper.ja.yml
+++ b/config/locales/doorkeeper.ja.yml
@@ -60,6 +60,7 @@ ja:
error:
title: エラーが発生しました
new:
+ prompt_html: "%{client_name} があなたのアカウントにアクセスするための許可を求めています。このリクエストを承認するのは、信頼できる相手であると認識している場合のみです。"
review_permissions: アクセス許可を確認
title: 認証が必要です
show:
diff --git a/config/locales/doorkeeper.sv.yml b/config/locales/doorkeeper.sv.yml
index 9f646fd3e4..ca8271ebf1 100644
--- a/config/locales/doorkeeper.sv.yml
+++ b/config/locales/doorkeeper.sv.yml
@@ -60,6 +60,7 @@ sv:
error:
title: Ett fel har uppstått
new:
+ prompt_html: "%{client_name} vill ha behörighet att komma åt ditt konto. Godkänn bara denna begäran om du känner igen och litar på källan."
review_permissions: Granska behörigheter
title: Godkännande krävs
show:
@@ -132,7 +133,7 @@ sv:
follow: Följare, mjutade och blockerade
follows: Följer
lists: Listor
- media: Mediabilagor
+ media: Mediebilagor
mutes: Tystade användare
notifications: Aviseringar
profile: Din Mastodon-profil
diff --git a/config/locales/doorkeeper.vi.yml b/config/locales/doorkeeper.vi.yml
index 6687c0339d..2219599c57 100644
--- a/config/locales/doorkeeper.vi.yml
+++ b/config/locales/doorkeeper.vi.yml
@@ -150,30 +150,30 @@ vi:
title: Đăng nhập bằng OAuth
scopes:
admin:read: đọc mọi dữ liệu trên máy chủ
- admin:read:accounts: đọc thông tin nhạy cảm của tất cả các tài khoản
- admin:read:canonical_email_blocks: đọc thông tin nhạy cảm của tất cả khối email chuẩn
- admin:read:domain_allows: đọc thông tin nhạy cảm của tất cả các tên miền cho phép
- admin:read:domain_blocks: đọc thông tin nhạy cảm của tất cả các tên miền chặn
- admin:read:email_domain_blocks: đọc thông tin nhạy cảm của tất cả các miền email chặn
- admin:read:ip_blocks: đọc thông tin nhạy cảm của tất cả các IP chặn
+ admin:read:accounts: đọc thông tin nhạy cảm của mọi tài khoản
+ admin:read:canonical_email_blocks: đọc thông tin nhạy cảm của mọi khối email biến thể
+ admin:read:domain_allows: đọc thông tin nhạy cảm của mọi máy chủ liên hợp
+ admin:read:domain_blocks: đọc thông tin nhạy cảm của mọi máy chủ chặn
+ admin:read:email_domain_blocks: đọc thông tin nhạy cảm của mọi tên miền email chặn
+ admin:read:ip_blocks: đọc thông tin nhạy cảm của mọi IP chặn
admin:read:reports: đọc thông tin của các báo cáo và các tài khoản bị báo cáo
admin:write: sửa đổi tất cả dữ liệu trên máy chủ
admin:write:accounts: áp đặt hành động kiểm duyệt trên tài khoản
- admin:write:canonical_email_blocks: áp đặt kiểm duyệt đối với chặn email
+ admin:write:canonical_email_blocks: áp đặt kiểm duyệt đối với chặn email biến thể
admin:write:domain_allows: áp đặt kiểm duyệt đối với các email cho phép
admin:write:domain_blocks: áp đặt kiểm duyệt đối với các tên miền chặn
admin:write:email_domain_blocks: áp đặt kiểm duyệt đối với các tên miền email chặn
admin:write:ip_blocks: áp đặt kiểm duyệt với các IP chặn
admin:write:reports: áp đặt kiểm duyệt với các báo cáo
crypto: dùng mã hóa đầu cuối
- follow: sửa đổi các mối quan hệ tài khoản
- profile: chỉ đọc thông tin tài khoản cơ bản
+ follow: sửa đổi các mối quan hệ
+ profile: chỉ xem thông tin tài khoản cơ bản
push: nhận thông báo đẩy
read: đọc mọi dữ liệu tài khoản
read:accounts: xem thông tin tài khoản
read:blocks: xem những người đã chặn
read:bookmarks: xem tút đã lưu
- read:favourites: xem lượt thích
+ read:favourites: xem tút đã thích
read:filters: xem bộ lọc
read:follows: xem những người theo dõi
read:lists: xem danh sách
@@ -182,7 +182,7 @@ vi:
read:reports: xem báo cáo của bạn
read:search: tìm kiếm
read:statuses: xem toàn bộ tút
- write: sửa đổi mọi dữ liệu tài khoản của bạn
+ write: sửa đổi mọi dữ liệu tài khoản
write:accounts: sửa đổi trang hồ sơ
write:blocks: chặn người và máy chủ
write:bookmarks: sửa đổi những tút lưu
@@ -194,5 +194,5 @@ vi:
write:media: tải lên tập tin
write:mutes: ẩn người và thảo luận
write:notifications: xóa thông báo
- write:reports: báo cáo người khác
+ write:reports: báo cáo
write:statuses: đăng tút
diff --git a/config/locales/doorkeeper.zh-CN.yml b/config/locales/doorkeeper.zh-CN.yml
index 46253d01b3..08f9885894 100644
--- a/config/locales/doorkeeper.zh-CN.yml
+++ b/config/locales/doorkeeper.zh-CN.yml
@@ -167,7 +167,7 @@ zh-CN:
admin:write:reports: 对举报执行管理操作
crypto: 使用端到端加密
follow: 关注或屏蔽用户
- profile: 仅读取你账户中的个人资料信息
+ profile: 仅读取你账号的个人资料信息
push: 接收你的账户的推送通知
read: 读取你的账户数据
read:accounts: 查看账号信息
diff --git a/config/locales/el.yml b/config/locales/el.yml
index 4496ec51a6..0df31b246f 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -1322,20 +1322,6 @@ el:
merge_long: Διατήρηση των εγγράφων που υπάρχουν και προσθήκη των νέων
overwrite: Αντικατάσταση
overwrite_long: Αντικατάσταση των υπαρχόντων εγγράφων με τις καινούργιες
- overwrite_preambles:
- blocking_html: Πρόκειται να αντικαταστήσεις τη λίστα αποκλεισμών με έως και %{total_items} λογαριασμούς από το %{filename}.
- bookmarks_html: Πρόκειται να αντικαταστήσεις τους σελιδοδείκτες σου με έως και %{total_items} αναρτήσεις από το %{filename}.
- domain_blocking_html: Πρόκειται να αντικαταστήσεις τη λίστα αποκλεισμών τομέων με έως και %{total_items} τομείς από το %{filename}.
- following_html: Πρόκειται να ακολουθήσεις μέχρι %{total_items} λογαριασμούς από το %{filename} και να σταματήσεις να ακολουθείς οποιονδήποτε άλλο.
- lists_html: Πρόκειται να αντικαταστήσεις τις λίστες σου με περιεχόμενο του %{filename}. Μέχρι %{total_items} λογαριασμοί θα προστεθούν σε νέες λίστες.
- muting_html: Πρόκειται να αντικαταστήσεις τη λίστα λογαριασμών σε σίγαση με έως και %{total_items} λογαριασμούς από το %{filename}.
- preambles:
- blocking_html: Πρόκειται να αποκλείσεις έως και %{total_items} λογαριασμούς από το %{filename}.
- bookmarks_html: Πρόκειται να προσθέσεις μέχρι και %{total_items} αναρτήσεις από το %{filename} στους σελιδοδείκτες σου.
- domain_blocking_html: Πρόκειται να αποκλείσεις έως και %{total_items} τομείς από το %{filename}.
- following_html: Πρόκειται να ακολουθήσεις έως και %{total_items} λογαριασμούς από το %{filename}.
- lists_html: Πρόκειται να προσθέσεις μέχρι και %{total_items} λογαριασμούς από το %{filename} στις λίστες σου. Θα δημιουργηθούν νέες λίστες αν δεν υπάρχει λίστα για προσθήκη.
- muting_html: Πρόκειται να κάνεις σίγαση σε έως και %{total_items} λογαριασμούς από το %{filename}.
preface: Μπορείς να εισάγεις τα δεδομένα που έχεις εξάγει από άλλο διακομιστή, όπως τη λίστα των ατόμων που ακολουθείς ή έχεις αποκλείσει.
recent_imports: Πρόσφατες Εισαγωγές
states:
diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml
index fbd48d1c31..fb284479f2 100644
--- a/config/locales/en-GB.yml
+++ b/config/locales/en-GB.yml
@@ -875,6 +875,9 @@ en-GB:
message_html: You haven't defined any server rules.
sidekiq_process_check:
message_html: No Sidekiq process running for the %{value} queue(s). Please review your Sidekiq configuration
+ software_version_check:
+ action: See available updates
+ message_html: A Mastodon update is available.
software_version_critical_check:
action: See available updates
message_html: A critical Mastodon update is available, please update as quickly as possible.
@@ -1162,7 +1165,6 @@ en-GB:
use_security_key: Use security key
author_attribution:
example_title: Sample text
- hint_html: Control how you're credited when links are shared on Mastodon.
more_from_html: More from %{name}
s_blog: "%{name}'s Blog"
title: Author attribution
@@ -1363,19 +1365,43 @@ en-GB:
overwrite: Overwrite
overwrite_long: Replace current records with the new ones
overwrite_preambles:
- blocking_html: You are about to replace your block list with up to %{total_items} accounts from %{filename}.
- bookmarks_html: You are about to replace your bookmarks with up to %{total_items} posts from %{filename}.
- domain_blocking_html: You are about to replace your domain block list with up to %{total_items} domains from %{filename}.
- following_html: You are about to follow up to %{total_items} accounts from %{filename} and stop following anyone else.
- lists_html: You are about to replace your lists with contents of %{filename}. Up to %{total_items} accounts will be added to new lists.
- muting_html: You are about to replace your list of muted accounts with up to %{total_items} accounts from %{filename}.
+ blocking_html:
+ one: You are about to replace your block list with up to %{count} account from %{filename}.
+ other: You are about to replace your block list with up to %{count} accounts from %{filename}.
+ bookmarks_html:
+ one: You are about to replace your bookmarks with up to %{count} post from %{filename}.
+ other: You are about to replace your bookmarks with up to %{count} posts from %{filename}.
+ domain_blocking_html:
+ one: You are about to replace your domain block list with up to %{count} domain from %{filename}.
+ other: You are about to replace your domain block list with up to %{count} domains from %{filename}.
+ following_html:
+ one: You are about to follow up to %{count} account from %{filename} and stop following anyone else.
+ other: You are about to follow up to %{count} accounts from %{filename} and stop following anyone else.
+ lists_html:
+ one: You are about to replace your lists with contents of %{filename}. Up to %{count} account will be added to new lists.
+ other: You are about to replace your lists with contents of %{filename}. Up to %{count} accounts will be added to new lists.
+ muting_html:
+ one: You are about to replace your list of muted account with up to %{count} account from %{filename}.
+ other: You are about to replace your list of muted accounts with up to %{count} accounts from %{filename}.
preambles:
- blocking_html: You are about to block up to %{total_items} accounts from %{filename}.
- bookmarks_html: You are about to add up to %{total_items} posts from %{filename} to your bookmarks.
- domain_blocking_html: You are about to block up to %{total_items} domains from %{filename}.
- following_html: You are about to follow up to %{total_items} accounts from %{filename}.
- lists_html: You are about to add up to %{total_items} accounts from %{filename} to your lists. New lists will be created if there is no list to add to.
- muting_html: You are about to mute up to %{total_items} accounts from %{filename}.
+ blocking_html:
+ one: You are about to block up to %{count} account from %{filename}.
+ other: You are about to block up to %{count} accounts from %{filename}.
+ bookmarks_html:
+ one: You are about to add up to %{count} post from %{filename} to your bookmarks.
+ other: You are about to add up to %{count} posts from %{filename} to your bookmarks.
+ domain_blocking_html:
+ one: You are about to block up to %{count} domain from %{filename}.
+ other: You are about to block up to %{count} domains from %{filename}.
+ following_html:
+ one: You are about to follow up to %{count} account from %{filename}.
+ other: You are about to follow up to %{count} accounts from %{filename}.
+ lists_html:
+ one: You are about to add up to %{count} account from %{filename} to your lists. New lists will be created if there is no list to add to.
+ other: You are about to add up to %{count} accounts from %{filename} to your lists. New lists will be created if there is no list to add to.
+ muting_html:
+ one: You are about to mute up to %{count} account from %{filename}.
+ other: You are about to mute up to %{count} accounts from %{filename}.
preface: You can import data that you have exported from another server, such as a list of the people you are following or blocking.
recent_imports: Recent imports
states:
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 42327ae183..e9c8822d5a 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -21,6 +21,7 @@ en:
one: Post
other: Posts
posts_tab_heading: Posts
+ self_follow_error: Following your own account is not allowed
admin:
account_actions:
action: Perform action
@@ -1165,9 +1166,11 @@ en:
use_security_key: Use security key
author_attribution:
example_title: Sample text
- hint_html: Control how you're credited when links are shared on Mastodon.
+ hint_html: Are you writing news or blog articles outside of Mastodon? Control how you get credited when they are shared on Mastodon.
+ instructions: 'Make sure this code is in your article''s HTML:'
more_from_html: More from %{name}
s_blog: "%{name}'s Blog"
+ then_instructions: Then, add the domain name of the publication in the field below.
title: Author attribution
challenge:
confirm: Continue
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index 10b297f1a8..3d63ecd01d 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -19,8 +19,9 @@ eo:
following: Vi devas sekvi la homon, kiun vi volas proponi
posts:
one: Afiŝo
- other: Mesaĝoj
+ other: Afiŝoj
posts_tab_heading: Afiŝoj
+ self_follow_error: Sekvi vian propran konton ne estas permesita
admin:
account_actions:
action: Plenumi agon
@@ -60,6 +61,7 @@ eo:
demote: Degradi
destroyed_msg: Datumoj de %{username} nun enviciĝis por esti forigita baldaǔ
disable: Frostigi
+ disable_sign_in_token_auth: Malebligu retpoŝtan ĵeton-aŭtentikigon
disable_two_factor_authentication: Malŝalti 2FA-n
disabled: Frostigita
display_name: Montrata nomo
@@ -68,6 +70,7 @@ eo:
email: Retpoŝto
email_status: Stato de retpoŝto
enable: Malfrostigi
+ enable_sign_in_token_auth: Ebligu retpoŝtan ĵeton-aŭtentikigon
enabled: Ebligita
enabled_msg: Sukcese malfrostigis konton de %{username}
followers: Sekvantoj
@@ -80,8 +83,8 @@ eo:
joined: Aliĝis
location:
all: Ĉiuj
- local: Lokaj
- remote: Foraj
+ local: Loka
+ remote: Fora
title: Loko
login_status: Ensaluta stato
media_attachments: Plurmediaj aldonaĵoj
@@ -132,6 +135,7 @@ eo:
resubscribe: Reaboni
role: Rolo
search: Serĉi
+ search_same_email_domain: Aliaj uzantoj kun la sama retpoŝta domajno
search_same_ip: Aliaj uzantoj kun la sama IP
security: Sekureco
security_measures:
@@ -172,21 +176,26 @@ eo:
approve_appeal: Aprobis Apelacion
approve_user: Aprobi Uzanton
assigned_to_self_report: Atribui Raporton
+ change_email_user: Ŝanĝu retpoŝton por uzanto
change_role_user: Ŝanĝi Rolon de Uzanton
confirm_user: Konfirmi uzanton
create_account_warning: Krei averton
create_announcement: Krei Anoncon
+ create_canonical_email_block: Krei retpoŝtan blokon
create_custom_emoji: Krei Propran Emoĝion
create_domain_allow: Krei Domajnan Permeson
create_domain_block: Krei Blokadon De Domajno
+ create_email_domain_block: Krei retpoŝtan domajnan blokon
create_ip_block: Krei IP-regulon
create_unavailable_domain: Krei Nehaveblan Domajnon
create_user_role: Krei Rolon
demote_user: Malpromocii Uzanton
destroy_announcement: Forigi Anoncon
+ destroy_canonical_email_block: Forigi retpoŝtan blokon
destroy_custom_emoji: Forigi Propran Emoĝion
destroy_domain_allow: Forigi Domajnan Permeson
destroy_domain_block: Forigi blokadon de domajno
+ destroy_email_domain_block: Forigi retpoŝtan domajnan blokon
destroy_instance: Forigi Domajnon
destroy_ip_block: Forigi IP-regulon
destroy_status: Forigi Afiŝon
@@ -430,6 +439,7 @@ eo:
title: Bloki novan retpoŝtan domajnon
not_permitted: Ne permesita
resolved_through_html: Solvis tra %{domain}
+ title: Blokis retpoŝtajn domajnojn
export_domain_allows:
new:
title: Importi domajnpermesojn
@@ -582,6 +592,9 @@ eo:
actions_description_remote_html: Decidu kiun klopodon por solvi ĉi tiun raporton. Ĉi tiu efikas kiel nur via servilo komuniki per ĉi tiu fora konto kaj trakti ĝian enhavon.
actions_no_posts: Ĉi tiu raporto havas neniujn rilatajn afiŝojn por forigi
add_to_report: Aldoni pli al raporto
+ already_suspended_badges:
+ local: Jam malakceptita sur ĉi tiu servilo
+ remote: Jam malakceptita sur ilia servilo
are_you_sure: Ĉu vi certas?
assign_to_self: Asigni al mi
assigned: Asignita kontrolanto
@@ -730,6 +743,7 @@ eo:
desc_html: Ĉi tio dependas de eksteraj hCaptcha-skriptoj, kiuj povas esti problemo pri sekureco kaj privateco. Ankaŭ, ĝi povas igi la registran procezon multe malpli alirebla por iuj homoj (precipe homoj kun handikapoj). Pro ĉi tiuj kialoj, bonvolu konsideri alternativajn rimedojn kiel registradon per aprobo aŭ per invito.
title: Postuli novajn uzantojn solvi CAPTCHA por konfirmi sian konton
content_retention:
+ danger_zone: Danĝera zono
preamble: Regi kiel uzantogenerita enhavo konservitis en Mastodon.
title: Enhavkonservo
default_noindex:
@@ -827,9 +841,11 @@ eo:
sidekiq_process_check:
message_html: Neniu Sidekiq-procezo por la %{value} vico
software_version_check:
+ action: Vidi disponeblajn ĝisdatigojn
message_html: Mastodon-ĝisdatigo disponeblas.
software_version_critical_check:
action: Vidi disponeblajn ĝisdatigojn
+ message_html: Grava ĝisdatigo de Mastodon disponeblas, bonvolu ĝisdatigi kiel eble plej rapide.
software_version_patch_check:
action: Vidi disponeblajn ĝisdatigojn
upload_check_privacy_error:
@@ -844,6 +860,8 @@ eo:
name: Nomo
newest: Plej novaj
oldest: Plej malnovaj
+ open: Vidu publike
+ reset: Restartigi
review: La statuso de la recenzo
search: Serĉi
title: Kradvortoj
@@ -859,7 +877,9 @@ eo:
allow: Permesi ligilon
allow_provider: Permesi publikiganto
confirm_allow: Ĉu vi certas, ke vi volas permesi elektitajn ligilojn?
+ confirm_allow_provider: Ĉu vi certas, ke vi volas permesi elektitajn provizantojn?
confirm_disallow: Ĉu vi certas, ke vi volas malpermesi elektitajn ligilojn?
+ confirm_disallow_provider: Ĉu vi certas, ke vi volas malpermesi elektitajn provizantojn?
description_html: Ĉioj estas ligiloj kiuj nun diskonitajs multe de kontoj kiujn via servilo vidas. Ligiloj ne montritas publike se vi ne aprobis la publikiganton.
disallow: Malpermesi ligilon
disallow_provider: Malpermesi publikiganton
@@ -917,6 +937,7 @@ eo:
used_by_over_week:
one: Uzita de 1 persono ekde lasta semajno
other: Uzita de %{count} personoj ekde lasta semajno
+ title: Rekomendoj kaj Tendencoj
trending: Popularaĵoj
warning_presets:
add_new: Aldoni novan
@@ -956,6 +977,8 @@ eo:
body: "%{target} apelacias kontroldecido de %{action_taken_by} de %{date}, kiu estas %{type}. Ĝi skribis:"
next_steps: Vi povas aprobi apelacion por malfari kontroldecidon au ignori.
subject: "%{username} apelacias kontroldecidon ĉe %{instance}"
+ new_critical_software_updates:
+ body: Novaj gravaj versioj de Mastodon estis publikigitaj, vi eble volas ĝisdatigi kiel eble plej baldaŭ!
new_pending_account:
body: La detaloj de la nova konto estas ĉi-sube. Vi povas akcepti aŭ malakcepti tiun aliĝilon.
subject: Nova konto atendas por recenzo en %{instance} (%{username})
@@ -965,6 +988,7 @@ eo:
subject: Nova signalo por %{instance} (#%{id})
new_software_updates:
body: Novaj versioj de Mastodon estis publikigitaj, vi eble volas ĝisdatigi!
+ subject: Novaj versioj de Mastodon disponeblas por %{instance}!
new_trends:
body: 'La eroj bezonas kontrolon antau ol ili povas montritas publike:'
new_trending_links:
@@ -1012,6 +1036,7 @@ eo:
apply_for_account: Peti konton
captcha_confirmation:
help_html: Se vi havas problemojn solvi la CAPTCHA, vi povas kontakti nin per %{email} kaj ni povas helpi vin.
+ hint_html: Nur unu plia afero! Ni devas konfirmi, ke vi estas homo (tio estas por ke ni povu konservi la spamon ekstere!). Solvu la CAPTCHA sube kaj alklaku "Daŭrigu".
title: Sekureckontrolo
confirmations:
clicking_this_link: alklakante ĉi tiun ligilon
@@ -1062,6 +1087,7 @@ eo:
set_new_password: Elekti novan pasvorton
setup:
link_not_received: Ĉu vi ne ricevis ligilon?
+ new_confirmation_instructions_sent: Vi ricevos novan retpoŝton kun la konfirma ligilo post kelkaj minutoj!
title: Kontrolu vian retpoŝta enirkesto
sign_in:
preamble_html: Ensalutu per via detaloj de %{domain}. Se via konto gastigantigas sur malsama servilo, vi ne povas ensaluti ĉi tie.
@@ -1280,6 +1306,7 @@ eo:
states:
finished: Finita
in_progress: Farata
+ scheduled: Planitaj
unconfirmed: Nekonfirmita
status: Stato
success: Viaj datumoj estis sukcese alŝutitaj kaj estos traktitaj kiel planite
@@ -1475,6 +1502,8 @@ eo:
errors:
limit_reached: Limito de malsamaj reagoj atinginta
unrecognized_emoji: ne estas rekonita emoĝio
+ redirects:
+ prompt: Se vi fidas ĉi tiun ligon, alklaku ĝin por daŭrigi.
relationships:
activity: Konta aktiveco
confirm_follow_selected_followers: Ĉu vi certas ke vi volas sekvi la elektitajn sekvantojn?
@@ -1569,10 +1598,12 @@ eo:
delete: Konta forigo
development: Evoluigado
edit_profile: Redakti profilon
+ export: Eksporti
featured_tags: Elstarigitaj kradvortoj
import: Enporti
import_and_export: Importi kaj eksporti
migrate: Konta migrado
+ notifications: Retpoŝtaj sciigoj
preferences: Preferoj
profile: Profilo
relationships: Sekvatoj kaj sekvantoj
@@ -1581,6 +1612,9 @@ eo:
two_factor_authentication: Dufaktora aŭtentigo
webauthn_authentication: Sekurecaj ŝlosiloj
severed_relationships:
+ download: Elŝuti (%{count})
+ event_type:
+ user_domain_block: Vi blokis %{target_name}
lost_followers: Perditaj sekvantoj
type: Evento
statuses:
@@ -1749,11 +1783,17 @@ eo:
explanation: Jen kelkaj konsiloj por helpi vin komenci
feature_action: Lerni pli
follow_action: Sekvi
+ hashtags_recent_count:
+ one: "%{people} homo en la pasintaj 2 tagoj"
+ other: "%{people} homoj en la pasintaj 2 tagoj"
hashtags_title: Popularaj kradvortoj
hashtags_view_more: Vidi pli da popularaj kradvortoj
+ post_action: Redakti
post_step: Salutu la mondon per teksto, fotoj, filmetoj aŭ balotenketoj.
post_title: Faru vian unuan afiŝon
+ share_action: Kundividi
share_step: Sciigu viajn amikojn kiel trovi vin sur Mastodon.
+ share_title: Kunhavigu vian Mastodon-profilon
sign_in_action: Ensaluti
subject: Bonvenon en Mastodon
title: Bonvenon, %{name}!
diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml
index 49b8f288fa..a27ba1a548 100644
--- a/config/locales/es-AR.yml
+++ b/config/locales/es-AR.yml
@@ -21,6 +21,7 @@ es-AR:
one: Mensaje
other: Mensajes
posts_tab_heading: Mensajes
+ self_follow_error: No está permitido seguir tu propia cuenta
admin:
account_actions:
action: Ejecutar acción
@@ -1165,9 +1166,11 @@ es-AR:
use_security_key: Usar la llave de seguridad
author_attribution:
example_title: Texto de ejemplo
- hint_html: Controlá cómo se te da crédito cuando los enlaces son compartidos en Mastodon.
+ hint_html: "¿Escribes noticias o artículos de blog fuera de Mastodon? Controla cómo se te acredita cuando se comparten en Mastodon."
+ instructions: 'Asegúrate de que este código está en el HTML de tu artículo:'
more_from_html: Más de %{name}
s_blog: Blog de %{name}
+ then_instructions: A continuación, añade el nombre de dominio de la publicación en el campo inferior.
title: Atribución del autor
challenge:
confirm: Continuar
@@ -1366,19 +1369,43 @@ es-AR:
overwrite: Sobrescribir
overwrite_long: Reemplazar registros actuales con los nuevos
overwrite_preambles:
- blocking_html: Estás a punto de reemplazar tu lista de bloqueos por hasta %{total_items} cuentas provenientes de %{filename}.
- bookmarks_html: Estás a punto de reemplazar tus marcadores por hasta %{total_items} mensajes provenientes de %{filename}.
- domain_blocking_html: Estás a punto de reemplazar tu lista de bloqueos de dominio por hasta %{total_items} dominios provenientes de %{filename}.
- following_html: Estás a punto de seguir hasta %{total_items} cuentas provenientes de %{filename} y dejar de seguir a cualquier otra cuenta.
- lists_html: Estás a punto de reemplazar tus listas con el contenido de %{filename}. Se agregarán hasta %{total_items} cuentas a listas nuevas.
- muting_html: Estás a punto de reemplazar tu lista de cuentas silenciadas con hasta %{total_items} cuentas provenientes de %{filename}.
+ blocking_html:
+ one: Estás a punto de reemplazar tu lista de bloqueos por hasta %{count} cuenta provenientes de %{filename}.
+ other: Estás a punto de reemplazar tu lista de bloqueos por hasta %{count} cuentas provenientes de %{filename}.
+ bookmarks_html:
+ one: Estás a punto de reemplazar tus marcadores por hasta %{count} mensaje provenientes de %{filename}.
+ other: Estás a punto de reemplazar tus marcadores por hasta %{count} mensajes provenientes de %{filename}.
+ domain_blocking_html:
+ one: Estás a punto de reemplazar tu lista de bloqueos de dominio por hasta %{count} dominio provenientes de %{filename}.
+ other: Estás a punto de reemplazar tu lista de bloqueos de dominio por hasta %{count} dominios provenientes de %{filename}.
+ following_html:
+ one: Estás a punto de seguir hasta %{count} cuenta provenientes de %{filename} y dejar de seguir a cualquier otra cuenta.
+ other: Estás a punto de seguir hasta %{count} cuentas provenientes de %{filename} y dejar de seguir a cualquier otra cuenta.
+ lists_html:
+ one: Estás a punto de reemplazar tus listas con el contenido de %{filename}. Se agregarán hasta %{count} cuenta a listas nuevas.
+ other: Estás a punto de reemplazar tus listas con el contenido de %{filename}. Se agregarán hasta %{count} cuentas a listas nuevas.
+ muting_html:
+ one: Estás a punto de reemplazar tu lista de cuentas silenciadas con hasta %{count} cuenta provenientes de %{filename}.
+ other: Estás a punto de reemplazar tu lista de cuentas silenciadas con hasta %{count} cuentas provenientes de %{filename}.
preambles:
- blocking_html: Estás a punto de bloquear hasta %{total_items} cuentas provenientes de %{filename}.
- bookmarks_html: Está a punto de agregar hasta %{total_items} mensajes provenientes de %{filename} a tus marcadores.
- domain_blocking_html: Estás a punto de bloquear hasta %{total_items} dominios provenientes de %{filename}.
- following_html: Estás a punto de seguir hasta cuentas%{total_items} provenientes de %{filename}.
- lists_html: Estás a punto de agregar hasta %{total_items} cuentas desde %{filename} a tus listas. Se crearán nuevas listas si no hay lista a cual agregar.
- muting_html: Estás a punto de silenciar hasta %{total_items} cuentas provenientes de %{filename}.
+ blocking_html:
+ one: Estás a punto de bloquear hasta %{count} cuenta provenientes de %{filename}.
+ other: Estás a punto de bloquear hasta %{count} cuentas provenientes de %{filename}.
+ bookmarks_html:
+ one: Está a punto de agregar hasta %{count} mensaje provenientes de %{filename} a tus marcadores.
+ other: Está a punto de agregar hasta %{count} mensajes provenientes de %{filename} a tus marcadores.
+ domain_blocking_html:
+ one: Estás a punto de bloquear hasta %{count} dominio provenientes de %{filename}.
+ other: Estás a punto de bloquear hasta %{count} dominios provenientes de %{filename}.
+ following_html:
+ one: Estás a punto de seguir hasta %{count} cuenta provenientes de %{filename}.
+ other: Estás a punto de seguir hasta %{count} cuentas provenientes de %{filename}.
+ lists_html:
+ one: Estás a punto de agregar hasta %{count} cuenta desde %{filename} a tus listas. Se crearán nuevas listas si no hay lista a cuál agregar.
+ other: Estás a punto de agregar hasta %{count} cuentas desde %{filename} a tus listas. Se crearán nuevas listas si no hay lista a cuál agregar.
+ muting_html:
+ one: Estás a punto de silenciar hasta %{count} cuenta provenientes de %{filename}.
+ other: Estás a punto de silenciar hasta %{count} cuentas provenientes de %{filename}.
preface: Podés importar ciertos datos que exportaste desde otro servidor, como una lista de las cuentas que estás siguiendo o bloqueando.
recent_imports: Importaciones recientes
states:
diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml
index 0f4c8452c0..fef805680a 100644
--- a/config/locales/es-MX.yml
+++ b/config/locales/es-MX.yml
@@ -21,6 +21,7 @@ es-MX:
one: Toot
other: Toots
posts_tab_heading: Toots
+ self_follow_error: No se permite seguir tu propia cuenta
admin:
account_actions:
action: Realizar acción
@@ -180,21 +181,21 @@ es-MX:
confirm_user: Confirmar Usuario
create_account_warning: Crear Advertencia
create_announcement: Crear Anuncio
- create_canonical_email_block: Crear Bloqueo de Correo Electrónico
+ create_canonical_email_block: Crear bloqueo de correo electrónico
create_custom_emoji: Crear Emoji Personalizado
create_domain_allow: Crear Permiso de Dominio
create_domain_block: Crear Bloqueo de Dominio
- create_email_domain_block: Crear Bloqueo de Dominio de Correo Electrónico
+ create_email_domain_block: Crear bloqueo de dominio de correo electrónico
create_ip_block: Crear regla IP
create_unavailable_domain: Crear Dominio No Disponible
create_user_role: Crear rol
demote_user: Degradar Usuario
destroy_announcement: Eliminar Anuncio
- destroy_canonical_email_block: Eliminar Bloqueo de Correo Electrónico
+ destroy_canonical_email_block: Eliminar bloqueo de correo electrónico
destroy_custom_emoji: Eliminar Emoji Personalizado
destroy_domain_allow: Eliminar Permiso de Dominio
destroy_domain_block: Eliminar Bloqueo de Dominio
- destroy_email_domain_block: Eliminar Bloqueo de Dominio de Correo Electrónico
+ destroy_email_domain_block: Eliminar bloqueo de dominio de correo electrónico
destroy_instance: Purgar dominio
destroy_ip_block: Eliminar regla IP
destroy_status: Eliminar Estado
@@ -240,7 +241,7 @@ es-MX:
confirm_user_html: "%{name} confirmó la dirección de correo electrónico del usuario %{target}"
create_account_warning_html: "%{name} envió una advertencia a %{target}"
create_announcement_html: "%{name} ha creado un nuevo anuncio %{target}"
- create_canonical_email_block_html: "%{name} bloqueó el correo electrónico con el hash %{target}"
+ create_canonical_email_block_html: "%{name} ha bloqueado el correo electrónico con el hash %{target}"
create_custom_emoji_html: "%{name} subió un nuevo emoji %{target}"
create_domain_allow_html: "%{name} permitió la federación con el dominio %{target}"
create_domain_block_html: "%{name} bloqueó el dominio %{target}"
@@ -250,7 +251,7 @@ es-MX:
create_user_role_html: "%{name} creó el rol %{target}"
demote_user_html: "%{name} degradó al usuario %{target}"
destroy_announcement_html: "%{name} eliminó el anuncio %{target}"
- destroy_canonical_email_block_html: "%{name} desbloqueó el correo electrónico con el hash %{target}"
+ destroy_canonical_email_block_html: "%{name} ha desbloqueado el correo electrónico con el hash %{target}"
destroy_custom_emoji_html: "%{name} eliminó el emoji %{target}"
destroy_domain_allow_html: "%{name} bloqueó la federación con el dominio %{target}"
destroy_domain_block_html: "%{name} desbloqueó el dominio %{target}"
@@ -262,10 +263,10 @@ es-MX:
destroy_user_role_html: "%{name} eliminó el rol %{target}"
disable_2fa_user_html: "%{name} desactivó el requisito de dos factores para el usuario %{target}"
disable_custom_emoji_html: "%{name} desactivó el emoji %{target}"
- disable_sign_in_token_auth_user_html: "%{name} ha deshabilitado la autenticación por token de correo electrónico para %{target}"
+ disable_sign_in_token_auth_user_html: "%{name} desactivó la autenticación por token de correo electrónico para %{target}"
disable_user_html: "%{name} deshabilitó el inicio de sesión para el usuario %{target}"
enable_custom_emoji_html: "%{name} activó el emoji %{target}"
- enable_sign_in_token_auth_user_html: "%{name} ha habilitado la autenticación por token de correo electrónico para %{target}"
+ enable_sign_in_token_auth_user_html: "%{name} activó autenticación por token de correo electrónico para %{target}"
enable_user_html: "%{name} habilitó el inicio de sesión para el usuario %{target}"
memorialize_account_html: "%{name} convirtió la cuenta de %{target} en una página in memoriam"
promote_user_html: "%{name} promoción al usuario %{target}"
@@ -273,7 +274,7 @@ es-MX:
reject_user_html: "%{name} rechazó el registro de %{target}"
remove_avatar_user_html: "%{name} eliminó el avatar de %{target}"
reopen_report_html: "%{name} reabrió el informe %{target}"
- resend_user_html: "%{name} ha reenviado el correo de confirmación para %{target}"
+ resend_user_html: "%{name} reenvió correo electrónico de confirmación para %{target}"
reset_password_user_html: "%{name} reinició la contraseña del usuario %{target}"
resolve_report_html: "%{name} resolvió el informe %{target}"
sensitive_account_html: "%{name} marcó la multimedia de %{target} como sensible"
@@ -604,7 +605,7 @@ es-MX:
suspend_description_html: La cuenta y todos sus contenidos serán inaccesibles y eventualmente eliminados, e interactuar con ella será imposible. Reversible durante 30 días. Cierra todos los reportes contra esta cuenta.
actions_description_html: Decide qué medidas tomar para resolver esta denuncia. Si tomas una acción punitiva contra la cuenta denunciada, se le enviará a dicha cuenta una notificación por correo electrónico, excepto cuando se seleccione la categoría Spam.
actions_description_remote_html: Decide qué medidas tomar para resolver este reporte. Esto solo afectará a la forma en que tu servidor se comunica con esta cuenta remota y gestiona su contenido.
- actions_no_posts: Este informe no tiene ningún mensaje asociado para eliminar
+ actions_no_posts: Este informe no tiene ninguna publicación asociada para eliminar
add_to_report: Añadir más al reporte
already_suspended_badges:
local: Ya suspendido en este servidor
@@ -801,7 +802,7 @@ es-MX:
destroyed_msg: "¡Carga del sitio eliminada con éxito!"
software_updates:
critical_update: Crítico — por favor actualiza rápidamente
- description: Se recomienda mantener actualizada tu instalación de Mastodon para beneficiarte de las últimas correcciones y características. Además, a veces es crítico actualizar Mastodon de manera oportuna para evitar problemas de seguridad. Por estas razones, Mastodon comprueba si hay actualizaciones cada 30 minutos, y te notificará de acuerdo a tus preferencias de notificación por correo electrónico.
+ description: Se recomienda mantener tu instalación de Mastodon actualizada para beneficiarte de las últimas correcciones y características. Además, a veces es crítico actualizar Mastodon a tiempo para evitar problemas de seguridad. Por estas razones, Mastodon busca actualizaciones cada 30 minutos, y le notificará de acuerdo a sus preferencias de notificación por correo electrónico.
documentation_link: Saber más
release_notes: Notas de la versión
title: Actualizaciones disponibles
@@ -876,8 +877,8 @@ es-MX:
sidekiq_process_check:
message_html: No hay ningún proceso Sidekiq en ejecución para la(s) cola(s) %{value}. Por favor, revise su configuración de Sidekiq
software_version_check:
- action: Ver actualizaciones disponibles
- message_html: Hay disponible una actualización de Mastodon.
+ action: Ver las actualizaciones disponibles
+ message_html: Ya está disponible una actualización de Mastodon.
software_version_critical_check:
action: Ver actualizaciones disponibles
message_html: Una actualización crítica de Mastodon está disponible, por favor actualice lo antes posible.
@@ -1165,9 +1166,11 @@ es-MX:
use_security_key: Usar la clave de seguridad
author_attribution:
example_title: Texto de ejemplo
- hint_html: Controla cómo se te dará atribución cuando se compartan enlaces en Mastodon.
+ hint_html: "¿Estás escribiendo artículos de noticias o blogs fuera de Mastodon? Controla cómo te acreditan cuando se comparten en Mastodon."
+ instructions: 'Asegúrate de que este código esté en el HTML de tu artículo:'
more_from_html: Más de %{name}
s_blog: Blog de %{name}
+ then_instructions: A continuación, añade el nombre de dominio de la publicación en el campo inferior.
title: Atribución del autor
challenge:
confirm: Continuar
@@ -1366,19 +1369,43 @@ es-MX:
overwrite: Sobrescribir
overwrite_long: Reemplazar registros actuales con los nuevos
overwrite_preambles:
- blocking_html: Estás a punto de reemplazar tu lista de bloqueos por hasta %{total_items} cuentas provenientes de %{filename}.
- bookmarks_html: Estás a punto de reemplazar tus marcadores por hasta %{total_items} publicaciones provenientes de %{filename}.
- domain_blocking_html: Estás a punto de reemplazar tu lista de bloqueos de dominio por hasta %{total_items} dominios provenientes de %{filename}.
- following_html: Estás a punto de seguir hasta %{total_items} cuentas provenientes de %{filename} y dejar de seguir a cualquier otra cuenta.
- lists_html: Estás a punto de reemplazar tus listas con contenidos de %{filename}. %{total_items} cuentas se añadirán a listas nuevas.
- muting_html: Estás a punto de reemplazar tu lista de cuentas silenciadas con hasta %{total_items} cuentas proveninetes de %{filename}.
+ blocking_html:
+ one: Estás a punto de reemplazar tu lista de bloqueos por %{count} cuenta proveniente de %{filename}.
+ other: Estás a punto de reemplazar tu lista de bloqueos por hasta %{count} cuentas provenientes de %{filename}.
+ bookmarks_html:
+ one: Estás a punto de reemplazar tus marcadores por %{count} publicación proveniente de %{filename}.
+ other: Estás a punto de reemplazar tus marcadores por hasta %{count} publicaciones provenientes de %{filename}.
+ domain_blocking_html:
+ one: Estás a punto de reemplazar tu lista de bloqueos de dominio por %{count} dominio proveniente de %{filename}.
+ other: Estás a punto de reemplazar tu lista de bloqueos de dominio por hasta %{count} dominios provenientes de %{filename}.
+ following_html:
+ one: Estás a punto de seguir a %{count} cuenta proveniente de %{filename} y dejar de seguir a cualquier otra cuenta.
+ other: Estás a punto de seguir hasta %{count} cuentas provenientes de %{filename} y dejar de seguir a cualquier otra cuenta.
+ lists_html:
+ one: Estás a punto de reemplazar tus listas con el contenido de %{filename}. Se añadirá %{count} cuenta a una nueva lista.
+ other: Estás a punto de reemplazar tus listas con el contenido de %{filename}. Se añadirán %{count} cuentas a nuevas listas.
+ muting_html:
+ one: Estás a punto de reemplazar tu lista de cuentas silenciadas con %{count} cuenta proveninete de %{filename}.
+ other: Estás a punto de reemplazar tu lista de cuentas silenciadas con hasta %{count} cuentas provenientes de %{filename}.
preambles:
- blocking_html: Estás a punto de bloquear hasta %{total_items} cuentas proveninetes de %{filename}.
- bookmarks_html: Estás a punto de añadir hasta %{total_items} publicaciones proveninetes de %{filename} a tus marcadores.
- domain_blocking_html: Estás a punto de bloquear hasta %{total_items} dominios provenientes de %{filename}.
- following_html: Estás a punto de seguir hasta cuentas%{total_items} provenientes de %{filename}.
- lists_html: Estás a punto de añadir %{total_items} cuentas desde %{filename} a tus listas. Se crearán nuevas listas si no hay listas para añadirlas.
- muting_html: Estás a punto de silenciar hasta %{total_items} cuentas provenientes de %{filename}.
+ blocking_html:
+ one: Estás a punto de bloquear a %{count} cuenta proveninete de %{filename}.
+ other: Estás a punto de bloquear hasta %{count} cuentas provenientes de %{filename}.
+ bookmarks_html:
+ one: Está a punto de añadir %{count} publicación proveniente de %{filename} a tus marcadores.
+ other: Está a punto de añadir hasta %{count} publicaciones provenientes de %{filename} a tus marcadores.
+ domain_blocking_html:
+ one: Estás a punto de bloquear %{count} dominio proveniente de %{filename}.
+ other: Estás a punto de bloquear hasta %{count} dominios provenientes de %{filename}.
+ following_html:
+ one: Estás a punto de seguir a %{count} cuenta proveniente de %{filename}.
+ other: Estás a punto de seguir hasta %{count} cuentas provenientes de %{filename}.
+ lists_html:
+ one: Estás a punto de añadir %{count} cuenta desde %{filename} a tus listas. Se creará una nueva listas si no hay listas donde añadirla.
+ other: Estás a punto de añadir %{count} cuentas desde %{filename} a tus listas. Se crearán nuevas listas si no hay listas donde añadirlas.
+ muting_html:
+ one: Estás a punto de silenciar a %{count} cuenta proveniente de %{filename}.
+ other: Estás a punto de silenciar hasta %{count} cuentas provenientes de %{filename}.
preface: Puedes importar ciertos datos, como todas las personas que estás siguiendo o bloqueando en tu cuenta en esta instancia, desde archivos exportados de otra instancia.
recent_imports: Importaciones recientes
states:
@@ -1453,8 +1480,8 @@ es-MX:
emails:
notification_emails:
favourite: correos de notificación de favoritos
- follow: correos de notificación de nuevos seguidores
- follow_request: correos de notificación de solicitud de seguidor
+ follow: correos electrónicos de notificación de seguimiento
+ follow_request: correos electrónicos de solicitud de seguimiento
mention: correos de notificación de menciones
reblog: correos de notificación de impulsos
resubscribe_html: Si te has dado de baja por error, puedes volver a darte de alta desde tus ajustes de notificaciones por correo.
@@ -1532,9 +1559,9 @@ es-MX:
poll:
subject: Una encuesta de %{name} ha terminado
reblog:
- body: "%{name} ha retooteado tu estado:"
- subject: "%{name} ha retooteado tu estado"
- title: Nueva difusión
+ body: 'Tu publicación fue impulsada por %{name}:'
+ subject: "%{name} ha impulsado tu publicación"
+ title: Nuevo impulso
status:
subject: "%{name} acaba de publicar"
update:
@@ -1746,7 +1773,7 @@ es-MX:
direct: Las publicaciones que son visibles solo para los usuarios mencionados no pueden fijarse
limit: Ya has fijado el número máximo de publicaciones
ownership: El toot de alguien más no puede fijarse
- reblog: Un boost no puede fijarse
+ reblog: No se puede fijar una publicación impulsada
title: "%{name}: «%{quote}»"
visibilities:
direct: Directa
@@ -1762,9 +1789,9 @@ es-MX:
exceptions: Excepciones
explanation: Debido a que la eliminación de mensajes es una operación costosa, esto se hace lentamente, a lo largo de un tiempo, cuando el servidor no está ocupado. Por este motivo, puede que tus publicaciones sean borradas algo después de que alcancen el umbral de tiempo especificado.
ignore_favs: Ignorar favoritos
- ignore_reblogs: Ignorar reblogueos
+ ignore_reblogs: Ignorar impulsos
interaction_exceptions: Excepciones basadas en interacciones
- interaction_exceptions_explanation: Ten en cuenta que no hay garantía de que se eliminen las publicaciones que están por debajo de los umbrales de favoritos o de reblogueos si los han superado en algún momento.
+ interaction_exceptions_explanation: Ten en cuenta que no se garantiza la eliminación de las publicaciones si bajan del umbral de favoritos o de impulso después de haberlos superado una vez.
keep_direct: Mantener mensajes directos
keep_direct_hint: No elimina ninguno de tus mensajes directos
keep_media: Mantener publicaciones con multimedia adjunto
@@ -1789,7 +1816,7 @@ es-MX:
min_age_label: Umbral de tiempo
min_favs: Mantener mensajes con un número de favoritos mayor que
min_favs_hint: No borra ninguna de las publicaciones que hayan recibido al menos esta cantidad de favoritos. Deja en blanco para eliminar publicaciones sin importar el número de favoritos
- min_reblogs: Mantener publicaciones reblogueadas más de
+ min_reblogs: Mantener publicaciones impulsadas más de
min_reblogs_hint: No borra ninguna de las publicaciones que hayan sido reblogueadas más de este número de veces. Deja en blanco para eliminar publicaciones sin importar el número de reblogueos
stream_entries:
sensitive_content: Contenido sensible
@@ -1897,7 +1924,7 @@ es-MX:
checklist_subtitle: 'Comencemos en esta nueva frontera social:'
checklist_title: Lista de bienvenida
edit_profile_action: Personalizar
- edit_profile_step: Aumenta tus interacciones con un perfil completo.
+ edit_profile_step: Aumenta tus interacciones completando tu perfil.
edit_profile_title: Personaliza tu perfil
explanation: Aquí hay algunos consejos para empezar
feature_action: Leer más
diff --git a/config/locales/es.yml b/config/locales/es.yml
index aa18e7b52e..8690c1cdfb 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -21,6 +21,7 @@ es:
one: Publicación
other: Publicaciones
posts_tab_heading: Publicaciones
+ self_follow_error: No está permitido seguir tu propia cuenta
admin:
account_actions:
action: Realizar acción
@@ -1165,9 +1166,11 @@ es:
use_security_key: Usar la clave de seguridad
author_attribution:
example_title: Texto de ejemplo
- hint_html: Controla cómo se te dará atribución cuando se compartan enlaces en Mastodon.
+ hint_html: "¿Escribes noticias o artículos de blog fuera de Mastodon? Controla cómo se te acredita cuando se comparten en Mastodon."
+ instructions: 'Asegúrate de que este código está en el HTML de tu artículo:'
more_from_html: Más de %{name}
s_blog: Blog de %{name}
+ then_instructions: A continuación, añade el nombre de dominio de la publicación en el campo inferior.
title: Atribución del autor
challenge:
confirm: Continuar
@@ -1366,19 +1369,43 @@ es:
overwrite: Sobrescribir
overwrite_long: Reemplazar registros actuales con los nuevos
overwrite_preambles:
- blocking_html: Estás a punto de reemplazar tu lista de bloqueos por hasta %{total_items} cuentas provenientes de %{filename}.
- bookmarks_html: Estás a punto de reemplazar tus marcadores por hasta %{total_items} publicaciones provenientes de %{filename}.
- domain_blocking_html: Estás a punto de reemplazar tu lista de bloqueos de dominio por hasta %{total_items} dominios provenientes de %{filename}.
- following_html: Estás a punto de seguir hasta %{total_items} cuentas provenientes de %{filename} y dejar de seguir a cualquier otra cuenta.
- lists_html: Estás a punto de reemplazar tus listas con contenidos de %{filename}. Se añadirán %{total_items} cuentas a nuevas listas.
- muting_html: Estás a punto de reemplazar tu lista de cuentas silenciadas con hasta %{total_items} cuentas proveninetes de %{filename}.
+ blocking_html:
+ one: Estás a punto de reemplazar tu lista de bloqueos por %{count} cuenta proveniente de %{filename}.
+ other: Estás a punto de reemplazar tu lista de bloqueos por hasta %{count} cuentas provenientes de %{filename}.
+ bookmarks_html:
+ one: Estás a punto de reemplazar tus marcadores por %{count} publicación proveniente de %{filename}.
+ other: Estás a punto de reemplazar tus marcadores por hasta %{count} publicaciones provenientes de %{filename}.
+ domain_blocking_html:
+ one: Estás a punto de reemplazar tu lista de bloqueos de dominio por %{count} dominio proveniente de %{filename}.
+ other: Estás a punto de reemplazar tu lista de bloqueos de dominio por hasta %{count} dominios provenientes de %{filename}.
+ following_html:
+ one: Estás a punto de seguir a %{count} cuenta proveniente de %{filename} y dejar de seguir a cualquier otra cuenta.
+ other: Estás a punto de seguir hasta %{count} cuentas provenientes de %{filename} y dejar de seguir a cualquier otra cuenta.
+ lists_html:
+ one: Estás a punto de reemplazar tus listas con el contenido de %{filename}. Se añadirá %{count} cuenta a una nueva lista.
+ other: Estás a punto de reemplazar tus listas con el contenido de %{filename}. Se añadirán %{count} cuentas a nuevas listas.
+ muting_html:
+ one: Estás a punto de reemplazar tu lista de cuentas silenciadas con %{count} cuenta proveninete de %{filename}.
+ other: Estás a punto de reemplazar tu lista de cuentas silenciadas con hasta %{count} cuentas provenientes de %{filename}.
preambles:
- blocking_html: Estás a punto de bloquear hasta %{total_items} cuentas proveninetes de %{filename}.
- bookmarks_html: Está a punto de añadir hasta %{total_items} publicaciones proveninetes de %{filename} a tus marcadores.
- domain_blocking_html: Estás a punto de bloquear hasta %{total_items} dominios provenientes de %{filename}.
- following_html: Estás a punto de seguir hasta cuentas%{total_items} provenientes de %{filename}.
- lists_html: Estás a punto de añadir %{total_items} cuentas desde %{filename} a tus listas. Se crearán nuevas listas si no hay listas para añadirlas.
- muting_html: Estás a punto de silenciar hasta %{total_items} cuentas provenientes de %{filename}.
+ blocking_html:
+ one: Estás a punto de bloquear a %{count} cuenta proveninete de %{filename}.
+ other: Estás a punto de bloquear hasta %{count} cuentas provenientes de %{filename}.
+ bookmarks_html:
+ one: Está a punto de añadir %{count} publicación proveniente de %{filename} a tus marcadores.
+ other: Está a punto de añadir hasta %{count} publicaciones provenientes de %{filename} a tus marcadores.
+ domain_blocking_html:
+ one: Estás a punto de bloquear %{count} dominio proveniente de %{filename}.
+ other: Estás a punto de bloquear hasta %{count} dominios provenientes de %{filename}.
+ following_html:
+ one: Estás a punto de seguir a %{count} cuenta proveniente de %{filename}.
+ other: Estás a punto de seguir hasta %{count} cuentas provenientes de %{filename}.
+ lists_html:
+ one: Estás a punto de añadir %{count} cuenta desde %{filename} a tus listas. Se creará una nueva listas si no hay listas donde añadirla.
+ other: Estás a punto de añadir %{count} cuentas desde %{filename} a tus listas. Se crearán nuevas listas si no hay listas donde añadirlas.
+ muting_html:
+ one: Estás a punto de silenciar a %{count} cuenta proveniente de %{filename}.
+ other: Estás a punto de silenciar hasta %{count} cuentas provenientes de %{filename}.
preface: Puedes importar ciertos datos, como todas las personas que estás siguiendo o bloqueando en tu cuenta en esta instancia, desde archivos exportados de otra instancia.
recent_imports: Importaciones recientes
states:
diff --git a/config/locales/et.yml b/config/locales/et.yml
index b71e3ccb68..1a679af87f 100644
--- a/config/locales/et.yml
+++ b/config/locales/et.yml
@@ -21,6 +21,7 @@ et:
one: Postitus
other: Postitused
posts_tab_heading: Postitused
+ self_follow_error: Omaenda konto jälgimine ei ole lubatud
admin:
account_actions:
action: Täida tegevus
@@ -875,6 +876,9 @@ et:
message_html: Serverireegleid pole defineeritud.
sidekiq_process_check:
message_html: Ühtegi Sidekiq protsessi pole %{value} järjekorra jaoks. Sidekiq seadistus vajab üle vaatamist
+ software_version_check:
+ action: Vaata saadaval uuendusi
+ message_html: Mastodoni uuendus on saadaval.
software_version_critical_check:
action: Vaata saadaolevaid uuendusi
message_html: Saadaval on Mastodoni kriitiline uuendus, uuenda nii kiiresti kui võimalik.
@@ -1162,7 +1166,6 @@ et:
use_security_key: Kasuta turvavõtit
author_attribution:
example_title: Näidistekst
- hint_html: Määra, kuidas sind krediteeritakse, kui linke Mastodonis jagatakse.
more_from_html: Rohkem kasutajalt %{name}
s_blog: Kasutaja %{name} blogi
title: Autori tunnustamine
@@ -1363,19 +1366,43 @@ et:
overwrite: Kirjuta üle
overwrite_long: Vaheta praegused andmed uute vastu
overwrite_preambles:
- blocking_html: Oled asendamas oma blokeeringute loetelu kuni %{total_items} kontoga kohast %{filename}.
- bookmarks_html: Oled asendamas oma järjehoidjaid kuni %{total_items} postitusega kohast %{filename}.
- domain_blocking_html: Oled asendamas oma domeenide blokeeringute loetelu kuni %{total_items} domeeniga kohast %{filename}.
- following_html: Oled jälgima hakkamas kuni %{total_items} kontot kohast %{filename} ja lõpetad kõigi teiste jälgimise.
- lists_html: Oled asendamas oma loetelusid faili %{filename} sisuga. Uutesse loeteludesse lisatakse kuni %{total_items} kontot.
- muting_html: Oled asendamas oma vaigistatud kontode loetelu kuni %{total_items} kontoga kohast %{filename}.
+ blocking_html:
+ one: Oled asendamas oma blokeeringute loetelu faili %{filename} sisuga, milles on kuni %{count} konto.
+ other: Oled asendamas oma blokeeringute loetelu faili %{filename} sisuga, milles on kuni %{count} kontot.
+ bookmarks_html:
+ one: Oled asendamas oma järjehoidjad faili %{filename} sisuga, milles on kuni %{count} postitus.
+ other: Oled asendamas oma järjehoidjad faili %{filename} sisuga, milles on kuni %{count} postitust.
+ domain_blocking_html:
+ one: Oled asendamas oma domeenide blokeeringu loetelu faili %{filename} sisuga, milles on kuni %{count} domeen.
+ other: Oled asendamas oma domeenide blokeeringu loetelu faili %{filename} sisuga, milles on kuni %{count} domeen.
+ following_html:
+ one: Oled jälgima hakkamas kuni %{count} kontot failist %{filename} ja lõpetad kõigi teiste jälgimise.
+ other: Oled jälgima hakkamas kuni %{count} kontot failist %{filename} ja lõpetad kõigi teiste jälgimise.
+ lists_html:
+ one: Oled asendamas oma loetelusid faili %{filename} sisuga. Uutesse loeteludesse lisatakse kuni %{count} konto.
+ other: Oled asendamas oma loetelusid faili %{filename} sisuga. Uutesse loeteludesse lisatakse kuni %{count} kontot.
+ muting_html:
+ one: Oled asendamas oma vaigistatud kontode loetelu faili %{filename} sisuga, milles on kuni %{count} konto.
+ other: Oled asendamas oma vaigistatud kontode loetelu faili %{filename} sisuga, milles on kuni %{count} kontot.
preambles:
- blocking_html: Oled blokeerimas kuni %{total_items} kontoga kohast %{filename}.
- bookmarks_html: Oled lisamas kuni %{total_items} postitust kohast %{filename} to your bookmarks.
- domain_blocking_html: Oled blokeerimas kuni %{total_items} domeeni kohast %{filename}.
- following_html: Oled jälgima hakkamas kuni %{total_items} kontot kohast %{filename}.
- lists_html: Oled lisamas oma loeteludesse failist %{filename} kuni %{total_items} kontot. Kui pole loetelusi, kuhu lisada, luuakse uued loetelud.
- muting_html: Oled vaigistamas kuni %{total_items} kontot kohast %{filename}.
+ blocking_html:
+ one: Oled blokeerimas kuni %{count} konto failist %{filename}.
+ other: Oled blokeerimas kuni %{count} kontot failist %{filename}.
+ bookmarks_html:
+ one: Oled lisamas kuni %{count} postituse failist %{filename} oma järjehoidjatesse.
+ other: Oled lisamas kuni %{count} postitust failist %{filename} oma järjehoidjatesse.
+ domain_blocking_html:
+ one: Oled blokeerimas kuni %{count} domeeni failist %{filename}.
+ other: Oled blokeerimas kuni %{count} domeeni failist %{filename}.
+ following_html:
+ one: Oled jälgima hakkamas kuni %{count} konto failist %{filename}.
+ other: Oled jälgima hakkamas kuni %{count} kontot failist %{filename}.
+ lists_html:
+ one: Oled lisamas oma loeteludesse failist %{filename} kuni %{count} konto. Kui pole loetelusi, kuhu lisada, luuakse uued loetelud.
+ other: Oled lisamas oma loeteludesse failist %{filename} kuni %{count} kontot. Kui pole loetelusi, kuhu lisada, luuakse uued loetelud.
+ muting_html:
+ one: Oled vaigistamas kuni %{count} konto failist %{filename}.
+ other: Oled vaigistamas kuni %{count} kontot failist %{filename}.
preface: Saad importida mistahes andmeid, mis on eksporditud teisest serverist. Näiteks nimekirja inimestest, keda jälgid ja keda blokeerid.
recent_imports: Viimati imporditud
states:
@@ -1692,6 +1719,7 @@ et:
delete: Konto kustutamine
development: Arendus
edit_profile: Muuda profiili
+ export: Eksport
featured_tags: Esile toodud sildid
import: Impordi
import_and_export: Import / eksport
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index e80207d46f..e9c3be2d24 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -1276,20 +1276,6 @@ eu:
merge_long: Mantendu dauden erregistroak eta gehitu berriak
overwrite: Gainidatzi
overwrite_long: Ordeztu oraingo erregistroak berriekin
- overwrite_preambles:
- blocking_html: "Blokeatutakoen zerrenda %{filename} fitxategiak dituen %{total_items} kontuekin ordeztear zaude."
- bookmarks_html: "Laster-markak %{filename} fitxategiak dituen %{total_items} argitalpenekin ordeztear zaude."
- domain_blocking_html: "Blokeatutako domeinuen zerrenda %{filename} fitxategiak dituen %{total_items} domeinuekin ordeztear zaude."
- following_html: "%{filename} fitxategiak dituen %{total_items} kontuei jarraitzear zaude; gainontzekoak jarraitzeari utziko diozu."
- lists_html: "Zerrendak %{filename} fitxategiak duen edukiarekin ordeztear zaude. %{total_items} kontu gehituko dira zerrenda berrietara."
- muting_html: "Mutututako kontuen zerrenda %{filename} fitxategiak dituen %{total_items} kontuekin ordeztear zaude."
- preambles:
- blocking_html: "%{filename} fitxategiak dituen %{total_items} kontuak blokeatzear zaude."
- bookmarks_html: "%{filename} fitxategiak dituen %{total_items} argitalpenei laster-marka jartzear zaude."
- domain_blocking_html: "%{filename} fitxategiak dituen %{total_items} domeinuak blokeatzear zaude."
- following_html: "%{filename} fitxategiak dituen %{total_items} konturi jarraitzear zaude."
- lists_html: "%{filename} fitxategiak dituen %{total_items} kontu zerrendetan gehitzear zaude. Zerrenda berriak sortuko dira zerrendarik ez badago."
- muting_html: "%{filename} fitxategiak dituen %{total_items} kontuak mututzear zaude."
preface: Beste zerbitzari bateko datuak inportatu ditzakezu, esaterako jarraitzen duzun edo blokeatu duzun jendearen zerrenda.
recent_imports: Azken inportazioak
states:
diff --git a/config/locales/fa.yml b/config/locales/fa.yml
index e7d932de11..3083bc13cb 100644
--- a/config/locales/fa.yml
+++ b/config/locales/fa.yml
@@ -963,6 +963,7 @@ fa:
example_title: متن نمونه
more_from_html: بیشتر از %{name}
s_blog: بلاگ %{name}
+ title: اعتباردهی به نگارنده
challenge:
confirm: ادامه
hint_html: "نکته: ما در یک ساعت آینده گذرواژهتان را از شما نخواهیم پرسید."
@@ -1294,6 +1295,7 @@ fa:
update:
subject: "%{name} فرستهای را ویرایست"
notifications:
+ email_events: رویدادها برای آگاهیهای رایانامهای
email_events_hint: 'گزینش رویدادهایی که میخواهید برایشان آگاهی دریافت کنید:'
number:
human:
@@ -1338,6 +1340,7 @@ fa:
privacy:
hint_html: "شخصیسازی چگونگی پیدا شدن فرستهها و نمایهتان. ویژگیهای متعدّدی در ماستودون میتوانند هنگام به کار افتادن در رسیدن به مخاطبینی گستردهتر یاریتان کنند. کمی وقت برای بازبینی این تنظیمات گذاشته تا مطمئن شوید برایتان مناسبند."
privacy: محرمانگی
+ privacy_hint_html: واپایش میزان باز شدن به نفع دیگران. افراد نمایههای جالب و کارههای باحال را با مرور پیگرفتگان دیگران و دیدن کارههایی که از آنها میفرستند پیدا میکنند. با این حال شاید بخواهید پنهان نگهشان دارید.
reach: دسترسی
reach_hint_html: واپایش این که میخواهید به دست افراد جدید قابل کشف و پیگیری باشید یا نه. میخواهید فرستههایتان روی صفحهٔ کشف ظاهر شوند؟ میخواهید دیگر افراد در پیشنهادهای پیگیریشان ببینندتان؟ میخواهید پیگیران جدید را به طور خودکار بپذیرید یا روی هرکدامشان واپایش داشته باشید؟
search: جستوجو
@@ -1438,6 +1441,7 @@ fa:
delete: پاککردن حساب
development: فرابری
edit_profile: ویرایش نمایه
+ export: برونریزی
featured_tags: برچسبهای برگزیده
import: درونریزی
import_and_export: درونریزی و برونبری
@@ -1446,12 +1450,21 @@ fa:
preferences: ترجیحات
profile: نمایه
relationships: پیگیریها و پیگیران
+ severed_relationships: ارتباطهای قطع شده
statuses_cleanup: حذف فرستهٔ خودکار
strikes: شکایتهای مدیریتی
two_factor_authentication: ورود دومرحلهای
webauthn_authentication: کلیدهای امنیتی
severed_relationships:
download: بارگیری (%{count})
+ event_type:
+ account_suspension: تعلیق حساب (%{target_name})
+ domain_block: تعلیق کارساز (%{target_name})
+ user_domain_block: "%{target_name} را مسدود کردید"
+ lost_followers: پیگیرندگان از دست رفته
+ lost_follows: پیگرفتهّای از دست رفته
+ preamble: وقتی دامنهای را مسدود کرده یا ناظرانتان تصمیم به تعلیق کارسازی دوردست میگیرند، ممکن است پیگیران و پیگرفتههایتان را از دست بدهید. با این حال قادرید سیاهههایی از ارتباطهای قطع شده را برای بررسی و درونریزی احتمالی روی کارسازی دیگر بار بگیرید.
+ purged: اطّلاعات دربارهٔ این کارساز به دست مدیران کارسازتان پاک سازی شده.
type: رویداد
statuses:
attached:
@@ -1535,6 +1548,7 @@ fa:
contrast: ماستودون (سایهروشن بالا)
default: ماستودون (تیره)
mastodon-light: ماستودون (روشن)
+ system: خودکار (استفاده از زمینهٔ سامانه)
time:
formats:
default: "%d %b %Y, %H:%M"
@@ -1616,6 +1630,7 @@ fa:
instructions_html: کد زیر را رونوشت کرده و در HTML پایگاه وبتان جایگذاری کنید. سپس نشانی پایگاه وبتان را از زبانهٔ «ویرایش نمایه» در یکی از زمینههای اضافی روی نمایهتان افزوده و تغییرات را ذخیره کنید.
verification: تأیید
verified_links: "پیوندهای تأییدشده شما"
+ website_verification: تأیید پایگاه وب
webauthn_credentials:
add: افزودن کلید امنیتی
create:
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index 22ccc71161..2f9a76c80d 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -21,6 +21,7 @@ fi:
one: Julkaisu
other: viestiä
posts_tab_heading: Julkaisut
+ self_follow_error: Oman tilisi seuraaminen ei ole sallittua
admin:
account_actions:
action: Suorita toimi
@@ -1165,9 +1166,11 @@ fi:
use_security_key: Käytä suojausavainta
author_attribution:
example_title: Esimerkkiteksti
- hint_html: Määrää, kuinka tulet tunnustetuksi, kun Mastodonissa jaetaan linkkejä.
+ hint_html: Kirjoitatko uutisia tai blogitekstejä Mastodonin ulkopuolella? Määrää, kuinka tulet tunnustetuksi, kun niitä jaetaan Mastodonissa.
+ instructions: 'Varmista, että artikkelisi HTML:ssä on tämä koodi:'
more_from_html: Lisää tekijältä %{name}
s_blog: Käyttäjän %{name} blogi
+ then_instructions: Lisää sitten julkaisun verkkotunnus seuraavaan tekstikenttään.
title: Tekijän tunnustus
challenge:
confirm: Jatka
@@ -1366,19 +1369,43 @@ fi:
overwrite: Korvaa
overwrite_long: Korvaa nykyiset tietueet uusilla
overwrite_preambles:
- blocking_html: Olet aikeissa korvata estoluettelosi kaikkiaan %{total_items} tilillä tiedostosta %{filename}.
- bookmarks_html: Olet aikeissa korvata kirjanmerkkisi kaikkiaan %{total_items} julkaisulla tiedostosta %{filename}.
- domain_blocking_html: Olet aikeissa korvata verkkotunnusten estoluettelosi kaikkiaan %{total_items} verkkotunnuksella tiedostosta %{filename}.
- following_html: Olet aikeissa seurata kaikkiaan %{total_items} tiliä tiedostosta %{filename} ja lopettaa kaikkien muiden seuraamisen.
- lists_html: Olet aikeissa korvata listojasi tiedoston %{filename} sisällöllä. Uusiin listoihin lisätään kaikkiaan %{total_items} tiliä.
- muting_html: Olet aikeissa korvata mykistettyjen tilien luettelosi kaikkiaan %{total_items} tilillä tiedostosta %{filename}.
+ blocking_html:
+ one: Olet aikeissa korvata estoluettelosi kaikkiaan %{count} tilillä tiedostosta %{filename}.
+ other: Olet aikeissa korvata estoluettelosi kaikkiaan %{count} tilillä tiedostosta %{filename}.
+ bookmarks_html:
+ one: Olet aikeissa korvata kirjanmerkkisi kaikkiaan %{count} julkaisulla tiedostosta %{filename}.
+ other: Olet aikeissa korvata kirjanmerkkisi kaikkiaan %{count} julkaisulla tiedostosta %{filename}.
+ domain_blocking_html:
+ one: Olet aikeissa korvata verkkotunnusten estoluettelosi kaikkiaan %{count} verkkotunnuksella tiedostosta %{filename}.
+ other: Olet aikeissa korvata verkkotunnusten estoluettelosi kaikkiaan %{count} verkkotunnuksella tiedostosta %{filename}.
+ following_html:
+ one: Olet aikeissa seurata kaikkiaan %{count} tiliä tiedostosta %{filename} ja lopettaa kaikkien muiden seuraamisen.
+ other: Olet aikeissa seurata kaikkiaan %{count} tiliä tiedostosta %{filename} ja lopettaa kaikkien muiden seuraamisen.
+ lists_html:
+ one: Olet aikeissa korvata listojasi tiedoston %{filename} sisällöllä. Uusiin listoihin lisätään kaikkiaan %{count} tili.
+ other: Olet aikeissa korvata listojasi tiedoston %{filename} sisällöllä. Uusiin listoihin lisätään kaikkiaan %{count} tiliä.
+ muting_html:
+ one: Olet aikeissa korvata mykistettyjen tilien luettelosi kaikkiaan %{count} tilillä tiedostosta %{filename}.
+ other: Olet aikeissa korvata mykistettyjen tilien luettelosi kaikkiaan %{count} tilillä tiedostosta %{filename}.
preambles:
- blocking_html: Olet aikeissa estää kaikkiaan %{total_items} tiliä tiedostosta %{filename}.
- bookmarks_html: Olet aikeissa lisätä kaikkiaan %{total_items} julkaisua tiedostosta %{filename}kirjanmerkkeihisi.
- domain_blocking_html: Olet aikeissa estää kaikkiaan %{total_items} verkkotunnusta tiedostosta %{filename}.
- following_html: Olet aikeissa seurata kaikkiaan %{total_items} tiliä tiedostosta %{filename}.
- lists_html: Olet aikeissa lisätä listoihisi kaikkiaan %{total_items} tiliä tiedostosta %{filename}. Uusia listoja luodaan, jos sopivaa kohdelistaa ei ole olemassa.
- muting_html: Olet aikeissa mykistää kaikkiaan %{total_items} tiliä tiedostosta %{filename}.
+ blocking_html:
+ one: Olet aikeissa estää kaikkiaan %{count} tilin tiedostosta %{filename}.
+ other: Olet aikeissa estää kaikkiaan %{count} tiliä tiedostosta %{filename}.
+ bookmarks_html:
+ one: Olet aikeissa lisätä kaikkiaan %{count} julkaisun tiedostosta %{filename}kirjanmerkkeihisi.
+ other: Olet aikeissa lisätä kaikkiaan %{count} julkaisua tiedostosta %{filename}kirjanmerkkeihisi.
+ domain_blocking_html:
+ one: Olet aikeissa estää kaikkiaan %{count} verkkotunnuksen tiedostosta %{filename}.
+ other: Olet aikeissa estää kaikkiaan %{count} verkkotunnusta tiedostosta %{filename}.
+ following_html:
+ one: Olet aikeissa seurata kaikkiaan %{count} tiliä tiedostosta %{filename}.
+ other: Olet aikeissa seurata kaikkiaan %{count} tiliä tiedostosta %{filename}.
+ lists_html:
+ one: Olet aikeissa lisätä listoihisi kaikkiaan %{count} tilin tiedostosta %{filename}. Uusia listoja luodaan, jos sopivaa kohdelistaa ei ole olemassa.
+ other: Olet aikeissa lisätä listoihisi kaikkiaan %{count} tiliä tiedostosta %{filename}. Uusia listoja luodaan, jos sopivaa kohdelistaa ei ole olemassa.
+ muting_html:
+ one: Olet aikeissa mykistää kaikkiaan %{count} tilin tiedostosta %{filename}.
+ other: Olet aikeissa mykistää kaikkiaan %{count} tiliä tiedostosta %{filename}.
preface: Voit tuoda toiselta palvelimelta viemiäsi tietoja, kuten seuraamiesi tai estämiesi käyttäjien luettelon.
recent_imports: Viimeksi tuotu
states:
@@ -1940,7 +1967,7 @@ fi:
signed_in_as: 'Kirjautunut tilillä:'
verification:
extra_instructions_html: Vinkki: Verkkosivustollasi oleva linkki voi olla myös näkymätön. Olennainen osuus on rel="me"
, joka estää toiseksi henkilöksi tekeytymisen verkkosivustoilla, joilla on käyttäjien luomaa sisältöä. Voit käyttää jopa link
-elementtiä sivun head
-osassa elementin a
sijaan, mutta HTML:n pitää olla käytettävissä ilman JavaScript-koodin suorittamista.
- here_is_how: Näin voit tehdä sen
+ here_is_how: Näin se onnistuu
hint_html: "Henkilöllisyyden vahvistaminen on Mastodonissa jokaisen käyttäjän ulottuvilla. Se perustuu avoimiin standardeihin ja on maksutonta nyt ja aina. Tarvitset vain henkilökohtaisen verkkosivuston, jonka perusteella sinut voidaan tunnistaa. Kun teet linkin tuolle verkkosivulle profiilistasi, tarkistamme, että verkkosivustolla on linkki takaisin profiiliisi, ja näytämme profiilissasi visuaalisen ilmaisimen."
instructions_html: Kopioi ja liitä seuraava koodi verkkosivustosi HTML-lähdekoodiin. Lisää sitten verkkosivustosi osoite johonkin profiilisi lisäkentistä ”Muokkaa profiilia” -välilehdellä ja tallenna muutokset.
verification: Vahvistus
diff --git a/config/locales/fo.yml b/config/locales/fo.yml
index 31eb67b3b0..3ade3007f4 100644
--- a/config/locales/fo.yml
+++ b/config/locales/fo.yml
@@ -21,6 +21,7 @@ fo:
one: Uppslag
other: Uppsløg
posts_tab_heading: Uppsløg
+ self_follow_error: Tað er ikki loyvt at fylgja tíni egnu kontu
admin:
account_actions:
action: Frem atgerð
@@ -1165,9 +1166,11 @@ fo:
use_security_key: Brúka trygdarlykil
author_attribution:
example_title: Tekstadømi
- hint_html: Kanna, hvussu tú verður viðurkend/ur, tá ið onnur deila slóðir á Mastodon.
+ hint_html: Skrivar tú tíðindi ella greinar til bloggin uttanfyri Mastodon? Her kanst tú stýra, hvussu tú verður tilsipað/ur, tá ið títt tilfar verður deilt á Mastodon.
+ instructions: 'Tryggja tær, at henda kota er í HTML''inum á tíni grein:'
more_from_html: Meiri frá %{name}
s_blog: Bloggurin hjá %{name}
+ then_instructions: Skriva síðani økisnavnið, har tað verður lagt út, í teigin niðanfyri.
title: Ískoyti høvundans
challenge:
confirm: Hald á
@@ -1365,20 +1368,6 @@ fo:
merge_long: Varðveit verandi teigarøð og legg nýggjar afturat
overwrite: Skriva omaná
overwrite_long: Legg nýggj teigarøð inn fyri tey verandi
- overwrite_preambles:
- blocking_html: Tú ert í ferð við at útskifta blokeringslistan hjá tær við upp til %{total_items} kontum frá %{filename}.
- bookmarks_html: Tú ert í ferð við at útskifta tíni bókamerki við upp til %{total_items} postum frá %{filename}.
- domain_blocking_html: Tú ert í ferð við at útskifta navnaøkisblokeringslistan hjá tær við upp til %{total_items} navnaøkjum frá %{filename}.
- following_html: Tú ert í ferð við at fylgja upp til %{total_items} kontum frá %{filename} og at gevast at fylgja øðrum.
- lists_html: Tú ert í ferð við at skifta listarnar hjá tær út við tað, sum er í %{filename}. Upp til %{total_items} kontur verða lagdar afturat nýggjum listum.
- muting_html: Tú ert í ferð við at útskifta listan hjá tær við doyvdum kontum við upp til %{total_items} kontum frá %{filename}.
- preambles:
- blocking_html: Tú ert í ferð við at blokera upp til %{total_items} kontur frá %{filename}.
- bookmarks_html: Tú ert í ferð við at leggja upp til %{total_items} postar frá %{filename} afturat tínum bókamerkjum.
- domain_blocking_html: Tú ert í ferð við at blokera upp til %{total_items} navnaøki frá %{filename}.
- following_html: Tú ert í ferð við at fylgja upp til %{total_items} kontur frá %{filename}.
- lists_html: Tú ert í ferð við at leggja upp til %{total_items} kontur frá %{filename} afturat tínum listum. Nýggir listar verða stovnaðir, um eingin listi er at leggja afturat.
- muting_html: Tú ert í ferð við at doyva upp til %{total_items} kontur frá %{filename}.
preface: Tú kanst innlesa dátur, sum tú hevur útlisið frá einum øðrum ambætara, so sum listar av fólki, sum tú fylgir ella blokerar.
recent_imports: Feskar innflytingar
states:
diff --git a/config/locales/fr-CA.yml b/config/locales/fr-CA.yml
index 16cdb79317..3c771d4c64 100644
--- a/config/locales/fr-CA.yml
+++ b/config/locales/fr-CA.yml
@@ -21,6 +21,7 @@ fr-CA:
one: Message
other: Messages
posts_tab_heading: Messages
+ self_follow_error: Il n'est pas possible de suivre votre propre compte
admin:
account_actions:
action: Effectuer l'action
@@ -1168,7 +1169,6 @@ fr-CA:
use_security_key: Utiliser la clé de sécurité
author_attribution:
example_title: Exemple de texte
- hint_html: Déterminez la façon dont vous êtes crédité lorsque des liens sont partagés sur Mastodon.
more_from_html: Plus via %{name}
s_blog: Blog de %{name}
title: Attribution de l'auteur·e
@@ -1369,19 +1369,43 @@ fr-CA:
overwrite: Écraser
overwrite_long: Remplacer les enregistrements actuels par les nouveaux
overwrite_preambles:
- blocking_html: Vous allez remplacer votre liste de blocages par jusqu'à %{total_items} comptes tirés de %{filename}.
- bookmarks_html: Vous allez remplacer vos signets par jusqu'à %{total_items} posts tirés de %{filename}.
- domain_blocking_html: Vous allez remplacer votre liste de blocages de domaines par jusqu'à %{total_items} domaines tirés de %{filename}.
- following_html: Vous allez suivre jusqu’à %{total_items} comptes depuis %{filename} et arrêter de suivre n’importe qui d’autre.
- lists_html: Vous allez remplacer vos listes par le contenu de %{filename}. Jusqu'à %{total_items} comptes seront ajoutés à de nouvelles listes.
- muting_html: Vous allez remplacer votre liste de comptes masqués par jusqu'à %{total_items} comptes tirés de %{filename}.
+ blocking_html:
+ one: Vous allez remplacer votre liste de blocage par près de %{count} compte tiré de %{filename}.
+ other: Vous allez remplacer votre liste de blocage par près de %{count} comptes tirés de %{filename}.
+ bookmarks_html:
+ one: Vous allez remplacer vos signets par près de %{count} post tiré de %{filename}.
+ other: Vous allez remplacer vos signets par près de %{count} posts tirés de %{filename}.
+ domain_blocking_html:
+ one: Vous allez remplacer votre liste de blocage de domaines par près de %{count} domaine tiré de %{filename}.
+ other: Vous allez remplacer votre liste de blocage de domaines par près de %{count} domaines tirés de %{filename}.
+ following_html:
+ one: Vous allez suivre jusqu’à %{count} compte depuis %{filename} et arrêter de suivre n’importe qui d’autre.
+ other: Vous allez suivre jusqu’à %{count} comptes depuis %{filename} et arrêter de suivre n’importe qui d’autre.
+ lists_html:
+ one: Vous allez remplacer vos listes par le contenu de %{filename}. Près de %{count} compte sera ajouté à de nouvelles listes.
+ other: Vous allez remplacer vos listes par le contenu de %{filename}. Près de %{count} comptes seront ajoutés à de nouvelles listes.
+ muting_html:
+ one: Vous allez remplacer votre liste de comptes masqués par près de %{count} compte tiré de %{filename}.
+ other: Vous allez remplacer votre liste de comptes masqués par près de %{count} comptes tirés de %{filename}.
preambles:
- blocking_html: Vous allez bloquer jusqu'à %{total_items} comptes tirés de %{filename}.
- bookmarks_html: Vous allez ajouter jusqu'à %{total_items} messages de %{filename} à vos signets.
- domain_blocking_html: Vous allez bloquer jusqu'à %{total_items} domaines tirés de %{filename}.
- following_html: Vous allez suivre jusqu'à %{total_items} comptes tirés de %{filename}.
- lists_html: Vous allez ajouter jusqu'à %{total_items} comptes depuis %{filename} à vos listes. De nouvelles listes seront créées s'il n'y a aucune liste à laquelle les ajouter.
- muting_html: Vous allez masquer jusqu'à %{total_items} comptes tirés de %{filename}.
+ blocking_html:
+ one: Vous allez bloquer près de %{count} compte tiré de %{filename}.
+ other: Vous allez bloquer près de %{count} comptes tirés de %{filename}.
+ bookmarks_html:
+ one: Vous allez ajouter près de %{count} message de %{filename} à vos signets.
+ other: Vous allez ajouter près de %{count} messages de %{filename} à vos signets.
+ domain_blocking_html:
+ one: Vous allez bloquer près de %{count} domaine tiré de %{filename}.
+ other: Vous allez bloquer près de %{count} domaines tirés de %{filename}.
+ following_html:
+ one: Vous allez suivre près de %{count} compte tiré de %{filename}.
+ other: Vous allez suivre près de %{count} comptes tirés de %{filename}.
+ lists_html:
+ one: Vous allez ajouter près de %{count} compte depuis %{filename} à vos listes. De nouvelles listes seront créées si besoin.
+ other: Vous allez ajouter près de %{count} comptes depuis %{filename} à vos listes. De nouvelles listes seront créées si besoin.
+ muting_html:
+ one: Vous allez masquer près de %{count} compte tiré de %{filename}.
+ other: Vous allez masquer près de %{count} comptes tirés de %{filename}.
preface: Vous pouvez importer certaines données que vous avez exporté d’un autre serveur, comme une liste des personnes que vous suivez ou bloquez sur votre compte.
recent_imports: Importations récentes
states:
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index bc57d00e65..58fc63fc1b 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -21,6 +21,7 @@ fr:
one: Message
other: Messages
posts_tab_heading: Messages
+ self_follow_error: Il n'est pas possible de suivre votre propre compte
admin:
account_actions:
action: Effectuer l'action
@@ -1168,7 +1169,6 @@ fr:
use_security_key: Utiliser la clé de sécurité
author_attribution:
example_title: Exemple de texte
- hint_html: Déterminez la façon dont vous êtes crédité lorsque des liens sont partagés sur Mastodon.
more_from_html: Plus via %{name}
s_blog: Blog de %{name}
title: Attribution de l'auteur·e
@@ -1369,19 +1369,43 @@ fr:
overwrite: Écraser
overwrite_long: Remplacer les enregistrements actuels par les nouveaux
overwrite_preambles:
- blocking_html: Vous allez remplacer votre liste de blocage par près de %{total_items} comptes tirés de %{filename}.
- bookmarks_html: Vous allez remplacer vos signets par près de %{total_items} posts tirés de %{filename}.
- domain_blocking_html: Vous allez remplacer votre liste de blocage de domaines par près de %{total_items} domaines tirés de %{filename}.
- following_html: Vous allez suivre jusqu’à %{total_items} comptes depuis %{filename} et arrêter de suivre n’importe qui d’autre.
- lists_html: Vous allez remplacer vos listes par le contenu de %{filename}. Près de %{total_items} comptes seront ajoutés à de nouvelles listes.
- muting_html: Vous allez remplacer votre liste de comptes masqués par près de %{total_items} comptes tirés de %{filename}.
+ blocking_html:
+ one: Vous allez remplacer votre liste de blocage par près de %{count} compte tiré de %{filename}.
+ other: Vous allez remplacer votre liste de blocage par près de %{count} comptes tirés de %{filename}.
+ bookmarks_html:
+ one: Vous allez remplacer vos signets par près de %{count} post tiré de %{filename}.
+ other: Vous allez remplacer vos signets par près de %{count} posts tirés de %{filename}.
+ domain_blocking_html:
+ one: Vous allez remplacer votre liste de blocage de domaines par près de %{count} domaine tiré de %{filename}.
+ other: Vous allez remplacer votre liste de blocage de domaines par près de %{count} domaines tirés de %{filename}.
+ following_html:
+ one: Vous allez suivre jusqu’à %{count} compte depuis %{filename} et arrêter de suivre n’importe qui d’autre.
+ other: Vous allez suivre jusqu’à %{count} comptes depuis %{filename} et arrêter de suivre n’importe qui d’autre.
+ lists_html:
+ one: Vous allez remplacer vos listes par le contenu de %{filename}. Près de %{count} compte sera ajouté à de nouvelles listes.
+ other: Vous allez remplacer vos listes par le contenu de %{filename}. Près de %{count} comptes seront ajoutés à de nouvelles listes.
+ muting_html:
+ one: Vous allez remplacer votre liste de comptes masqués par près de %{count} compte tiré de %{filename}.
+ other: Vous allez remplacer votre liste de comptes masqués par près de %{count} comptes tirés de %{filename}.
preambles:
- blocking_html: Vous allez bloquer près de %{total_items} comptes tirés de %{filename}.
- bookmarks_html: Vous allez ajouter près de %{total_items} messages de %{filename} à vos signets.
- domain_blocking_html: Vous allez bloquer près de %{total_items} domaines tirés de %{filename}.
- following_html: Vous allez suivre près de %{total_items} comptes tirés de %{filename}.
- lists_html: Vous allez ajouter près de %{total_items} comptes depuis %{filename} à vos listes. De nouvelles listes seront créées si besoin.
- muting_html: Vous allez masquer près de %{total_items} comptes tirés de %{filename}.
+ blocking_html:
+ one: Vous allez bloquer près de %{count} compte tiré de %{filename}.
+ other: Vous allez bloquer près de %{count} comptes tirés de %{filename}.
+ bookmarks_html:
+ one: Vous allez ajouter près de %{count} message de %{filename} à vos signets.
+ other: Vous allez ajouter près de %{count} messages de %{filename} à vos signets.
+ domain_blocking_html:
+ one: Vous allez bloquer près de %{count} domaine tiré de %{filename}.
+ other: Vous allez bloquer près de %{count} domaines tirés de %{filename}.
+ following_html:
+ one: Vous allez suivre près de %{count} compte tiré de %{filename}.
+ other: Vous allez suivre près de %{count} comptes tirés de %{filename}.
+ lists_html:
+ one: Vous allez ajouter près de %{count} compte depuis %{filename} à vos listes. De nouvelles listes seront créées si besoin.
+ other: Vous allez ajouter près de %{count} comptes depuis %{filename} à vos listes. De nouvelles listes seront créées si besoin.
+ muting_html:
+ one: Vous allez masquer près de %{count} compte tiré de %{filename}.
+ other: Vous allez masquer près de %{count} comptes tirés de %{filename}.
preface: Vous pouvez importer certaines données que vous avez exporté d’un autre serveur, comme une liste des personnes que vous suivez ou bloquez sur votre compte.
recent_imports: Récents imports
states:
diff --git a/config/locales/fy.yml b/config/locales/fy.yml
index 0379af34e9..8ccedd2be1 100644
--- a/config/locales/fy.yml
+++ b/config/locales/fy.yml
@@ -24,6 +24,8 @@ fy:
admin:
account_actions:
action: Aksje útfiere
+ already_silenced: Dizze account is al beheind.
+ already_suspended: Dizze account is al opskort.
title: Moderaasjemaatregelen tsjin %{acct} nimme
account_moderation_notes:
create: Lit in opmerking efter
@@ -45,6 +47,7 @@ fy:
title: E-mailadres foar %{username} wizigje
change_role:
changed_msg: Rol mei sukses wizige!
+ edit_roles: Brûkersrollen beheare
label: Rol wizigje
no_role: Gjin rol
title: Rol fan %{username} wizigje
@@ -601,6 +604,7 @@ fy:
suspend_description_html: De account en alle ynhâld sil net tagonklik wêze en úteinlik fuortsmiten wurde, en ynteraksje hjirmei sil net mooglik wêze. Binnen 30 dagen werom te draaien. Dit slút alle rapportaazjes oer dizze account.
actions_description_html: Beslis hokker maatregel nommen wurde moat om dizze rapportaazje op te lossen. Wannear’t jo in (straf)maatregel tsjin it rapportearre account nimme, kriget de account in e-mailmelding, behalve wannear’t de spam-kategory keazen is.
actions_description_remote_html: Beslút hokker aksje nommen wurde moat om dizze rapportaazje ôf te hanneljen. Dit hat allinnich ynfloed op hoe’t jo server kommunisearret mei dizze eksterne account en omgiet mei de ynhâld.
+ actions_no_posts: Dit rapport hat gjin byhearrende berjochten om fuort te smiten
add_to_report: Mear oan de rapportaazje tafoegje
already_suspended_badges:
local: Al opskoarte op dizze server
@@ -871,6 +875,9 @@ fy:
message_html: Jo hawwe foar dizze server gjin regels opsteld.
sidekiq_process_check:
message_html: Der draait gjin Sidekiq-proses foar de wachtrige(n) %{value}. Kontrolearje jo Sidekiq-konfiguraasje
+ software_version_check:
+ action: Beskikbere fernijingen besjen
+ message_html: Der is in Mastodon-fernijing beskikber.
software_version_critical_check:
action: Beskikbere fernijingen besjen
message_html: Der is in kritike fernijing foar Mastodon beskikber. Wurkje sa gau as mooglik by.
@@ -1156,6 +1163,11 @@ fy:
view_strikes: Besjoch de earder troch moderatoaren fêststelde skeiningen dy’t jo makke hawwe
too_fast: Formulier is te fluch yntsjinne. Probearje it nochris.
use_security_key: Befeiligingskaai brûke
+ author_attribution:
+ example_title: Faorbyldtekst
+ more_from_html: Mear fan %{name}
+ s_blog: Weblog fan %{name}
+ title: Auteur-attribúsje
challenge:
confirm: Trochgean
hint_html: "Tip: Wy freegje jo it kommende oere net mear nei jo wachtwurd."
@@ -1353,19 +1365,43 @@ fy:
overwrite: Oerskriuwe
overwrite_long: Aktuele gegevens mei de nije gegevens ferfange
overwrite_preambles:
- blocking_html: Jo steane op it punt om jo blokkearlist mei mear as %{total_items} accounts fan %{filename} te ferfangen.
- bookmarks_html: Jo steane op it punt om jo blêdwizers mei mear as %{total_items} artikelen fan %{filename} te ferfangen.
- domain_blocking_html: Jo steane op it punt om jo domeinblokkearlist mei mear as %{total_items} domeinen fan %{filename} te ferfangen.
- following_html: Jo steane op it punt om %{total_items} accounts út %{filename} te folgjen en te stopjen mei folgjen fan alle oaren.
- lists_html: Jo steane op it punt jo listen te ferfangen troch ynhâld fan %{filename}. Oant %{total_items} accounts sille oan nije listen tafoege wurde.
- muting_html: Jo steane op it punt om jo list mei negearre accounts mei mear as %{total_items} accounts fan %{filename} út te ferfangen.
+ blocking_html:
+ one: Jo steane op it punt om jo blokkearlist mei mear as %{count} account fan %{filename} te ferfangen.
+ other: Jo steane op it punt om jo blokkearlist mei mear as %{count} accounts fan %{filename} te ferfangen.
+ bookmarks_html:
+ one: Jo steane op it punt om jo blêdwizers mei mear as %{count} artikel fan %{filename} te ferfangen.
+ other: Jo steane op it punt om jo blêdwizers mei mear as %{count} artikelen fan %{filename} te ferfangen.
+ domain_blocking_html:
+ one: Jo steane op it punt om jo domeinblokkearlist mei mear as %{count} domein fan %{filename} te ferfangen.
+ other: Jo steane op it punt om jo domeinblokkearlist mei mear as %{count} domeinen fan %{filename} te ferfangen.
+ following_html:
+ one: Jo steane op it punt om %{count} account út %{filename} te folgjen en te stopjen mei folgjen fan alle oaren.
+ other: Jo steane op it punt om %{count} accounts út %{filename} te folgjen en te stopjen mei folgjen fan alle oaren.
+ lists_html:
+ one: Jo steane op it punt jo listen te ferfangen troch ynhâld fan %{filename}. Oant %{count} account sille oan nije listen tafoege wurde.
+ other: Jo steane op it punt jo listen te ferfangen troch ynhâld fan %{filename}. Oant %{count} accounts sille oan nije listen tafoege wurde.
+ muting_html:
+ one: Jo steane op it punt om jo list mei negearre accounts mei mear as %{count} account fan %{filename} út te ferfangen.
+ other: Jo steane op it punt om jo list mei negearre accounts mei mear as %{count} accounts fan %{filename} út te ferfangen.
preambles:
- blocking_html: Jo steane op it punt om %{total_items} accounts fan %{filename} út te blokkearjen.
- bookmarks_html: Jo steane op it punt om %{total_items} berjochten fan %{filename} út oan jo blêdwizers ta te foegjen.
- domain_blocking_html: Jo steane op it punt om %{total_items} domeinen fan %{filename} út te blokkearjen.
- following_html: Jo steane op it punt om %{total_items} accounts fan %{filename} út te folgjen.
- lists_html: Jo steane op it punt om oant %{total_items} accounts fan %{filename} ta te foegjen oan jo listen. Nije listen wurde oanmakke as der gjin list is om oan ta te foegjen.
- muting_html: Jo steane op it punt om %{total_items} accounts fan %{filename} út te negearjen.
+ blocking_html:
+ one: Jo steane op it punt om %{count} account fan %{filename} út te blokkearjen.
+ other: Jo steane op it punt om %{count} accounts fan %{filename} út te blokkearjen.
+ bookmarks_html:
+ one: Jo steane op it punt om %{count} berjocht fan %{filename} út oan jo blêdwizers ta te foegjen.
+ other: Jo steane op it punt om %{count} berjochten fan %{filename} út oan jo blêdwizers ta te foegjen.
+ domain_blocking_html:
+ one: Jo steane op it punt om %{count} domein fan %{filename} út te blokkearjen.
+ other: Jo steane op it punt om %{count} domeinen fan %{filename} út te blokkearjen.
+ following_html:
+ one: Jo steane op it punt om %{count} account fan %{filename} út te folgjen.
+ other: Jo steane op it punt om %{count} accounts fan %{filename} út te folgjen.
+ lists_html:
+ one: Jo steane op it punt om oant %{count} account fan %{filename} ta te foegjen oan jo listen. Nije listen wurde oanmakke as der gjin list is om oan ta te foegjen.
+ other: Jo steane op it punt om oant %{count} accounts fan %{filename} ta te foegjen oan jo listen. Nije listen wurde oanmakke as der gjin list is om oan ta te foegjen.
+ muting_html:
+ one: Jo steane op it punt om %{count} account fan %{filename} út te negearjen.
+ other: Jo steane op it punt om %{count} accounts fan %{filename} út te negearjen.
preface: Jo kinne bepaalde gegevens, lykas de minsken dy’t jo folgje of blokkearre hawwe, nei jo account op dizze server ymportearje. Jo moatte dizze gegevens wol earst op de oarspronklike server eksportearje.
recent_imports: Resinte ymports
states:
@@ -1682,6 +1718,7 @@ fy:
delete: Account fuortsmite
development: Untwikkelers
edit_profile: Profyl bewurkje
+ export: Eksportearje
featured_tags: Utljochte hashtags
import: Ymportearje
import_and_export: Ymportearje en eksportearje
@@ -1931,6 +1968,7 @@ fy:
instructions_html: Kopiearje en plak de ûndersteande koade yn de HTML fan jo website. Foegje dernei it adres fan jo website ta oan ien fan de ekstra fjilden op jo profyl op it ljepblêd ‘Profyl bewurkje’ en bewarje de wizigingen.
verification: Ferifikaasje
verified_links: Jo ferifiearre keppelingen
+ website_verification: Website-ferifikaasje
webauthn_credentials:
add: Nije befeiligingskaai tafoegje
create:
diff --git a/config/locales/ga.yml b/config/locales/ga.yml
index e25865903e..0657f827d1 100644
--- a/config/locales/ga.yml
+++ b/config/locales/ga.yml
@@ -27,6 +27,7 @@ ga:
other: Postálacha
two: Postálacha
posts_tab_heading: Postálacha
+ self_follow_error: Ní cheadaítear do chuntas féin a leanúint
admin:
account_actions:
action: Déan gníomh
@@ -1219,7 +1220,6 @@ ga:
use_security_key: Úsáid eochair shlándála
author_attribution:
example_title: Téacs samplach
- hint_html: Rialú conas a chuirtear chun sochair tú nuair a roinntear naisc ar Mastodon.
more_from_html: Tuilleadh ó %{name}
s_blog: Blag %{name}
title: Leithdháil an údair
@@ -1441,19 +1441,79 @@ ga:
overwrite: Forscríobh
overwrite_long: Cuir na cinn nua in ionad na dtaifead reatha
overwrite_preambles:
- blocking_html: Tá tú ar tí do liosta bloc a chur in ionad suas le %{total_items} cuntas ó %{filename}.
- bookmarks_html: Tá tú ar tí do leabharmharcanna a chur in ionad suas le %{total_items} postáil ó %{filename}.
- domain_blocking_html: Tá tú ar tí do liosta bloc fearainn a chur in ionad suas le %{total_items} fearainn ó %{filename}.
- following_html: Tá tú ar tí leanúint suas go dtí %{total_items} cuntas ó %{filename} agus stop a leanúint aon duine eile.
- lists_html: Tá tú ar tí do liostaí a chur in ionad inneachair %{filename}. Cuirfear suas le %{total_items} cuntas le liostaí nua.
- muting_html: Tá tú ar tí do liosta cuntas balbhaithe a chur in ionad suas le %{total_items} cuntas ó %{filename}.
+ blocking_html:
+ few: Tá tú ar tí do liosta bloc a chur in ionad suas le %{count} cuntais ó %{filename}.
+ many: Tá tú ar tí do liosta bloc a chur in ionad suas le %{count} cuntais ó %{filename}.
+ one: Tá tú ar tí do liosta bloc a chur in ionad suas le %{count} cuntas ó %{filename}.
+ other: Tá tú ar tí do liosta bloc a chur in ionad suas le %{count} cuntais ó %{filename}.
+ two: Tá tú ar tí do liosta bloc a chur in ionad suas le %{count} cuntais ó %{filename}.
+ bookmarks_html:
+ few: Tá tú ar tí do leabharmharcanna a chur in ionad suas le %{count} postáil ó %{filename}.
+ many: Tá tú ar tí do leabharmharcanna a chur in ionad suas le %{count} postáil ó %{filename}.
+ one: Tá tú ar tí do leabharmharcanna a chur in ionad suas le %{count} postáil ó %{filename}.
+ other: Tá tú ar tí do leabharmharcanna a chur in ionad suas le %{count} postáil ó %{filename}.
+ two: Tá tú ar tí do leabharmharcanna a chur in ionad suas le %{count} postáil ó %{filename}.
+ domain_blocking_html:
+ few: Tá tú ar tí do liosta bloc fearainn a chur in ionad suas le %{count} fearainn ó %{filename}.
+ many: Tá tú ar tí do liosta bloc fearainn a chur in ionad suas le %{count} fearainn ó %{filename}.
+ one: Tá tú ar tí do liosta bloc fearainn a chur in ionad suas le %{count} fearainn ó %{filename}.
+ other: Tá tú ar tí do liosta bloc fearainn a chur in ionad suas le %{count} fearainn ó %{filename}.
+ two: Tá tú ar tí do liosta bloc fearainn a chur in ionad suas le %{count} fearainn ó %{filename}.
+ following_html:
+ few: Tá tú ar tí leanúint suas go dtí %{count} cuntas ó %{filename} agus stop ag leanúint aon duine eile.
+ many: Tá tú ar tí leanúint suas go dtí %{count} cuntas ó %{filename} agus stop ag leanúint aon duine eile.
+ one: Tá tú ar tí leanúint suas go dtí %{count} chuntais ó %{filename} agus stop a leanúint aon duine eile.
+ other: Tá tú ar tí leanúint suas go dtí %{count} cuntas ó %{filename} agus stop ag leanúint aon duine eile.
+ two: Tá tú ar tí leanúint suas go dtí %{count} cuntas ó %{filename} agus stop ag leanúint aon duine eile.
+ lists_html:
+ few: Tá tú ar tí do liostaí a chur in ionad inneachair %{filename}. Cuirfear suas le %{count} cuntais le liostaí nua.
+ many: Tá tú ar tí do liostaí a chur in ionad inneachair %{filename}. Cuirfear suas le %{count} cuntais le liostaí nua.
+ one: Tá tú ar tí do liostaí a chur in ionad inneachair %{filename}. Cuirfear suas le %{count} cuntas le liostaí nua.
+ other: Tá tú ar tí do liostaí a chur in ionad inneachair %{filename}. Cuirfear suas le %{count} cuntais le liostaí nua.
+ two: Tá tú ar tí do liostaí a chur in ionad inneachair %{filename}. Cuirfear suas le %{count} cuntais le liostaí nua.
+ muting_html:
+ few: Tá tú ar tí do liosta cuntas balbhaithe a chur in ionad suas le %{count} cuntais ó %{filename}.
+ many: Tá tú ar tí do liosta cuntas balbhaithe a chur in ionad suas le %{count} cuntais ó %{filename}.
+ one: Tá tú ar tí do liosta cuntais balbhaithe a chur in ionad suas le %{count} cuntas ó %{filename}.
+ other: Tá tú ar tí do liosta cuntas balbhaithe a chur in ionad suas le %{count} cuntais ó %{filename}.
+ two: Tá tú ar tí do liosta cuntas balbhaithe a chur in ionad suas le %{count} cuntais ó %{filename}.
preambles:
- blocking_html: Tá tú ar tí bloc suas le %{total_items} cuntas ó %{filename}.
- bookmarks_html: Tá tú ar tí %{total_items} postáil ó %{filename} a chur le do leabharmharcanna.
- domain_blocking_html: Tá tú ar tí bloc suas le %{total_items} fearainn ó %{filename}.
- following_html: Tá tú ar tí leanúint suas go dtí %{total_items} cuntas ó %{filename}.
- lists_html: Tá tú ar tí %{total_items} cuntas ó %{filename} a chur le do liostaí. Cruthófar liostaí nua mura bhfuil aon liosta le cur leis.
- muting_html: Tá tú ar tí balbhú suas le %{total_items} cuntas ó %{filename}.
+ blocking_html:
+ few: Tá tú ar tí bhac suas le %{count} cuntais ó %{filename}.
+ many: Tá tú ar tí bhac suas le %{count} cuntais ó %{filename}.
+ one: Tá tú ar tí bac suas go dtí %{count} cuntas ó %{filename}.
+ other: Tá tú ar tí bhac suas le %{count} cuntais ó %{filename}.
+ two: Tá tú ar tí bhac suas le %{count} cuntais ó %{filename}.
+ bookmarks_html:
+ few: Tá tú ar tí %{count} postáil ó %{filename} a chur le do leabharmharcanna.
+ many: Tá tú ar tí %{count} postáil ó %{filename} a chur le do leabharmharcanna.
+ one: Tá tú ar tí %{count} postáil ó %{filename} a chur le do leabharmharcanna.
+ other: Tá tú ar tí %{count} postáil ó %{filename} a chur le do leabharmharcanna.
+ two: Tá tú ar tí %{count} postáil ó %{filename} a chur le do leabharmharcanna.
+ domain_blocking_html:
+ few: Tá tú ar tí bhac suas le %{count} bhfearainn ó %{filename}.
+ many: Tá tú ar tí bhac suas le %{count} bhfearainn ó %{filename}.
+ one: Tá tú ar tí bac suas go dtí %{count} fearann ó %{filename}.
+ other: Tá tú ar tí bhac suas le %{count} bhfearainn ó %{filename}.
+ two: Tá tú ar tí bhac suas le %{count} bhfearainn ó %{filename}.
+ following_html:
+ few: Tá tú ar tí leanúint suas go dtí %{count} cuntais ó %{filename}.
+ many: Tá tú ar tí leanúint suas go dtí %{count} cuntais ó %{filename}.
+ one: Tá tú ar tí leanúint suas go dtí %{count} cuntas ó %{filename}.
+ other: Tá tú ar tí leanúint suas go dtí %{count} cuntais ó %{filename}.
+ two: Tá tú ar tí leanúint suas go dtí %{count} cuntais ó %{filename}.
+ lists_html:
+ few: Tá tú ar tí %{count} cuntais ó %{filename} a chur le do liostaí. Cruthófar liostaí nua mura bhfuil aon liosta le cur leis.
+ many: Tá tú ar tí %{count} cuntais ó %{filename} a chur le do liostaí. Cruthófar liostaí nua mura bhfuil aon liosta le cur leis.
+ one: Tá tú ar tí cuntas %{count} ó %{filename} a chur le do liostaí. Cruthófar liostaí nua mura bhfuil aon liosta le cur leis.
+ other: Tá tú ar tí %{count} cuntais ó %{filename} a chur le do liostaí. Cruthófar liostaí nua mura bhfuil aon liosta le cur leis.
+ two: Tá tú ar tí %{count} cuntais ó %{filename} a chur le do liostaí. Cruthófar liostaí nua mura bhfuil aon liosta le cur leis.
+ muting_html:
+ few: Tá tú ar tí balbhú suas le %{count} cuntais ó %{filename}.
+ many: Tá tú ar tí balbhú suas le %{count} cuntais ó %{filename}.
+ one: Tá tú ar tí balbhú suas go dtí %{count} cuntas ó %{filename}.
+ other: Tá tú ar tí balbhú suas le %{count} cuntais ó %{filename}.
+ two: Tá tú ar tí balbhú suas le %{count} cuntais ó %{filename}.
preface: Is féidir leat sonraí a d’easpórtáil tú a allmhairiú ó fhreastalaí eile, mar shampla liosta de na daoine a bhfuil tú ag leanúint nó ag cur bac orthu.
recent_imports: Allmhairí le déanaí
states:
diff --git a/config/locales/gd.yml b/config/locales/gd.yml
index a030b0d185..3495a070ec 100644
--- a/config/locales/gd.yml
+++ b/config/locales/gd.yml
@@ -25,6 +25,7 @@ gd:
other: Postaichean
two: Postaichean
posts_tab_heading: Postaichean
+ self_follow_error: Chan fhaod thu an cunntas agad fhèn a leantainn
admin:
account_actions:
action: Gabh an gnìomh
@@ -1201,7 +1202,6 @@ gd:
use_security_key: Cleachd iuchair tèarainteachd
author_attribution:
example_title: Ball-sampaill teacsa
- hint_html: Stùirich mar a thèid iomradh a thoirt ort nuair a thèid ceangal a cho-roinneadh air Mastodon.
more_from_html: Barrachd o %{name}
s_blog: Bloga aig %{name}
title: Aithris air an ùghdar
@@ -1416,19 +1416,67 @@ gd:
overwrite: Sgrìobh thairis air
overwrite_long: Cuir na reacordan ùra an àite na feadhna a tha ann
overwrite_preambles:
- blocking_html: Tha thu an impis suas ri %{total_items} cunntas(an) o %{filename} a chur an àite liosta nam bacaidhean agad.
- bookmarks_html: Tha thu an impis suas ri %{total_items} post(aichean) o %{filename} a chur an àite nan comharra-lìn agad.
- domain_blocking_html: Tha thu an impis suas ri %{total_items} àrainn(ean) o %{filename} a chur an àite liosta nam bacaidhean àrainne agad.
- following_html: Tha thu an impis suas ri %{total_items} cunntas(an) o %{filename} a leantainn agus sguiridh tu a leantainn duine sam bith eile.
- lists_html: Tha thu an impis susbaint %{filename} a chur an àite nan liostaichean agad. Thèid suas ri %{total_items}cunntas(an) a chur ri liostaichean ùra.
- muting_html: Tha thu an impis suas ri %{total_items} cunntas(an) o %{filename} a chur an àite liosta nan cunntasan mùchte agad.
+ blocking_html:
+ few: Tha thu an impis suas ri %{count} cunntasan o %{filename} a chur an àite liosta nam bacaidhean agad.
+ one: Tha thu an impis suas ri %{count} chunntas o %{filename} a chur an àite liosta nam bacaidhean agad.
+ other: Tha thu an impis suas ri %{count} cunntas o %{filename} a chur an àite liosta nam bacaidhean agad.
+ two: Tha thu an impis suas ri %{count} chunntas o %{filename} a chur an àite liosta nam bacaidhean agad.
+ bookmarks_html:
+ few: Tha thu an impis suas ri %{count} postaichean o %{filename} a chur an àite nan comharra-lìn agad.
+ one: Tha thu an impis suas ri %{count} phost o %{filename} a chur an àite nan comharra-lìn agad.
+ other: Tha thu an impis suas ri %{count} post o %{filename} a chur an àite nan comharra-lìn agad.
+ two: Tha thu an impis suas ri %{count} phost o %{filename} a chur an àite nan comharra-lìn agad.
+ domain_blocking_html:
+ few: Tha thu an impis suas ri %{count} àrainnean o %{filename} a chur an àite liosta nam bacaidhean àrainne agad.
+ one: Tha thu an impis suas ri %{count} àrainn o %{filename} a chur an àite liosta nam bacaidhean àrainne agad.
+ other: Tha thu an impis suas ri %{count} àrainn o %{filename} a chur an àite liosta nam bacaidhean àrainne agad.
+ two: Tha thu an impis suas ri %{count} àrainn o %{filename} a chur an àite liosta nam bacaidhean àrainne agad.
+ following_html:
+ few: Tha thu an impis suas ri %{count} cunntasan o %{filename} a leantainn agus sguiridh tu a leantainn duine sam bith eile.
+ one: Tha thu an impis suas ri %{count} chunntas o %{filename} a leantainn agus sguiridh tu a leantainn duine sam bith eile.
+ other: Tha thu an impis suas ri %{count} cunntas o %{filename} a leantainn agus sguiridh tu a leantainn duine sam bith eile.
+ two: Tha thu an impis suas ri %{count} chunntas o %{filename} a leantainn agus sguiridh tu a leantainn duine sam bith eile.
+ lists_html:
+ few: Tha thu an impis susbaint %{filename} a chur an àite nan liostaichean agad. Thèid suas ri %{count} cunntasan a chur ri liostaichean ùra.
+ one: Tha thu an impis susbaint %{filename} a chur an àite nan liostaichean agad. Thèid suas ri %{count} chunntas a chur ri liostaichean ùra.
+ other: Tha thu an impis susbaint %{filename} a chur an àite nan liostaichean agad. Thèid suas ri %{count} cunntas a chur ri liostaichean ùra.
+ two: Tha thu an impis susbaint %{filename} a chur an àite nan liostaichean agad. Thèid suas ri %{count} chunntas a chur ri liostaichean ùra.
+ muting_html:
+ few: Tha thu an impis suas ri %{count} cunntasan o %{filename} a chur an àite liosta nan cunntasan mùchte agad.
+ one: Tha thu an impis suas ri %{count} chunntas o %{filename} a chur an àite liosta nan cunntasan mùchte agad.
+ other: Tha thu an impis suas ri %{count} cunntas o %{filename} a chur an àite liosta nan cunntasan mùchte agad.
+ two: Tha thu an impis suas ri %{count} chunntas o %{filename} a chur an àite liosta nan cunntasan mùchte agad.
preambles:
- blocking_html: Tha thu an impis suas ri %{total_items} cunntas(an) o %{filename} a bhacadh.
- bookmarks_html: Tha thu an impis suas ri %{total_items} post(aichean) o %{filename} a chur ris na h-annsachdan agad.
- domain_blocking_html: Tha thu an impis suas ri %{total_items} àrainn(ean) o %{filename} a bhacadh.
- following_html: Tha thu an impis suas ri %{total_items} cunntas(an) o %{filename} a leantainn.
- lists_html: Tha thu an impis suas ri %{total_items} cunntas(an) o %{filename} a chur ris na liostaichean agad. Thèid liostaichean ùra a chruthachadh mur eil liostaichean ann airson nan cunntasan a chur ris.
- muting_html: Tha thu an impis suas ri %{total_items} cunntas(an) o %{filename} a mhùchadh.
+ blocking_html:
+ few: Tha thu an impis suas ri %{count} cunntasan o %{filename} a bhacadh.
+ one: Tha thu an impis suas ri %{count} chunntas o %{filename} a bhacadh.
+ other: Tha thu an impis suas ri %{count} cunntas o %{filename} a bhacadh.
+ two: Tha thu an impis suas ri %{count} chunntas o %{filename} a bhacadh.
+ bookmarks_html:
+ few: Tha thu an impis suas ri %{count} postaichean o %{filename} a chur ris na h-annsachdan agad.
+ one: Tha thu an impis suas ri %{count} phost o %{filename} a chur ris na h-annsachdan agad.
+ other: Tha thu an impis suas ri %{count} post o %{filename} a chur ris na h-annsachdan agad.
+ two: Tha thu an impis suas ri %{count} phost o %{filename} a chur ris na h-annsachdan agad.
+ domain_blocking_html:
+ few: Tha thu an impis suas ri %{count} àrainnean o %{filename} a bhacadh.
+ one: Tha thu an impis suas ri %{count} àrainn o %{filename} a bhacadh.
+ other: Tha thu an impis suas ri %{count} àrainn o %{filename} a bhacadh.
+ two: Tha thu an impis suas ri %{count} àrainn o %{filename} a bhacadh.
+ following_html:
+ few: Tha thu an impis suas ri %{count} cunntasan o %{filename} a leantainn.
+ one: Tha thu an impis suas ri %{count} chunntas o %{filename} a leantainn.
+ other: Tha thu an impis suas ri %{count} cunntas o %{filename} a leantainn.
+ two: Tha thu an impis suas ri %{count} chunntas o %{filename} a leantainn.
+ lists_html:
+ few: Tha thu an impis suas ri %{count} cunntasan o %{filename} a chur ris na liostaichean agad. Thèid liostaichean ùra a chruthachadh mur eil liostaichean ann airson nan cunntasan a chur ris.
+ one: Tha thu an impis suas ri %{count} chunntas o %{filename} a chur ris na liostaichean agad. Thèid liostaichean ùra a chruthachadh mur eil liostaichean ann airson nan cunntasan a chur ris.
+ other: Tha thu an impis suas ri %{count} cunntas o %{filename} a chur ris na liostaichean agad. Thèid liostaichean ùra a chruthachadh mur eil liostaichean ann airson nan cunntasan a chur ris.
+ two: Tha thu an impis suas ri %{count} chunntas o %{filename} a chur ris na liostaichean agad. Thèid liostaichean ùra a chruthachadh mur eil liostaichean ann airson nan cunntasan a chur ris.
+ muting_html:
+ few: Tha thu an impis suas ri %{count} cunntasan o %{filename} a mhùchadh.
+ one: Tha thu an impis suas ri %{count} chunntas o %{filename} a mhùchadh.
+ other: Tha thu an impis suas ri %{count} cunntas o %{filename} a mhùchadh.
+ two: Tha thu an impis suas ri %{count} chunntas o %{filename} a mhùchadh.
preface: "’S urrainn dhut dàta ion-phortadh a dh’às-phortaich thu o fhrithealaiche eile, can liosta nan daoine a leanas tu no a tha thu a’ bacadh."
recent_imports: Ion-phortaidhean o chionn goirid
states:
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index e396761f7e..a4f63a50e0 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -21,6 +21,7 @@ gl:
one: Publicación
other: Publicacións
posts_tab_heading: Publicacións
+ self_follow_error: Non está permitido seguir a túa propia conta
admin:
account_actions:
action: Executar acción
@@ -1165,9 +1166,11 @@ gl:
use_security_key: Usa chave de seguridade
author_attribution:
example_title: Texto de mostra
- hint_html: Controla o xeito en que te acreditan cando se comparten ligazóns en Mastodon.
+ hint_html: Escribes novas ou artigos nun blog alleos a Mastodon? Xestiona o xeito en que podes dar crédito da túa autoría cando os compartes en Mastodon.
+ instructions: 'Pon coidado en que este código apareza no HTML do teu artigo:'
more_from_html: Máis de %{name}
s_blog: Blog de %{name}
+ then_instructions: Despois engade o nome de dominio da publicación no campo inferior.
title: Atribución da autoría
challenge:
confirm: Continuar
@@ -1366,19 +1369,43 @@ gl:
overwrite: Sobreescribir
overwrite_long: Sustituír rexistros actuais cos novos
overwrite_preambles:
- blocking_html: Vas substituír a lista de bloqueos por %{total_items} contas desde %{filename}.
- bookmarks_html: Vas substituír os marcadores por %{total_items} publicacións desde %{filename}.
- domain_blocking_html: Vas substituír a lista de dominios bloqueados por %{total_items} dominios desde %{filename}.
- following_html: Vas seguir estas %{total_items} contas desde %{filename} e deixar de seguir a todas as outras contas.
- lists_html: Vas substituír as túas listas co contido de %{filename}. Vanse engadir %{total_items} contas ás novas listas.
- muting_html: Vas substituír a lista de contas acaladas por %{total_items} contas desde %{filename}.
+ blocking_html:
+ one: Vas substituír a lista de bloqueos por %{count} conta desde %{filename}.
+ other: Vas substituír a lista de bloqueos por %{count} contas desde %{filename}.
+ bookmarks_html:
+ one: Vas substituír os marcadores por %{count} publicación desde %{filename}.
+ other: Vas substituír os marcadores por %{count} publicacións desde %{filename}.
+ domain_blocking_html:
+ one: Vas substituír a lista de dominios bloqueados por %{count} dominio desde %{filename}.
+ other: Vas substituír a lista de dominios bloqueados por %{count} dominios desde %{filename}.
+ following_html:
+ one: Vas seguir a %{count} conta desde %{filename} e deixar de seguir a todas as outras contas.
+ other: Vas seguir a %{count} contas desde %{filename} e deixar de seguir a todas as outras contas.
+ lists_html:
+ one: Vas substituír as túas listas co contido de %{filename}. Vaise engadir %{count} conta ás novas listas.
+ other: Vas substituír as túas listas co contido de %{filename}. Vanse engadir %{count} contas ás novas listas.
+ muting_html:
+ one: Vas substituír a lista de contas acaladas por %{count} conta desde %{filename}.
+ other: Vas substituír a lista de contas acaladas por %{count} contas desde %{filename}.
preambles:
- blocking_html: Vas bloquear estas %{total_items} contas desde %{filename}.
- bookmarks_html: Vas engadir %{total_items} publicacións desde %{filename} aos teus marcadores.
- domain_blocking_html: Vas bloquear estes %{total_items} dominios desde %{filename}.
- following_html: Vas seguir estas %{total_items} contas desde %{filename}.
- lists_html: Vas engadir %{total_items} contas desde %{filename} ás túas listas. Crearánse novas listas se non hai listas ás que engadilas.
- muting_html: Vas acalar estas %{total_items} contas desde %{filename}.
+ blocking_html:
+ one: Vas bloquear a %{count} conta desde %{filename}.
+ other: Vas bloquear a %{count} contas desde %{filename}.
+ bookmarks_html:
+ one: Vas engadir %{count} publicación desde %{filename} aos teus marcadores.
+ other: Vas engadir %{count} publicacións desde %{filename} aos teus marcadores.
+ domain_blocking_html:
+ one: Vas bloquear a %{count} dominio desde %{filename}.
+ other: Vas bloquear a %{count} dominios desde %{filename}.
+ following_html:
+ one: Vas seguir a %{count} conta desde %{filename}.
+ other: Vas seguir a %{count} contas desde %{filename}.
+ lists_html:
+ one: Vas engadir %{count} conta desde %{filename} ás túas listas. Crearánse novas listas se non hai listas ás que engadilas.
+ other: Vas engadir %{count} contas desde %{filename} ás túas listas. Crearánse novas listas se non hai listas ás que engadilas.
+ muting_html:
+ one: Vas acalar a %{count} conta desde %{filename}.
+ other: Vas acalar a %{count} contas desde %{filename}.
preface: Podes importar os datos que exportaches doutro servidor, tales como a lista de usuarias que estás a seguir ou bloquear.
recent_imports: Importacións recentes
states:
@@ -1760,11 +1787,11 @@ gl:
enabled: Borrar automáticamente publicacións antigas
enabled_hint: Borra automáticamente as túas publicacións unha vez acadan certa lonxevidade, a menos que cumpran algunha destas excepcións
exceptions: Excepcións
- explanation: Como o borrado de publicacións consume moitos recursos, esta faise aos poucos cando o servidor non ten moita carga de traballo. Así, a eliminación das túas publicacións podería ser lixeiramente posterior a cando lle correspondería por idade.
+ explanation: O borrado de publicacións vaise facendo aos poucos cando o servidor non ten moito traballo, é unha tarefa que consume moitos recursos. Así, a eliminación das túas publicacións podería ser lixeiramente posterior a cando lle correspondería por antigüidade.
ignore_favs: Ignorar favoritas
ignore_reblogs: Ignorar promocións
interaction_exceptions: Excepcións baseadas en interaccións
- interaction_exceptions_explanation: Ten en conta que non hai garantía de que se eliminen as túas publicacións se baixan do límite de promocións e favorecementos se nalgún momento o superaron.
+ interaction_exceptions_explanation: Ten en conta que non hai garantía de que se eliminen as túas publicacións se baixan do límite de promocións ou favorecementos se nalgún momento o tivese superado.
keep_direct: Manter mensaxes directas
keep_direct_hint: Non borrar ningunha das túas mensaxes directas
keep_media: Manter publicacións que conteñen multimedia
diff --git a/config/locales/he.yml b/config/locales/he.yml
index 846b0d14af..10b4611b9a 100644
--- a/config/locales/he.yml
+++ b/config/locales/he.yml
@@ -25,6 +25,7 @@ he:
other: הודעות
two: הודעותיים
posts_tab_heading: הודעות
+ self_follow_error: בלתי אפשרי לך לעקוב אחרי חשבונך
admin:
account_actions:
action: בצע/י פעולה
@@ -1201,9 +1202,11 @@ he:
use_security_key: שימוש במפתח אבטחה
author_attribution:
example_title: טקסט לדוגמה
- hint_html: בחירה איך תקבלו קרדיטציה כאשר קישורים משותפים דרך מסטודון.
+ hint_html: האם יש לך בלוג או טור חדשות שמתפרסם מחוץ למסטודון? ניתן לשלוט איך יוצג הקרדיט שלך כשמשתפים את הלינק במסטודון.
+ instructions: 'ודאו כי הקוד הזה נכלל בקוד ה־HTML של המאמרים שלכם:'
more_from_html: עוד מאת %{name}
s_blog: הבלוג של %{name}
+ then_instructions: לאחר מכן, הוסיפו את שם המתחם של האתר המפרסם בשדה למטה.
title: ייחוס למפרסם
challenge:
confirm: המשך
@@ -1416,19 +1419,67 @@ he:
overwrite: דריסה
overwrite_long: החלף רשומות נוכחיות בחדשות
overwrite_preambles:
- blocking_html: אתם עומדים להחליף את רשימת החסימות עד כדי %{total_items} חשבונות מהקובץ %{filename}.
- bookmarks_html: אתם עומדים להחליף את רשימת הסימניות עד כדי %{total_items} הודעות מהקובץ %{filename}.
- domain_blocking_html: אתם עומדים להחליף את רשימת חסימות השרתים עד כדי %{total_items} שרתים מהקובץ %{filename}.
- following_html: אתם עומדים לעקוב עד כדי %{total_items} חשבונות מהקובץ %{filename} ובמקביל להפסיק מעקב אחרי כל משתמש אחר.
- lists_html: הפעולה הבאה תחליף את רשימותיך בתוכן של %{filename}. עד %{total_items} חשבונות יתווספו לרשימות חדשות.
- muting_html: אתם עומדים להחליף את רשימת ההשתקות עד כדי %{total_items} חשבונות מהקובץ %{filename}.
+ blocking_html:
+ many: אתם עומדים להחליף את רשימת החסימות עד כדי %{count} חשבונות מהקובץ %{filename}.
+ one: אתם עומדים להחליף את רשימת החסימות %{count} בחשבון אחד מהקובץ %{filename}.
+ other: אתם עומדים להחליף את רשימת החסימות עד כדי %{count} חשבונות מהקובץ %{filename}.
+ two: אתם עומדים להחליף את רשימת החסימות בעד שני חשבונות מהקובץ %{filename}.
+ bookmarks_html:
+ many: אתם עומדים להחליף את רשימת הסימניות עד כדי %{count} הודעות מהקובץ %{filename}.
+ one: אתם עומדים להחליף את רשימת הסימניות בהודעה אחת מהקובץ %{filename}.
+ other: אתם עומדים להחליף את רשימת הסימניות עד כדי %{count} הודעות מהקובץ %{filename}.
+ two: אתם עומדים להחליף את רשימת הסימניות עד כדי שתי הודעות מהקובץ %{filename}.
+ domain_blocking_html:
+ many: אתם עומדים להחליף את רשימת חסימות השרתים עד כדי %{count} שרתים מהקובץ %{filename}.
+ one: אתם עומדים להחליף את רשימת חסימות השרתים בשרת אחד מהקובץ %{filename}.
+ other: אתם עומדים להחליף את רשימת חסימות השרתים עד כדי %{count} שרתים מהקובץ %{filename}.
+ two: אתם עומדים להחליף את רשימת חסימות השרתים עד כדי שני שרתים מהקובץ %{filename}.
+ following_html:
+ many: אתם עומדים לעקוב אחרי עד כדי %{count} חשבונות מהקובץ %{filename} ובמקביל להפסיק מעקב אחרי כל משתמש אחר.
+ one: אתם עומדים לעקוב אחרי חשבון אחד מהקובץ %{filename} ובמקביל להפסיק מעקב אחרי כל משתמש אחר.
+ other: אתם עומדים לעקוב אחרי עד כדי %{count} חשבונות מהקובץ %{filename} ובמקביל להפסיק מעקב אחרי כל משתמש אחר.
+ two: אתם עומדים לעקוב אחרי עד כדי שני חשבונות מהקובץ %{filename} ובמקביל להפסיק מעקב אחרי כל משתמש אחר.
+ lists_html:
+ many: הפעולה הבאה תחליף את רשימותיך בתוכן של %{filename}. עד %{count} חשבונות יתווספו לרשימות חדשות.
+ one: הפעולה הבאה תחליף את רשימותיך בתוכן של %{filename}. עד חשבון אחד יתווסף לרשימות חדשות.
+ other: הפעולה הבאה תחליף את רשימותיך בתוכן של %{filename}. עד %{count} חשבונות יתווספו לרשימות חדשות.
+ two: הפעולה הבאה תחליף את רשימותיך בתוכן של %{filename}. עד שני חשבונות יתווספו לרשימות חדשות.
+ muting_html:
+ many: אתם עומדים להחליף את רשימת ההשתקות בעד כדי %{count} חשבונות מהקובץ %{filename}.
+ one: אתם עומדים להחליף את רשימת ההשתקות בחשבון אחד מהקובץ %{filename}.
+ other: אתם עומדים להחליף את רשימת ההשתקות בעד כדי %{count} חשבונות מהקובץ %{filename}.
+ two: אתם עומדים להחליף את רשימת ההשתקות בעד כדי שני חשבונות מהקובץ %{filename}.
preambles:
- blocking_html: אתם עומדים לחסום עד %{total_items} חשבונות מהקובץ %{filename}.
- bookmarks_html: אתם עומדים להוסיף עד %{total_items} הודעות מהקובץ %{filename} לרשימת הסימניות שלכם.
- domain_blocking_html: אתם עומדים לחסום עד כדי %{total_items} שרתים מהקובץ %{filename}.
- following_html: אתם עומדים לעקוב אחרי עד %{total_items} חשבונות מהקובץ %{filename}.
- lists_html: הפעולה הבאה תוסיף עד %{total_items} חשבונות מהקובץ %{filename} אל הרשימות שלך. רשימות חדשות יווצרו אם עוד לא קיימת רשימה להוסיף אליה.
- muting_html: אתם עומדים להשתיק עד %{total_items} חשבונות מהקובץ %{filename}.
+ blocking_html:
+ many: אתם עומדים לחסום עד %{count} חשבונות מהקובץ %{filename}.
+ one: אתם עומדים לחסוםחשבון אחד מהקובץ %{filename}.
+ other: אתם עומדים לחסום עד %{count} חשבונות מהקובץ %{filename}.
+ two: אתם עומדים לחסום עד שני חשבונות מהקובץ %{filename}.
+ bookmarks_html:
+ many: אתם עומדים להוסיף עד %{count} הודעות מהקובץ %{filename} לרשימת הסימניות שלכם.
+ one: אתם עומדים להוסיףהודעה אחת מהקובץ %{filename} לרשימת הסימניות שלכם.
+ other: אתם עומדים להוסיף עד %{count} הודעות מהקובץ %{filename} לרשימת הסימניות שלכם.
+ two: אתם עומדים להוסיף עד שתי הודעות מהקובץ %{filename} לרשימת הסימניות שלכם.
+ domain_blocking_html:
+ many: אתם עומדים לחסום עד כדי %{count} שרתים מהקובץ %{filename}.
+ one: אתם עומדים לחסום עד שרת אחד מהקובץ %{filename}.
+ other: אתם עומדים לחסום עד כדי %{count} שרתים מהקובץ %{filename}.
+ two: אתם עומדים לחסום עד כדי שני שרתים מהקובץ %{filename}.
+ following_html:
+ many: אתם עומדים לעקוב אחרי עד %{count} חשבונות מהקובץ %{filename}.
+ one: אתם עומדים לעקוב אחרי עד חשבון אחד מהקובץ %{filename}.
+ other: אתם עומדים לעקוב אחרי עד %{count} חשבונות מהקובץ %{filename}.
+ two: אתם עומדים לעקוב אחרי עד שני חשבונות מהקובץ %{filename}.
+ lists_html:
+ many: הפעולה הבאה תוסיף עד %{count} חשבונות מהקובץ %{filename} אל הרשימות שלך. רשימות חדשות יווצרו אם עוד לא קיימת רשימה להוסיף אליה.
+ one: הפעולה הבאה תוסיף עד חשבון אחד מהקובץ %{filename} אל הרשימות שלך. רשימות חדשות יווצרו אם עוד לא קיימת רשימה להוסיף אליה.
+ other: הפעולה הבאה תוסיף עד %{count} חשבונות מהקובץ %{filename} אל הרשימות שלך. רשימות חדשות יווצרו אם עוד לא קיימת רשימה להוסיף אליה.
+ two: הפעולה הבאה תוסיף עד שני חשבונות מהקובץ %{filename} אל הרשימות שלך. רשימות חדשות יווצרו אם עוד לא קיימת רשימה להוסיף אליה.
+ muting_html:
+ many: אתם עומדים להשתיק עד %{count} חשבונות מהקובץ %{filename}.
+ one: אתם עומדים להשתיק עד חשבון אחד מהקובץ %{filename}.
+ other: אתם עומדים להשתיק עד %{count} חשבונות מהקובץ %{filename}.
+ two: אתם עומדים להשתיק עד שני חשבונות מהקובץ %{filename}.
preface: ניתן ליבא מידע מסויים כגון כל הנעקבים או המשתמשים החסומים לתוך חשבונך על שרת זה, מתוך קבצים שנוצרו על ידי יצוא משרת אחר כגון רשימת הנעקבים והחסומים שלך.
recent_imports: ייבואים אחרונים
states:
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index 5a00db9548..4f18e3b4d4 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -21,6 +21,7 @@ hu:
one: Bejegyzés
other: Bejegyzés
posts_tab_heading: Bejegyzés
+ self_follow_error: A saját fiók nem követhető
admin:
account_actions:
action: Művelet végrehajtása
@@ -1165,7 +1166,6 @@ hu:
use_security_key: Biztonsági kulcs használata
author_attribution:
example_title: Mintaszöveg
- hint_html: Szabályozd, hogyan hivatkoznak rád, amikor linket osztanak meg Mastodonon.
more_from_html: 'Több tőle: %{name}'
s_blog: "%{name} blogja"
title: Szerző forrásmegjelölése
@@ -1366,19 +1366,43 @@ hu:
overwrite: Felülírás
overwrite_long: Lecseréljük újakkal a jelenlegi bejegyzéseket
overwrite_preambles:
- blocking_html: 'Arra készülsz, hogy lecseréld a letiltási listát legfeljebb %{total_items} fiókra a következőből: %{filename}.'
- bookmarks_html: 'Arra készülsz, hogy lecseréld a könyvjelzőket legfeljebb %{total_items} bejegyzésre a következőből: %{filename}.'
- domain_blocking_html: 'Arra készülsz, hogy lecseréld a domain letiltási listát legfeljebb %{total_items} domainre a következőből: %{filename}.'
- following_html: 'Arra készülsz, hogy legfeljebb %{total_items} fiókot kövess a következőből: %{filename}, és abbahagyd mindenki más követését.'
- lists_html: Arra készülsz, hogy a listákat lecseréld a %{filename} tartalmával. Legfeljebb %{total_items} fiók kerül fel az új listákra.
- muting_html: 'Arra készülsz, hogy lecseréld a némított fiókok listáját legfeljebb %{total_items} fiókra a következőből: %{filename}.'
+ blocking_html:
+ one: 'Arra készülsz, hogy lecseréld a letiltási listát legfeljebb %{count} fiókra a következőből: %{filename}.'
+ other: 'Arra készülsz, hogy lecseréld a letiltási listát legfeljebb %{count} fiókra a következőből: %{filename}.'
+ bookmarks_html:
+ one: 'Arra készülsz, hogy lecseréld a könyvjelzőket legfeljebb %{count} bejegyzésre a következőből: %{filename}.'
+ other: 'Arra készülsz, hogy lecseréld a könyvjelzőket legfeljebb %{count} bejegyzésre a következőből: %{filename}.'
+ domain_blocking_html:
+ one: 'Arra készülsz, hogy lecseréld a domain letiltási listát legfeljebb %{count} domainre a következőből: %{filename}.'
+ other: 'Arra készülsz, hogy lecseréld a domain letiltási listát legfeljebb %{count} domainre a következőből: %{filename}.'
+ following_html:
+ one: 'Arra készülsz, hogy legfeljebb %{count} fiókot kövess a következőből: %{filename}, és abbahagyd mindenki más követését.'
+ other: 'Arra készülsz, hogy legfeljebb %{count} fiókot kövess a következőből: %{filename}, és abbahagyd mindenki más követését.'
+ lists_html:
+ one: Arra készülsz, hogy a listákat lecseréld a %{filename} tartalmával. Legfeljebb %{count} fiók kerül fel az új listákra.
+ other: Arra készülsz, hogy a listákat lecseréld a %{filename} tartalmával. Legfeljebb %{count} fiók kerül fel az új listákra.
+ muting_html:
+ one: 'Arra készülsz, hogy lecseréld a némított fiókok listáját legfeljebb %{count} fiókra a következőből: %{filename}.'
+ other: 'Arra készülsz, hogy lecseréld a némított fiókok listáját legfeljebb %{count} fiókra a következőből: %{filename}.'
preambles:
- blocking_html: 'Arra készülsz, hogy legfeljebb %{total_items} fiókot letilts a következőből: %{filename}.'
- bookmarks_html: 'Arra készülsz, hogy legfeljebb %{total_items} bejegyzést adj hozzá a könyvjelzőkhöz a következőből: %{filename}.'
- domain_blocking_html: 'Arra készülsz, hogy legfeljebb %{total_items} domaint letilts a következőből: %{filename}.'
- following_html: 'Arra készülsz, hogy legfeljebb %{total_items} fiókot kövess a következőből: %{filename}.'
- lists_html: Arra készülsz, hogy legfeljebb %{total_items} fiókot hozzáadj a %{filename} fájlból a listákhoz. Új listák jönnek létre, ha nincs hozzáadható lista.
- muting_html: 'Arra készülsz, hogy legfeljebb %{total_items} fiókot némíts a következőből: %{filename}.'
+ blocking_html:
+ one: 'Arra készülsz, hogy legfeljebb %{count} fiókot letilts a következőből: %{filename}.'
+ other: 'Arra készülsz, hogy legfeljebb %{count} fiókot letilts a következőből: %{filename}.'
+ bookmarks_html:
+ one: 'Arra készülsz, hogy legfeljebb %{count} bejegyzést adj hozzá a könyvjelzőkhöz a következőből: %{filename}.'
+ other: 'Arra készülsz, hogy legfeljebb %{count} bejegyzést adj hozzá a könyvjelzőkhöz a következőből: %{filename}.'
+ domain_blocking_html:
+ one: 'Arra készülsz, hogy legfeljebb %{count} domaint letilts a következőből: %{filename}.'
+ other: 'Arra készülsz, hogy legfeljebb %{count} domaint letilts a következőből: %{filename}.'
+ following_html:
+ one: 'Arra készülsz, hogy legfeljebb %{count} fiókot kövess a következőből: %{filename}.'
+ other: 'Arra készülsz, hogy legfeljebb %{count} fiókot kövess a következőből: %{filename}.'
+ lists_html:
+ one: Arra készülsz, hogy legfeljebb %{count} fiókot hozzáadj a %{filename} fájlból a listákhoz. Új listák jönnek létre, ha nincs hozzáadható lista.
+ other: Arra készülsz, hogy legfeljebb %{count} fiókot hozzáadj a %{filename} fájlból a listákhoz. Új listák jönnek létre, ha nincs hozzáadható lista.
+ muting_html:
+ one: 'Arra készülsz, hogy legfeljebb %{count} fiókot némíts a következőből: %{filename}.'
+ other: 'Arra készülsz, hogy legfeljebb %{count} fiókot némíts a következőből: %{filename}.'
preface: Itt importálhatod egy másik kiszolgálóról lementett adataidat, például követettjeid és letiltott felhasználóid listáját.
recent_imports: Legutóbbi importálások
states:
diff --git a/config/locales/ia.yml b/config/locales/ia.yml
index a8bc48b306..843e8724b9 100644
--- a/config/locales/ia.yml
+++ b/config/locales/ia.yml
@@ -21,6 +21,7 @@ ia:
one: Message
other: Messages
posts_tab_heading: Messages
+ self_follow_error: Sequer tu proprie conto non es permittite
admin:
account_actions:
action: Exequer action
@@ -473,6 +474,9 @@ ia:
title: Recommendationes de contos a sequer
unsuppress: Restaurar recommendation de sequimento
instances:
+ audit_log:
+ title: Registros de controlo recente
+ view_all: Vider registros de controlo integre
availability:
description_html:
one: Si le livration al dominio falle %{count} die sin succeder, necun tentativa ulterior de livration essera facite, excepte si es recipite un livration ab le dominio.
@@ -599,7 +603,9 @@ ia:
resolve_description_html: Necun mesura essera prendite contra le conto denunciate, necun sanction registrate, e le reporto essera claudite.
silence_description_html: Iste conto essera visibile solmente a qui ja lo seque o manualmente lo cerca, limitante gravemente su portata. Pote sempre esser revertite. Claude tote le reportos contra iste conto.
suspend_description_html: Le conto e tote su contento essera inaccessibile e finalmente delite, e interager con illo essera impossibile. Reversibile intra 30 dies. Claude tote le reportos contra iste conto.
+ actions_description_html: Decider que mesuras prender pro resolver iste reporto. Si tu prende un mesura punitive contra le conto reportate, un aviso email les sera inviate, salvo quando le categoria Spam es seligite.
actions_description_remote_html: Decide qual mesura prender pro resolver iste reporto. Isto affectara solmente le maniera in que tu servitor communica con iste conto remote e gere su contento.
+ actions_no_posts: Iste reporto non ha alcun message associate a deler
add_to_report: Adder plus al reporto
already_suspended_badges:
local: Ja suspendite sur iste servitor
@@ -870,6 +876,9 @@ ia:
message_html: Tu non ha definite alcun regula de servitor.
sidekiq_process_check:
message_html: Necun processo Sidekiq es active pro le cauda(s) %{value}. Per favor verifica tu configuration de Sidekiq
+ software_version_check:
+ action: Vider le actualisationes disponibile
+ message_html: Un actualisation de Mastodon es disponibile.
software_version_critical_check:
action: Vider le actualisationes disponibile
message_html: Un actualisation critic de Mastodon es disponibile. Per favor actualisa lo le plus tosto possibile.
@@ -885,11 +894,18 @@ ia:
tags:
moderation:
not_trendable: Non pro tendentia
+ not_usable: Non usabile
pending_review: Attende revision
+ review_requested: Revision demandate
+ reviewed: Revidite
title: Stato
+ trendable: De tendentia
+ unreviewed: Non revidite
+ usable: Usabile
name: Nomine
newest: Le plus nove
oldest: Le plus ancian
+ open: Vider publicamente
reset: Reinitialisar
review: Revide le stato
search: Cercar
@@ -932,7 +948,9 @@ ia:
statuses:
allow: Permitter message
allow_account: Permitter autor
+ confirm_allow: Desira tu vermente permitter le statos seligite?
confirm_allow_account: Es tu secur que tu vole permitter le contos seligite?
+ confirm_disallow: Desira tu vermente impedir le statos seligite?
confirm_disallow_account: Es tu secur que tu vole cessar de permitter le contos seligite?
description_html: Istes es le messages cognoscite sur tu servitor que al momento es multo compartite e marcate como favorite. Illos pote adjutar tu usatores nove e reveniente a trovar plus personas a sequer. Necun message es monstrate publicamente usque tu approba le autor, a condition que le autor permitte que su conto es suggerite a alteres. Tu pote tamben permitter o rejectar messages singule.
disallow: Non permitter message
@@ -1150,6 +1168,7 @@ ia:
example_title: Texto de exemplo
more_from_html: Plus de %{name}
s_blog: Blog de %{name}
+ title: Attribution de autor
challenge:
confirm: Continuar
hint_html: "Consilio: Nos non te demandara tu contrasigno de novo in le proxime hora."
@@ -1347,19 +1366,43 @@ ia:
overwrite: Superscriber
overwrite_long: Reimplaciar registros actual con le noves
overwrite_preambles:
- blocking_html: Tu es sur le puncto de reimplaciar tu lista de blocadas per usque a %{total_items} contos proveniente de %{filename}.
- bookmarks_html: Tu es sur le puncto de reimplaciar tu marcapaginas per usque a %{total_items} messages desde %{filename}.
- domain_blocking_html: Tu es sur le puncto de reimplaciar tu lista de blocadas de dominio per usque a %{total_items} dominios proveniente de %{filename}.
- following_html: Tu es sur le puncto de sequer usque a %{total_items} contos de %{filename} e cessar de sequer tote le alteres.
- lists_html: Tu es sur le puncto de reimplaciar tu listas per le contento de %{filename}. Usque a %{total_items} contos essera addite a nove listas.
- muting_html: Tu es sur le puncto de reimplaciar tu lista de contos silentiate con usque a %{total_items} contos desde %{filename}.
+ blocking_html:
+ one: Tu va reimplaciar tu lista de blocada con usque %{count} conto ab %{filename}.
+ other: Tu va reimplaciar tu lista de blocada con usque %{count} contos ab %{filename}.
+ bookmarks_html:
+ one: Tu va reimplaciar tu marcapaginas con usque %{count} message ab %{filename}.
+ other: Tu va reimplaciar tu marcapaginas con usque %{count} messages ab %{filename}.
+ domain_blocking_html:
+ one: Tu va reimplaciar tu blocada lista de dominios blocate con usque %{count} dominio ab %{filename}.
+ other: Tu va reimplaciar tu lista de dominios blocate con usque %{count} dominios ab %{filename}.
+ following_html:
+ one: Tu va sequer usque %{count} conto ab %{filename} e cessar de sequer ulle altere.
+ other: Tu va sequer usque %{count} contos ab %{filename} e cessar de sequer ulle altere.
+ lists_html:
+ one: Tu va reimplaciar tu listas con contentos ab %{filename}. Usque %{count} conto sera addite al nove listas.
+ other: Tu va reimplaciar tu listas con contentos ab %{filename}. Usque %{count} contos sera addite a nove listas.
+ muting_html:
+ one: Tu va reimplaciar tu lista de conto silentiate con usque %{count} conto ab %{filename}.
+ other: Tu va reimplaciar tu lista de contos silentiate con usque %{count} contos ab %{filename}.
preambles:
- blocking_html: Tu es sur le puncto de blocar usque a %{total_items} contos a partir de %{filename}.
- bookmarks_html: Tu es sur le puncto de adder usque a %{total_items} messages desde %{filename} a tu marcapaginas.
- domain_blocking_html: Tu es sur le puncto de blocar usque a %{total_items} dominios a partir de %{filename}.
- following_html: Tu es sur le puncto de sequer usque a %{total_items} contos desde %{filename}.
- lists_html: Tu es sur le puncto de adder usque %{total_items} contos desde %{filename} a tu listas. Nove listas essera create si il non ha un lista al qual adder los.
- muting_html: Tu es sur le puncto de silentiar usque a %{total_items} contos desde %{filename}.
+ blocking_html:
+ one: Tu va blocar usque %{count} conto ab %{filename}.
+ other: Tu va blocar usque %{count} contos de %{filename}.
+ bookmarks_html:
+ one: Tu va adder usque %{count} message ab %{filename} a tu marcapaginas.
+ other: Tu va adder usque %{count} messages ab %{filename} a tu marcapaginas.
+ domain_blocking_html:
+ one: Tu va blocar usque %{count} dominio ab %{filename}.
+ other: Tu va blocar usque %{count} dominios ab %{filename}.
+ following_html:
+ one: Tu va sequer usque %{count} conto ab %{filename}.
+ other: Tu va sequer usque %{count} contos de %{filename}.
+ lists_html:
+ one: Tu va adder usque %{count} conto ab %{filename} a tu lista. Nove listas sera create si il non ha lista a adder.
+ other: Tu va adder usque %{count} contos ab %{filename} a tu lista. Nove listas sera create si il non ha lista a adder.
+ muting_html:
+ one: Tu va silentiar usque %{count} conto ab %{filename}.
+ other: Tu va silentiar usque %{count} contos ab %{filename}.
preface: Tu pote importar datos que tu ha exportate de un altere servitor, como un lista de personas que tu seque o bloca.
recent_imports: Importationes recente
states:
@@ -1444,6 +1487,7 @@ ia:
media_attachments:
validations:
images_and_video: Impossibile annexar un video a un message que jam contine imagines
+ not_found: Medios %{ids} non trovate o jam attachate a un altere message
not_ready: Impossibile annexar files que non ha ancora essite processate. Retenta post un momento!
too_many: Impossibile annexar plus de 4 files
migrations:
@@ -1675,6 +1719,7 @@ ia:
delete: Deletion de conto
development: Disveloppamento
edit_profile: Modificar profilo
+ export: Exportar
featured_tags: Hashtags in evidentia
import: Importar
import_and_export: Importar e exportar
diff --git a/config/locales/ie.yml b/config/locales/ie.yml
index 7e8140a374..94c4b7f4f0 100644
--- a/config/locales/ie.yml
+++ b/config/locales/ie.yml
@@ -1274,20 +1274,6 @@ ie:
merge_long: Conservar existent registres e adjunter li novis
overwrite: Remplazzar
overwrite_long: Remplazzar existent registres per li novis
- overwrite_preambles:
- blocking_html: Tu va remplazzar tui liste de bloccat contos per til %{total_items} contos de %{filename}.
- bookmarks_html: Tu va remplazzar tui marcatores per til %{total_items} postas de %{filename}.
- domain_blocking_html: Tu va remplazzar tui liste de bloccat dominias per til %{total_items} dominias de %{filename}.
- following_html: Tu va sequer til %{total_items} contos de %{filename} e dessequer omni altri contos.
- lists_html: Tu va remplazzar tui listes per li contenete de %{filename}. Til %{total_items} contos va esser adjuntet a nov listes.
- muting_html: Tu va remplazzar tui liste de silentiat contos per til %{total_items} contos de %{filename}.
- preambles:
- blocking_html: Tu va bloccar til %{total_items} contos de %{filename}.
- bookmarks_html: Tu va adjunter til %{total_items} postas de %{filename} a tui marcatores.
- domain_blocking_html: Tu va bloccar til %{total_items} dominias de %{filename}.
- following_html: Tu va sequer til %{total_items} contos de %{filename}.
- lists_html: Tu va adjunter til %{total_items} contos de %{filename} a tui listes. Nov listes va esser creat si ne hay un liste a quel adjunter.
- muting_html: Tu va silentiar til %{total_items} contos de %{filename}.
preface: Tu posse importar data quel tu ha exportat de un altri servitor, quam un liste del gente quem tu seque o blocca.
recent_imports: Recent importationes
states:
diff --git a/config/locales/io.yml b/config/locales/io.yml
index dfb583450a..8ce5f3403b 100644
--- a/config/locales/io.yml
+++ b/config/locales/io.yml
@@ -1247,20 +1247,6 @@ io:
merge_long: Retenez displonebla rekordi e insertez novi
overwrite: Remplasez
overwrite_long: Remplasez nuna rekordi per novi
- overwrite_preambles:
- blocking_html: Vu substitucos vua blokusolisto per til %{total_items} konti de %{filename}.
- bookmarks_html: Vu substitucos vua libromarki per til %{total_items} posti de %{filename}.
- domain_blocking_html: Vu substitucos vua domenoblokusolisto per til %{total_items} domeni de %{filename}.
- following_html: Vu sequos til %{total_items} konti de %{filename} e haltar sequar irga altra konto.
- lists_html: Vu substitucos vua listi kun la kontenaji di %{filename}. Til %{total_items} konti adjuntesos a nova listi.
- muting_html: Vu substitucos vua listo di konti silencigita per til %{total_items} konti de %{filename}.
- preambles:
- blocking_html: Vu blokusos til %{total_items} konti de %{filename}.
- bookmarks_html: Vu adjuntos %{total_items} posti de %{filename} a vua libromarki.
- domain_blocking_html: Vu blokusos til %{total_items} domeni de %{filename}.
- following_html: Vu sequos til %{total_items} konti de %{filename}.
- lists_html: Vu adjuntos til %{total_items} konti de %{filename} a vua listi. Nova listi kreesos se ne existas listo a quo adjuntar.
- muting_html: Vu silencigos til %{total_items} konti en %{filename}.
preface: Tu povas importacar kelka datumi, tal quala listi de omna homi quin tu sequas o blokusas, a tua konto di ca instaluro, per dosiero exportacita de altra instaluro.
recent_imports: Importacaji recenta
states:
diff --git a/config/locales/is.yml b/config/locales/is.yml
index 4af26eea0b..c50b3dd20d 100644
--- a/config/locales/is.yml
+++ b/config/locales/is.yml
@@ -21,6 +21,7 @@ is:
one: Færsla
other: Færslur
posts_tab_heading: Færslur
+ self_follow_error: Ekki er leyft að fylgjast með eigin aðgangi
admin:
account_actions:
action: Framkvæma aðgerð
@@ -877,6 +878,9 @@ is:
message_html: Þú hefur ekki skilgreint neinar reglur fyrir netþjón.
sidekiq_process_check:
message_html: Ekkert Sidekiq-ferli er í gangi fyrir %{value} biðröð/biðraðir. Endilega athugaðu Sidekiq-uppsetninguna þína
+ software_version_check:
+ action: Skoða tiltækar uppfærslur
+ message_html: Uppfærsla er tiltæk fyrir Mastodon.
software_version_critical_check:
action: Skoða tiltækar uppfærslur
message_html: Áríðandi uppfærsla Mastodon er tiltæk, uppfærðu eins fljótt og auðið er.
@@ -1166,9 +1170,11 @@ is:
use_security_key: Nota öryggislykil
author_attribution:
example_title: Sýnitexti
- hint_html: Stýrðu hvernig framlög þín birtast þegar tenglum er deilt á Mastodon.
+ hint_html: Ertu að skrifa fréttir eða bloggfærslur utan Mastodon? Stýrðu því hvernig vitnað er í þig þegar þeim er deilt á Mastodon.
+ instructions: 'Gakktu úr skugga um að þessi kóði sé í HTML greinarinnar þinnar:'
more_from_html: Meira frá %{name}
s_blog: Bloggsvæði hjá %{name}
+ then_instructions: Síðan skaltu bæta lénsheiti útgefandans í reitinn hér fyrir neðan.
title: Framlag höfundar
challenge:
confirm: Halda áfram
@@ -1367,19 +1373,43 @@ is:
overwrite: Skrifa yfir
overwrite_long: Skipta út fyrirliggjandi færslum með þeim nýju
overwrite_preambles:
- blocking_html: Þú er í þann mund að fara að skipta út útilokanalistanum þínum með allt að %{total_items} aðgöngum úr %{filename}.
- bookmarks_html: Þú er í þann mund að fara að skipta út bókamerkjunum þínum með allt að %{total_items} færslum úr %{filename}.
- domain_blocking_html: Þú er í þann mund að fara að skipta út listanum þínum yfir útilokuð lén með allt að %{total_items} lénum úr %{filename}.
- following_html: Þú er í þann mund að fara að fylgjast með allt að %{total_items} aðgöngum úr %{filename} og hætta að fylgjast með öllum öðrum.
- lists_html: Þú ert í þann mund að fara að skipta út listunum þínum með efninu úr %{filename}. Allt að %{total_items} aðgöngum verður bætt við nýju listana.
- muting_html: Þú er í þann mund að fara að skipta út listanum þínum yfir útilokaða aðganga með allt að %{total_items} aðgöngum úr %{filename}.
+ blocking_html:
+ one: Þú er í þann mund að fara að skipta út útilokanalistanum þínum með allt að %{count} aðgangi úr %{filename}.
+ other: Þú er í þann mund að fara að skipta út útilokanalistanum þínum með allt að %{count} aðgöngum úr %{filename}.
+ bookmarks_html:
+ one: Þú er í þann mund að fara að skipta út bókamerkjunum þínum með allt að %{count} færslu úr %{filename}.
+ other: Þú er í þann mund að fara að skipta út bókamerkjunum þínum með allt að %{count} færslum úr %{filename}.
+ domain_blocking_html:
+ one: Þú er í þann mund að fara að skipta út listanum þínum yfir útilokuð lén með allt að %{count} léni úr %{filename}.
+ other: Þú er í þann mund að fara að skipta út listanum þínum yfir útilokuð lén með allt að %{count} lénum úr %{filename}.
+ following_html:
+ one: Þú er í þann mund að fara að fylgjast með allt að %{count} aðgangi úr %{filename} og hætta að fylgjast með öllum öðrum.
+ other: Þú er í þann mund að fara að fylgjast með allt að %{count} aðgöngum úr %{filename} og hætta að fylgjast með öllum öðrum.
+ lists_html:
+ one: Þú ert í þann mund að fara að skipta út listunum þínum með efninu úr %{filename}. Allt að %{count} aðgangi verður bætt við nýju listana.
+ other: Þú ert í þann mund að fara að skipta út listunum þínum með efninu úr %{filename}. Allt að %{count} aðgöngum verður bætt við nýju listana.
+ muting_html:
+ one: Þú er í þann mund að fara að skipta út listanum þínum yfir útilokaða aðganga með allt að %{count} aðgangi úr %{filename}.
+ other: Þú er í þann mund að fara að skipta út listanum þínum yfir útilokaða aðganga með allt að %{count} aðgöngum úr %{filename}.
preambles:
- blocking_html: Þú er í þann mund að fara að útiloka allt að %{total_items} aðganga úr %{filename}.
- bookmarks_html: Þú er í þann mund að fara að bæta við allt að %{total_items} færslum úr %{filename} við bókamerkin þín.
- domain_blocking_html: Þú er í þann mund að fara að útiloka allt að %{total_items} lén úr %{filename}.
- following_html: Þú er í þann mund að fara að fylgjast með allt að %{total_items} aðgöngum úr %{filename}.
- lists_html: Þú ert í þann mund að fara að bæta við allt að %{total_items} aðgöngum úr %{filename} við listana þína. Nýir listar verða útbúnir ef ekki finnst neinn listi til að bæta í.
- muting_html: Þú er í þann mund að fara að þagga allt að %{total_items} aðganga úr %{filename}.
+ blocking_html:
+ one: Þú ert í þann mund að útiloka allt að %{count} aðgang úr %{filename}.
+ other: Þú ert í þann mund að útiloka allt að %{count} aðganga úr %{filename}.
+ bookmarks_html:
+ one: Þú er í þann mund að fara að bæta við allt að %{count} færslu úr %{filename} við bókamerkin þín.
+ other: Þú er í þann mund að fara að bæta við allt að %{count} færslum úr %{filename} við bókamerkin þín.
+ domain_blocking_html:
+ one: Þú ert í þann mund að útiloka allt að %{count} lén úr %{filename}.
+ other: Þú er í þann mund að fara að útiloka allt að %{count} lén úr %{filename}.
+ following_html:
+ one: Þú ert að fara að fylgjast með allt að %{count} aðgangi úr %{filename}.
+ other: Þú er að fara að fylgjast með allt að %{count} aðgöngum úr %{filename}.
+ lists_html:
+ one: Þú ert í þann mund að fara að bæta við allt að %{count} aðgangi úr %{filename} við listana þína. Nýir listar verða útbúnir ef ekki finnst neinn listi til að bæta í.
+ other: Þú ert í þann mund að fara að bæta við allt að %{count} aðgöngum úr %{filename} við listana þína. Nýir listar verða útbúnir ef ekki finnst neinn listi til að bæta í.
+ muting_html:
+ one: Þú ert að fara að þagga niður í allt að %{count} aðgangi úr %{filename}.
+ other: Þú ert að fara að þagga niður í allt að %{count} aðgöngum úr %{filename}.
preface: Þú getur flutt inn gögn sem þú hefur flutt út frá öðrum vefþjóni, svo sem lista yfir fólk sem þú fylgist með eða útilokar.
recent_imports: Nýlega flutt inn
states:
@@ -1696,6 +1726,7 @@ is:
delete: Eyðing notandaaðgangs
development: Þróun
edit_profile: Breyta notandasniði
+ export: Flytja út
featured_tags: Myllumerki með aukið vægi
import: Flytja inn
import_and_export: Inn- og útflutningur
diff --git a/config/locales/it.yml b/config/locales/it.yml
index a89fa0a53e..e18cb0e8f6 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -1,7 +1,7 @@
---
it:
about:
- about_mastodon_html: 'Il social network del futuro: Nessuna pubblicità, zero sorveglianza azienale, design etico e decentralizzazione! Sii il proprietario dei tuoi dati, con Mastodon!'
+ about_mastodon_html: 'Il social network del futuro: Nessuna pubblicità, zero sorveglianza aziendale, design etico e decentralizzazione! Sii il proprietario dei tuoi dati, con Mastodonte!'
contact_missing: Non impostato
contact_unavailable: N/D
hosted_on: Mastodon ospitato su %{domain}
@@ -21,6 +21,7 @@ it:
one: Toot
other: Toot
posts_tab_heading: Toot
+ self_follow_error: Seguire il tuo stesso profilo non è consentito
admin:
account_actions:
action: Esegui azione
@@ -1167,9 +1168,11 @@ it:
use_security_key: Usa la chiave di sicurezza
author_attribution:
example_title: Testo di esempio
- hint_html: Controlla come sei viene accreditato quando i link sono condivisi su Mastodon.
+ hint_html: Stai scrivendo notizie o articoli di blog al di fuori di Mastodon? Controlla come vieni accreditato quando vengono condivisi su Mastodon.
+ instructions: 'Assicurati che questo codice sia presente nell''HTML del tuo articolo:'
more_from_html: Altro da %{name}
s_blog: Blog di %{name}
+ then_instructions: Quindi, aggiungi il nome di dominio della pubblicazione nel campo sottostante.
title: Attribuzione autore
challenge:
confirm: Continua
@@ -1368,19 +1371,43 @@ it:
overwrite: Sovrascrivi
overwrite_long: Sostituisci record attuali con quelli nuovi
overwrite_preambles:
- blocking_html: Stai per sostituire la tua lista di blocchi con un massimo di %{total_items} account da %{filename}.
- bookmarks_html: Stai per sostituire i tuoi segnalibri con un massimo di %{total_items} post da %{filename}.
- domain_blocking_html: Stai per sostituire la tua lista di domini bloccati con un massimo di %{total_items} domini da %{filename}.
- following_html: Stai per seguire fino a %{total_items} account da %{filename} e smettere di seguire chiunque altro.
- lists_html: Stai per sostituire le tue liste con i contenuti di %{filename}. Fino a %{total_items} profili verranno aggiunti a nuove liste.
- muting_html: Stai per sostituire la tua lista di account silenziati con un massimo di %{total_items} account da %{filename}.
+ blocking_html:
+ one: Stai per sostituire la tua lista di blocchi con %{count} account da %{filename}.
+ other: Stai per sostituire la tua lista di blocchi con %{count} account da %{filename}.
+ bookmarks_html:
+ one: Stai per sostituire i tuoi segnalibri con %{count} post da %{filename}.
+ other: Stai per sostituire i tuoi segnalibri con %{count} post da %{filename}.
+ domain_blocking_html:
+ one: Stai per sostituire la tua lista di domini bloccati con %{count} dominio da %{filename}.
+ other: Stai per sostituire la tua lista di domini bloccati con %{count} domini da %{filename}.
+ following_html:
+ one: Stai per seguire %{count} account da %{filename} e smettere di seguire chiunque altro.
+ other: Stai per seguire %{count} account da %{filename} e smettere di seguire chiunque altro.
+ lists_html:
+ one: Stai per sostituire le tue liste con il contenuto di %{filename}. Verrà aggiunto %{count} account alle nuove liste.
+ other: Stai per sostituire le tue liste con il contenuto di %{filename}. Verranno aggiunti %{count} account alle nuove liste.
+ muting_html:
+ one: Stai per sostituire la lista degli account silenziati con %{count} account da %{filename}.
+ other: Stai per sostituire la lista degli account silenziati con %{count} account da %{filename}.
preambles:
- blocking_html: Stai per bloccare fino a %{total_items} account da %{filename}.
- bookmarks_html: Stai per aggiungere fino a %{total_items} post da %{filename} ai tuoi segnalibri.
- domain_blocking_html: Stai per bloccare fino a %{total_items} domini da %{filename}.
- following_html: Stai per seguire fino a %{total_items} account da %{filename}.
- lists_html: Stai per aggiungere fino a %{total_items} profili da %{filename} alla tue liste. Le nuove liste saranno create se non c'è una lista a cui aggiungere.
- muting_html: Stai per silenziare fino a %{total_items} account da %{filename}.
+ blocking_html:
+ one: Stai per bloccare %{count} account da %{filename}.
+ other: Stai per bloccare %{count} account da %{filename}.
+ bookmarks_html:
+ one: Stai per aggiungere %{count} post da %{filename} ai tuoi segnalibri.
+ other: Stai per aggiungere %{count} post da %{filename} ai tuoi segnalibri.
+ domain_blocking_html:
+ one: Stai per bloccare %{count} dominio da %{filename}.
+ other: Stai per bloccare %{count} domini da %{filename}.
+ following_html:
+ one: Stai per seguire %{count} account da %{filename}.
+ other: Stai per seguire %{count} account da %{filename}.
+ lists_html:
+ one: Stai per aggiungere %{count} account da %{filename} alle tue liste. Saranno create nuove liste, se non ce ne sono altre da aggiungere.
+ other: Stai per aggiungere %{count} account da %{filename} alle tue liste. Saranno create nuove liste, se non ce ne sono altre da aggiungere.
+ muting_html:
+ one: Stai per silenziare %{count} account da %{filename}.
+ other: Stai per silenziare %{count} account da %{filename}.
preface: Puoi importare alcune informazioni, come le persone che segui o hai bloccato su questo server, da file creati da un'esportazione su un altro server.
recent_imports: Importazioni recenti
states:
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 41f93397da..66791a622d 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -19,6 +19,7 @@ ja:
posts:
other: 投稿
posts_tab_heading: 投稿
+ self_follow_error: 自分のアカウントをフォローすることはできません
admin:
account_actions:
action: アクションを実行
@@ -45,6 +46,7 @@ ja:
title: "%{username}さんのメールアドレスを変更"
change_role:
changed_msg: ロールを変更しました!
+ edit_roles: ユーザーのロールを管理
label: ロールを変更
no_role: ロールがありません
title: "%{username}さんのロールを変更"
@@ -231,22 +233,22 @@ ja:
approve_appeal_html: "%{name}さんが%{target}さんからの抗議を承認しました"
approve_user_html: "%{name}さんが%{target}さんからの登録を承認しました"
assigned_to_self_report_html: "%{name}さんが通報 %{target}を自身の担当に割り当てました"
- change_email_user_html: "%{name}さんが%{target}さんのメールアドレスを変更しました"
+ change_email_user_html: "%{name} さんが %{target} さんのメールアドレスを変更しました"
change_role_user_html: "%{name}さんが%{target}さんのロールを変更しました"
- confirm_user_html: "%{name}さんが%{target}さんのメールアドレスを確認済みにしました"
+ confirm_user_html: "%{name} さんが %{target} さんのメールアドレスを確認済みにしました"
create_account_warning_html: "%{name}さんが%{target}さんに警告メールを送信しました"
create_announcement_html: "%{name}さんが新しいお知らせ %{target}を作成しました"
- create_canonical_email_block_html: "%{name}さんがメールアドレス (ハッシュ値: %{target}) をブロックしました"
+ create_canonical_email_block_html: "%{name} さんがメールアドレスのハッシュ値 %{target} をブロックしました"
create_custom_emoji_html: "%{name}さんがカスタム絵文字 %{target}を追加しました"
create_domain_allow_html: "%{name}さんが%{target}の連合を許可しました"
create_domain_block_html: "%{name}さんがドメイン %{target}をブロックしました"
- create_email_domain_block_html: "%{name}さんがメールドメイン %{target} をブロックしました"
+ create_email_domain_block_html: "%{name} さんがメールドメイン %{target} をブロックしました"
create_ip_block_html: "%{name}さんがIP %{target}のルールを作成しました"
create_unavailable_domain_html: "%{name}がドメイン %{target}への配送を停止しました"
create_user_role_html: "%{name}さんがロール『%{target}』を作成しました"
demote_user_html: "%{name}さんが%{target}さんを降格しました"
destroy_announcement_html: "%{name}さんがお知らせ %{target}を削除しました"
- destroy_canonical_email_block_html: "%{name}さんがメールアドレス (ハッシュ値: %{target}) のブロックを外しました"
+ destroy_canonical_email_block_html: "%{name} さんがメールアドレスのハッシュ値 %{target} のブロックを外しました"
destroy_custom_emoji_html: "%{name}さんがカスタム絵文字『%{target}』を削除しました"
destroy_domain_allow_html: "%{name}さんが%{target}の連合許可を外しました"
destroy_domain_block_html: "%{name}さんがドメイン %{target}のブロックを外しました"
@@ -269,7 +271,7 @@ ja:
reject_user_html: "%{name}さんが%{target}さんからの登録を拒否しました"
remove_avatar_user_html: "%{name}さんが%{target}さんのアイコンを削除しました"
reopen_report_html: "%{name}さんが通報 %{target}を未解決に戻しました"
- resend_user_html: "%{name}さんが %{target} の確認メールを再送信しました"
+ resend_user_html: "%{name} さんが %{target} の確認メールを再送信しました"
reset_password_user_html: "%{name}さんが%{target}さんのパスワードをリセットしました"
resolve_report_html: "%{name}さんが通報 %{target}を解決済みにしました"
sensitive_account_html: "%{name}さんが%{target}さんのメディアを閲覧注意にマークしました"
@@ -284,7 +286,7 @@ ja:
update_custom_emoji_html: "%{name}さんがカスタム絵文字 %{target}を更新しました"
update_domain_block_html: "%{name}さんが%{target}のドメインブロックを更新しました"
update_ip_block_html: "%{name} さんがIP %{target} のルールを更新しました"
- update_report_html: "%{name}さんが通報 %{target} を更新しました"
+ update_report_html: "%{name} さんが通報 %{target} を更新しました"
update_status_html: "%{name}さんが%{target}さんの投稿を更新しました"
update_user_role_html: "%{name}さんがロール『%{target}』を変更しました"
deleted_account: 削除されたアカウント
@@ -860,6 +862,9 @@ ja:
message_html: サーバーのルールを定義していません。
sidekiq_process_check:
message_html: "%{value}キューに対応するSidekiqプロセスがありません。Sidekiqの設定を確認してください。"
+ software_version_check:
+ action: 利用可能な更新を確認
+ message_html: Mastodonの更新が利用可能です。
software_version_critical_check:
action: 利用可能な更新を見る
message_html: 緊急のMastodonアップデートがあります。速やかに適用してください。
@@ -1141,6 +1146,11 @@ ja:
view_strikes: 過去のストライクを表示
too_fast: フォームの送信が速すぎます。もう一度やり直してください。
use_security_key: セキュリティキーを使用
+ author_attribution:
+ example_title: サンプルテキスト
+ more_from_html: "%{name} のその他の情報"
+ s_blog: "%{name} のブログ"
+ title: 著者の帰属
challenge:
confirm: 続ける
hint_html: 以後1時間はパスワードの再入力を求めません
@@ -1331,19 +1341,31 @@ ja:
overwrite: 上書き
overwrite_long: 現在のレコードを新しいもので置き換えます
overwrite_preambles:
- blocking_html: "%{filename}の%{total_items}個のアカウントでブロックしたアカウントリストを置き換えます。"
- bookmarks_html: "%{filename}の%{total_items}件の投稿でブックマークの一覧を置き換えます。"
- domain_blocking_html: "%{filename}の%{total_items}個のドメインで非表示にしたドメインリストを置き換えます。"
- following_html: "%{filename}の%{total_items}個のアカウントをフォローします。また、この中に含まれていないアカウントのフォローを解除します。"
- lists_html: "作成済みのリストを%{filename}の内容で置き換えます。%{total_items}個のアカウントが新しいリストに追加されます。"
- muting_html: "%{filename}の%{total_items}個のアカウントでミュートしたアカウントリストを置き換えます。"
+ blocking_html:
+ other: あなたは%{filename}から最大%{count}のアカウントでブロックリストを置き換えようとしています。
+ bookmarks_html:
+ other: あなたは%{filename}から最大%{count}の投稿でブックマークを置き換えようとしています。
+ domain_blocking_html:
+ other: あなたは%{filename}から最大%{count}のドメインでドメインブロックリストを置き換えようとしています。
+ following_html:
+ other: あなたは%{filename}から最大%{count}のアカウントをフォローし、他のすべてのユーザーのフォローを解除します。
+ lists_html:
+ other: あなたは%{filename}の内容でリストを置き換えようとしています。最大%{count}のアカウントが新しいリストに追加されます。
+ muting_html:
+ other: あなたは%{filename}から最大%{count}のアカウントでミュートアカウントのリストを置き換えようとしています。
preambles:
- blocking_html: "%{filename}の%{total_items}個のアカウントをブロックします。"
- bookmarks_html: "%{filename}の%{total_items}件の投稿をブックマークに追加します。"
- domain_blocking_html: "%{filename}の%{total_items}個のドメインを非表示にします。"
- following_html: "%{filename}の%{total_items}個のアカウントをフォローします。"
- lists_html: "%{filename}の%{total_items}個のアカウントをリストに追加します。追加先のリストがない場合は新しく作成されます。"
- muting_html: "%{filename}の%{total_items}個のアカウントをミュートします。"
+ blocking_html:
+ other: あなたは%{filename}から最大%{count}のアカウントをブロックしようとしています。
+ bookmarks_html:
+ other: あなたは%{filename}から最大%{count}の投稿をブックマークに追加しようとしています。
+ domain_blocking_html:
+ other: あなたは%{filename}から最大%{count}のドメインをブロックしようとしています。
+ following_html:
+ other: あなたは%{filename}から最大%{count}のアカウントをフォローしようとしています。
+ lists_html:
+ other: あなたは%{filename}から最大%{count}のアカウントをリストに追加しようとしています。追加するリストがない場合は新しいリストが作成されます。
+ muting_html:
+ other: あなたは%{filename}から最大%{count}のアカウントをミュートしようとしています。
preface: 他のサーバーでエクスポートされたファイルから、フォロー/ブロックした情報をこのサーバー上のアカウントにインポートできます。
recent_imports: 最近のインポート
states:
@@ -1659,6 +1681,7 @@ ja:
delete: アカウントの削除
development: 開発
edit_profile: プロフィールを編集
+ export: エクスポート
featured_tags: 注目のハッシュタグ
import: データのインポート
import_and_export: インポート・エクスポート
@@ -1903,6 +1926,7 @@ ja:
instructions_html: 以下のコードをコピーしてwebサイトのHTMLに貼り付けます。次に「プロフィールを編集」タブから、「プロフィール補足情報」のいずれかの欄にwebサイトのURLを記入し、「変更を保存」をクリックしてください。
verification: 認証
verified_links: 確認済みリンク
+ website_verification: ウェブサイトの認証
webauthn_credentials:
add: セキュリティキーを追加
create:
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index 3f6c4b39b8..43944fe0f6 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -19,6 +19,7 @@ ko:
posts:
other: 게시물
posts_tab_heading: 게시물
+ self_follow_error: 본인의 계정을 팔로우할 수는 없습니다
admin:
account_actions:
action: 조치 취하기
@@ -192,7 +193,7 @@ ko:
destroy_domain_allow: 도메인 허용 삭제
destroy_domain_block: 도메인 차단 삭제
destroy_email_domain_block: 이메일 도메인 차단 삭제
- destroy_instance: 도메인 제거
+ destroy_instance: 도메인 퍼지하기
destroy_ip_block: IP 규칙 삭제
destroy_status: 게시물 삭제
destroy_unavailable_domain: 사용 불가능한 도메인 제거
@@ -525,7 +526,7 @@ ko:
title: 중재
private_comment: 비공개 주석
public_comment: 공개 주석
- purge: 제거
+ purge: 퍼지
purge_description_html: 이 도메인이 영구적으로 오프라인 상태라고 생각되면, 스토리지에서 이 도메인의 모든 계정 레코드와 관련 데이터를 삭제할 수 있습니다. 이 작업은 시간이 좀 걸릴 수 있습니다.
title: 연합
total_blocked_by_us: 우리에게 차단 됨
@@ -1149,7 +1150,6 @@ ko:
use_security_key: 보안 키 사용
author_attribution:
example_title: 예시 텍스트
- hint_html: 링크가 마스토돈에 공유될 때 내가 어떻게 표시될 지를 제어합니다.
more_from_html: "%{name}의 게시물 더 보기"
s_blog: "%{name}의 블로그"
title: 작성자 기여
@@ -1343,19 +1343,31 @@ ko:
overwrite: 덮어쓰기
overwrite_long: 기존 것을 모두 지우고 새로 추가
overwrite_preambles:
- blocking_html: 나의 차단 목록을 %{filename}에서 가져온 %{total_items} 개의 계정으로 덮어 씌우려고 합니다.
- bookmarks_html: 나의 북마크를 %{filename}에서 가져온 %{total_items} 개의 게시물로 덮어 씌우려고 합니다.
- domain_blocking_html: 나의 도메인 차단 목록을 %{filename}에서 가져온 %{total_items} 개의 도메인으로 덮어 씌우려고 합니다.
- following_html: "%{filename}에서 가져온 %{total_items} 개의 계정을 팔로우하고 나머지 계정을 팔로우 해제하려고 합니다."
- lists_html: 나의 리스트를 %{filename}에서 가져온 %{total_items} 개의 계정으로 덮어 씌우려고 합니다.
- muting_html: 나의 뮤트한 계정 목록을 %{filename}에서 가져온 %{total_items} 개의 계정으로 덮어 씌우려고 합니다.
+ blocking_html:
+ other: 나의 차단 목록을 %{filename}에서 가져온 %{count} 개의 계정으로 덮어 씌우려고 합니다.
+ bookmarks_html:
+ other: 나의 북마크를 %{filename}에서 가져온 %{count} 개의 게시물로 덮어 씌우려고 합니다.
+ domain_blocking_html:
+ other: 나의 도메인 차단 목록을 %{filename}에서 가져온 %{count} 개의 도메인으로 덮어 씌우려고 합니다.
+ following_html:
+ other: "%{filename}에서 가져온 %{count} 개의 계정을 팔로우하고 나머지 계정을 팔로우 해제하려고 합니다."
+ lists_html:
+ other: 나의 리스트를 %{filename}에서 가져온 %{count} 개의 계정으로 덮어 씌우려고 합니다.
+ muting_html:
+ other: 나의 뮤트한 계정 목록을 %{filename}에서 가져온 %{count} 개의 계정으로 덮어 씌우려고 합니다.
preambles:
- blocking_html: "%{filename}에서 가져온 %{total_items}개의 계정을 차단하려고 합니다."
- bookmarks_html: "%{filename}에서 가져온 %{total_items}개의 게시물을 북마크에 추가하려고 합니다."
- domain_blocking_html: "%{filename}에서 가져온 %{total_items}개의 도메인을 차단하려고 합니다."
- following_html: "%{filename}에서 가져온 %{total_items}개의 계정을 팔로우하려고 합니다."
- lists_html: "%{filename}에서 가져온 %{total_items}개의 계정을 내 리스트에 추가하려고 합니다. 추가할 리스트가 존재하지 않으면 새로 생성될 것입니다."
- muting_html: "%{filename}에서 가져온 %{total_items}개의 계정을 뮤트하려고 합니다."
+ blocking_html:
+ other: "%{filename}에서 가져온 %{count}개의 계정을 차단하려고 합니다."
+ bookmarks_html:
+ other: "%{filename}에서 가져온 %{count}개의 게시물을 북마크에 추가하려고 합니다."
+ domain_blocking_html:
+ other: "%{filename}에서 가져온 %{count}개의 도메인을 차단하려고 합니다."
+ following_html:
+ other: "%{filename}에서 가져온 %{count}개의 계정을 팔로우하려고 합니다."
+ lists_html:
+ other: "%{filename}에서 가져온 %{count}개의 계정을 내 리스트에 추가하려고 합니다. 추가할 리스트가 존재하지 않으면 새로 생성될 것입니다."
+ muting_html:
+ other: "%{filename}에서 가져온 %{count}개의 계정을 뮤트하려고 합니다."
preface: 다른 서버에서 내보내기 한 파일에서 팔로우 / 차단 정보를 이 계정으로 불러올 수 있습니다.
recent_imports: 최근의 가져오기
states:
@@ -1694,7 +1706,7 @@ ko:
lost_followers: 잃은 팔로워
lost_follows: 잃은 팔로우
preamble: 내가 도메인을 차단하거나 중재진이 다른 서버를 정지하기로 결정했다면 내 팔로우와 팔로워를 잃게 됩니다. 그런 일이 일어났다면 그로 인해 단절된 관계들의 목록을 다운로드 받아 확인하고 다른 서버에서 불러올 수 있습니다.
- purged: 이 서버에 대한 정보는 관리자에 의해 삭제되었습니다.
+ purged: 이 서버의 정보는 관리자가 퍼지하였습니다.
type: 이벤트
statuses:
attached:
diff --git a/config/locales/lad.yml b/config/locales/lad.yml
index 275bdab861..ad241856a4 100644
--- a/config/locales/lad.yml
+++ b/config/locales/lad.yml
@@ -46,6 +46,7 @@ lad:
title: Troka la posta elektronika de %{username}
change_role:
changed_msg: Rolo trokado kon sukseso!
+ edit_roles: Administra reglas de utilizadores
label: Troka rolo
no_role: Sin rolo
title: Troka rolo para %{username}
@@ -595,6 +596,7 @@ lad:
resolve_description_html: No se tomaran aksyones kontra el kuento denunsiado, no se enrejistrara el amonestamiento, i se serrara el raporto.
silence_description_html: El profil sera vizivle solo para akeyos ke ya lo sigan o lo bushken manualmente, limitando seriamente su alkanse. Siempre puede ser revertido.
suspend_description_html: El profil i todos sus kontenidos seran inaksesivles asta ke sean enfin supremidos. La enteraksion kon el kuento sera emposivle. Reversivle durante un tiempo de 30 diyas.
+ actions_description_html: Dechide kualas mizuras tomar para rezolver esta denunsia. Si tomas una aksion punitiva kontra el kuento denunsiada, se le embiara a dicho kuento un avizo por posta elektronika, ekseptado kuando se eskoja la kategoria Spam.
actions_description_remote_html: Dechide ke fazer para rezolver este raporto. Esto solo va afektar komo tu sirvidor komunike kon este kuento remoto i ke faze kon su kontenido.
add_to_report: Adjusta mas al raporto
already_suspended_badges:
@@ -697,6 +699,7 @@ lad:
manage_appeals: Administra apelasiones
manage_appeals_description: Permete a los utilizadores revizar apelasiones kontra aksyones de moderasyon
manage_blocks: Administra blokos
+ manage_blocks_description: Permete a los utilizadores blokar los prokuradores de posta elektronika i los adresos IP
manage_custom_emojis: Administra emojis personalizados
manage_custom_emojis_description: Permete a los utilizadores editar emojis personalizados en el sirvidor
manage_federation: Administra federasyon
@@ -714,6 +717,7 @@ lad:
manage_taxonomies: Administra etiketas
manage_taxonomies_description: Permete a los utilizadores revizar el kontenido en trend i aktualizar la konfigurasyon de las etiketas
manage_user_access: Administra akseso de utilizadores
+ manage_user_access_description: Permete a los utilizadores dezaktivar la autentifikasyon en dos pasos de otros utilizadores, trokar sus adreso de posta elektronika i restableser sus kod
manage_users: Administra utilizadores
manage_users_description: Permete a los utilizadores ver los peratim de otros utilizadores i realizar aksyones de moderasyon kontra eyos
manage_webhooks: Administrar webhooks
@@ -787,6 +791,7 @@ lad:
destroyed_msg: Dosya supremida kon sukseso!
software_updates:
critical_update: Kritiko – por favor aktualiza pishin
+ description: Rekomendamos ke mantengas aktualizada tu enstalasyon de Mastodon para benefisyar de las muevas koreksyones y funksyones. Ademas, a vezes es kritiko aktualizar Mastodon punktualmente para evitar problemas de sigurita. Por estas razones, Mastodon komprova si ay aktualizasyones kada 30 minutos, i te avizara de akodro a tus preferensyas de avizos por posta elektronika.
documentation_link: Ambezate mas
release_notes: Notas sovre la versyon
title: Aktualizasyones desponivles
@@ -860,6 +865,9 @@ lad:
message_html: No tienes definido dinguna regla del sirvidor.
sidekiq_process_check:
message_html: No ay dingun prosedura Sidekiq en egzekusion para la(s) kola(s) %{value}. Por favor, reviza tu konfigurasyon de Sidekiq
+ software_version_check:
+ action: Amostra aktualizasyones desponivles
+ message_html: Una aktualizasyon de Mastodon esta desponivle.
software_version_critical_check:
action: Amostra aktualizasyones desponivles
message_html: Una aktualizasyon kritika de Mastodon esta desponivle. Por favor aktualiza pishin.
@@ -875,11 +883,14 @@ lad:
tags:
moderation:
pending_review: Revizion esta asperando
+ reviewed: Revizado
title: Estado
+ unreviewed: No revizado
usable: Uzavle
name: Nombre
newest: Mas muevos
oldest: Mas viejos
+ open: Ve puvlikamente
reset: Reinisya
review: Estado de revizion
search: Bushka
@@ -1118,6 +1129,7 @@ lad:
title: Kriya kuento de Mastodon en %{domain}.
status:
account_status: Estado del kuento
+ confirming: Bekleando konfirmasyon de posta elektronika.
functional: Tu kuento esta kompletamente funksyonal.
pending: Tu solisitasyon esta asperando la revizion por muestros administradores. Esto puede tadrar algun tiempo. Arisiviras una posta elektronika si la solisitasyon sea achetada.
redirecting_to: Tu kuento se topa inaktivo porke esta siendo readresado a %{acct}.
@@ -1323,20 +1335,6 @@ lad:
merge_long: Manten rejistros egzistentes i adjusta muevos
overwrite: Sobreskrive
overwrite_long: Mete muevos rejistros en vez de los aktuales
- overwrite_preambles:
- blocking_html: Estas a punto de substituyir tu lista de blokos por asta %{total_items} kuentos de %{filename}.
- bookmarks_html: Estas a punto de substituyir tus markadores por asta %{total_items} publikasyones ke vinyeron de %{filename}.
- domain_blocking_html: Estas a punto de substituyir tu lista de blokos de domeno por asta %{total_items} domenos de %{filename}.
- following_html: Estas a punto de segir asta %{total_items} kuentos de %{filename} i deshar de segir todos los otros kuentos.
- lists_html: Estas a punto de sustituyir tus listas con el kontenido de %{filename}. Asta %{total_items} kuentos seran adjustados a muevas listas.
- muting_html: Estas a punto de substituyir tu lista de kuentos silensyados por asta %{total_items} kuentos de %{filename}.
- preambles:
- blocking_html: Estas a punto de blokar asta %{total_items} kuentos de %{filename}.
- bookmarks_html: Estas a punto de adjustar asta %{total_items} publikasyones de %{filename} a tus markadores.
- domain_blocking_html: Estas a punto de blokar asta %{total_items} domenos de %{filename}.
- following_html: Estas a punto de segir asta %{total_items} kuentos de %{filename}.
- lists_html: Estas a punto de adjustar %{total_items} kuentos dizde %{filename} a tus listas. Se kriyaran muevas listas si no ay listas para adjustarlas.
- muting_html: Estas a punto de silensyar asta %{total_items} kuentos de %{filename}.
preface: Puedes importar siertos datos, komo todas las personas a las kualas estas sigiendo o blokando en tu kuento en esta instansya, dizde dosyas eksportadas de otra instansya.
recent_imports: Importasyones resyentes
states:
@@ -1652,6 +1650,7 @@ lad:
delete: Efasa kuento
development: Dezvelopamiento
edit_profile: Edita profil
+ export: Eksporto
featured_tags: Etiketas avaliadas
import: Importo
import_and_export: Importo i eksporto
@@ -1890,6 +1889,7 @@ lad:
instructions_html: Kopia i apega este kodiche en el HTML de tu sitio web. Estonses, adjusta el adreso de tu sitio web en uno de los kutis adisyonales de tu profil dizde la seksyon "Edita profil" i guadra los trokamyentos.
verification: Verifikasyon
verified_links: Tus atadijos verifikados
+ website_verification: Verifikasyon de sityo web
webauthn_credentials:
add: Adjusta mueva yave de sigurita
create:
diff --git a/config/locales/lt.yml b/config/locales/lt.yml
index 3b63ba6dcf..8ba3bad070 100644
--- a/config/locales/lt.yml
+++ b/config/locales/lt.yml
@@ -817,9 +817,11 @@ lt:
view_strikes: Peržiūrėti ankstesnius savo paskyros pažeidimus
author_attribution:
example_title: Teksto pavyzdys
- hint_html: Valdyk, kaip esi nurodomas (-a), kai nuorodos bendrinamos platformoje „Mastodon“.
+ hint_html: Ar rašote naujienas ar tinklaraščio straipsnius už „Mastodon“ ribų? Valdykite, kaip būsite nurodomi, kai jais bus bendrinama platformoje „Mastodon“.
+ instructions: 'Įsitikinkite, kad šis kodas yra jūsų straipsnio HTML:'
more_from_html: Daugiau iš %{name}
s_blog: "%{name} tinklaraštis"
+ then_instructions: Tada toliau esančiame lauke įrašykite leidinio domeno vardą.
title: Autoriaus (-ės) atribucija
challenge:
hint_html: "Patarimas: artimiausią valandą daugiau neprašysime tavo slaptažodžio."
diff --git a/config/locales/lv.yml b/config/locales/lv.yml
index 2cc8ff6a49..908b15e851 100644
--- a/config/locales/lv.yml
+++ b/config/locales/lv.yml
@@ -23,6 +23,7 @@ lv:
other: Ziņas
zero: Ziņu
posts_tab_heading: Ziņas
+ self_follow_error: Nav ļauts sekot savam kontam
admin:
account_actions:
action: Veikt darbību
@@ -205,8 +206,10 @@ lv:
destroy_user_role: Iznīcināt lomu
disable_2fa_user: Atspējot 2FA
disable_custom_emoji: Atspējot pielāgotu emocijzīmi
+ disable_sign_in_token_auth_user: Atspējot autentificēšanos ar e-pasta pilnvaru lietotājam
disable_user: Atspējot Lietotāju
enable_custom_emoji: Iespējot pielāgotu emocijzīmi
+ enable_sign_in_token_auth_user: Iespējot autentificēšanos ar e-pasta pilnvaru lietotājam
enable_user: Ieslēgt Lietotāju
memorialize_account: Saglabāt Kontu Piemiņai
promote_user: Izceltt Lietotāju
@@ -1344,20 +1347,6 @@ lv:
merge_long: Saglabāt esošos ierakstus un pievienot jaunus
overwrite: Pārrakstīt
overwrite_long: Nomainīt pašreizējos ierakstus ar jauniem
- overwrite_preambles:
- blocking_html: Tu gatavojies aizstāt savu bloķēto sarakstu ar līdz pat %{total_items} kontiem no %{filename}.
- bookmarks_html: Tu gatavojies aizstāt savas bloķētās izlases ar līdz pat %{total_items} ziņām no %{filename}.
- domain_blocking_html: Tu gatavojies aizstāt savu bloķēto domēnu sarakstu ar līdz pat %{total_items} domēniem no %{filename}.
- following_html: Tu gatavojies sekot līdz pat %{total_items} kontiem no %{filename} un pārtrauksi sekot citiem.
- lists_html: Tu gatavojies aizstāt savus sarakstus ar %{filename} saturu. Līdz %{total_items} kontiem tiks pievienoti jauni saraksti.
- muting_html: Tu gatavojies aizstāt savu noklusināto kontu sarakstu ar līdz pat %{total_items} kontiem no %{filename}.
- preambles:
- blocking_html: Tu gatavojies bloķēt līdz pat %{total_items} kontiem no %{filename}.
- bookmarks_html: Tu gatavojies pievienot līdz pat %{total_items} ziņām no %{filename} savām grāmatzīmēm.
- domain_blocking_html: Tu gatavojies bloķēt līdz pat %{total_items} domēniem no %{filename}.
- following_html: Tu gatavojies sekot līdz pat %{total_items} kontiem no %{filename}.
- lists_html: Tu gatavojies pievienot līdz pat %{total_items} kontiem no %{filename} saviem sarakstiem. Jauni saraksti tiks izveidoti, ja nav saraksta, ko pievienot.
- muting_html: Tu gatavojies noklusināt līdz pat %{total_items} kontiem no %{filename}.
preface: Tu vari ievietot datus, kurus esi izguvis no cita servera, kā, piemēram, cilvēku sarakstu, kuriem Tu seko vai kurus bloķē.
recent_imports: Nesen importēts
states:
diff --git a/config/locales/ml.yml b/config/locales/ml.yml
index bdc0475a6f..c27e5e5467 100644
--- a/config/locales/ml.yml
+++ b/config/locales/ml.yml
@@ -4,18 +4,25 @@ ml:
contact_missing: സജ്ജമാക്കിയിട്ടില്ല
contact_unavailable: ലഭ്യമല്ല
accounts:
+ followers:
+ one: പിന്തുടരാളി
+ other: പിന്തുടരുന്നവർ
following: പിന്തുടരുന്നു
last_active: അവസാനം സജീവമായിരുന്നത്
link_verified_on: സന്ധിയുടെ ഉടമസ്ഥാവസ്കാശം %{date} ൽ പരിശോധിക്കപ്പെട്ടു
nothing_here: ഇവിടെ ഒന്നുമില്ല!
posts_tab_heading: ടൂട്ടുകൾ
admin:
+ account_moderation_notes:
+ create: ഒരു കുറിപ്പു് വിടുക
accounts:
+ add_email_domain_block: ഈ ഇ-തപാൽ മേഖല തടസ്സപെടുത്തുക
approve: അംഗീകരിക്കുക
are_you_sure: നിങ്ങൾക്ക് ഉറപ്പാണോ?
avatar: അവതാർ
by_domain: മേഖല
change_email:
+ changed_msg: ഇ-തപാൽ ശരിയായിട്ടു് മാറ്റീ!
current_email: ഇപ്പോഴത്തെ ഇലക്ട്രോണിക് കത്തിന്റെ മേൽവിലാസം
label: മാറിയ ഇലക്ട്രോണിക് കത്തിന്റെ മേൽവിലാസം
new_email: പുതിയ ഇലക്ട്രോണിക് കത്ത്
@@ -24,6 +31,7 @@ ml:
confirm: നിജപ്പെടുത്തുക
confirmed: നിജപ്പെടുത്തി
confirming: സ്ഥിരീകരിക്കുന്നു
+ custom: സ്വന്തമായ ഭേദഗതി
delete: ഡാറ്റ ഇല്ലാതാക്കുക
deleted: മായിച്ചു
demote: തരം താഴ്ത്തുക
@@ -34,7 +42,9 @@ ml:
domain: മേഖല
edit: തിരുത്തുക
email: ഇമെയിൽ
+ email_status: ഇ-തപാൽ അവസ്ഥ
header: തലക്കെട്ട്
+ inbox_url: ഇ-തപാല്പെട്ടി വിലാസം
joined: ജോയിൻ ചെയ്തിരിക്കുന്നു
location:
all: എല്ലാം
@@ -46,9 +56,18 @@ ml:
all: എല്ലാം
suspended: താൽക്കാലികമായി നിർത്തി
title: മധ്യസ്ഥന്
+ protocol: പെരുമാറ്റച്ചട്ടം
+ public: പൊതുവു്
+ remove_header: തലക്കെട്ടു് മാറ്റുക
+ resend_confirmation:
+ send: ഉറപ്പിക്കൽ-വിലാസം വീണ്ടും അയക്കുക
reset: പുനഃക്രമീകരിക്കുക
reset_password: പാസ്വേഡ് പുനഃക്രമീകരിക്കുക
search: തിരയുക
+ security: സുരക്ഷ
+ security_measures:
+ only_password: രഹസ്യവാക്ക് മാത്രം
+ silence: അതിർ
title: അക്കൗണ്ടുകൾ
unconfirmed_email: സ്ഥിരീകരിക്കാത്ത ഇമെയിൽ
username: ഉപയോക്തൃനാമം
diff --git a/config/locales/ms.yml b/config/locales/ms.yml
index 9994a34bb5..90493a30b6 100644
--- a/config/locales/ms.yml
+++ b/config/locales/ms.yml
@@ -1223,20 +1223,6 @@ ms:
merge_long: Simpan rekod sedia ada dan tambah rekod baharu
overwrite: Tulis ganti
overwrite_long: Gantikan rekod semasa dengan yang baharu
- overwrite_preambles:
- blocking_html: Anda akan menggantikan senarai blok anda dengan sehingga %{total_items} akaun daripada %{filename}.
- bookmarks_html: Anda akan menggantikan penanda halaman anda dengan sehingga %{total_items} siaran daripada %{filename}.
- domain_blocking_html: Anda akan menggantikan senarai blok domain anda dengan sehingga %{total_items} domain daripada %{filename}.
- following_html: Anda akan mengikuti sehingga %{total_items} akaun daripada %{filename} dan berhenti mengikuti orang lain.
- lists_html: Anda akan menggantikan senarai anda dengan kandungan %{filename}. Sehingga %{total_items} akaun akan ditambahkan pada senarai baharu.
- muting_html: Anda akan menggantikan senarai akaun yang diredamkan dengan sehingga %{total_items} akaun daripada %{filename}.
- preambles:
- blocking_html: Anda akan menyekat sehingga %{total_items} akaun daripada %{filename}.
- bookmarks_html: Anda akan menambah sehingga %{total_items} pos daripada %{filename} ke penanda halaman anda.
- domain_blocking_html: Anda akan menyekat sehingga %{total_items} domain daripada %{filename}.
- following_html: Anda akan mengikuti sehingga %{total_items} akaun daripada %{filename}.
- lists_html: Anda akan menambah sehingga %{total_items} akaun daripada %{filename} ke senarai anda. Senarai baharu akan dibuat jika tiada senarai untuk ditambah.
- muting_html: Anda akan membisukan sehingga %{total_items} akaun daripada %{filename}.
preface: Anda boleh mengimport data yang telah anda eksport dari server lain, seperti senarai orang yang anda ikuti atau sekat.
recent_imports: Import terkini
states:
diff --git a/config/locales/my.yml b/config/locales/my.yml
index 598915fad9..6a330a16c7 100644
--- a/config/locales/my.yml
+++ b/config/locales/my.yml
@@ -1222,20 +1222,6 @@ my:
merge_long: ရှိပြီးသားမှတ်တမ်းများ သိမ်းဆည်းပြီး အသစ်များ ထပ်ထည့်ပါ
overwrite: ထပ်ရေးရန်
overwrite_long: လက်ရှိမှတ်တမ်းများကို အသစ်များဖြင့် အစားထိုးပါ
- overwrite_preambles:
- blocking_html: သင်သည် %{filename} မှ %{total_items} အကောင့်များ အထိ သင့်ပိတ်ဆို့စာရင်းကို အစားထိုးပါတော့မည်။
- bookmarks_html: သင်သည် %{filename} မှ %{total_items} ပို့စ်များ အထိ သင့် bookmark များကို အစားထိုးပါတော့မည်။
- domain_blocking_html: သင်သည် %{filename} မှ %{total_items} ဒိုမိန်းများ ဖြင့် သင်၏ ဒိုမိန်းပိတ်ဆို့စာရင်းကို အစားထိုးပါတော့မည်။
- following_html: သင်သည် %{filename} မှ %{total_items} အကောင့်များ အထိ စောင့်ကြည့် ပြီး အခြားမည်သူ့ကိုမျှ စောင့်မကြည့်တော့ပါ ။
- lists_html: သင်သည် %{filename} ၏ အကြောင်းအရာများဖြင့် သင့်စာရင်းများကို အစားထိုး ပါတော့မည်။ %{total_items} အကောင့်များအထိ စာရင်းအသစ်များသို့ ပေါင်းထည့်ပါမည်။
- muting_html: သင်သည် %{filename} မှ %{total_items} အကောင့်များ ဖြင့် အသံပိတ်ထားသော သင့်အကောင့်များစာရင်းကို အစားထိုးပါတော့မည်။
- preambles:
- blocking_html: သင်သည် %{filename} မှ %{total_items} အကောင့်များ အထိ ပိတ်ဆို့ပါတော့မည်။
- bookmarks_html: သင်သည် %{filename} မှ %{total_items} ပို့စ်များ အထိ သင့် Bookmark များ သို့ ပေါင်းထည့်တော့မည်။
- domain_blocking_html: သင်သည် %{filename} မှ %{total_items} ဒိုမိန်းများ အထိ ပိတ်ဆို့ပါတော့မည်။
- following_html: သင်သည် %{filename} မှ %{total_items} အကောင့်များ အထိ စောင့်ကြည့် ပါတော့မည်။
- lists_html: သင်သည် %{filename} မှ %{total_items} အကောင့်များ ကို သင့် စာရင်းများ သို့ ပေါင်းထည့်ပါတော့မည်။ ထည့်ရန်စာရင်းမရှိပါက စာရင်းအသစ်များကို ဖန်တီးပါမည်။
- muting_html: သင်သည် %{filename} မှ %{total_items} အကောင့်များ အထိ အသံတိတ်ပါတော့မည်။
preface: သင်စောင့်ကြည့်နေသည့်လူများစာရင်း သို့မဟုတ် ပိတ်ပင်ထားသည့်စာရင်းကဲ့သို့သော အခြားဆာဗာတစ်ခုမှ သင်ထုတ်ယူထားသည့်အချက်အလက်များကို ပြန်လည်ထည့်သွင်းနိုင်သည်။
recent_imports: လတ်တလောထည့်သွင်းမှုများ
states:
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 7681a04eae..1af30bca98 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -21,6 +21,7 @@ nl:
one: Toot
other: Berichten
posts_tab_heading: Berichten
+ self_follow_error: Het volgen van je eigen account is niet toegestaan
admin:
account_actions:
action: Actie uitvoeren
@@ -1165,9 +1166,11 @@ nl:
use_security_key: Beveiligingssleutel gebruiken
author_attribution:
example_title: Voorbeeldtekst
- hint_html: Bepaal hoe we je vermelden, wanneer jouw links op Mastodon worden gedeeld.
+ hint_html: Schrijf je nieuws- of blogartikelen buiten Mastodon? Bepaal hoe je geattribueerd wordt als deze gedeeld worden op Mastodon.
+ instructions: 'Zorg ervoor dat deze code in de HTML van je artikel zit:'
more_from_html: Meer van %{name}
s_blog: De weblog van %{name}
+ then_instructions: Voeg vervolgens de domeinnaam van de publicatie toe in het onderstaande veld.
title: Auteur-attributie
challenge:
confirm: Doorgaan
@@ -1366,19 +1369,43 @@ nl:
overwrite: Overschrijven
overwrite_long: Huidige gegevens met de nieuwe gegevens vervangen
overwrite_preambles:
- blocking_html: Je staat op het punt jouw lijst met geblokkeerde accounts te vervangen door %{total_items} accounts vanuit %{filename}.
- bookmarks_html: Je staat op het punt jouw bladwijzers te vervangen door %{total_items} berichten vanuit %{filename}.
- domain_blocking_html: Je staat op het punt jouw lijst met geblokkeerde domeinen te vervangen door %{total_items} domeinen vanuit %{filename}.
- following_html: Je staat op het punt om %{total_items} accounts te volgen vanuit %{filename} en te stoppen met het volgen van alle andere accounts.
- lists_html: Je staat op het punt je lijsten te vervangen door inhoud van %{filename}. Er worden totaal %{total_items} accounts aan nieuwe lijsten toegevoegd.
- muting_html: Je staat op het punt jouw lijst met genegeerde accounts te vervangen door %{total_items} accounts vanuit %{filename}.
+ blocking_html:
+ one: Je staat op het punt om vanuit %{filename} je blokkeerlijst te vervangen met in het totaal %{count} account.
+ other: Je staat op het punt om vanuit %{filename} je blokkeerlijst te vervangen met in het totaal %{count} accounts.
+ bookmarks_html:
+ one: Je staat op het punt om vanuit %{filename} je bladwijzers te vervangen met in het totaal %{count} bericht.
+ other: Je staat op het punt om vanuit %{filename} je bladwijzers te vervangen met in het totaal %{count} berichten.
+ domain_blocking_html:
+ one: Je staat op het punt om vanuit %{filename} je lijst met geblokkeerde domeinen te vervangen met in het totaal %{count} domein.
+ other: Je staat op het punt om vanuit %{filename} je lijst met geblokkeerde domeinen te vervangen met in het totaal %{count} domeinen.
+ following_html:
+ one: Je staat op het punt om vanuit %{filename} in het totaal %{count} account te volgen en de rest te ontvolgen.
+ other: Je staat op het punt om vanuit %{filename} in het totaal %{count} accounts te volgen en de rest te ontvolgen.
+ lists_html:
+ one: Je staat op het punt om met de inhoud van %{filename} je lijsten te vervangen. In het totaal wordt %{count} account aan de nieuwe lijst(en) toegevoegd.
+ other: Je staat op het punt om met de inhoud van %{filename} je lijsten te vervangen. In het totaal worden %{count} accounts aan de nieuwe lijst(en) toegevoegd.
+ muting_html:
+ one: Je staat op het punt om vanuit %{filename} je negeerlijst te vervangen met in het totaal %{count} account.
+ other: Je staat op het punt om vanuit %{filename} je blokkeerlijst te vervangen met in het totaal %{count} accounts.
preambles:
- blocking_html: Je staat op het punt om %{total_items} accounts te blokkeren vanuit %{filename}.
- bookmarks_html: Je staat op het punt om %{total_items} berichten aan je bladwijzers toe te voegen vanuit %{filename}.
- domain_blocking_html: Je staat op het punt om %{total_items} accounts te negeren vanuit %{filename}.
- following_html: Je staat op het punt om %{total_items} accounts te volgen vanuit %{filename}.
- lists_html: Je staat op het punt om tot %{total_items} accounts van %{filename} toe te voegen aan je lijsten. Nieuwe lijsten worden aangemaakt als er geen lijst is om aan toe te voegen.
- muting_html: Je staat op het punt om %{total_items} accounts te negeren vanuit %{filename}.
+ blocking_html:
+ one: Je staat op het punt om vanuit %{filename} in het totaal %{count} account te blokkeren.
+ other: Je staat op het punt om vanuit %{filename} in het totaal %{count} accounts te blokkeren.
+ bookmarks_html:
+ one: Je staat op het punt om vanuit %{filename} in het totaal %{count} bericht aan je bladwijzers toe te voegen.
+ other: Je staat op het punt om vanuit %{filename} in het totaal %{count} berichten aan je bladwijzers toe te voegen.
+ domain_blocking_html:
+ one: Je staat op het punt om vanuit %{filename} in het totaal %{count} domein te blokkeren.
+ other: Je staat op het punt om vanuit %{filename} in het totaal %{count} domeinen te blokkeren.
+ following_html:
+ one: Je staat op het punt om vanuit %{filename} in het totaal %{count} account te volgen.
+ other: Je staat op het punt om vanuit %{filename} in het totaal %{count} accounts te volgen.
+ lists_html:
+ one: Je staat op het punt om vanuit %{filename} in het totaal %{count} account aan je lijsten toe te voegen. Er wordt een nieuwe lijst aangemaakt wanneer er geen lijst is om het aan toe te voegen.
+ other: Je staat op het punt om vanuit %{filename} in het totaal %{count} accounts aan je lijsten toe te voegen. Er worden nieuwe lijsten aangemaakt wanneer er geen lijsten zijn om ze aan toe te voegen.
+ muting_html:
+ one: Je staat op het punt om vanuit %{filename} in het totaal %{count} account te negeren.
+ other: Je staat op het punt om vanuit %{filename} in het totaal %{count} accounts te negeren.
preface: Je kunt bepaalde gegevens, zoals de mensen die jij volgt of hebt geblokkeerd, naar jouw account op deze server importeren. Je moet deze gegevens wel eerst op de oorspronkelijke server exporteren.
recent_imports: Recent geïmporteerd
states:
@@ -1526,8 +1553,8 @@ nl:
title: Nieuw volgverzoek
mention:
action: Reageren
- body: 'Jij bent door %{name} vermeld in:'
- subject: Jij bent vermeld door %{name}
+ body: 'Je bent door %{name} vermeld in:'
+ subject: Je bent vermeld door %{name}
title: Nieuwe vermelding
poll:
subject: Een peiling van %{name} is beëindigd
diff --git a/config/locales/nn.yml b/config/locales/nn.yml
index ca5e34ee55..e6edc2c4b2 100644
--- a/config/locales/nn.yml
+++ b/config/locales/nn.yml
@@ -21,6 +21,7 @@ nn:
one: Tut
other: Tut
posts_tab_heading: Tut
+ self_follow_error: Det er ikkje tillate å følgje din eigen konto
admin:
account_actions:
action: Utfør
@@ -689,10 +690,10 @@ nn:
moderation: Moderering
special: Særskild
delete: Slett
- description_html: Med brukarrollar kan du kontrollera kva funksjonar og område av Mastodon brukarane dine har tilgong til.
+ description_html: Med brukarroller kan du kontrollera kva funksjonar og område av Mastodon brukarane dine har tilgang til.
edit: Endr rollen '%{name}'
everyone: Standard-tillatelser
- everyone_full_description_html: Dette er grunnrollen som påverkar alle brukarar, jamvel dei utan ei tilsett rolle. Alle andre rollar arvar tillatingar frå denne.
+ everyone_full_description_html: Dette er grunnrolla som påverkar alle brukarar, jamvel dei utan ei tildelt rolle. Alle andre rollar arvar tilgangsløve frå denne.
permissions_count:
one: "%{count} tillatelse"
other: "%{count} tillatelser"
@@ -718,7 +719,7 @@ nn:
manage_reports: Handtere rapporteringar
manage_reports_description: Let brukarar gjennomgå rapportar og utføre modereringshandlingar i samsvar med desse
manage_roles: Handsam roller
- manage_roles_description: Tillet at brukarar handsamar og tilset rollar under deira eiga
+ manage_roles_description: Tillet at brukarar handsamar og tildeler roller som er lågare enn dera eiga
manage_rules: Handtere reglar
manage_rules_description: Let brukarar endre reglane for tenaren
manage_settings: Handtere innstillingar
@@ -737,7 +738,7 @@ nn:
view_dashboard_description: Gir brukere tilgang til dashbordet og ulike metrikker
view_devops: DevOps
view_devops_description: Gir brukere tilgang til Sidekiq og pgHero-dashbord
- title: Rollar
+ title: Roller
rules:
add_new: Legg til regel
delete: Slett
@@ -1165,7 +1166,6 @@ nn:
use_security_key: Bruk sikkerhetsnøkkel
author_attribution:
example_title: Eksempeltekst
- hint_html: Kontroller korleis du blir kreditert når nokon deler lenker på Mastodon.
more_from_html: Meir frå %{name}
s_blog: Bloggen til %{name}
title: Forfattarkreditering
@@ -1366,19 +1366,9 @@ nn:
overwrite: Skriv over
overwrite_long: Byt ut dei noverande oppføringane med dei nye
overwrite_preambles:
- blocking_html: Du skal til å byta ut blokkeringslista di med opp til %{total_items} brukarkontoar frå %{filename}.
- bookmarks_html: Du skal til å byta ut bokmerka dine med opp til %{total_items} innlegg frå %{filename}.
- domain_blocking_html: Du skal til å byta ut domeneblokkeringslista di med opp til %{total_items} domene frå %{filename}.
- following_html: Du skal til å fylgja opp til %{total_items} brukarkontoar frå %{filename} og slutta å fylgja alle andre.
- lists_html: Du er i ferd med å erstatta listene dine med innhaldet i %{filename}. Opptil %{total_items} kontoar vil bli lagt til i nye lister.
- muting_html: Du skal til å byta ut lista di over dempa brukarkontoar med opp til %{total_items} brukarkontoar frå %{filename}.
- preambles:
- blocking_html: Du skal til å blokkera opp til %{total_items} brukarkontoar frå %{filename}.
- bookmarks_html: Du skal til å leggja til opp til %{total_items} innlegg frå %{filename} til bokmerka dine.
- domain_blocking_html: Du skal til å blokkera opp til %{total_items} domene frå %{filename}.
- following_html: Du skal til å fylgja opp til %{total_items} brukarkontoar frå %{filename}.
- lists_html: Du er i ferd med å leggja til opptil %{total_items} kontoar frå %{filename} til i listene dine. Nye lister vil blir oppretta om ingen lister finst frå før.
- muting_html: Du skal til å dempa opp til %{total_items} brukarkontoar frå %{filename}.
+ blocking_html:
+ one: Du skal til å byta ut blokkeringslista di med opp til %{count} brukarkonto frå %{filename}.
+ other: Du skal til å byta ut blokkeringslista di med opp til %{count} brukarkontoar frå %{filename}.
preface: Du kan henta inn data som du har eksportert frå ein annan tenar, som t.d. ei liste over folka du fylgjer eller blokkerer.
recent_imports: Siste importar
states:
@@ -1426,7 +1416,7 @@ nn:
one: 1 bruk
other: "%{count} bruk"
max_uses_prompt: Inga grense
- prompt: Generer og del lenkjer med andre for å gje tilgong til denne tenaren
+ prompt: Generer og del lenkjer med andre for å gje tilgang til denne tenaren
table:
expires_at: Vert ugyldig
uses: Bruk
diff --git a/config/locales/no.yml b/config/locales/no.yml
index ec0b14d5a3..94986f4cae 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -1268,20 +1268,6 @@
merge_long: Behold eksisterende og legg til nye
overwrite: Overskriv
overwrite_long: Erstatt gjeldende med de nye
- overwrite_preambles:
- blocking_html: Du er i ferd med å erstatte din blokkeringsliste med inntil %{total_items} kontoer fra %{filename}.
- bookmarks_html: Du er i ferd med å erstatte dine bokmerker med inntil %{total_items} innlegg fra %{filename}.
- domain_blocking_html: Du er i ferd med å erstatte din domene-blokkeringsliste med inntil %{total_items} domener fra %{filename}.
- following_html: Du er i ferd med å følge inntil %{total_items} kontoer fra %{filename} og slutte å følge alle andre.
- lists_html: Du er i ferd med å erstatte dine lister med innholdet i %{filename}. Inntil %{total_items} kontoer legges til i nye lister.
- muting_html: Du er i ferd med å erstatte listen over dempede kontoer med inntil %{total_items} kontoer fra %{filename}.
- preambles:
- blocking_html: Du er i ferd med å blokkere inntil %{total_items} kontoer fra %{filename}.
- bookmarks_html: Du er i ferd med å legge til inntil %{total_items} innlegg fra %{filename} til dine bokmerker.
- domain_blocking_html: Du er i ferd med å blokkere inntil %{total_items} domener fra %{filename}.
- following_html: Du er i ferd med å følge inntil %{total_items} kontoer fra %{filename}.
- lists_html: Du er i ferd med å legge inntil %{total_items} kontoer fra %{filename} til dine lister. Nye lister vil bli opprettet hvis det ikke finnes noen liste å legge til.
- muting_html: Du er i ferd med å dempe inntil %{total_items} kontoer fra %{filename}.
preface: Du kan importere data om brukere du følger eller blokkerer til kontoen din på denne instansen med eksportfiler fra andre instanser.
recent_imports: Siste importer
states:
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 3aaf7a5a57..d50a042a22 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -25,6 +25,7 @@ pl:
one: wpis
other: Wpisów
posts_tab_heading: Wpisy
+ self_follow_error: Nie możesz obserwować swojego konta
admin:
account_actions:
action: Wykonaj działanie
@@ -1201,9 +1202,11 @@ pl:
use_security_key: Użyj klucza bezpieczeństwa
author_attribution:
example_title: Przykładowy tekst
- hint_html: Kontroluj przypisy do twoich wpisów widoczne na Mastodonie.
+ hint_html: Piszesz wiadomości albo bloga poza Mastodonem? Kontroluj jak będą ci przypisywane podczas dizielenia się nimi na Mastodonie.
+ instructions: 'Upewnij się, że ten kod jest w HTMLu twojego artykułu:'
more_from_html: Więcej od %{name}
s_blog: Blog %{name}
+ then_instructions: Potem, dodaj domenę publikacji do pola poniżej.
title: Przypis do autora
challenge:
confirm: Kontynuuj
@@ -1415,20 +1418,6 @@ pl:
merge_long: Zachowaj obecne wpisy i dodaj nowe
overwrite: Nadpisz
overwrite_long: Zastąp obecne wpisy nowymi
- overwrite_preambles:
- blocking_html: Zamierzasz zastąpić swoją listę bloków maksymalnie %{total_items} kont z %{filename}.
- bookmarks_html: Zamierzasz zastąpić swoje zakładki maksymalnie %{total_items} wpisami z %{filename}.
- domain_blocking_html: Zamierzasz zastąpić swoją listę bloków domen maksymalnie %{total_items} domenami z %{filename}.
- following_html: Zamierzasz zaobserwować maksymalnie %{total_items} kont z %{filename} i przestać obserwować kogokolwiek innego.
- lists_html: Zamierzasz zastąpić swoje listy maksymalnie %{total_items} kontami z %{filename}.
- muting_html: Zamierzasz zastąpić swoją wyciszonych maksymalnie %{total_items} kontami z %{filename}.
- preambles:
- blocking_html: Zamierzasz zablokować maksymalnie %{total_items} kont z %{filename}.
- bookmarks_html: Zamierzasz dodać maksymalnie %{total_items} wpisów do twoich zakładek z %{filename}.
- domain_blocking_html: Zamierzasz zablokować maksymalnie %{total_items} domen z %{filename}.
- following_html: Zamierzasz zaobserwować maksymalnie %{total_items} kont z %{filename}.
- lists_html: Zamierzasz dodać maksymalnie %{total_items} kont do twoich list z %{filename}. Jeżeli nie ma list, nowe zostaną utworzone.
- muting_html: Zamierzasz wyciszyć maksymalnie %{total_items} kont z %{filename}.
preface: Możesz zaimportować pewne dane (np. lista kont, które obserwujesz lub blokujesz) do swojego konta na tym serwerze, korzystając z danych wyeksportowanych z innego serwera.
recent_imports: Ostatnie importy
states:
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index 6451e7c601..8b2feb5193 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -21,6 +21,7 @@ pt-BR:
one: Publicação
other: Publicações
posts_tab_heading: Publicações
+ self_follow_error: Seguir sua conta não é permitido
admin:
account_actions:
action: Tomar uma atitude
@@ -1165,9 +1166,11 @@ pt-BR:
use_security_key: Usar chave de segurança
author_attribution:
example_title: Texto de amostra
- hint_html: Controle como você é creditado quando links são compartilhados no Mastodon.
+ hint_html: Você está escrevendo notícias ou artigos de blogs fora do Mastodon? Controle como você é credenciado quando eles forem compartilhados no Mastodon.
+ instructions: 'Certifique-se que este código esteja no HTML do artigo:'
more_from_html: Mais de %{name}
s_blog: Blog do %{name}
+ then_instructions: Então, adicione o nome de domínio da publicação no campo abaixo.
title: Atribuição de autoria
challenge:
confirm: Continuar
@@ -1365,20 +1368,6 @@ pt-BR:
merge_long: Manter os registros existentes e adicionar novos
overwrite: Sobrescrever
overwrite_long: Substituir os registros atuais com os novos
- overwrite_preambles:
- blocking_html: Você está prestes a substituir sua lista de bloqueios com até contas%{total_items} de %{filename}.
- bookmarks_html: Você está prestes a substituir seus favoritos por até %{total_items} posts de %{filename}.
- domain_blocking_html: Você está prestes a substituir sua lista de bloqueio de domínio com até domínios%{total_items} de %{filename}.
- following_html: Você está prestes a seguir até %{total_items} contas de %{filename} e parar de seguir todos os outros.
- lists_html: Você está prestes a substituir sua lista pelo conteúdo de %{filename}. Até %{total_items} contas serão adicionadas a novas listas.
- muting_html: Você está prestes a substituir sua lista de contas silenciadas com até %{total_items} contas de %{filename}.
- preambles:
- blocking_html: Você está prestes a bloquear até %{total_items} contas de %{filename}.
- bookmarks_html: Você está prestes a adicionar até %{total_items} posts de %{filename} para seus favoritos.
- domain_blocking_html: Você está prestes a bloquear até %{total_items} domínios de %{filename}.
- following_html: Você está prestes a seguir até %{total_items} contas de %{filename}.
- lists_html: Você está prestes a adicionar até %{total_items} contas a partir de %{filename} para suas listas. Novas listas serão criadas se não houver uma para a qual adicionar.
- muting_html: Você está prestes a silenciar até contas%{total_items} de %{filename}.
preface: Você pode importar dados que você exportou de outro servidor, como a lista de pessoas que você segue ou bloqueou.
recent_imports: Importações recentes
states:
diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml
index 6b48e8de26..1761ec3f0c 100644
--- a/config/locales/pt-PT.yml
+++ b/config/locales/pt-PT.yml
@@ -1162,7 +1162,6 @@ pt-PT:
use_security_key: Usar chave de segurança
author_attribution:
example_title: Texto de exemplo
- hint_html: Controle a forma como é creditado quando as hiperligações são partilhadas no Mastodon.
more_from_html: Mais de %{name}
s_blog: Blog de %{name}
title: Atribuição de autor
@@ -1362,20 +1361,6 @@ pt-PT:
merge_long: Manter os registos existentes e adicionar novos registos
overwrite: Escrever por cima
overwrite_long: Substituir os registos atuais pelos novos
- overwrite_preambles:
- blocking_html: Está prestes a substituir a sua lista de bloqueios com até %{total_items} contas de %{filename}.
- bookmarks_html: Está prestes a substituir os seus marcadores com até %{total_items} publicações de %{filename}.
- domain_blocking_html: Está prestes a substituir a sua lista de bloqueios de domínio com até %{total_items} domínios de %{filename}.
- following_html: Está prestes a seguir até %{total_items} contas de %{filename} e parar de seguir quaisquer outras contas.
- lists_html: Está prestes a substituir as suas listas pelo conteúdo de %{filename}. Até %{total_items} contas serão adicionadas a novas listas.
- muting_html: Está prestes a substituir a sua lista de contas silenciadas com até %{total_items} contas de %{filename}.
- preambles:
- blocking_html: Está prestes a bloquear até %{total_items} contas de %{filename}.
- bookmarks_html: Está prestes a adicionar até %{total_items} publicações de %{filename} aos seus marcadores.
- domain_blocking_html: Está prestes a bloquear até %{total_items} domínios de %{filename}.
- following_html: Está prestes a seguir até %{total_items} contas de %{filename}.
- lists_html: Está prestes a adicionar até %{total_items} contas do ficheiro %{filename} para as suas listas. Novas listas serão criadas se não existir uma lista onde as adicionar.
- muting_html: Está prestes a silenciar até %{total_items} contas de %{filename}.
preface: Podes importar dados que tenhas exportado de outra instância, como a lista de pessoas que segues ou bloqueadas.
recent_imports: Importações recentes
states:
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index c61c7f459f..b7a10269fa 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -901,6 +901,8 @@ ru:
message_html: Вы не определили правила сервера.
sidekiq_process_check:
message_html: Ни один Sidekiq не запущен для %{value} очереди(-ей). Пожалуйста, просмотрите настройки Sidekiq
+ software_version_check:
+ message_html: Доступно обновление для Mastodon.
software_version_critical_check:
action: Посмотреть доступные обновления
message_html: Доступно критическое обновление Mastodon, пожалуйста, обновитесь как можно скорее.
@@ -1196,7 +1198,6 @@ ru:
use_security_key: Использовать ключ безопасности
author_attribution:
example_title: Образец текста
- hint_html: Контролируйте, как вы будете отмечены при обмене ссылками на Mastodon.
more_from_html: Больше от %{name}
s_blog: "%{name}'S Блог"
title: Авторская атрибуция
@@ -1410,20 +1411,6 @@ ru:
merge_long: Сохранить имеющиеся данные и добавить новые.
overwrite: Перезаписать
overwrite_long: Перезаписать имеющиеся данные новыми.
- overwrite_preambles:
- blocking_html: Вы собираетесь заменить свой блок-лист на %{total_items} аккаунтов из %{filename}.
- bookmarks_html: Вы собираетесь заменить свои закладки на %{total_items} постов из %{filename}.
- domain_blocking_html: Вы собираетесь заменить ваш список блокировки доменов на %{total_items} доменов из %{filename}.
- following_html: Вы собираетесь следить за %{total_items} аккаунтами из %{filename} и прекратить следить за всеми остальными.
- lists_html: Вы собираетесь заменить ваши списки содержимым %{filename}. До %{total_items} аккаунты будут добавлены в новые списки.
- muting_html: Вы собираетесь заменить список отключенных аккаунтов на %{total_items} аккаунтов из %{filename}.
- preambles:
- blocking_html: Вы собираетесь заблокировать до %{total_items} аккаунтов из %{filename}.
- bookmarks_html: Вы собираетесь добавить до %{total_items} постов из %{filename} в свои закладки.
- domain_blocking_html: Вы собираетесь блокировать до %{total_items} доменов от %{filename}.
- following_html: Вы собираетесь следовать за %{total_items} аккаунтами из %{filename}.
- lists_html: Вы собираетесь добавить до %{total_items} аккаунтов от %{filename} к вашим спискам. Новые списки будут созданы, если нет списка для добавления.
- muting_html: Вы собираетесь отключить до %{total_items} аккаунтов из %{filename}.
preface: Вы можете загрузить некоторые данные, например, списки людей, на которых Вы подписаны или которых блокируете, в Вашу учётную запись на этом узле из файлов, экспортированных с другого узла.
recent_imports: Недавно импортированное
states:
diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml
index b591cdca57..0a665fb784 100644
--- a/config/locales/simple_form.ar.yml
+++ b/config/locales/simple_form.ar.yml
@@ -3,7 +3,6 @@ ar:
simple_form:
hints:
account:
- attribution_domains_as_text: يحمي من الإسناد الزائف.
discoverable: يمكن عرض مشاركاتك العامة وملفك الشخصي أو التوصية به في مختلف مناطق ماستدون ويمكن اقتراح ملفك الشخصي على مستخدمين آخرين.
display_name: اسمك الكامل أو اسمك المرح.
fields: صفحتك الرئيسية، ضمائرك، عمرك، أي شيء تريده.
diff --git a/config/locales/simple_form.ast.yml b/config/locales/simple_form.ast.yml
index 5e3f1af89a..00617c4e3c 100644
--- a/config/locales/simple_form.ast.yml
+++ b/config/locales/simple_form.ast.yml
@@ -25,11 +25,11 @@ ast:
password: Usa polo menos 8 caráuteres
setting_aggregate_reblogs: Nun amuesa los artículos compartíos nuevos que yá se compartieren de recién (namás afeuta a los artículos compartíos d'agora)
setting_always_send_emails: Los avisos nun se suelen unviar per corréu electrónicu si uses activamente Mastodon
- setting_default_sensitive: El conteníu multimedia sensible anúbrese por defeutu y pue amosase al calcar nelli
- setting_display_media_default: Anubrilu cuando se marque como sensible
- setting_display_media_hide_all: Anubrilu siempres
- setting_display_media_show_all: Amosalu siempres
- setting_use_blurhash: Los dilíos básense nos colores del conteníu multimedia anubríu mas desenfonca los detalles
+ setting_default_sensitive: El conteníu multimedia sensible escuéndrese por defeutu y pue amosase al calcar nelli
+ setting_display_media_default: Escondelu cuando se marque como sensible
+ setting_display_media_hide_all: Escondelu siempre
+ setting_display_media_show_all: Amosalu siempre
+ setting_use_blurhash: Los dilíos básense nos colores del conteníu multimedia escondíu mas desenfonca los detalles
featured_tag:
name: 'Equí tán dalgunes de les etiquetes qu''usesti apocayá:'
form_admin_settings:
@@ -93,7 +93,7 @@ ast:
expires_in: Caduca dempués de
fields: Campos adicionales
header: Semeya de la testera
- irreversible: Escartar en cuentes d'anubrir
+ irreversible: Escartar en cuentes d'esconder
locale: Llingua de la interfaz
max_uses: Númberu máximu d'usos
new_password: Contraseña nueva
@@ -103,24 +103,24 @@ ast:
phrase: Pallabra clave o fras
setting_advanced_layout: Activar la interfaz web avanzada
setting_aggregate_reblogs: Agrupar los artículos compartíos nes llinies de tiempu
- setting_always_send_emails: Unviar siempres los avisos per corréu electrónicu
+ setting_always_send_emails: Unviar siempre los avisos per corréu electrónicu
setting_auto_play_gif: Reproducir automáticamente los GIFs
setting_boost_modal: Amosar el diálogu de confirmación enantes de compartir un artículu
setting_default_language: Llingua de los artículos
setting_default_privacy: Privacidá de los artículos
- setting_default_sensitive: Marcar siempres tol conteníu como sensible
+ setting_default_sensitive: Marcar siempre tol conteníu como sensible
setting_delete_modal: Amosar el diálogu de confirmación enantes de desaniciar un artículu
setting_disable_hover_cards: Desactivar la previsualización de perfiles al pasar el mur penriba
setting_disable_swiping: Desactivar el movimientu de desplazamientu
setting_display_media: Conteníu multimedia
- setting_expand_spoilers: Espander siempres los artículos marcaos con alvertencies de conteníu
- setting_hide_network: Anubrir les cuentes que sigas y te sigan
+ setting_expand_spoilers: Espander siempre los artículos marcaos con alvertencies de conteníu
+ setting_hide_network: Esconder les cuentes que sigas y te sigan
setting_reduce_motion: Amenorgar el movimientu de les animaciones
setting_system_font_ui: Usar la fonte predeterminada del sistema
setting_theme: Estilu del sitiu
setting_trends: Amosar les tendencies de güei
setting_unfollow_modal: Amosar el diálogu de confirmación enantes de dexar de siguir a daquién
- setting_use_blurhash: Facer que'l conteníu multimedia anubríu tenga dilíos coloríos
+ setting_use_blurhash: Facer que'l conteníu multimedia escondíu tenga dilíos coloríos
setting_use_pending_items: Mou lentu
severity: Gravedá
sign_in_token_attempt: Códigu de seguranza
diff --git a/config/locales/simple_form.bg.yml b/config/locales/simple_form.bg.yml
index 7b7d92995b..2690f07141 100644
--- a/config/locales/simple_form.bg.yml
+++ b/config/locales/simple_form.bg.yml
@@ -3,7 +3,6 @@ bg:
simple_form:
hints:
account:
- attribution_domains_as_text: Защитава от фалшиви атрибути.
discoverable: Вашите публични публикации и профил може да се представят или препоръчват в различни области на Mastodon и вашия профил може да се предлага на други потребители.
display_name: Вашето пълно име или псевдоним.
fields: Вашата начална страница, местоимения, години, всичко що искате.
@@ -144,7 +143,6 @@ bg:
url: До къде ще се изпращат събитията
labels:
account:
- attribution_domains_as_text: Позволяване само на особени уебсайтове
discoverable: Включване на профил и публикации в алгоритмите за откриване
fields:
name: Етикет
diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml
index 7b651470bf..c628bebaad 100644
--- a/config/locales/simple_form.ca.yml
+++ b/config/locales/simple_form.ca.yml
@@ -3,7 +3,6 @@ ca:
simple_form:
hints:
account:
- attribution_domains_as_text: Protegeix de falses atribucions.
discoverable: El teu perfil i els teus tuts públics poden aparèixer o ser recomanats en diverses àreas de Mastodon i el teu perfil pot ser suggerit a altres usuaris.
display_name: El teu nom complet o el teu nom divertit.
fields: La teva pàgina d'inici, pronoms, edat, el que vulguis.
@@ -144,7 +143,6 @@ ca:
url: On els esdeveniments seran enviats
labels:
account:
- attribution_domains_as_text: Permet només webs específics
discoverable: Permet el perfil i el tuts en els algorismes de descobriment
fields:
name: Etiqueta
diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml
index 56d1f873dc..dedd50504b 100644
--- a/config/locales/simple_form.cy.yml
+++ b/config/locales/simple_form.cy.yml
@@ -3,7 +3,7 @@ cy:
simple_form:
hints:
account:
- attribution_domains_as_text: Yn amddiffyn rhag priodoliadau ffug.
+ attribution_domains_as_text: Un i bob llinell. Yn amddiffyn rhag cydnabyddiaethau ffug.
discoverable: Mae'n bosibl y bydd eich postiadau cyhoeddus a'ch proffil yn cael sylw neu'n cael eu hargymell mewn gwahanol feysydd o Mastodon ac efallai y bydd eich proffil yn cael ei awgrymu i ddefnyddwyr eraill.
display_name: Eich enw llawn neu'ch enw hwyl.
fields: Eich tudalen cartref, rhagenwau, oed, neu unrhyw beth.
@@ -144,7 +144,7 @@ cy:
url: I ble bydd digwyddiadau'n cael eu hanfon
labels:
account:
- attribution_domains_as_text: Dim ond yn caniatáu gwefannau penodol
+ attribution_domains_as_text: Gwefannau sy'n cael caniatâd i'ch cydnabod chi
discoverable: Proffil nodwedd a phostiadau mewn algorithmau darganfod
fields:
name: Label
diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml
index e7b8fe337a..25cf670ea9 100644
--- a/config/locales/simple_form.da.yml
+++ b/config/locales/simple_form.da.yml
@@ -3,7 +3,7 @@ da:
simple_form:
hints:
account:
- attribution_domains_as_text: Beskytter mod falske tilskrivninger.
+ attribution_domains_as_text: Ét pr. linje. Beskytter mod falske tilskrivninger.
discoverable: Dine offentlige indlæg og profil kan blive fremhævet eller anbefalet i forskellige områder af Mastodon, og profilen kan blive foreslået til andre brugere.
display_name: Dit fulde navn eller dit sjove navn.
fields: Din hjemmeside, dine pronominer, din alder, eller hvad du har lyst til.
@@ -144,7 +144,7 @@ da:
url: Hvor begivenheder sendes til
labels:
account:
- attribution_domains_as_text: Tillad kun bestemte websteder
+ attribution_domains_as_text: Websteder, man må krediteres af
discoverable: Fremhæv profil og indlæg i opdagelsesalgoritmer
fields:
name: Etiket
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index f7e55f1a7b..08d5331151 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -3,7 +3,7 @@ de:
simple_form:
hints:
account:
- attribution_domains_as_text: Dadurch können falsche Zuschreibungen unterbunden werden.
+ attribution_domains_as_text: Eine Domain pro Zeile. Dadurch können falsche Zuschreibungen unterbunden werden.
discoverable: Deine öffentlichen Beiträge und dein Profil können in verschiedenen Bereichen auf Mastodon angezeigt oder empfohlen werden und dein Profil kann anderen vorgeschlagen werden.
display_name: Dein richtiger Name oder dein Fantasiename.
fields: Deine Website, Pronomen, dein Alter – alles, was du möchtest.
@@ -144,7 +144,7 @@ de:
url: Wohin Ereignisse gesendet werden
labels:
account:
- attribution_domains_as_text: Nur ausgewählte Websites zulassen
+ attribution_domains_as_text: Websites, die dich anerkennen dürfen
discoverable: Profil und Beiträge in Suchalgorithmen berücksichtigen
fields:
name: Beschriftung
diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml
index d46e764a44..9dcac5c160 100644
--- a/config/locales/simple_form.el.yml
+++ b/config/locales/simple_form.el.yml
@@ -3,7 +3,6 @@ el:
simple_form:
hints:
account:
- attribution_domains_as_text: Προστατεύει από ψευδείς ιδιότητες.
discoverable: Οι δημόσιες δημοσιεύσεις και το προφίλ σου μπορεί να εμφανίζονται ή να συνιστώνται σε διάφορους τομείς του Mastodon και το προφίλ σου μπορεί να προτείνεται σε άλλους χρήστες.
display_name: Το πλήρες ή το αστείο σου όνομα.
fields: Η αρχική σου σελίδα, αντωνυμίες, ηλικία, ό,τι θες.
@@ -144,7 +143,6 @@ el:
url: Πού θα σταλούν τα γεγονότα
labels:
account:
- attribution_domains_as_text: Να επιτρέπονται μόνο συγκεκριμένες ιστοσελίδες
discoverable: Παροχή προφίλ και αναρτήσεων σε αλγορίθμους ανακάλυψης
fields:
name: Περιγραφή
diff --git a/config/locales/simple_form.en-GB.yml b/config/locales/simple_form.en-GB.yml
index b802fd532f..e20249e6bc 100644
--- a/config/locales/simple_form.en-GB.yml
+++ b/config/locales/simple_form.en-GB.yml
@@ -3,7 +3,6 @@ en-GB:
simple_form:
hints:
account:
- attribution_domains_as_text: Protects from false attributions.
discoverable: Your public posts and profile may be featured or recommended in various areas of Mastodon and your profile may be suggested to other users.
display_name: Your full name or your fun name.
fields: Your homepage, pronouns, age, anything you want.
@@ -144,7 +143,6 @@ en-GB:
url: Where events will be sent to
labels:
account:
- attribution_domains_as_text: Only allow specific websites
discoverable: Feature profile and posts in discovery algorithms
fields:
name: Label
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index 8f6137c8c1..25de9f5910 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -3,7 +3,7 @@ en:
simple_form:
hints:
account:
- attribution_domains_as_text: Protects from false attributions.
+ attribution_domains_as_text: One per line. Protects from false attributions.
discoverable: Your public posts and profile may be featured or recommended in various areas of Mastodon and your profile may be suggested to other users.
display_name: Your full name or your fun name.
fields: Your homepage, pronouns, age, anything you want.
@@ -144,7 +144,7 @@ en:
url: Where events will be sent to
labels:
account:
- attribution_domains_as_text: Only allow specific websites
+ attribution_domains_as_text: Websites allowed to credit you
discoverable: Feature profile and posts in discovery algorithms
fields:
name: Label
diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml
index cb4a9041e8..cfb5578f5d 100644
--- a/config/locales/simple_form.eo.yml
+++ b/config/locales/simple_form.eo.yml
@@ -3,7 +3,6 @@ eo:
simple_form:
hints:
account:
- attribution_domains_as_text: Protektas kontraŭ falsaj atribuoj.
discoverable: Viaj publikaj afiŝoj kaj profilo povas esti prezentitaj aŭ rekomenditaj en diversaj lokoj de Mastodon kaj via profilo povas esti proponita al aliaj uzantoj.
display_name: Via plena nomo aŭ via kromnomo.
fields: Via retpaĝo, pronomoj, aĝo, ĉio, kion vi volas.
@@ -76,6 +75,7 @@ eo:
warn: Kaŝi la enhavon filtritan malantaŭ averto mencianta la nomon de la filtro
form_admin_settings:
activity_api_enabled: Nombroj de loke publikigitaj afiŝoj, aktivaj uzantoj kaj novaj registradoj en semajnaj siteloj
+ backups_retention_period: Uzantoj havas la kapablon generi arkivojn de siaj afiŝoj por elŝuti poste. Kiam estas agordita al pozitiva valoro, ĉi tiuj arkivoj estos aŭtomate forigitaj de via stokado post la specifita nombro da tagoj.
bootstrap_timeline_accounts: Ĉi tiuj kontoj pinglitas al la supro de sekvorekomendoj de novaj uzantoj.
closed_registrations_message: Montrita kiam registroj fermitas
custom_css: Vi povas meti propajn stilojn en la retversio de Mastodon.
@@ -138,7 +138,6 @@ eo:
url: Kien eventoj sendotas
labels:
account:
- attribution_domains_as_text: Permesi nur specifajn retejojn
discoverable: Elstarigi profilon kaj afiŝojn en eltrovantaj algoritmoj
fields:
name: Etikedo
@@ -243,6 +242,7 @@ eo:
backups_retention_period: Uzantoarkivretendauro
bootstrap_timeline_accounts: Ĉiam rekomendi ĉi tiujn kontojn al novaj uzantoj
closed_registrations_message: Kutima mesaĝo kiam registroj ne estas disponeblaj
+ content_cache_retention_period: Retenperiodo de fora enhavo
custom_css: Propa CSS
favicon: Favorikono
mascot: Propa maskoto
diff --git a/config/locales/simple_form.es-AR.yml b/config/locales/simple_form.es-AR.yml
index d06d09761a..98254c5e99 100644
--- a/config/locales/simple_form.es-AR.yml
+++ b/config/locales/simple_form.es-AR.yml
@@ -3,7 +3,7 @@ es-AR:
simple_form:
hints:
account:
- attribution_domains_as_text: Protege de atribuciones falsas.
+ attribution_domains_as_text: Una por línea. Protege de falsas atribuciones.
discoverable: Tu perfil y publicaciones pueden ser destacadas o recomendadas en varias áreas de Mastodon, y tu perfil puede ser sugerido a otros usuarios.
display_name: Tu nombre completo o tu pseudónimo.
fields: Tu sitio web, pronombres, edad, o lo que quieras.
@@ -144,7 +144,7 @@ es-AR:
url: Adónde serán enviados los eventos
labels:
account:
- attribution_domains_as_text: Solo permitir sitios web específicos
+ attribution_domains_as_text: Sitios web autorizados a acreditarte
discoverable: Destacar perfil y mensajes en algoritmos de descubrimiento
fields:
name: Nombre de campo
diff --git a/config/locales/simple_form.es-MX.yml b/config/locales/simple_form.es-MX.yml
index 8c84e35a4d..9d7809ef3a 100644
--- a/config/locales/simple_form.es-MX.yml
+++ b/config/locales/simple_form.es-MX.yml
@@ -3,7 +3,7 @@ es-MX:
simple_form:
hints:
account:
- attribution_domains_as_text: Protege frente atribuciones fraudulentas.
+ attribution_domains_as_text: One per line. Protects from false attributions.
discoverable: Tu perfil y las publicaciones públicas pueden ser destacadas o recomendadas en varias áreas de Mastodon y tu perfil puede ser sugerido a otros usuarios.
display_name: Tu nombre completo o tu nick.
fields: Tu página de inicio, pronombres, edad, todo lo que quieras.
@@ -144,7 +144,7 @@ es-MX:
url: Donde los eventos serán enviados
labels:
account:
- attribution_domains_as_text: Solo permitir sitios web específicos
+ attribution_domains_as_text: Sitios web autorizados para acreditarte
discoverable: Destacar el perfil y las publicaciones en el algoritmo de descubrimiento
fields:
name: Etiqueta
diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml
index b22701aae7..8bc2c5f65c 100644
--- a/config/locales/simple_form.es.yml
+++ b/config/locales/simple_form.es.yml
@@ -3,7 +3,7 @@ es:
simple_form:
hints:
account:
- attribution_domains_as_text: Protege frente atribuciones fraudulentas.
+ attribution_domains_as_text: Una por línea. Protege de falsas atribuciones.
discoverable: Tu perfil y publicaciones públicas pueden ser destacadas o recomendadas en varias áreas de Mastodon y tu perfil puede ser sugerido a otros usuarios.
display_name: Tu nombre completo o tu apodo.
fields: Tu carta de presentación, pronombres, edad, lo que quieras.
@@ -144,7 +144,7 @@ es:
url: Donde los eventos serán enviados
labels:
account:
- attribution_domains_as_text: Solo permitir sitios web específicos
+ attribution_domains_as_text: Sitios web autorizados a acreditarte
discoverable: Destacar perfil y publicaciones en algoritmos de descubrimiento
fields:
name: Etiqueta
diff --git a/config/locales/simple_form.et.yml b/config/locales/simple_form.et.yml
index 8d045cfcfe..4a9245682d 100644
--- a/config/locales/simple_form.et.yml
+++ b/config/locales/simple_form.et.yml
@@ -3,7 +3,6 @@ et:
simple_form:
hints:
account:
- attribution_domains_as_text: Kaitseb valede omistuste eest.
discoverable: Su profiili ja avalikke postitusi võidakse Mastodoni erinevates piirkondades esile tõsta või soovitada ning su profiili soovitada teistele kasutajatele.
display_name: Su täisnimi või naljanimi.
fields: Su koduleht, sugu, vanus. Mistahes, mida soovid.
@@ -144,7 +143,6 @@ et:
url: Kuhu sündmused saadetakse
labels:
account:
- attribution_domains_as_text: Luba vaid kindlad veebilehed
discoverable: Tõsta postitused ja profiil avastamise algoritmides esile
fields:
name: Nimetus
diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml
index bbb0523b17..6121467768 100644
--- a/config/locales/simple_form.fa.yml
+++ b/config/locales/simple_form.fa.yml
@@ -39,12 +39,14 @@ fa:
text: فقط یک بار میتوانید برای اخطار درخواست تجدیدنظر کنید
defaults:
autofollow: کسانی که از راه دعوتنامه عضو میشوند به طور خودکار پیگیر شما خواهند شد
+ avatar: یکی از قالبهای WEBP، PNG، GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد
bot: این حساب بیشتر به طور خودکار فعالیت میکند و نظارت پیوستهای روی آن وجود ندارد
context: یک یا چند زمینه که پالایه باید در آنها اعمال شود
current_password: به دلایل امنیتی لطفاً گذرواژه این حساب را وارد کنید
current_username: برای تأیید، لطفاً نام کاربری حساب فعلی را وارد کنید
digest: تنها وقتی فرستاده میشود که مدتی طولانی فعالیتی نداشته باشید و در این مدت برای شما پیغام خصوصیای نوشته شده باشد
email: به شما ایمیل تأییدی فرستاده خواهد شد
+ header: یکی از قالبهای WEBP، PNG، GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد
inbox_url: نشانی صفحهٔ اصلی رلهای را که میخواهید به کار ببرید کپی کنید
irreversible: فرستههای پالوده به طور برگشتناپذیری ناپدید میشوند، حتا اگر بعدها پالایه برداشته شود
locale: زبان واسط کاربری، رایانامهها و آگاهیهای ارسالی
diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml
index 5c85367dbb..8c914295fe 100644
--- a/config/locales/simple_form.fi.yml
+++ b/config/locales/simple_form.fi.yml
@@ -3,7 +3,7 @@ fi:
simple_form:
hints:
account:
- attribution_domains_as_text: Suojaa vääriltä tunnustuksilta.
+ attribution_domains_as_text: Yksi riviä kohti. Suojaa vääriltä tunnustuksilta.
discoverable: Julkisia julkaisujasi ja profiiliasi voidaan pitää esillä tai suositella Mastodonin eri alueilla ja profiiliasi voidaan ehdottaa toisille käyttäjille.
display_name: Koko nimesi tai lempinimesi.
fields: Verkkosivustosi, pronominisi, ikäsi ja mitä ikinä haluatkaan ilmoittaa.
@@ -144,7 +144,7 @@ fi:
url: Mihin tapahtumat lähetetään
labels:
account:
- attribution_domains_as_text: Salli vain tietyt verkkosivustot
+ attribution_domains_as_text: Verkkosivustot, jotka voivat antaa sinulle tunnustusta
discoverable: Pidä profiiliasi ja julkaisujasi esillä löytämisalgoritmeissa
fields:
name: Nimike
diff --git a/config/locales/simple_form.fo.yml b/config/locales/simple_form.fo.yml
index afcd3b39ac..e45183df99 100644
--- a/config/locales/simple_form.fo.yml
+++ b/config/locales/simple_form.fo.yml
@@ -3,7 +3,7 @@ fo:
simple_form:
hints:
account:
- attribution_domains_as_text: Verjir fyri følskum ískoytum.
+ attribution_domains_as_text: Eitt á hvørja reglu. Tað verjir fyri skeivum tilsipingum.
discoverable: Tínir almennu postar og tín vangi kunnu vera drigin fram og viðmæld ymsa staðni í Mastodon og vangin hjá tær kann vera viðmæltur øðrum brúkarum.
display_name: Títt fulla navn og títt stuttliga navn.
fields: Heimasíðan hjá tær, fornøvn, aldur ella hvat tú vil.
@@ -144,7 +144,7 @@ fo:
url: Hvar hendingar verða sendar til
labels:
account:
- attribution_domains_as_text: Loyv einans ávísum heimasíðum
+ attribution_domains_as_text: Heimasíður, sum hava loyvi at sipa til tín
discoverable: Framheva vanga og postar í uppdagingar-algoritmum
fields:
name: Spjaldur
diff --git a/config/locales/simple_form.fr-CA.yml b/config/locales/simple_form.fr-CA.yml
index 90a268f411..d2ce30ec8e 100644
--- a/config/locales/simple_form.fr-CA.yml
+++ b/config/locales/simple_form.fr-CA.yml
@@ -3,7 +3,6 @@ fr-CA:
simple_form:
hints:
account:
- attribution_domains_as_text: Protège contre les fausses attributions.
discoverable: Vos messages publics et votre profil peuvent être mis en avant ou recommandés dans diverses parties de Mastodon et votre profil peut être suggéré à d’autres utilisateurs.
display_name: Votre nom complet ou votre nom cool.
fields: Votre page d'accueil, pronoms, âge, tout ce que vous voulez.
@@ -144,7 +143,6 @@ fr-CA:
url: Là où les événements seront envoyés
labels:
account:
- attribution_domains_as_text: Autoriser uniquement des sites Web spécifiques
discoverable: Autoriser des algorithmes de découverte à mettre en avant votre profil et vos messages
fields:
name: Étiquette
diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml
index 370f5c1e46..626032600a 100644
--- a/config/locales/simple_form.fr.yml
+++ b/config/locales/simple_form.fr.yml
@@ -3,7 +3,6 @@ fr:
simple_form:
hints:
account:
- attribution_domains_as_text: Protège contre les fausses attributions.
discoverable: Vos messages publics et votre profil peuvent être mis en avant ou recommandés dans diverses parties de Mastodon et votre profil peut être suggéré à d’autres utilisateurs.
display_name: Votre nom complet ou votre nom rigolo.
fields: Votre page personnelle, vos pronoms, votre âge, ce que vous voulez.
@@ -144,7 +143,6 @@ fr:
url: Là où les événements seront envoyés
labels:
account:
- attribution_domains_as_text: Autoriser uniquement des sites Web spécifiques
discoverable: Autoriser des algorithmes de découverte à mettre en avant votre profil et vos messages
fields:
name: Étiquette
diff --git a/config/locales/simple_form.fy.yml b/config/locales/simple_form.fy.yml
index e7deca9460..8a753dcc89 100644
--- a/config/locales/simple_form.fy.yml
+++ b/config/locales/simple_form.fy.yml
@@ -130,6 +130,7 @@ fy:
name: Jo kinne elk wurd mei in haadletter begjinne, om sa bygelyks de tekst mear lêsber te meitsjen
user:
chosen_languages: Allinnich berjochten yn de selektearre talen wurde op de iepenbiere tiidline toand
+ role: De rol bepaalt hokker rjochten in brûker hat.
user_role:
color: Kleur dy’t brûkt wurdt foar de rol yn de UI, as RGB yn heksadesimaal formaat
highlighted: Dit makket de rol iepenbier sichtber
diff --git a/config/locales/simple_form.ga.yml b/config/locales/simple_form.ga.yml
index 772f996ca6..7c125b165a 100644
--- a/config/locales/simple_form.ga.yml
+++ b/config/locales/simple_form.ga.yml
@@ -3,7 +3,6 @@ ga:
simple_form:
hints:
account:
- attribution_domains_as_text: Cosnaíonn sé ó sannadh bréagach.
discoverable: Seans go mbeidh do phostálacha poiblí agus do phróifíl le feiceáil nó molta i réimsí éagsúla de Mastodon agus is féidir do phróifíl a mholadh d’úsáideoirí eile.
display_name: D'ainm iomlán nó d'ainm spraoi.
fields: Do leathanach baile, forainmneacha, aois, rud ar bith is mian leat.
@@ -144,7 +143,6 @@ ga:
url: An áit a seolfar imeachtaí chuig
labels:
account:
- attribution_domains_as_text: Ná ceadaigh ach láithreáin ghréasáin ar leith
discoverable: Próifíl gné agus postálacha in halgartaim fionnachtana
fields:
name: Lipéad
diff --git a/config/locales/simple_form.gd.yml b/config/locales/simple_form.gd.yml
index de585c7a21..9b6c156de7 100644
--- a/config/locales/simple_form.gd.yml
+++ b/config/locales/simple_form.gd.yml
@@ -3,7 +3,6 @@ gd:
simple_form:
hints:
account:
- attribution_domains_as_text: Dìonadh seo o bhuaidh-aithrisean cearra.
discoverable: Dh’fhaoidte gun dèid na postaichean poblach ’s a’ phròifil agad a bhrosnachadh no a mholadh ann an caochladh roinnean de Mhastodon agus gun dèid a’ phròifil agad a mholadh do chàch.
display_name: D’ ainm slàn no spòrsail.
fields: An duilleag-dhachaigh agad, roimhearan, aois, rud sam bith a thogras tu.
@@ -144,7 +143,6 @@ gd:
url: Far an dèid na tachartasan a chur
labels:
account:
- attribution_domains_as_text: Na ceadaich ach làraichean-lìnn sònraichte
discoverable: Brosnaich a’ phròifil is postaichean agad sna h-algairimean rùrachaidh
fields:
name: Leubail
diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml
index cddeae5cee..b29a071e80 100644
--- a/config/locales/simple_form.gl.yml
+++ b/config/locales/simple_form.gl.yml
@@ -3,7 +3,7 @@ gl:
simple_form:
hints:
account:
- attribution_domains_as_text: Protéxete de falsas atribucións.
+ attribution_domains_as_text: Un por liña. Protéxete das atribucións falsas.
discoverable: As túas publicacións públicas e perfil poden mostrarse ou recomendarse en varias zonas de Mastodon e o teu perfil ser suxerido a outras usuarias.
display_name: O teu nome completo ou un nome divertido.
fields: Páxina web, pronome, idade, o que ti queiras.
@@ -144,7 +144,7 @@ gl:
url: A onde se enviarán os eventos
labels:
account:
- attribution_domains_as_text: Permitir só os sitios web indicados
+ attribution_domains_as_text: Sitios web que poden acreditarte
discoverable: Perfil destacado e publicacións nos algoritmos de descubrimento
fields:
name: Etiqueta
diff --git a/config/locales/simple_form.he.yml b/config/locales/simple_form.he.yml
index 1feebb0d69..d8d6af5e99 100644
--- a/config/locales/simple_form.he.yml
+++ b/config/locales/simple_form.he.yml
@@ -3,7 +3,7 @@ he:
simple_form:
hints:
account:
- attribution_domains_as_text: הגנה מייחוסים שקריים.
+ attribution_domains_as_text: אחד בכל שורה. יגן מפני יחוס מטעה.
discoverable: הפוסטים והפרופיל שלך עשויים להיות מוצגים או מומלצים באזורים שונים באתר וייתכן שהפרופיל שלך יוצע למשתמשים אחרים.
display_name: שמך המלא או שם הכיף שלך.
fields: עמוד הבית שלך, לשון הפנייה, גיל, וכל מידע אחר לפי העדפתך האישית.
@@ -144,7 +144,7 @@ he:
url: היעד שאליו יישלחו אירועים
labels:
account:
- attribution_domains_as_text: רק אתרים מסויימים יאושרו
+ attribution_domains_as_text: אתרים המורשים לייחס אליך מאמרים
discoverable: הצג משתמש ופוסטים בעמוד התגליות
fields:
name: תווית
diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml
index 383bdd0760..545fd4a8e9 100644
--- a/config/locales/simple_form.hu.yml
+++ b/config/locales/simple_form.hu.yml
@@ -3,7 +3,6 @@ hu:
simple_form:
hints:
account:
- attribution_domains_as_text: Megvéd a hamis forrásmegjelölésektől.
discoverable: A nyilvános bejegyzéseid és a profilod kiemelhető vagy ajánlható a Mastodon különböző területein, a profilod más felhasználóknak is javasolható.
display_name: Teljes neved vagy vicces neved.
fields: Weboldalad, megszólításaid, korod, bármi, amit szeretnél.
@@ -144,7 +143,6 @@ hu:
url: Ahová az eseményket küldjük
labels:
account:
- attribution_domains_as_text: Csak meghatározott weboldalak engedélyezése
discoverable: Profil és bejegyzések szerepeltetése a felfedezési algoritmusokban
fields:
name: Címke
diff --git a/config/locales/simple_form.ia.yml b/config/locales/simple_form.ia.yml
index dc5aad57ae..85fa74f1ed 100644
--- a/config/locales/simple_form.ia.yml
+++ b/config/locales/simple_form.ia.yml
@@ -142,7 +142,6 @@ ia:
url: Ubi le eventos essera inviate
labels:
account:
- attribution_domains_as_text: Solmente permitter sitos web specific
discoverable: Evidentiar le profilo e messages in le algorithmos de discoperta
fields:
name: Etiquetta
diff --git a/config/locales/simple_form.io.yml b/config/locales/simple_form.io.yml
index 5cbbd9d06e..1df5008195 100644
--- a/config/locales/simple_form.io.yml
+++ b/config/locales/simple_form.io.yml
@@ -3,7 +3,6 @@ io:
simple_form:
hints:
account:
- attribution_domains_as_text: Protektas de falsa akreditaji.
discoverable: Vua publika posti e profilo povas remarkesar o rekomendesar en diferanta parti di Mastodon e vua profilo povas sugestesar ad altra uzanti.
display_name: Vua tota nomo o vua gaya nomo.
fields: Vua retsituo, pronomi, evo, irgo quan vu volas.
@@ -144,7 +143,6 @@ io:
url: Ibe eventi sendesos
labels:
account:
- attribution_domains_as_text: Nur permisas specifika retsitui
discoverable: Inkluzar profilo e posti en trovado-algoritmi
fields:
name: Etiketo
diff --git a/config/locales/simple_form.is.yml b/config/locales/simple_form.is.yml
index 6f3a4fe8a5..40ae267a06 100644
--- a/config/locales/simple_form.is.yml
+++ b/config/locales/simple_form.is.yml
@@ -3,7 +3,7 @@ is:
simple_form:
hints:
account:
- attribution_domains_as_text: Ver fyrir fölskum tilvísunum í höfunda.
+ attribution_domains_as_text: Eitt á hverja línu. Ver fyrir röngum tilvísunum.
discoverable: Opinberar færslur og notandasnið þitt geta birst eða verið mælt með á hinum ýmsu svæðum í Mastodon auk þess sem hægt er að mæla með þér við aðra notendur.
display_name: Fullt nafn þitt eða eitthvað til gamans.
fields: Heimasíðan þín, fornöfn, aldur eða eitthvað sem þú vilt koma á framfæri.
@@ -144,7 +144,7 @@ is:
url: Hvert atburðir verða sendir
labels:
account:
- attribution_domains_as_text: Einungis leyfa tiltekin vefsvæði
+ attribution_domains_as_text: Vefsvæði sem mega vitna í þig
discoverable: Hafa notandasnið og færslur með í reikniritum leitar
fields:
name: Skýring
diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml
index 7ed4c0d004..c36fce36f7 100644
--- a/config/locales/simple_form.it.yml
+++ b/config/locales/simple_form.it.yml
@@ -3,7 +3,7 @@ it:
simple_form:
hints:
account:
- attribution_domains_as_text: Protegge da false attribuzioni.
+ attribution_domains_as_text: Uno per riga. Protegge da false attribuzioni.
discoverable: I tuoi post pubblici e il tuo profilo potrebbero essere presenti o consigliati in varie aree di Mastodon e il tuo profilo potrebbe essere suggerito ad altri utenti.
display_name: Il tuo nome completo o il tuo soprannome.
fields: La tua homepage, i pronomi, l'età, tutto quello che vuoi.
@@ -144,7 +144,7 @@ it:
url: Dove gli eventi saranno inviati
labels:
account:
- attribution_domains_as_text: Consenti solo siti web specifici
+ attribution_domains_as_text: Siti web autorizzati ad accreditarti
discoverable: Include il profilo e i post negli algoritmi di scoperta
fields:
name: Etichetta
diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml
index 2c1bd6a084..6ce16b6448 100644
--- a/config/locales/simple_form.ja.yml
+++ b/config/locales/simple_form.ja.yml
@@ -130,6 +130,7 @@ ja:
name: 視認性向上などのためにアルファベット大文字小文字の変更のみ行うことができます
user:
chosen_languages: 選択すると、選択した言語の投稿のみが公開タイムラインに表示されるようになります
+ role: そのロールは、ユーザーが持つ権限を制御します。
user_role:
color: UI 全体でロールの表示に使用される色(16進数RGB形式)
highlighted: これによりロールが公開されます。
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index a649b4ec5a..fee07fa5e0 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -3,7 +3,6 @@ ko:
simple_form:
hints:
account:
- attribution_domains_as_text: 가짜 기여로부터 보호합니다.
discoverable: 내 공개 게시물과 프로필이 마스토돈의 다양한 추천 기능에 나타날 수 있고 프로필이 다른 사용자에게 제안될 수 있습니다
display_name: 진짜 이름 또는 재미난 이름.
fields: 홈페이지, 호칭, 나이, 뭐든지 적고 싶은 것들.
@@ -144,7 +143,6 @@ ko:
url: 이벤트가 어디로 전송될 지
labels:
account:
- attribution_domains_as_text: 특정 웹사이트만 허용하기
discoverable: 발견하기 알고리즘에 프로필과 게시물을 추천하기
fields:
name: 라벨
diff --git a/config/locales/simple_form.lad.yml b/config/locales/simple_form.lad.yml
index 94e387107a..de37005312 100644
--- a/config/locales/simple_form.lad.yml
+++ b/config/locales/simple_form.lad.yml
@@ -307,6 +307,7 @@ lad:
listable: Permite ke esta etiketa apareska en bushkedas i sujestyones
name: Etiketa
trendable: Permite ke esta etiketa apareska en trendes
+ usable: Permite ke publikasyones uzen esta etiketa lokalmente
user:
role: Rolo
time_zone: Zona de tiempo
diff --git a/config/locales/simple_form.lt.yml b/config/locales/simple_form.lt.yml
index 5d3a02993b..de3dd2f31c 100644
--- a/config/locales/simple_form.lt.yml
+++ b/config/locales/simple_form.lt.yml
@@ -3,7 +3,7 @@ lt:
simple_form:
hints:
account:
- attribution_domains_as_text: Apsaugo nuo klaidingų atributų.
+ attribution_domains_as_text: Po vieną eilutėje. Apsaugo nuo klaidingų atributų.
discoverable: Tavo vieši įrašai ir profilis gali būti rodomi arba rekomenduojami įvairiose Mastodon vietose, o profilis gali būti siūlomas kitiems naudotojams.
display_name: Tavo pilnas vardas arba smagus vardas.
fields: Tavo pagrindinis puslapis, įvardžiai, amžius, bet kas, ko tik nori.
@@ -107,7 +107,7 @@ lt:
role: Vaidmuo valdo, kokius leidimus naudotojas turi.
labels:
account:
- attribution_domains_as_text: Leisti tik konkrečias svetaines
+ attribution_domains_as_text: Svetainės, kuriuose leidžiama jus nurodyti
discoverable: Rekomenduoti profilį ir įrašus į atradimo algoritmus
indexable: Įtraukti viešus įrašus į paieškos rezultatus
show_collections: Rodyti sekimus ir sekėjus profilyje
diff --git a/config/locales/simple_form.lv.yml b/config/locales/simple_form.lv.yml
index 523e9a5fcc..4303ba9b41 100644
--- a/config/locales/simple_form.lv.yml
+++ b/config/locales/simple_form.lv.yml
@@ -3,7 +3,6 @@ lv:
simple_form:
hints:
account:
- attribution_domains_as_text: Aizsargā no nepatiesa attiecinājuma.
discoverable: Tavas publiskās ziņas un profils var tikt piedāvāti vai ieteikti dažādās Mastodon vietās, un tavs profils var tikt ieteikts citiem lietotājiem.
display_name: Tavs pilnais vārds vai tavs joku vārds.
fields: Tava mājas lapa, vietniekvārdi, vecums, viss, ko vēlies.
@@ -144,7 +143,6 @@ lv:
url: Kur notikumi tiks nosūtīti
labels:
account:
- attribution_domains_as_text: Ļaut tikai noteiktas tīmekļvietnes
discoverable: Funkcijas profils un ziņas atklāšanas algoritmos
fields:
name: Marķējums
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
index 7f8aaa01d6..afd3624785 100644
--- a/config/locales/simple_form.nl.yml
+++ b/config/locales/simple_form.nl.yml
@@ -3,7 +3,7 @@ nl:
simple_form:
hints:
account:
- attribution_domains_as_text: Beschermt tegen onjuiste attributies.
+ attribution_domains_as_text: Eén per regel. Beschermt tegen valse attribueringen.
discoverable: Jouw openbare berichten kunnen worden uitgelicht op verschillende plekken binnen Mastodon en jouw account kan worden aanbevolen aan andere gebruikers.
display_name: Jouw volledige naam of een leuke bijnaam.
fields: Jouw website, persoonlijke voornaamwoorden, leeftijd, alles wat je maar kwijt wilt.
@@ -144,7 +144,7 @@ nl:
url: Waar gebeurtenissen naartoe worden verzonden
labels:
account:
- attribution_domains_as_text: Alleen bepaalde websites toestaan
+ attribution_domains_as_text: Websites doe jou credit mogen geven
discoverable: Jouw account en berichten laten uitlichten door Mastodon
fields:
name: Label
@@ -295,7 +295,7 @@ nl:
favourite: Wanneer iemand jouw bericht als favoriet markeert
follow: Wanneer iemand jou is gaan volgen
follow_request: Wanneer iemand jou wil volgen
- mention: Wanneer iemand jou heeft vermeld
+ mention: Je bent door iemand vermeld
pending_account: Wanneer een nieuw account moet worden beoordeeld
reblog: Wanneer iemand jouw bericht heeft geboost
report: Nieuwe rapportage is ingediend
diff --git a/config/locales/simple_form.nn.yml b/config/locales/simple_form.nn.yml
index ddd5ed8995..f963d3bc72 100644
--- a/config/locales/simple_form.nn.yml
+++ b/config/locales/simple_form.nn.yml
@@ -3,7 +3,6 @@ nn:
simple_form:
hints:
account:
- attribution_domains_as_text: Vernar mot falske krediteringar.
discoverable: Dei offentlege innlegga dine og profilen din kan dukka opp i tilrådingar på ulike stader på Mastodon, og profilen din kan bli føreslegen for andre folk.
display_name: Ditt fulle namn eller ditt tøysenamn.
fields: Heimesida di, pronomen, alder, eller kva du måtte ynskje.
@@ -137,14 +136,13 @@ nn:
highlighted: Dette gjer rolla synleg offentleg
name: Offentleg namn på rolla, dersom rolla skal visast som eit emblem
permissions_as_keys: Brukarar med denne rolla vil ha tilgang til...
- position: Høgare rolle avgjer konfliktløysing i visse situasjonar. Visse handlingar kan kun utførast på rollar med lågare prioritet
+ position: Høgare rolle avgjer konfliktløysing i visse situasjonar. Visse handlingar kan berre utførast på roller med lågare prioritet
webhook:
events: Vel hendingar å senda
template: Skriv di eiga JSON nyttelast ved å bruka variabel interpolering. La stå tom for standard JSON.
url: Kvar hendingar skal sendast
labels:
account:
- attribution_domains_as_text: Tillat berre visse nettstader
discoverable: Ta med profilen og innlegga i oppdagingsalgoritmar
fields:
name: Merkelapp
diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml
index bb404e56c9..c5ff55c15d 100644
--- a/config/locales/simple_form.pl.yml
+++ b/config/locales/simple_form.pl.yml
@@ -3,7 +3,7 @@ pl:
simple_form:
hints:
account:
- attribution_domains_as_text: Chroni przed fałszywym przypisaniem wpisów.
+ attribution_domains_as_text: Jedna na linię. Chroni przed fałszywym przypisaniem wpisów.
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.
fields: Co ci się tylko podoba – twoja strona domowa, zaimki, wiek…
@@ -144,7 +144,7 @@ pl:
url: Dokąd będą wysłane zdarzenia
labels:
account:
- attribution_domains_as_text: Zezwól tylko na konkretne strony
+ attribution_domains_as_text: Strony które mogą ci przypisywać autorstwo.
discoverable: Udostępniaj profil i wpisy funkcjom odkrywania
fields:
name: Nazwa
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index 96bc219e8e..16d7cfe445 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -3,7 +3,7 @@ pt-BR:
simple_form:
hints:
account:
- attribution_domains_as_text: Protege de atribuições falsas.
+ attribution_domains_as_text: Um por linha. Protege de falsas atribuições.
discoverable: Suas publicações e perfil públicos podem ser destaques ou recomendados em várias áreas de Mastodon, e seu perfil pode ser sugerido a outros usuários.
display_name: Seu nome completo ou apelido.
fields: Sua página inicial, pronomes, idade ou qualquer coisa que quiser.
@@ -144,7 +144,7 @@ pt-BR:
url: Aonde os eventos serão enviados
labels:
account:
- attribution_domains_as_text: Permitir apenas sites específicos
+ attribution_domains_as_text: Sites permitidos para credenciar você
discoverable: Destacar perfil e publicações nos algoritmos de descoberta
fields:
name: Rótulo
diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml
index 3ff746451b..1bdffc6f1d 100644
--- a/config/locales/simple_form.ru.yml
+++ b/config/locales/simple_form.ru.yml
@@ -3,7 +3,6 @@ ru:
simple_form:
hints:
account:
- attribution_domains_as_text: Защищает от ложных атрибуций.
discoverable: Ваши публичные сообщения и профиль могут быть показаны или рекомендованы в различных разделах Mastodon, и ваш профиль может быть предложен другим пользователям.
display_name: Ваше полное имя или псевдоним.
fields: Ваша домашняя страница, местоимения, возраст - все, что угодно.
@@ -144,7 +143,6 @@ ru:
url: Куда события будут отправляться
labels:
account:
- attribution_domains_as_text: Разрешить только определенные сайты
discoverable: Профиль и сообщения в алгоритмах обнаружения
fields:
name: Пункт
diff --git a/config/locales/simple_form.sq.yml b/config/locales/simple_form.sq.yml
index 169f4a02de..3d86557282 100644
--- a/config/locales/simple_form.sq.yml
+++ b/config/locales/simple_form.sq.yml
@@ -3,7 +3,6 @@ sq:
simple_form:
hints:
account:
- attribution_domains_as_text: Mbron nga atribuime të rreme.
discoverable: Postimet dhe profili juaj publik mund të shfaqen, ose rekomandohen në zona të ndryshme të Mastodon-it dhe profili juaj mund të sugjerohet përdoruesve të tjerë.
display_name: Emri juaj i plotë, ose emri juaj lojcak.
fields: Faqja juaj hyrëse, përemra, moshë, ç’të keni qejf.
@@ -144,7 +143,6 @@ sq:
url: Ku do të dërgohen aktet
labels:
account:
- attribution_domains_as_text: Lejo vetëm sajte specifikë
discoverable: Profilin dhe postimet bëji objekt të algoritmeve të zbulimit
fields:
name: Etiketë
diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml
index 1ecd672a97..8bd782c140 100644
--- a/config/locales/simple_form.th.yml
+++ b/config/locales/simple_form.th.yml
@@ -3,7 +3,6 @@ th:
simple_form:
hints:
account:
- attribution_domains_as_text: ปกป้องจากการระบุแหล่งที่มาที่ผิด
discoverable: อาจแสดงหรือแนะนำโพสต์และโปรไฟล์สาธารณะของคุณในพื้นที่ต่าง ๆ ของ Mastodon และอาจเสนอแนะโปรไฟล์ของคุณให้กับผู้ใช้อื่น ๆ
display_name: ชื่อเต็มของคุณหรือชื่อแบบสนุกสนานของคุณ
fields: หน้าแรก, สรรพนาม, อายุของคุณ สิ่งใดก็ตามที่คุณต้องการ
@@ -144,7 +143,6 @@ th:
url: ที่ซึ่งจะส่งเหตุการณ์ไปยัง
labels:
account:
- attribution_domains_as_text: อนุญาตเฉพาะเว็บไซต์ที่เฉพาะเจาะจงเท่านั้น
discoverable: แสดงโปรไฟล์และโพสต์ในอัลกอริทึมการค้นพบ
fields:
name: ป้ายชื่อ
diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml
index d90b97bf9b..5aed566626 100644
--- a/config/locales/simple_form.tr.yml
+++ b/config/locales/simple_form.tr.yml
@@ -3,7 +3,7 @@ tr:
simple_form:
hints:
account:
- attribution_domains_as_text: Sahte atıflardan korur.
+ attribution_domains_as_text: Her satırda bir tanesi. Sahte atıflardan korur.
discoverable: Herkese açık gönderileriniz ve profiliniz Mastodon'un çeşitli kısımlarında öne çıkarılabilir veya önerilebilir ve profiliniz başka kullanıcılara önerilebilir.
display_name: Tam adınız veya kullanıcı adınız.
fields: Ana sayfanız, zamirleriniz, yaşınız, istediğiniz herhangi bir şey.
@@ -144,7 +144,7 @@ tr:
url: Olayların gönderileceği yer
labels:
account:
- attribution_domains_as_text: Yalnızca belirli websitelerine izin ver
+ attribution_domains_as_text: Size atıf verebilecek websiteleri
discoverable: Profil ve gönderileri keşif algoritmalarında kullan
fields:
name: Etiket
diff --git a/config/locales/simple_form.uk.yml b/config/locales/simple_form.uk.yml
index b584a6cada..e2a1562b53 100644
--- a/config/locales/simple_form.uk.yml
+++ b/config/locales/simple_form.uk.yml
@@ -3,7 +3,6 @@ uk:
simple_form:
hints:
account:
- attribution_domains_as_text: Захищає від фальшивих атрибутів.
discoverable: Ваші дописи та профіль можуть бути рекомендовані в різних частинах Mastodon і ваш профіль може бути запропонований іншим користувачам.
display_name: Ваше повне ім'я або ваш псевдонім.
fields: Ваша домашня сторінка, займенники, вік, все, що вам заманеться.
@@ -144,7 +143,6 @@ uk:
url: Куди надсилатимуться події
labels:
account:
- attribution_domains_as_text: Дозволити лише на певних вебсайтах
discoverable: Функції профілю та дописів у алгоритмах виявлення
fields:
name: Мітка
diff --git a/config/locales/simple_form.vi.yml b/config/locales/simple_form.vi.yml
index 010bb262ad..2b1d84f595 100644
--- a/config/locales/simple_form.vi.yml
+++ b/config/locales/simple_form.vi.yml
@@ -3,7 +3,7 @@ vi:
simple_form:
hints:
account:
- attribution_domains_as_text: Bảo vệ khỏi những sự gán ghép sai.
+ attribution_domains_as_text: Mỗi cái một dòng. Bảo vệ khỏi những sự gán ghép sai.
discoverable: Hồ sơ và tút công khai của bạn được đề xuất cho những người dùng Mastodon khác.
display_name: Tên đầy đủ hoặc biệt danh đều được.
fields: Trang blog của bạn, nghề nghiệp, tuổi hoặc bất cứ thứ gì.
@@ -43,7 +43,7 @@ vi:
avatar: WEBP, PNG, GIF hoặc JPG, tối đa %{size}. Sẽ bị nén xuống %{dimensions}px
bot: Tài khoản này tự động thực hiện các hành động và không được quản lý bởi người thật
context: Chọn những nơi mà bộ lọc sẽ áp dụng
- current_password: Vì mục đích bảo mật, vui lòng nhập mật khẩu của tài khoản hiện tại
+ current_password: Để bảo mật, vui lòng nhập mật khẩu của tài khoản hiện tại
current_username: Để xác nhận, vui lòng nhập tên người dùng của tài khoản hiện tại
digest: Chỉ gửi sau một thời gian dài không hoạt động hoặc khi bạn nhận được tin nhắn (trong thời gian vắng mặt)
email: Bạn sẽ được gửi một email xác minh
@@ -144,7 +144,7 @@ vi:
url: Nơi những sự kiện được gửi đến
labels:
account:
- attribution_domains_as_text: Chỉ cho phép các website đặc biệt
+ attribution_domains_as_text: Các trang web được ghi nhận cho bạn
discoverable: Cho phép khám phá hồ sơ
fields:
name: Nhãn
@@ -290,7 +290,7 @@ vi:
sign_up_requires_approval: Giới hạn đăng ký
severity: Mức độ
notification_emails:
- appeal: Ai đó kháng cáo kiểm duyệt
+ appeal: Ai đó khiếu nại kiểm duyệt
digest: Gửi email định kỳ
favourite: Ai đó thích tút của bạn
follow: Ai đó theo dõi bạn
diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml
index 419cb99abb..6586c372ef 100644
--- a/config/locales/simple_form.zh-CN.yml
+++ b/config/locales/simple_form.zh-CN.yml
@@ -3,7 +3,7 @@ zh-CN:
simple_form:
hints:
account:
- attribution_domains_as_text: 保护作品免受虚假署名。
+ attribution_domains_as_text: 每行一个域名。这样就可以保护作品免受虚假署名。
discoverable: 您的公开嘟文和个人资料可能会在 Mastodon 的多个位置展示,您的个人资料可能会被推荐给其他用户。
display_name: 你的全名或昵称。
fields: 你的主页、人称代词、年龄,以及任何你想要添加的内容。
@@ -144,7 +144,7 @@ zh-CN:
url: 事件将被发往的目的地
labels:
account:
- attribution_domains_as_text: 仅允许特定网站
+ attribution_domains_as_text: 授权展示你的署名的网站
discoverable: 在发现算法中展示你的个人资料和嘟文
fields:
name: 标签
diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml
index a5bc683634..289a24f122 100644
--- a/config/locales/simple_form.zh-TW.yml
+++ b/config/locales/simple_form.zh-TW.yml
@@ -3,7 +3,7 @@ zh-TW:
simple_form:
hints:
account:
- attribution_domains_as_text: 偽造署名保護。
+ attribution_domains_as_text: 每行一個。以保護偽造署名。
discoverable: 公開嘟文及個人檔案可能於各 Mastodon 功能中被推薦,並且您的個人檔案可能被推薦至其他使用者。
display_name: 完整名稱或暱稱。
fields: 烘培雞、自我認同代稱、年齡,及任何您想分享的。
@@ -144,7 +144,7 @@ zh-TW:
url: 事件會被傳送至何處
labels:
account:
- attribution_domains_as_text: 僅允許特定網站
+ attribution_domains_as_text: 允許對您予與信譽之網站
discoverable: 於探索演算法中推薦個人檔案及嘟文
fields:
name: 標籤
diff --git a/config/locales/sl.yml b/config/locales/sl.yml
index 286bece877..e9c06bcaa6 100644
--- a/config/locales/sl.yml
+++ b/config/locales/sl.yml
@@ -1398,20 +1398,6 @@ sl:
merge_long: Ohrani obstoječe zapise in dodaj nove
overwrite: Prepiši
overwrite_long: Zamenjaj trenutne zapise z novimi
- overwrite_preambles:
- blocking_html: Svoj seznam blokiranih računov boste nadomestili z največ %{total_items} računi iz %{filename}.
- bookmarks_html: Svoje zaznamke boste nadomestili z največ %{total_items} objavami iz %{filename}.
- domain_blocking_html: Svoj seznam blokiranih domen boste nadomestili z največ %{total_items} domenami iz %{filename}.
- following_html: "Začeli boste slediti največ %{total_items} računom iz %{filename} in prenehali slediti vsem ostalim."
- lists_html: Svoje sezname boste nadomestili z vsebino datoteke %{filename}. Največ %{total_items} računov bo dodanih na nove sezname.
- muting_html: Svoj seznam utišanih računov boste nadomestili z največ %{total_items} računi iz %{filename}.
- preambles:
- blocking_html: "Blokirali boste največ %{total_items} računov iz %{filename}."
- bookmarks_html: "Med zaznamke boste dodali boste največ %{total_items} objav iz %{filename}."
- domain_blocking_html: "Blokirali boste največ %{total_items} domen iz %{filename}."
- following_html: "Začeli boste slediti največ %{total_items} računom iz %{filename}."
- lists_html: Dodali boste največ %{total_items} računov iz %{filename} na svoje sezname. Po potrebi bodo ustvarjeni novi seznami.
- muting_html: "Utišali boste največ %{total_items} računov iz %{filename}."
preface: Podatke, ki ste jih izvozili iz drugega strežnika, lahko uvozite. Na primer seznam oseb, ki jih spremljate ali blokirate.
recent_imports: Nedavni uvozi
states:
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index 2f05d7860c..c113308eea 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -21,6 +21,7 @@ sq:
one: Mesazh
other: Mesazhe
posts_tab_heading: Mesazhe
+ self_follow_error: Ndjekja e llogarisë personale nuk lejohet
admin:
account_actions:
action: Kryeje veprimin
@@ -1158,7 +1159,6 @@ sq:
use_security_key: Përdor kyç sigurie
author_attribution:
example_title: Tekst shembull
- hint_html: Kontrolloni se si vlerësoheni, kur ndahen lidhje me të tjerë në Mastodon.
more_from_html: Më tepër nga %{name}
s_blog: Blogu i %{name}
title: Atribuim autorësh
@@ -1359,19 +1359,43 @@ sq:
overwrite: Mbishkruaje
overwrite_long: Zëvendësoji zërat ekzistues me të rinjtë
overwrite_preambles:
- blocking_html: Ju ndan një hap nga zëvendësimi i listës tuaj të bllokimeve me %{total_items} llogari nga %{filename}.
- bookmarks_html: Ju ndan një hap nga zëvendësimi i faqerojtësve tuaj me %{total_items} postime nga %{filename}.
- domain_blocking_html: Ju ndan një hap nga zëvendësimi i listës tuaj të bllokimit të përkatësive me %{total_items} përkatësi nga %{filename}.
- following_html: Ju ndan një hap nga ndjekja e %{total_items} llogarive nga %{filename} dhe reshtja së ndjekuri këdo tjetër.
- lists_html: Ju ndan një hap nga zëvendësimi i listave tuaja me lëndë nga %{filename}. Te listat e reja do të shtohen deri në %{total_items} llogari.
- muting_html: Ju ndan një hpa nga zëvendësimi i listës suaj të llogarive të heshtuara me %{total_items} llogari nga %{filename}.
+ blocking_html:
+ one: Ju ndan një hap nga zëvendësimi i listës tuaj të bllokimeve, me %{count} llogari nga %{filename}.
+ other: Ju ndan një hap nga zëvendësimi i listës tuaj të bllokimeve, me %{count} llogari nga %{filename}.
+ bookmarks_html:
+ one: Ju ndan një hap nga zëvendësimi i faqerojtësve tuaj, me %{count} postim nga %{filename}.
+ other: Ju ndan një hap nga zëvendësimi i faqerojtësve tuaj, me %{count} postime nga %{filename}.
+ domain_blocking_html:
+ one: Ju ndan një hap nga zëvendësimi i listës tuaj të bllokimeve të përkatësive, me %{count} përkatësi nga %{filename}.
+ other: Ju ndan një hap nga zëvendësimi i listës tuaj të bllokimeve të përkatësive, me %{count} përkatësi nga %{filename}.
+ following_html:
+ one: Ju ndan një hap nga ndjekja e %{count} llogarie nga %{filename} dhe reshtja e ndjekjes së gjithkujt tjetër.
+ other: Ju ndan një hap nga ndjekja e deri %{count} llogarish nga %{filename} dhe reshtja e ndjekjes së gjithkujt tjetër.
+ lists_html:
+ one: Ju ndan një hap nga zëvendësimi i listave tuaja me lëndën e %{filename}. Te listat e reja do të shtohet deri %{count} llogari.
+ other: Ju ndan një hap nga zëvendësimi i listave tuaja me lëndën e %{filename}. Te listat e reja do të shtohet deri %{count} llogari.
+ muting_html:
+ one: Ju ndan një hap nga zëvendësimi i listës tuaj të llogarisë së heshtuar me %{count} llogari nga from %{filename}.
+ other: Ju ndan një hap nga zëvendësimi i listës tuaj të llogarive të heshtuara me %{count} llogari nga from %{filename}.
preambles:
- blocking_html: Ju ndan një hap nga bllokimi i %{total_items} llogarive nga %{filename}.
- bookmarks_html: Ju ndan një hap nga shtimi te faqerojtësit tuaj i %{total_items} postimeve nga %{filename}.
- domain_blocking_html: Ju ndan një hap nga bllokimi i %{total_items} përkatësive nga %{filename}.
- following_html: Ju ndan një hap nga ndjekja e %{total_items} llogarive nga %{filename}.
- lists_html: Jui nda një hap nga shtimi te listat tuaja i deri %{total_items} llogarive nga %{filename}. Nëse s’ka listë ku të shtohen, do të krijohen lista të reja.
- muting_html: Ju ndan një hap nga heshtimi i %{total_items} llogarive nga %{filename}.
+ blocking_html:
+ one: Ju ndan një hap nga bllokimi i deri %{count} llogarie nga %{filename}.
+ other: Ju ndan një hap nga bllokimi i deri %{count} llogarive nga %{filename}.
+ bookmarks_html:
+ one: Ju ndan një hap nga shtimi te faqerojtësit tuaj i deri %{count} postimi nga %{filename}.
+ other: Ju ndan një hap nga shtimi te faqerojtësit tuaj i deri %{count} postimeve nga %{filename}.
+ domain_blocking_html:
+ one: Ju ndan një hap nga bllokimi i deri %{count} përkatësie nga %{filename}.
+ other: Ju ndan një hap nga bllokimi i deri %{count} përkatësive nga %{filename}.
+ following_html:
+ one: Ju ndan një hap nga ndjekja e deri %{count} llogarie nga %{filename}.
+ other: Ju ndan një hap nga ndjekja e deri %{count} llogarive nga %{filename}.
+ lists_html:
+ one: Ju ndan një hap nga shtimi i deri %{count} llogarie nga %{filename} te listat tuaja. Nëse s’ka listë ku të shtohen, do të krijohen lista të reja.
+ other: Ju ndan një hap nga shtimi i deri %{count} llogarive nga %{filename} te listat tuaja. Nëse s’ka listë ku të shtohen, do të krijohen lista të reja.
+ muting_html:
+ one: Ju ndan një hap nga heshtimi i deri %{count} llogarie nga %{filename}.
+ other: Ju ndan një hap nga heshtimi i deri %{count} llogarive nga %{filename}.
preface: Mund të importoni të dhëna që keni eksportuar nga një shërbyes tjetër, bie fjala, një listë të personave që ndiqni ose bllokoni.
recent_imports: Importime së fundi
states:
diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml
index ad14d9d131..f56cdb9cb5 100644
--- a/config/locales/sr-Latn.yml
+++ b/config/locales/sr-Latn.yml
@@ -1302,20 +1302,6 @@ sr-Latn:
merge_long: Zadržite postojeće zapise i dodajte nove
overwrite: Zameni
overwrite_long: Zameni trenutne zapise novima
- overwrite_preambles:
- blocking_html: Upravo ćete zameniti svoju listu blokiranih sa do %{total_items} naloga iz %{filename}.
- bookmarks_html: Upravo ćete zameniti svoje obeleživače sa do %{total_items} objava iz %{filename}.
- domain_blocking_html: Upravo ćete zameniti svoju listu blokiranih domena sa do %{total_items} domena iz %{filename}.
- following_html: Upravo ćete pratiti do %{total_items} naloga iz %{filename} and i prestati sa praćenjem bilo koga drugog.
- lists_html: Spremate se da zamenite svoje liste sadržajem od %{filename}. Do %{total_items} naloga će biti dodato na nove liste.
- muting_html: Upravo ćete zameniti svoju listu ignorisanih naloga sa do %{total_items} naloga iz %{filename}.
- preambles:
- blocking_html: Upravo ćete blokirati do %{total_items} naloga iz %{filename}.
- bookmarks_html: Upravo ćete dodati do %{total_items} objava iz %{filename} u vaše obeleživače.
- domain_blocking_html: Upravo ćete blokirati do %{total_items} domena iz %{filename}.
- following_html: Upravo ćete pratiti do %{total_items} naloga iz %{filename}.
- lists_html: Spremate se da dodate do %{total_items} naloga od %{filename} na svoje liste. Nove liste će biti kreirane ako ne postoji lista za dodavanje.
- muting_html: Upravo ćete ignorisati do %{total_items} naloga iz %{filename}.
preface: Možete uvesti podatke koje ste izvezli sa druge instance, kao što su liste ljudi koje ste pratili ili blokirali.
recent_imports: Nedavni uvozi
states:
diff --git a/config/locales/sr.yml b/config/locales/sr.yml
index fc92b98176..45feb0b5fc 100644
--- a/config/locales/sr.yml
+++ b/config/locales/sr.yml
@@ -1332,20 +1332,6 @@ sr:
merge_long: Задржите постојеће записе и додајте нове
overwrite: Замени
overwrite_long: Замени тренутне записе новима
- overwrite_preambles:
- blocking_html: Управо ћете заменити своју листу блокираних са до %{total_items} налога из %{filename}.
- bookmarks_html: Управо ћете заменити своје обележиваче са до %{total_items} објава из %{filename}.
- domain_blocking_html: Управо ћете заменити своју листу блокираних домена са до %{total_items} домена из %{filename}.
- following_html: Управо ћете пратити до %{total_items} налога из %{filename} and и престати са праћењем било кога другог.
- lists_html: Спремате се да замените своје листе садржајем од %{filename}. До %{total_items} налога ће бити додато на нове листе.
- muting_html: Управо ћете заменити своју листу игнорисаних налога са до %{total_items} налога из %{filename}.
- preambles:
- blocking_html: Управо ћете блокирати до %{total_items} налога из %{filename}.
- bookmarks_html: Управо ћете додати до %{total_items} објава из %{filename} у ваше обележиваче.
- domain_blocking_html: Управо ћете блокирати до %{total_items} домена из %{filename}.
- following_html: Управо ћете пратити до %{total_items} налога из %{filename}.
- lists_html: Спремате се да додате до %{total_items} налога од %{filename} на своје листе. Нове листе ће бити креиране ако не постоји листа за додавање.
- muting_html: Управо ћете игнорисати до %{total_items} налога из %{filename}.
preface: Можете увести податке које сте извезли са друге инстанце, као што су листе људи које сте пратили или блокирали.
recent_imports: Недавни увози
states:
diff --git a/config/locales/sv.yml b/config/locales/sv.yml
index dadd5f1600..b79820310c 100644
--- a/config/locales/sv.yml
+++ b/config/locales/sv.yml
@@ -21,10 +21,12 @@ sv:
one: Inlägg
other: Inlägg
posts_tab_heading: Inlägg
+ self_follow_error: Det är inte tillåtet att följa ditt eget konto
admin:
account_actions:
action: Utför åtgärd
already_silenced: Detta konto är redan begränsat.
+ already_suspended: Detta konto är redan avstängt.
title: Utför aktivitet för moderering på %{acct}
account_moderation_notes:
create: Lämna kommentar
@@ -85,7 +87,7 @@ sv:
remote: Avlägsen
title: Plats
login_status: Inloggningsstatus
- media_attachments: Media bifogade filer
+ media_attachments: Mediebilagor
memorialize: Förvandla till ett memoriam
memorialized: Memorialiserad
memorialized_msg: Omvandlingen av %{username} till ett minneskonto lyckades
@@ -261,8 +263,10 @@ sv:
destroy_user_role_html: "%{name} raderade rollen %{target}"
disable_2fa_user_html: "%{name} inaktiverade tvåfaktorsautentiseringskrav för användaren %{target}"
disable_custom_emoji_html: "%{name} inaktiverade emoji %{target}"
+ disable_sign_in_token_auth_user_html: "%{name} inaktiverade e-posttokenautentisering för %{target}"
disable_user_html: "%{name} stängde av inloggning för användaren %{target}"
enable_custom_emoji_html: "%{name} aktiverade emoji %{target}"
+ enable_sign_in_token_auth_user_html: "%{name} aktiverade e-posttokenautentisering för %{target}"
enable_user_html: "%{name} aktiverade inloggning för användaren %{target}"
memorialize_account_html: "%{name} gjorde %{target}'s konto till en minnessida"
promote_user_html: "%{name} befordrade användaren %{target}"
@@ -270,6 +274,7 @@ sv:
reject_user_html: "%{name} avvisade registrering från %{target}"
remove_avatar_user_html: "%{name} tog bort %{target}'s avatar"
reopen_report_html: "%{name} öppnade rapporten igen %{target}"
+ resend_user_html: "%{name} skickade bekräftelsemail för %{target} på nytt"
reset_password_user_html: "%{name} återställ användarens lösenord %{target}"
resolve_report_html: "%{name} löste rapporten %{target}"
sensitive_account_html: "%{name} markerade %{target}'s media som känsligt"
@@ -430,6 +435,7 @@ sv:
attempts_over_week:
one: "%{count} försök under den senaste veckan"
other: "%{count} registreringsförsök under den senaste veckan"
+ created_msg: Blockerade e-postdomänen
delete: Radera
dns:
types:
@@ -438,8 +444,12 @@ sv:
new:
create: Skapa domän
resolve: Slå upp domän
+ title: Blockera ny e-postdomän
+ no_email_domain_block_selected: Inga blockeringar av e-postdomäner ändrades eftersom inga valdes
not_permitted: Ej tillåtet
+ resolved_dns_records_hint_html: Domännamnet ger uppslag till följande MX-domäner, vilka är ytterst ansvariga för att e-post tas emot. Att blockera en MX-domän blockerar även registreringar från alla e-postadresser som använder samma MX-domän, även om det synliga domännamnet är annorlunda. Var noga med att inte blockera stora e-postleverantörer.
resolved_through_html: Uppslagen genom %{domain}
+ title: Blockerade e-postdomäner
export_domain_allows:
new:
title: Importera domäntillåtelser
@@ -593,7 +603,9 @@ sv:
resolve_description_html: Ingen åtgärd vidtas mot det rapporterade kontot, ingen prick registreras och rapporten stängs.
silence_description_html: Kontot kommer endast synas för de som redan följer den eller manuellt söker på den, vilket dramatiskt minskar dess räckvidd. Kan alltid ångras. Stänger alla anmälningar mot detta konto.
suspend_description_html: Kontot och allt dess innehåll kommer att vara oåtkomligt och så småningom tas bort, det kommer inte gå att interagera med kontot. Kan ångras inom 30 dagar. Stänger alla anmälningar mot detta konto.
+ actions_description_html: Välj vilken åtgärd som skall vidtas för att lösa denna rapport. Om du vidtar en bestraffningsåtgärd mot det rapporterade kontot kommer en e-postnotis att skickas till dem, förutom om du valt kategorin Skräppost.
actions_description_remote_html: Bestäm vilka åtgärder som ska vidtas för att lösa denna rapport. Detta kommer bara att påverka hur din server kommunicerar med detta fjärrkonto och hanterar dess innehåll.
+ actions_no_posts: Denna rapport har inga associerade inlägg att ta bort
add_to_report: Lägg till mer i rapporten
already_suspended_badges:
local: Redan avstängd på denna server
@@ -657,6 +669,7 @@ sv:
delete_data_html: Ta bort @%{acct}s profil och innehåll om 30 dagar ifall deras avstängning inte tagits bort under tiden
preview_preamble_html: "@%{acct} kommer få en varning med följande innehåll:"
record_strike_html: Registrera en varning mot @%{acct} för att hjälpa dig eskalera vid framtida överträdelser från detta konto
+ send_email_html: Skicka @%{acct} ett varningsmejl
warning_placeholder: Valfri ytterligare resonemang för modereringsåtgärd.
target_origin: Ursprung för anmält konto
title: Anmälningar
@@ -696,6 +709,7 @@ sv:
manage_appeals: Hantera överklaganden
manage_appeals_description: Tillåter användare att granska överklaganden av modereringsåtgärder
manage_blocks: Hantera blockeringar
+ manage_blocks_description: Tillåter användare att blockera e-postleverantörer och IP-adresser
manage_custom_emojis: Hantera egna emojier
manage_custom_emojis_description: Tillåter användare att hantera egna emojier på servern
manage_federation: Hantera federering
@@ -713,6 +727,7 @@ sv:
manage_taxonomies: Hantera taxonomier
manage_taxonomies_description: Tillåter användare att granska trendande innehåll och uppdatera inställningar för hashtaggar
manage_user_access: Hantera användaråtkomst
+ manage_user_access_description: Tillåter användare att inaktivera andra användares tvåfaktorsautentisering, ändra deras e-postadress samt återställa deras lösenord
manage_users: Hantera användare
manage_users_description: Tillåter användare att granska användares data och utföra modereringsåtgärder på dessa
manage_webhooks: Hantera webhooks
@@ -787,6 +802,7 @@ sv:
destroyed_msg: Webbplatsuppladdningen har raderats!
software_updates:
critical_update: Kritiskt — vänligen uppdatera omgående
+ description: Det rekommenderas att hålla din Mastodon-installation uppdaterad för att ta nytta av de senaste fixarna och funktionerna. Dessutom är det ibland viktigt att uppdatera Mastodon i tid för att undvika säkerhetsproblem. Av dessa skäl kontrollerar Mastodon efter uppdateringar var 30:e minut och meddelar dig i enlighet med dina e-postaviseringsinställningar.
documentation_link: Läs mer
release_notes: Ändringslogg
title: Tillgängliga uppdateringar
@@ -861,6 +877,7 @@ sv:
sidekiq_process_check:
message_html: Ingen Sidekiq-process körs för kön/köerna %{value}. Vänligen kontrollera din Sidekiq-konfiguration
software_version_check:
+ action: Se tillgängliga uppdateringar
message_html: En Mastodon-uppdatering är tillgänglig.
software_version_critical_check:
action: Se tillgängliga uppdateringar
@@ -876,22 +893,36 @@ sv:
message_html: "Din objektlagring är felkonfigurerad. Sekretessen för dina användare är i riskzonen."
tags:
moderation:
+ not_usable: Inte användbar
+ pending_review: Väntar på granskning
+ review_requested: Granskning begärd
reviewed: Granskat
title: Status
trendable:
+ unreviewed: Ogranskad
+ usable: Användbar
name: Namn
+ newest: Nyaste
+ oldest: Äldsta
reset: Återställ
review: Granskningsstatus
search: Sök
+ title: Hashtaggar
updated_msg: Hashtagg-inställningarna har uppdaterats
title: Administration
trends:
allow: Tillåt
approved: Godkänd
+ confirm_allow: Är du säker på att du vill tillåta valda taggar?
+ confirm_disallow: Är du säker på att du vill förbjuda valda taggar?
disallow: Neka
links:
allow: Tillåt länk
allow_provider: Tillåt utgivare
+ confirm_allow: Är du säker på att du vill tillåta valda länkar?
+ confirm_allow_provider: Är du säker på att du vill tillåta valda leverantörer?
+ confirm_disallow: Är du säker på att du vill förbjuda valda länkar?
+ confirm_disallow_provider: Är du säker på att du vill förbjuda valda leverantörer?
description_html: Detta är länkar som för närvarande delas mycket av konton som din server ser inlägg från. Det kan hjälpa dina användare att ta reda på vad som händer i världen. Inga länkar visas offentligt tills du godkänner utgivaren. Du kan också tillåta eller avvisa enskilda länkar.
disallow: Blockera länk
disallow_provider: Blockera utgivare
@@ -915,6 +946,10 @@ sv:
statuses:
allow: Tillåt inlägg
allow_account: Godkänn författare
+ confirm_allow: Är du säker på att du vill tillåta valda statusar?
+ confirm_allow_account: Är du säker på att du vill tillåta valda konton?
+ confirm_disallow: Är du säker på att du vill förbjuda valda statusar?
+ confirm_disallow_account: Är du säker på att du vill förbjuda valda konton?
description_html: Detta är inlägg som din server vet om som för närvarande delas och favoriseras mycket just nu. Det kan hjälpa dina nya och återvändande användare att hitta fler människor att följa. Inga inlägg visas offentligt förrän du godkänner författaren, och författaren tillåter att deras konto föreslås till andra. Du kan också tillåta eller avvisa enskilda inlägg.
disallow: Tillåt inte inlägg
disallow_account: Tillåt inte författare
@@ -1034,6 +1069,7 @@ sv:
application_mailer:
notification_preferences: Ändra e-postpreferenser
salutation: "%{name},"
+ settings: 'Ändra e-postinställningar: %{link}'
unsubscribe: Avprenumerera
view: 'Granska:'
view_profile: Visa profil
@@ -1053,6 +1089,7 @@ sv:
hint_html: En sista sak till! Vi måste bekräfta att du är en människa (för att hålla borta skräpinlägg!). Lös CAPTCHA nedan och klicka på "Fortsätt".
title: Säkerhetskontroll
confirmations:
+ awaiting_review: Din e-postadress är bekräftad! %{domain} personalen granskar nu din registrering. Du kommer att få ett e-postmeddelande om de godkänner ditt konto!
awaiting_review_title: Din registrering är under granskning
clicking_this_link: klicka på denna länk
login_link: logga in
@@ -1060,6 +1097,7 @@ sv:
redirect_to_app_html: Du borde ha omdirigerats till appen %{app_name}. Om det inte hände, försök att %{clicking_this_link} eller återgå manuellt till appen.
registration_complete: Din registrering på %{domain} är nu slutförd!
welcome_title: Välkommen %{name}!
+ wrong_email_hint: Om e-postadressen inte är rätt, kan du ändra den i kontoinställningarna.
delete_account: Radera konto
delete_account_html: Om du vill radera ditt konto kan du fortsätta här. Du kommer att bli ombedd att bekräfta.
description:
@@ -1080,6 +1118,7 @@ sv:
or_log_in_with: Eller logga in med
privacy_policy_agreement_html: Jag har läst och godkänner integritetspolicyn
progress:
+ confirm: Bekräfta e-postadress
details: Dina uppgifter
review: Vår recension
rules: Acceptera regler
@@ -1101,8 +1140,10 @@ sv:
security: Säkerhet
set_new_password: Skriv in nytt lösenord
setup:
+ email_below_hint_html: Kolla din skräppost-mapp eller begär en ny. Du kan korrigera din e-postadress om den är fel.
email_settings_hint_html: Klicka på länken som vi har skickat till dig för att bekräfta %{email}. Vi väntar här.
link_not_received: Fick du ingen länk?
+ new_confirmation_instructions_sent: Du kommer att få ett nytt e-postmeddelande med bekräftelselänken om några minuter!
title: Kolla din inkorg
sign_in:
preamble_html: Logga in med dina användaruppgifter på %{domain}. Om ditt konto finns på en annan server kommer du inte att kunna logga in här.
@@ -1113,6 +1154,7 @@ sv:
title: Låt oss få igång dig på %{domain}.
status:
account_status: Kontostatus
+ confirming: Väntar på att e-postbekräftelsen ska slutföras.
functional: Ditt konto fungerar som det ska.
pending: Din ansökan inväntar granskning. Detta kan ta tid. Du kommer att få ett e-postmeddelande om din ansökan har godkänts.
redirecting_to: Ditt konto är inaktivt eftersom det för närvarande dirigeras om till %{acct}.
@@ -1122,6 +1164,9 @@ sv:
use_security_key: Använd säkerhetsnyckel
author_attribution:
example_title: Exempeltext
+ more_from_html: Mer från %{name}
+ s_blog: "%{name}s blogg"
+ title: Författarattribution
challenge:
confirm: Fortsätt
hint_html: "Tips: Vi frågar dig inte efter ditt lösenord igen under nästkommande timme."
@@ -1319,19 +1364,9 @@ sv:
overwrite: Skriv över
overwrite_long: Ersätt de nuvarande uppgifterna med de nya
overwrite_preambles:
- blocking_html: Du är på väg att ersätta din blockeringslista med upp till %{total_items} konton från %{filename}.
- bookmarks_html: Du är på väg att ersätta din blockeringslista med upp till %{total_items} inlägg från %{filename}.
- domain_blocking_html: Du är på väg att ersätta din blockeringslista med upp till %{total_items} domäner från %{filename}.
- following_html: Du är på väg till följ upp till %{total_items} konton från %{filename} och sluta följa någon annan.
- lists_html: Du är på väg att ersätta dina listor med innehållet i %{filename}. Upp till %{total_items} konton kommer att läggas till i nya listor.
- muting_html: Du är på väg att ersätta din lista med tystade konton med upp till %{total_items} konton från %{filename}.
- preambles:
- blocking_html: Du är på väg att blockera med upp till %{total_items} konton från %{filename}.
- bookmarks_html: Du håller på att lägga upp till %{total_items} inlägg från %{filename} till dina bokmärken.
- domain_blocking_html: Du är på väg att blockera upp till %{total_items} domäner från %{filename}.
- following_html: Du är på väg att följa upp till %{total_items} konton från %{filename}.
- lists_html: Du håller på att lägga upp till %{total_items} konton från %{filename} till dina listor. Nya listor kommer att skapas om det inte finns någon lista att lägga till.
- muting_html: Du är på väg att tysta upp till %{total_items} konton från %{filename}.
+ bookmarks_html:
+ one: Du är på väg att ersätta din blockeringslista med upp till %{count} inlägg från %{filename}.
+ other: Du är på väg att ersätta din blockeringslista med upp till %{count} inlägg från %{filename}.
preface: Du kan importera data som du exporterat från en annan instans, till exempel en lista över personer du följer eller blockerar.
recent_imports: Nyligen importerade
states:
@@ -1416,6 +1451,7 @@ sv:
media_attachments:
validations:
images_and_video: Det går inte att bifoga en video till ett inlägg som redan innehåller bilder
+ not_found: Media %{ids} hittades inte eller är redan anslutet till ett annat inlägg
not_ready: Kan inte bifoga filer som inte har behandlats färdigt. Försök igen om ett ögonblick!
too_many: Det går inte att bifoga mer än 4 filer
migrations:
@@ -1897,6 +1933,7 @@ sv:
instructions_html: Kopiera och klistra in koden nedan in i HTML-koden på din webbplats. Lägg sedan till adressen till din webbplats i ett av de extra fälten på din profil från fliken "Redigera profil" och spara ändringar.
verification: Bekräftelse
verified_links: Dina verifierade länkar
+ website_verification: Webbplats verifiering
webauthn_credentials:
add: Lägg till ny säkerhetsnyckel
create:
diff --git a/config/locales/th.yml b/config/locales/th.yml
index 3cb802afe3..2c21687a46 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -19,6 +19,7 @@ th:
posts:
other: โพสต์
posts_tab_heading: โพสต์
+ self_follow_error: ไม่อนุญาตการติดตามบัญชีของคุณเอง
admin:
account_actions:
action: ทำการกระทำ
@@ -1147,7 +1148,6 @@ th:
use_security_key: ใช้กุญแจความปลอดภัย
author_attribution:
example_title: ข้อความตัวอย่าง
- hint_html: ควบคุมวิธีที่ให้เครดิตแก่คุณเมื่อมีการแบ่งปันลิงก์ใน Mastodon
more_from_html: เพิ่มเติมจาก %{name}
s_blog: บล็อกของ %{name}
title: การระบุแหล่งที่มาผู้สร้าง
@@ -1340,20 +1340,6 @@ th:
merge_long: เก็บระเบียนที่มีอยู่และเพิ่มระเบียนใหม่
overwrite: เขียนทับ
overwrite_long: แทนที่ระเบียนปัจจุบันด้วยระเบียนใหม่
- overwrite_preambles:
- blocking_html: คุณกำลังจะ แทนที่รายการการปิดกั้นของคุณ ด้วยมากถึง %{total_items} บัญชี จาก %{filename}
- bookmarks_html: คุณกำลังจะ แทนที่ที่คั่นหน้าของคุณ ด้วยมากถึง %{total_items} โพสต์ จาก %{filename}
- domain_blocking_html: คุณกำลังจะ แทนที่รายการการปิดกั้นโดเมนของคุณ ด้วยมากถึง %{total_items} โดเมน จาก %{filename}
- following_html: คุณกำลังจะ ติดตาม มากถึง %{total_items} บัญชี จาก %{filename} และ หยุดการติดตามคนอื่นใด
- lists_html: คุณกำลังจะ แทนที่รายการของคุณ ด้วยเนื้อหาของ %{filename} จะเพิ่มมากถึง %{total_items} บัญชี ไปยังรายการใหม่
- muting_html: คุณกำลังจะ แทนที่รายการบัญชีที่ซ่อนอยู่ของคุณ ด้วยมากถึง %{total_items} บัญชี จาก %{filename}
- preambles:
- blocking_html: คุณกำลังจะ ปิดกั้น มากถึง %{total_items} บัญชี จาก %{filename}
- bookmarks_html: คุณกำลังจะเพิ่มมากถึง %{total_items} โพสต์ จาก %{filename} ไปยัง ที่คั่นหน้า ของคุณ
- domain_blocking_html: คุณกำลังจะ ปิดกั้น มากถึง %{total_items} โดเมน จาก %{filename}
- following_html: คุณกำลังจะ ติดตาม มากถึง %{total_items} บัญชี จาก %{filename}
- lists_html: คุณกำลังจะเพิ่มมากถึง %{total_items} บัญชี จาก %{filename} ไปยัง รายการ ของคุณ จะสร้างรายการใหม่หากไม่มีรายการที่จะเพิ่มไปยัง
- muting_html: คุณกำลังจะ ซ่อน มากถึง %{total_items} บัญชี จาก %{filename}
preface: คุณสามารถนำเข้าข้อมูลที่คุณได้ส่งออกจากเซิร์ฟเวอร์อื่น เช่น รายการผู้คนที่คุณกำลังติดตามหรือกำลังปิดกั้น
recent_imports: การนำเข้าล่าสุด
states:
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index f1e0983705..942ee2fbf2 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -21,6 +21,7 @@ tr:
one: Gönderi
other: Gönderiler
posts_tab_heading: Gönderiler
+ self_follow_error: Kendi hesabınızı takip etmenize izin yok
admin:
account_actions:
action: Eylemi gerçekleştir
@@ -1165,9 +1166,11 @@ tr:
use_security_key: Güvenlik anahtarını kullan
author_attribution:
example_title: Örnek metin
- hint_html: Mastodon'da bağlantılar paylaşıldığında nasıl tanınmak istediğinizi denetleyin.
+ hint_html: Mastodon dışında haber veya günlük yazıları mı yazıyorsunuz? Bu yazılar Mastodon'da paylaşıldığında size nasıl atıf yapılacağını denetleyin.
+ instructions: 'Bu kodun yazınızın HTML''sinde olduğundan emin olun:'
more_from_html: "%{name} kişisinden daha fazlası"
s_blog: "%{name} kişisinin Günlüğü"
+ then_instructions: Daha sonra, yayının alan adını aşağıda sahaya girin.
title: Yazar atıfı
challenge:
confirm: Devam et
@@ -1366,19 +1369,43 @@ tr:
overwrite: Üzerine yaz
overwrite_long: Mevcut kayıtları yenileriyle değiştir
overwrite_preambles:
- blocking_html: "Engel listenizi, %{filename} dosyasından, %{total_items} hesapla değiştirmek üzeresiniz."
- bookmarks_html: "Yerimlerinizi, %{filename} dosyasından, %{total_items} gönderiyle değiştirmek üzeresiniz."
- domain_blocking_html: "Alan adı engel listenizi, %{filename} dosyasından, %{total_items} alan adıyla değiştirmek üzeresiniz."
- following_html: "%{filename} dosyasından %{total_items} hesabı takip etmeye başlamak ve diğer herkesi takipten çıkmak üzeresiniz."
- lists_html: Listelerinizi %{filename} içeriğiyle değiştirmek üzeresiniz. Yeni listelere en fazla %{total_items} hesap eklenecek.
- muting_html: "Sessize alınmış hesaplar listenizi, %{filename} dosyasından, %{total_items} hesapla değiştirmek üzeresiniz."
+ blocking_html:
+ one: "Engelleme listenizi, %{filename} dosyasından %{count} hesap ile değiştirmek üzeresiniz."
+ other: "Engelleme listenizi, %{filename} dosyasından %{count} hesap ile değiştirmek üzeresiniz."
+ bookmarks_html:
+ one: "Yerimlerinizi, %{filename} dosyasından %{count} gönderi ile değiştirmek üzeresiniz."
+ other: "Yerimlerinizi, %{filename} dosyasından %{count} gönderi ile değiştirmek üzeresiniz."
+ domain_blocking_html:
+ one: "Alan adı engelleme listenizi, %{filename} dosyasından %{count} alan adı ile değiştirmek üzeresiniz."
+ other: "Alan adı engelleme listenizi, %{filename} dosyasından %{count} alan adı ile değiştirmek üzeresiniz."
+ following_html:
+ one: "%{filename} dosyasından %{count} hesabı takip etmek ve diğer herkesin takibini bırakmak üzeresiniz."
+ other: "%{filename} dosyasından %{count} hesabı takip etmek ve diğer herkesin takibini bırakmak üzeresiniz."
+ lists_html:
+ one: "Listelerinizi, %{filename} dosya içeriğiyle değiştirmek üzeresiniz. %{count} hesap yeni listelere eklenecektir."
+ other: "Listelerinizi, %{filename} dosya içeriğiyle değiştirmek üzeresiniz. %{count} hesap yeni listelere eklenecektir."
+ muting_html:
+ one: "Sessize alınmış hesap listenizi, %{filename} dosyasından %{count} hesap ile değiştirmek üzeresiniz."
+ other: "Sessize alınmış hesap listenizi, %{filename} dosyasından %{count} hesap ile değiştirmek üzeresiniz."
preambles:
- blocking_html: "%{filename} dosyasından %{total_items} hesabı engellemek üzeresiniz."
- bookmarks_html: "%{filename} dosyasından %{total_items} gönderiyi yerimlerinize eklemek üzeresiniz."
- domain_blocking_html: "%{filename} dosyasından %{total_items} alan adını engellemek üzeresiniz."
- following_html: "%{filename} dosyasından %{total_items} hesabı takip etmek üzeresiniz."
- lists_html: "Listelerinize %{filename} dosyasından en fazla %{total_items} hesap eklemek üzeresiniz. Eklenecek bir liste olmaması durumunda yeni listeler oluşturulacaktır."
- muting_html: "%{filename} dosyasından %{total_items} hesabı sessize almak üzeresiniz."
+ blocking_html:
+ one: "%{filename} dosyasından %{count} hesap engellemek üzeresiniz."
+ other: "%{filename} dosyasından %{count} hesap engellemek üzeresiniz."
+ bookmarks_html:
+ one: "Yerimlerinize, %{filename} dosyasından %{count} gönderi eklemek üzeresiniz."
+ other: "Yerimlerinize, %{filename} dosyasından %{count} gönderi eklemek üzeresiniz."
+ domain_blocking_html:
+ one: "%{filename} dosyasından %{count} alan adı engellemek üzeresiniz."
+ other: "%{filename} dosyasından %{count} alan adı engellemek üzeresiniz."
+ following_html:
+ one: "%{filename} dosyasından %{count} hesap takip etmek üzeresiniz."
+ other: "%{filename} dosyasından %{count} hesap takip etmek üzeresiniz."
+ lists_html:
+ one: "Listelerinize, %{filename} %{count} hesap eklemek üzeresiniz. Eklenecek liste yoksa yeni listeler oluşturulacaktır."
+ other: "Listelerinize, %{filename} %{count} hesap eklemek üzeresiniz. Eklenecek liste yoksa yeni listeler oluşturulacaktır."
+ muting_html:
+ one: "%{filename} dosyasından %{count} hesabı sessize almak üzeresiniz."
+ other: "%{filename} dosyasından %{count} hesabı sessize almak üzeresiniz."
preface: Diğer sunucudan alarak oluşturduğunuz dosyalar sayesinde, bu sunucudaki hesabınıza takipçilerinizi aktarabilir veya istemediğiniz kişileri otomatik olarak engelleyebilirsiniz.
recent_imports: Son içe aktarmalar
states:
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index de1847a745..ab50ac4dee 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -25,6 +25,7 @@ uk:
one: Допис
other: Дописів
posts_tab_heading: Дописів
+ self_follow_error: Ви не можете стежити за власним обліковим записом
admin:
account_actions:
action: Виконати дію
@@ -1201,9 +1202,9 @@ uk:
use_security_key: Використовувати ключ безпеки
author_attribution:
example_title: Зразок тексту
- hint_html: Контроль авторства поширених посилань на Mastodon.
more_from_html: Більше від %{name}
s_blog: Блог %{name}
+ then_instructions: Потім додайте доменне ім'я публікації у поле нижче.
title: Атрибути авторства
challenge:
confirm: Далі
@@ -1415,20 +1416,6 @@ uk:
merge_long: Зберегти наявні записи та додати нові
overwrite: Перезаписувати
overwrite_long: Замінити наявні записи новими
- overwrite_preambles:
- blocking_html: Ви збираєтеся замінити ваш список блокування з %{total_items} обліковими записами з %{filename}.
- bookmarks_html: Ви збираєтеся замінити ваші закладки з %{total_items} дописами з %{filename}.
- domain_blocking_html: Ви збираєтеся замінити ваш список блокування доменів з %{total_items} доменами з %{filename}.
- following_html: Ви збираєтеся слідкувати за %{total_items} обліковими записами з %{filename} і перестати слідкувати за всіма іншими.
- lists_html: Ви збираєтеся замінити ваші списки вмістом з %{filename}. До нових списків буде додано до %{total_items} облікових записів.
- muting_html: Ви збираєтеся замінити ваш список ігнорованих облікових записів з %{total_items} обліковими записами з %{filename}.
- preambles:
- blocking_html: Ви збираєтеся заблокувати %{total_items} облікових записів з %{filename}.
- bookmarks_html: Ви збираєтеся додати %{total_items} дописів з %{filename} до ваших закладок.
- domain_blocking_html: Ви збираєтеся заблокувати %{total_items} доменів з %{filename}.
- following_html: Ви збираєтеся слідкувати за %{total_items} обліковими записами з %{filename}.
- lists_html: Ви збираєтеся додати до %{total_items} облікових записів з %{filename} до ваших списків. Нові списки будуть створені, якщо немає списку для додавання.
- muting_html: Ви збираєтеся ігнорувати %{total_items} облікових записів з %{filename}.
preface: Ви можете імпортувати дані, які ви експортували з іншого сервера, наприклад, список людей, яких ви відстежуєте або блокуєте.
recent_imports: Останні імпорти
states:
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index 7e44e76e44..00431ba425 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -19,6 +19,7 @@ vi:
posts:
other: Tút
posts_tab_heading: Tút
+ self_follow_error: Bạn không thể tự theo dõi chính bạn
admin:
account_actions:
action: Thực hiện hành động
@@ -32,7 +33,7 @@ vi:
accounts:
add_email_domain_block: Chặn tên miền email
approve: Phê duyệt
- approved_msg: Đã phê duyệt đăng ký %{username}
+ approved_msg: Đã chấp nhận đăng ký %{username}
are_you_sure: Bạn có chắc không?
avatar: Ảnh đại diện
by_domain: Máy chủ
@@ -131,7 +132,7 @@ vi:
resubscribe: Đăng ký lại
role: Vai trò
search: Tìm kiếm
- search_same_email_domain: Những người khác với cùng tên miền email
+ search_same_email_domain: Những người có cùng tên miền email
search_same_ip: Tra cứu IP
security: Bảo mật
security_measures:
@@ -164,49 +165,49 @@ vi:
unsuspended_msg: Đã kích hoạt lại %{username} thành công
username: Tài khoản
view_domain: Xem mô tả tài khoản này
- warn: Nhắc
+ warn: Cảnh cáo
web: Web
whitelisted: Danh sách trắng
action_logs:
action_types:
- approve_appeal: Chấp nhận kháng cáo
- approve_user: Duyệt đăng ký
+ approve_appeal: Chấp nhận khiếu nại
+ approve_user: Chấp nhận đăng ký
assigned_to_self_report: Tự xử lý báo cáo
change_email_user: Đổi email người dùng
change_role_user: Đổi vai trò
confirm_user: Xác minh
create_account_warning: Cảnh cáo
create_announcement: Tạo thông báo mới
- create_canonical_email_block: Chặn địa chỉ email
+ create_canonical_email_block: Chặn địa chỉ email biến thể
create_custom_emoji: Tạo emoji
create_domain_allow: Cho phép máy chủ
create_domain_block: Chặn máy chủ
- create_email_domain_block: Tạo chặn tên miền email
+ create_email_domain_block: Chặn tên miền email
create_ip_block: Chặn IP
- create_unavailable_domain: Ngừng liên hợp
+ create_unavailable_domain: Bỏ liên hợp
create_user_role: Tạo vai trò
demote_user: Hạ vai trò
destroy_announcement: Xóa thông báo
- destroy_canonical_email_block: Bỏ chặn địa chỉ email
+ destroy_canonical_email_block: Bỏ chặn địa chỉ email biến thể
destroy_custom_emoji: Xóa emoji
- destroy_domain_allow: Bỏ thanh trừng máy chủ
+ destroy_domain_allow: Bỏ máy chủ cho phép
destroy_domain_block: Bỏ chặn máy chủ
destroy_email_domain_block: Bỏ chặn tên miền email
destroy_instance: Thanh trừng máy chủ
destroy_ip_block: Bỏ chặn IP
destroy_status: Xóa tút
- destroy_unavailable_domain: Tái liên hợp
+ destroy_unavailable_domain: Cho phép liên hợp
destroy_user_role: Xóa vai trò
disable_2fa_user: Vô hiệu hóa 2FA
disable_custom_emoji: Vô hiệu hóa emoji
disable_sign_in_token_auth_user: Tắt xác minh bằng email cho người dùng
disable_user: Vô hiệu hóa đăng nhập
- enable_custom_emoji: Duyệt emoji
+ enable_custom_emoji: Cho phép emoji
enable_sign_in_token_auth_user: Bật xác minh bằng email cho người dùng
enable_user: Cho phép đăng nhập
- memorialize_account: Đánh dấu tưởng niệm
+ memorialize_account: Gán tưởng niệm
promote_user: Nâng vai trò
- reject_appeal: Từ chối kháng cáo
+ reject_appeal: Từ chối khiếu nại
reject_user: Từ chối đăng ký
remove_avatar_user: Xóa ảnh đại diện
reopen_report: Mở lại báo cáo
@@ -216,7 +217,7 @@ vi:
sensitive_account: Gán nhạy cảm
silence_account: Gán ẩn
suspend_account: Gán vô hiệu hóa
- unassigned_report: Báo cáo chưa xử lý
+ unassigned_report: Bỏ xử lý báo cáo
unblock_email_account: Bỏ chặn địa chỉ email
unsensitive_account: Bỏ nhạy cảm
unsilence_account: Bỏ ẩn
@@ -229,64 +230,64 @@ vi:
update_status: Cập nhật tút
update_user_role: Cập nhật vai trò
actions:
- approve_appeal_html: "%{name} đã duyệt kháng cáo của %{target}"
+ approve_appeal_html: "%{name} đã chấp nhận khiếu nại từ %{target}"
approve_user_html: "%{name} đã chấp nhận đăng ký từ %{target}"
- assigned_to_self_report_html: "%{name} tự xử lý báo cáo %{target}"
+ assigned_to_self_report_html: "%{name} đã tự xử lý báo cáo %{target}"
change_email_user_html: "%{name} đã thay đổi địa chỉ email của %{target}"
- change_role_user_html: "%{name} đã thay đổi vai trò %{target}"
+ change_role_user_html: "%{name} đã thay đổi vai trò của %{target}"
confirm_user_html: "%{name} đã xác minh địa chỉ email của %{target}"
create_account_warning_html: "%{name} đã cảnh cáo %{target}"
- create_announcement_html: "%{name} tạo thông báo mới %{target}"
- create_canonical_email_block_html: "%{name} đã chặn địa chỉ email với hash %{target}"
+ create_announcement_html: "%{name} đã tạo thông báo %{target}"
+ create_canonical_email_block_html: "%{name} đã chặn địa chỉ email biến thể %{target}"
create_custom_emoji_html: "%{name} đã tải lên biểu tượng cảm xúc mới %{target}"
- create_domain_allow_html: "%{name} kích hoạt liên hợp với %{target}"
- create_domain_block_html: "%{name} chặn máy chủ %{target}"
+ create_domain_allow_html: "%{name} đã bật liên hợp với %{target}"
+ create_domain_block_html: "%{name} đã chặn máy chủ %{target}"
create_email_domain_block_html: "%{name} đã chặn tên miền email %{target}"
create_ip_block_html: "%{name} đã chặn IP %{target}"
- create_unavailable_domain_html: "%{name} ngưng phân phối với máy chủ %{target}"
+ create_unavailable_domain_html: "%{name} đã bỏ liên hợp với máy chủ %{target}"
create_user_role_html: "%{name} đã tạo vai trò %{target}"
demote_user_html: "%{name} đã hạ vai trò của %{target}"
- destroy_announcement_html: "%{name} xóa thông báo %{target}"
- destroy_canonical_email_block_html: "%{name} đã bỏ chặn địa chỉ email với hash %{target}"
+ destroy_announcement_html: "%{name} đã xóa thông báo %{target}"
+ destroy_canonical_email_block_html: "%{name} đã bỏ chặn địa chỉ email biến thể %{target}"
destroy_custom_emoji_html: "%{name} đã xóa emoji %{target}"
destroy_domain_allow_html: "%{name} đã ngừng liên hợp với %{target}"
- destroy_domain_block_html: "%{name} bỏ chặn máy chủ %{target}"
+ destroy_domain_block_html: "%{name} đã bỏ chặn máy chủ %{target}"
destroy_email_domain_block_html: "%{name} đã bỏ chặn email %{target}"
- destroy_instance_html: "%{name} thanh trừng máy chủ %{target}"
- destroy_ip_block_html: "%{name} bỏ chặn IP %{target}"
+ destroy_instance_html: "%{name} đã thanh trừng máy chủ %{target}"
+ destroy_ip_block_html: "%{name} đã bỏ chặn IP %{target}"
destroy_status_html: "%{name} đã xóa tút của %{target}"
- destroy_unavailable_domain_html: "%{name} tiếp tục phân phối với máy chủ %{target}"
+ destroy_unavailable_domain_html: "%{name} tiếp tục liên hợp với máy chủ %{target}"
destroy_user_role_html: "%{name} đã xóa vai trò %{target}"
disable_2fa_user_html: "%{name} đã vô hiệu hóa xác minh hai bước của %{target}"
disable_custom_emoji_html: "%{name} đã ẩn emoji %{target}"
disable_sign_in_token_auth_user_html: "%{name} đã tắt xác minh email của %{target}"
- disable_user_html: "%{name} vô hiệu hóa đăng nhập %{target}"
- enable_custom_emoji_html: "%{name} cho phép emoji %{target}"
+ disable_user_html: "%{name} đã vô hiệu hóa đăng nhập %{target}"
+ enable_custom_emoji_html: "%{name} đã cho phép emoji %{target}"
enable_sign_in_token_auth_user_html: "%{name} đã bật xác minh email của %{target}"
- enable_user_html: "%{name} bỏ vô hiệu hóa đăng nhập %{target}"
+ enable_user_html: "%{name} đã bỏ vô hiệu hóa đăng nhập %{target}"
memorialize_account_html: "%{name} đã biến tài khoản %{target} thành một trang tưởng niệm"
promote_user_html: "%{name} đã nâng vai trò của %{target}"
- reject_appeal_html: "%{name} đã từ chối kháng cáo của %{target}"
+ reject_appeal_html: "%{name} đã từ chối khiếu nại từ %{target}"
reject_user_html: "%{name} đã từ chối đăng ký từ %{target}"
remove_avatar_user_html: "%{name} đã xóa ảnh đại diện của %{target}"
- reopen_report_html: "%{name} mở lại báo cáo %{target}"
+ reopen_report_html: "%{name} đã mở lại báo cáo %{target}"
resend_user_html: "%{name} đã gửi lại email xác minh cho %{target}"
reset_password_user_html: "%{name} đã đặt lại mật khẩu của %{target}"
resolve_report_html: "%{name} đã xử lý báo cáo %{target}"
- sensitive_account_html: "%{name} đánh dấu nội dung của %{target} là nhạy cảm"
+ sensitive_account_html: "%{name} đã gán nội dung của %{target} là nhạy cảm"
silence_account_html: "%{name} đã ẩn %{target}"
suspend_account_html: "%{name} đã vô hiệu hóa %{target}"
- unassigned_report_html: "%{name} đã xử lý báo cáo %{target} chưa xử lí"
- unblock_email_account_html: "%{name} bỏ chặn địa chỉ email của %{target}"
- unsensitive_account_html: "%{name} đánh dấu nội dung của %{target} là bình thường"
+ unassigned_report_html: "%{name} đã thôi xử lý báo cáo %{target}"
+ unblock_email_account_html: "%{name} đã bỏ chặn địa chỉ email của %{target}"
+ unsensitive_account_html: "%{name} đã gán nội dung của %{target} là bình thường"
unsilence_account_html: "%{name} đã bỏ ẩn %{target}"
unsuspend_account_html: "%{name} đã bỏ vô hiệu hóa %{target}"
- update_announcement_html: "%{name} cập nhật thông báo %{target}"
+ update_announcement_html: "%{name} đã cập nhật thông báo %{target}"
update_custom_emoji_html: "%{name} đã cập nhật emoji %{target}"
- update_domain_block_html: "%{name} cập nhật chặn máy chủ %{target}"
- update_ip_block_html: "%{name} cập nhật chặn IP %{target}"
- update_report_html: "%{name} cập nhật báo cáo %{target}"
- update_status_html: "%{name} cập nhật tút của %{target}"
+ update_domain_block_html: "%{name} đã cập nhật chặn máy chủ %{target}"
+ update_ip_block_html: "%{name} đã cập nhật chặn IP %{target}"
+ update_report_html: "%{name} đã cập nhật báo cáo %{target}"
+ update_status_html: "%{name} đã cập nhật tút của %{target}"
update_user_role_html: "%{name} đã cập nhật vai trò %{target}"
deleted_account: tài khoản đã xóa
empty: Không tìm thấy bản ghi.
@@ -353,7 +354,7 @@ vi:
new_users: người mới
opened_reports: báo cáo
pending_appeals_html:
- other: "%{count} kháng cáo đang chờ"
+ other: "%{count} khiếu nại đang chờ"
pending_reports_html:
other: "%{count} báo cáo đang chờ"
pending_tags_html:
@@ -371,7 +372,7 @@ vi:
disputes:
appeals:
empty: Không tìm thấy.
- title: Kháng cáo
+ title: Khiếu nại
domain_allows:
add_new: Cho phép liên hợp với máy chủ
created_msg: Máy chủ đã được kích hoạt liên hợp thành công
@@ -691,8 +692,8 @@ vi:
invite_users_description: Cho phép mời những người mới vào máy chủ
manage_announcements: Quản lý thông báo
manage_announcements_description: Cho phép quản lý thông báo trên máy chủ
- manage_appeals: Quản lý kháng cáo
- manage_appeals_description: Cho phép thành viên kháng cáo đối với các hành động kiểm duyệt
+ manage_appeals: Quản lý khiếu nại
+ manage_appeals_description: Cho phép thành viên khiếu nại đối với các hành động kiểm duyệt
manage_blocks: Quản lý chặn
manage_blocks_description: Cho phép người dùng tự chặn các nhà cung cấp email và địa chỉ IP
manage_custom_emojis: Quản lý emoji
@@ -818,7 +819,7 @@ vi:
original_status: Tút gốc
reblogs: Lượt đăng lại
status_changed: Tút đã sửa
- title: Toàn bộ tút
+ title: Tất cả tút
trending: Xu hướng
visibility: Hiển thị
with_media: Có media
@@ -1007,7 +1008,7 @@ vi:
silence: hạn chế tài khoản của họ
suspend: vô hiệu hóa tài khoản của họ
body: "%{target} đã khiếu nại vì bị %{action_taken_by} %{type} vào %{date}. Họ cho biết:"
- next_steps: Bạn có thể duyệt kháng cáo để hủy kiểm duyệt hoặc bỏ qua.
+ next_steps: Bạn có thể chấp nhận khiếu nại để bỏ kiểm duyệt, hoặc không.
subject: "%{username} đang khiếu nại quyết định kiểm duyệt trên %{instance}"
new_critical_software_updates:
body: Các phiên bản quan trọng mới của Mastodon đã được phát hành, bạn nên cập nhật càng sớm càng tốt!
@@ -1147,9 +1148,11 @@ vi:
use_security_key: Dùng khóa bảo mật
author_attribution:
example_title: Văn bản mẫu
- hint_html: Kiểm soát cách bạn được ghi nhận khi chia sẻ liên kết trên Mastodon.
- more_from_html: Thêm từ %{name}
+ hint_html: Bạn là nhà báo hoặc blogger bên ngoài Mastodon? Kiểm soát cách bạn được ghi nhận khi chúng được chia sẻ trên Mastodon.
+ instructions: 'Đặt mã này trong HTML bài viết:'
+ more_from_html: Viết bởi %{name}
s_blog: "%{name}'s Blog"
+ then_instructions: Sau đó, thêm URL của báo/blog trong trường bên dưới.
title: Ghi nhận người đăng
challenge:
confirm: Tiếp tục
@@ -1204,12 +1207,12 @@ vi:
appealed_msg: Khiếu nại của bạn đã được gửi đi. Nếu nó được chấp nhận, bạn sẽ nhận được thông báo.
appeals:
submit: Gửi khiếu nại
- approve_appeal: Duyệt kháng cáo
+ approve_appeal: Chấp nhận khiếu nại
associated_report: Báo cáo đính kèm
created_at: Ngày
description_html: Đây là những cảnh cáo và áp đặt kiểm duyệt đối với bạn bởi đội ngũ %{instance}.
recipient: Người nhận
- reject_appeal: Từ chối kháng cáo
+ reject_appeal: Từ chối khiếu nại
status: 'Tút #%{id}'
status_removed: Tút này đã được xóa khỏi hệ thống
title: "%{action} từ %{date}"
@@ -1341,19 +1344,31 @@ vi:
overwrite: Ghi đè
overwrite_long: Thay thế các bản ghi hiện tại bằng các bản ghi mới
overwrite_preambles:
- blocking_html: Bạn sắp thay thế danh sách chặn với %{total_items} tài khoản từ %{filename}.
- bookmarks_html: Bạn sắp thay thế lượt lưu với %{total_items} tút từ %{filename}.
- domain_blocking_html: Bạn sắp thay thế danh sách máy chủ chặn với %{total_items} máy chủ từ %{filename}.
- following_html: Bạn sắp theo dõi với %{total_items} người từ %{filename} và ngừng theo dõi bất kỳ ai.
- lists_html: Bạn sắp thay thế các danh sách bằng nội dung từ %{filename}. Hơn %{total_items} tài khoản sẽ được thêm vào những danh sách mới.
- muting_html: Bạn sắp thay thế danh sách ẩn với %{total_items} người từ %{filename}.
+ blocking_html:
+ other: Bạn sắp thay thế danh sách chặn với %{count} người từ %{filename}.
+ bookmarks_html:
+ other: Bạn sắp thay thế danh sách tút đã lưu với %{count} tút từ %{filename}.
+ domain_blocking_html:
+ other: Bạn sắp thay thế danh sách máy chủ chặn với %{count} máy chủ từ %{filename}.
+ following_html:
+ other: Bạn sắp theo dõi tới %{count} người từ %{filename} và ngừng theo dõi mọi người khác.
+ lists_html:
+ other: Bạn sắp thay thế danh sách với nội dung của %{filename}. Có %{count} người sẽ được thêm vào những danh sách mới.
+ muting_html:
+ other: Bạn sắp they thế danh sách người bạn chặn với %{count} người từ %{filename}.
preambles:
- blocking_html: Bạn sắp chặn tới %{total_items} người từ %{filename}.
- bookmarks_html: Bạn sắp thêm vào %{total_items} tút từ %{filename} vào lượt lưu.
- domain_blocking_html: Bạn sắp chặn tới %{total_items} máy chủ từ %{filename}.
- following_html: Bạn sắp theo dõi tới %{total_items} người từ %{filename}.
- lists_html: Bạn sắp thêm %{total_items} tài khoản từ %{filename} vào danh sách của bạn. Những danh sách mới sẽ được tạo nếu bạn chưa có danh sách nào.
- muting_html: Bạn sắp ẩn lên tới %{total_items} người từ %{filename}.
+ blocking_html:
+ other: Bạn sắp chặn tới %{count} người từ %{filename}.
+ bookmarks_html:
+ other: Bạn sắp thêm tới %{count} tút từ %{filename} vào danh sách tút đã lưu.
+ domain_blocking_html:
+ other: Bạn sắp chặn tới %{count} máy chủ từ %{filename}.
+ following_html:
+ other: Bạn sắp theo dõi tới %{count} người từ %{filename}.
+ lists_html:
+ other: Bạn sắp thêm tới %{count} người từ %{filename} vào danh sách của bạn. Những danh sách mới sẽ được tạo nếu không có danh sách để thêm.
+ muting_html:
+ other: Bạn sắp ẩn tới %{count} người từ %{filename}.
preface: Bạn có thể nhập dữ liệu mà bạn đã xuất từ một máy chủ khác, chẳng hạn danh sách những người đang theo dõi hoặc chặn.
recent_imports: Đã nhập gần đây
states:
@@ -1373,10 +1388,10 @@ vi:
muting: Đang nhập người đã ẩn
type: Kiểu nhập
type_groups:
- constructive: Lượt theo dõi và những thứ đã lưu
- destructive: Lượt chặn và ẩn
+ constructive: Theo dõi và lưu
+ destructive: Chặn và ẩn
types:
- blocking: Danh sách chặn
+ blocking: Danh sách người đã chặn
bookmarks: Tút đã lưu
domain_blocking: Danh sách máy chủ đã chặn
following: Danh sách người theo dõi
@@ -1734,7 +1749,7 @@ vi:
ignore_favs: Bỏ qua số lượt thích
ignore_reblogs: Bỏ qua lượt đăng lại
interaction_exceptions: Ngoại lệ dựa trên tương tác
- interaction_exceptions_explanation: Lưu ý rằng không có gì đảm bảo rằng các tút sẽ bị xóa nếu chúng tụt dưới ngưỡng mức yêu thích hoặc đăng lại, dù đã từng đạt.
+ interaction_exceptions_explanation: Lưu ý là không có gì đảm bảo rằng các tút sẽ bị xóa nếu chúng bị giảm lượt thích hoặc đăng lại, dù đã từng đạt.
keep_direct: Giữ lại tin nhắn
keep_direct_hint: Không xóa tin nhắn của bạn
keep_media: Giữ lại những tút có đính kèm media
@@ -1765,7 +1780,7 @@ vi:
sensitive_content: NSFW
strikes:
errors:
- too_late: Đã quá trễ để kháng cáo
+ too_late: Đã quá trễ để khiếu nại
tags:
does_not_match_previous_name: không khớp với tên trước
themes:
@@ -1839,8 +1854,8 @@ vi:
disable: Bạn không còn có thể sử dụng tài khoản của mình, nhưng hồ sơ của bạn và dữ liệu khác vẫn còn nguyên. Bạn có thể yêu cầu sao lưu dữ liệu của mình, thay đổi cài đặt tài khoản hoặc xóa tài khoản của bạn.
mark_statuses_as_sensitive: Vài tút của bạn đã bị kiểm duyệt viên %{instance} đánh dấu nhạy cảm. Mọi người cần nhấn vào media để xem nó. Bạn có thể tự đánh dấu tài khoản của bạn là nhạy cảm.
sensitive: Từ giờ trở đi, tất cả các media của bạn bạn tải lên sẽ được đánh dấu là nhạy cảm và ẩn đằng sau cảnh báo nhấp chuột.
- silence: Bạn vẫn có thể sử dụng tài khoản của mình, nhưng chỉ những người đang theo dõi bạn mới thấy bài đăng của bạn. Bạn cũng bị loại khỏi các tính năng khám phá khác. Tuy nhiên, những người khác vẫn có thể theo dõi bạn.
- suspend: Bạn không còn có thể sử dụng tài khoản của bạn, hồ sơ và các dữ liệu khác không còn có thể truy cập được. Trong vòng 30 ngày, bạn vẫn có thể đăng nhập để yêu cầu bản sao dữ liệu của mình cho đến khi dữ liệu bị xóa hoàn toàn, nhưng chúng tôi sẽ giữ lại một số dữ liệu cơ bản để ngăn bạn thoát khỏi việc vô hiệu hóa.
+ silence: Bạn vẫn có thể sử dụng tài khoản của mình và người khác vẫn có thể theo dõi bạn, nhưng chỉ những người đã theo dõi bạn mới thấy tút của bạn. Bạn cũng bị loại khỏi các tính năng khám phá khác.
+ suspend: Tài khoản của bạn, hồ sơ và các dữ liệu khác sẽ không thể truy cập được nữa. Bạn vẫn có thể đăng nhập để yêu cầu bản sao dữ liệu của mình cho đến khi dữ liệu bị xóa hoàn toàn trong vòng 30 ngày, nhưng chúng tôi sẽ giữ lại một số dữ liệu cơ bản để phòng khi bạn được bỏ vô hiệu hóa.
reason: 'Lý do:'
statuses: 'Tút vi phạm:'
subject:
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index a73871115b..209683e21c 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -19,6 +19,7 @@ zh-CN:
posts:
other: 嘟文
posts_tab_heading: 嘟文
+ self_follow_error: 不可以关注自己
admin:
account_actions:
action: 执行操作
@@ -595,7 +596,7 @@ zh-CN:
actions_no_posts: 该举报没有相关嘟文可供删除
add_to_report: 增加更多举报内容
already_suspended_badges:
- local: 已经在此服务器上暂停
+ local: 已在此服务器上被封禁
remote: 已在其所属服务器被封禁
are_you_sure: 你确定吗?
assign_to_self: 接管
@@ -1147,9 +1148,11 @@ zh-CN:
use_security_key: 使用安全密钥
author_attribution:
example_title: 示例文本
- hint_html: 控制在 Mastodon 上分享的链接如何显示你的署名。
+ hint_html: 你是否在 Mastodon 之外撰写新闻或博客文章?控制它们被分享到 Mastodon 时的署名方式。
+ instructions: 请确保将这段代码放在您文章的 HTML 中:
more_from_html: 来自 %{name} 的更多内容
s_blog: "%{name} 的博客"
+ then_instructions: 然后,在下面的文本框中添加你用于发布文章的域名。
title: 作者归属
challenge:
confirm: 继续
@@ -1341,19 +1344,31 @@ zh-CN:
overwrite: 覆盖
overwrite_long: 将当前记录替换为新记录
overwrite_preambles:
- blocking_html: 你即将使用来自 %{filename} 的最多 %{total_items} 个账户替换你的屏蔽列表。
- bookmarks_html: 你即将使用来自 %{filename} 的 %{total_items} 篇嘟文替换你的书签。
- domain_blocking_html: 你即将使用来自 %{filename} 的最多 %{total_items} 个域名替换你的域名屏蔽列表。
- following_html: 你即将从 %{filename} 关注 %{total_items} 个账户,并停止关注其他任何人。
- lists_html: 你即将用 %{filename} 的内容替换你的列表。新列表中将添加 %{total_items} 个账户。
- muting_html: 你即将使用来自 %{filename} 的最多 %{total_items} 个账户替换你已隐藏的账户列表。
+ blocking_html:
+ other: 你即将使用来自 %{filename} 的最多 %{count} 个帐户替换你的屏蔽列表。
+ bookmarks_html:
+ other: 你即将使用来自 %{filename} 的最多 %{count} 条嘟文替换你的书签。
+ domain_blocking_html:
+ other: 你即将使用来自 %{filename} 的最多 %{count} 个域名替换你的域名屏蔽列表。
+ following_html:
+ other: 你即将关注来自 %{filename} 的最多 %{count} 个账户,并停止关注其他所有人。
+ lists_html:
+ other: 你即将使用来自 %{filename} 的内容替换你的列表。最多将会有 %{count} 个账户 被添加到新列表。
+ muting_html:
+ other: 你即将使用来自 %{filename} 的最多 %{count} 个帐户替换你的已隐藏账户列表。
preambles:
- blocking_html: 你即将从 %{filename} 中封锁多达 %{total_items} 个账户。
- bookmarks_html: 你即将把来自 %{filename} 的 %{total_items} 篇嘟文添加到你的书签中。
- domain_blocking_html: 你即将从 %{filename} 中屏蔽 %{total_items} 个域名。
- following_html: 你即将从 %{filename} 关注最多 %{total_items} 个账户。
- lists_html: 你即将从 %{filename} 中添加最多 %{total_items} 个账户到你的列表中。如果没有可用列表,将创建新的列表。
- muting_html: 你即将从 %{filename} 中隐藏 %{total_items} 个账户。
+ blocking_html:
+ other: 你即将屏蔽来自 %{filename} 的最多 %{count} 个账号。
+ bookmarks_html:
+ other: 你即将把来自 %{filename} 的 %{count} 篇嘟文添加到你的书签中。
+ domain_blocking_html:
+ other: 你即将屏蔽来自 %{filename} 的最多 %{count} 个域名。
+ following_html:
+ other: 你即将关注来自 %{filename} 的最多 %{count} 个账号。
+ lists_html:
+ other: 你即将从 %{filename} 中添加最多 %{count} 个账户到你的列表中。如果没有可用列表,将创建新的列表。
+ muting_html:
+ other: 你即将隐藏来自 %{filename} 的最多 %{count} 个账号。
preface: 你可以在此导入你在其他实例导出的数据,比如你所关注或屏蔽的用户列表。
recent_imports: 最近导入
states:
@@ -1686,8 +1701,8 @@ zh-CN:
severed_relationships:
download: 下载 (%{count})
event_type:
- account_suspension: 账户被封禁 (%{target_name})
- domain_block: 服务器被封禁 (%{target_name})
+ account_suspension: 封禁账户 (%{target_name})
+ domain_block: 封禁服务器 (%{target_name})
user_domain_block: 你屏蔽了 %{target_name}
lost_followers: 失去的关注者
lost_follows: 失去的关注
@@ -1863,7 +1878,7 @@ zh-CN:
apps_android_action: 从 Google Play 下载
apps_ios_action: 从 App Store 下载
apps_step: 下载我们的官方应用。
- apps_title: Mastodon应用
+ apps_title: Mastodon 应用
checklist_subtitle: 让我们带你开启这片社交新天地:
checklist_title: 欢迎清单
edit_profile_action: 个性化
@@ -1871,16 +1886,16 @@ zh-CN:
edit_profile_title: 个性化你的个人资料
explanation: 下面是几个小贴士,希望它们能帮到你
feature_action: 了解更多
- feature_audience: Mastodon为你提供了无需中间商即可管理受众的独特可能。Mastodon可被部署在你自己的基础设施上,允许你关注其它任何Mastodon在线服务器的用户,或被任何其他在线 Mastodon 服务器的用户关注,并且不受你之外的任何人控制。
+ feature_audience: Mastodon 为你提供了无需中间商即可管理受众的独特可能。Mastodon 可被部署在你自己的基础设施上,允许你关注其它任何 Mastodon 在线服务器的用户,或被任何其他在线 Mastodon 服务器的用户关注,并且不受你之外的任何人控制。
feature_audience_title: 放手去建立起你的受众
feature_control: 你最清楚你想在你自己的主页中看到什么动态。没有算法或广告浪费你的时间。你可以用一个账号关注任何 Mastodon 服务器上的任何人,并按时间顺序获得他们发布的嘟文,让你的互联网的角落更合自己的心意。
feature_control_title: 掌控自己的时间线
- feature_creativity: Mastodon支持音频、视频和图片、无障碍描述、投票、内容警告, 动画头像、自定义表情包、缩略图裁剪控制等功能,帮助你在网上尽情表达自己。无论你是要发布你的艺术作品、音乐还是播客,Mastodon 都能为你服务。
+ feature_creativity: Mastodon 支持音频、视频和图片、无障碍描述、投票、内容警告, 动画头像、自定义表情包、缩略图裁剪控制等功能,帮助你在网上尽情表达自己。无论你是要发布你的艺术作品、音乐还是播客,Mastodon 都能为你服务。
feature_creativity_title: 无与伦比的创造力
- feature_moderation: Mastodon将决策权交还给你。每个服务器都会创建自己的规则和条例,并在站点内施行,而不是像企业社交媒体那样居高临下,这使得它可以最灵活地响应不同人群的需求。加入一个你认同其规则的服务器,或托管你自己的服务器。
+ feature_moderation: Mastodon 将决策权交还给你。每个服务器都会创建自己的规则和条例,并在站点内施行,而不是像企业社交媒体那样居高临下,这使得它可以最灵活地响应不同人群的需求。加入一个你认同其规则的服务器,或托管你自己的服务器。
feature_moderation_title: 管理,本应如此
follow_action: 关注
- follow_step: 关注有趣的人,这就是Mastodon的意义所在。
+ follow_step: 关注有趣的人,这就是 Mastodon 的意义所在。
follow_title: 个性化你的首页动态
follows_subtitle: 关注知名账户
follows_title: 推荐关注
@@ -1894,8 +1909,8 @@ zh-CN:
post_step: 向世界打个招呼吧。
post_title: 发布你的第一条嘟文
share_action: 分享
- share_step: 让你的朋友知道如何在Mastodon找到你。
- share_title: 分享你的Mastodon个人资料
+ share_step: 让你的朋友知道如何在 Mastodon 找到你。
+ share_title: 分享你的 Mastodon 个人资料
sign_in_action: 登录
subject: 欢迎来到 Mastodon
title: "%{name},欢迎你的加入!"
diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml
index c0726fc2f7..e33ebeadb4 100644
--- a/config/locales/zh-HK.yml
+++ b/config/locales/zh-HK.yml
@@ -1249,20 +1249,6 @@ zh-HK:
merge_long: 留下舊有記錄並添加新的資訊
overwrite: 覆蓋
overwrite_long: 用新記錄覆蓋當前記錄
- overwrite_preambles:
- blocking_html: 你將以%{filename}的最多%{total_items}個帳號,來取代你現有的封鎖列表。
- bookmarks_html: 你將以%{filename}的最多%{total_items}個帳號,來取代你現有的書籤。
- domain_blocking_html: 你將以%{filename}的最多%{total_items} 個帳號,來取代你現有的網域封鎖列表。
- following_html: 你將從%{filename}追蹤最多%{total_items} 個帳號,並取消追蹤其他人。
- lists_html: 你將根據%{filename}的內容取代的你列表。最多新增 %{total_items} 個帳號 到新列表。
- muting_html: 你將根據%{filename}中最多 %{total_items} 個帳號取代你的靜音帳號列表。
- preambles:
- blocking_html: 你將根據%{filename}封鎖最多 %{total_items} 個帳號。
- bookmarks_html: 你將加入 %{filename} 中最多 %{total_items} 篇帖文到你的書籤中。
- domain_blocking_html: 你將封鎖來自%{filename}的最多 %{total_items} 個網域。
- following_html: 你將追蹤 來自 %{filename} 最多 %{total_items} 個帳號。
- lists_html: 你將加入來自%{filename}最多 %{total_items} 個帳號到你的列表中。如果現時沒有列表,將會建立新列表。
- muting_html: 你將靜音來自%{filename}的最多 %{total_items} 個帳號。
preface: 你可以在此匯入你在其他服務站所匯出的資料檔,包括︰你所關注的用戶,被你封鎖的用戶。
recent_imports: 最近的匯入
states:
diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml
index 4079f68a50..d8fef10816 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -19,6 +19,7 @@ zh-TW:
posts:
other: 嘟文
posts_tab_heading: 嘟文
+ self_follow_error: 無法跟隨您自己的帳號
admin:
account_actions:
action: 執行動作
@@ -1149,9 +1150,11 @@ zh-TW:
use_security_key: 使用安全金鑰
author_attribution:
example_title: 範例文字
- hint_html: 控制如何於 Mastodon 上分享連結時註明您的貢獻。
+ hint_html: 您是否正於 Mastodon 之外撰寫新聞或部落格文章?控制當它們於 Mastodon 上分享時您如何獲得信譽。
+ instructions: 確認您文章 HTML 內容中包含此份程式碼:
more_from_html: 來自 %{name} 之更多內容
s_blog: "%{name} 的部落格"
+ then_instructions: 接著,將發表處網域加入以下欄位中。
title: 作者署名
challenge:
confirm: 繼續
@@ -1343,19 +1346,31 @@ zh-TW:
overwrite: 覆蓋
overwrite_long: 以新的紀錄覆蓋目前紀錄
overwrite_preambles:
- blocking_html: 您將要自 %{filename} 中之 %{total_items} 個帳號 以 取代您的封鎖帳號列表。
- bookmarks_html: 您將要自 %{filename} 中之 %{total_items} 個嘟文 以 取代您的書籤。
- domain_blocking_html: 您將要自 %{filename} 中之 %{total_items} 個網域 以 取代您的封鎖網域列表。
- following_html: 您將要 跟隨 自 %{filename} 中之 %{total_items} 個帳號 並且 取消跟隨其他所有人。
- lists_html: 您將以 %{filename} 之內容取代您的列表。這將會新增 %{total_items} 個帳號至新列表。
- muting_html: 您將要自 %{filename} 中之 %{total_items} 個帳號 以 取代您的靜音帳號列表。
+ blocking_html:
+ other: 您將要自 %{filename} 中之 %{count} 個帳號 以 取代您的封鎖帳號列表。
+ bookmarks_html:
+ other: 您將要自 %{filename} 中之 %{count} 個嘟文 以 取代您的書籤。
+ domain_blocking_html:
+ other: 您將要自 %{filename} 中之 %{count} 個網域 以 取代您的封鎖網域列表。
+ following_html:
+ other: 您將要 跟隨 自 %{filename} 中之 %{count} 個帳號 並且 取消跟隨其他所有人。
+ lists_html:
+ other: 您將以 %{filename} 之內容取代您的列表。這將會新增 %{count} 個帳號至新列表。
+ muting_html:
+ other: 您將要自 %{filename} 中之 %{count} 個帳號 以 取代您的靜音帳號列表。
preambles:
- blocking_html: 您將要 封鎖 自 %{filename} 中之 %{total_items} 個帳號。
- bookmarks_html: 您將要自 %{filename} 中之 %{total_items} 個嘟文 以 加入至您的書籤。
- domain_blocking_html: 您將要 封鎖 自 %{filename} 中之 %{total_items} 個網域。
- following_html: 您將要 跟隨 自 %{filename} 中之 %{total_items} 個帳號。
- lists_html: 您將自 %{filename} 新增 %{total_items} 個帳號至您的列表。若不存在列表用以新增帳號,則會建立新列表。
- muting_html: 您將要 靜音 自 %{filename} 中之 %{total_items} 個帳號。
+ blocking_html:
+ other: 您將要 封鎖 自 %{filename} 中之 %{count} 個帳號。
+ bookmarks_html:
+ other: 您將要自 %{filename} 中之 %{count} 個嘟文 以 加入至您的書籤。
+ domain_blocking_html:
+ other: 您將要 封鎖 自 %{filename} 中之 %{count} 個網域。
+ following_html:
+ other: 您將要 跟隨 自 %{filename} 中之 %{count} 個帳號。
+ lists_html:
+ other: 您將自 %{filename} 新增 %{count} 個帳號至您的列表。若不存在列表用以新增帳號,則會建立新列表。
+ muting_html:
+ other: 您將要 靜音 自 %{filename} 中之 %{count} 個帳號。
preface: 您能於此匯入您於其他伺服器所匯出的資料檔,包括跟隨中的使用者、封鎖的使用者名單等。
recent_imports: 最近匯入的
states:
diff --git a/db/migrate/20241007071624_fix_notification_permission_foreign_keys.rb b/db/migrate/20241007071624_fix_notification_permission_foreign_keys.rb
new file mode 100644
index 0000000000..11b82de8a6
--- /dev/null
+++ b/db/migrate/20241007071624_fix_notification_permission_foreign_keys.rb
@@ -0,0 +1,39 @@
+# frozen_string_literal: true
+
+class FixNotificationPermissionForeignKeys < ActiveRecord::Migration[7.1]
+ def up
+ safety_assured do
+ execute <<~SQL.squish
+ ALTER TABLE notification_permissions
+ DROP CONSTRAINT fk_rails_7c0bed08df,
+ ADD CONSTRAINT fk_rails_7c0bed08df
+ FOREIGN KEY (account_id)
+ REFERENCES accounts(id)
+ ON DELETE CASCADE,
+
+ DROP CONSTRAINT fk_rails_e3e0aaad70,
+ ADD CONSTRAINT fk_rails_e3e0aaad70
+ FOREIGN KEY (from_account_id)
+ REFERENCES accounts(id)
+ ON DELETE CASCADE
+ SQL
+ end
+ end
+
+ def down
+ safety_assured do
+ execute <<~SQL.squish
+ ALTER TABLE notification_permissions
+ DROP CONSTRAINT fk_rails_7c0bed08df,
+ ADD CONSTRAINT fk_rails_7c0bed08df
+ FOREIGN KEY (account_id)
+ REFERENCES accounts(id),
+
+ DROP CONSTRAINT fk_rails_e3e0aaad70,
+ ADD CONSTRAINT fk_rails_e3e0aaad70
+ FOREIGN KEY (from_account_id)
+ REFERENCES accounts(id)
+ SQL
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index f9f2d97395..68067841e0 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema[7.1].define(version: 2024_09_16_190140) do
+ActiveRecord::Schema[7.1].define(version: 2024_10_07_071624) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -1291,8 +1291,8 @@ ActiveRecord::Schema[7.1].define(version: 2024_09_16_190140) do
add_foreign_key "mentions", "statuses", on_delete: :cascade
add_foreign_key "mutes", "accounts", column: "target_account_id", name: "fk_eecff219ea", on_delete: :cascade
add_foreign_key "mutes", "accounts", name: "fk_b8d8daf315", on_delete: :cascade
- add_foreign_key "notification_permissions", "accounts"
- add_foreign_key "notification_permissions", "accounts", column: "from_account_id"
+ add_foreign_key "notification_permissions", "accounts", column: "from_account_id", on_delete: :cascade
+ add_foreign_key "notification_permissions", "accounts", on_delete: :cascade
add_foreign_key "notification_policies", "accounts", on_delete: :cascade
add_foreign_key "notification_requests", "accounts", column: "from_account_id", on_delete: :cascade
add_foreign_key "notification_requests", "accounts", on_delete: :cascade
diff --git a/docker-compose.yml b/docker-compose.yml
index 41876d26f9..37cb16497f 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -59,7 +59,7 @@ services:
web:
# You can uncomment the following line if you want to not use the prebuilt image, for example if you have local code changes
# build: .
- image: ghcr.io/mastodon/mastodon:v4.3.0-rc.1
+ image: ghcr.io/mastodon/mastodon:v4.3.0
restart: always
env_file: .env.production
command: bundle exec puma -C config/puma.rb
@@ -83,7 +83,7 @@ services:
# build:
# dockerfile: ./streaming/Dockerfile
# context: .
- image: ghcr.io/mastodon/mastodon-streaming:v4.3.0-rc.1
+ image: ghcr.io/mastodon/mastodon-streaming:v4.3.0
restart: always
env_file: .env.production
command: node ./streaming/index.js
@@ -101,7 +101,7 @@ services:
sidekiq:
build: .
- image: ghcr.io/mastodon/mastodon:v4.3.0-rc.1
+ image: ghcr.io/mastodon/mastodon:v4.3.0
restart: always
env_file: .env.production
command: bundle exec sidekiq
diff --git a/lib/exceptions.rb b/lib/exceptions.rb
index c2ff162a6e..1910d37a13 100644
--- a/lib/exceptions.rb
+++ b/lib/exceptions.rb
@@ -36,4 +36,11 @@ module Mastodon
super()
end
end
+
+ HTTP_CONNECTION_ERRORS = [
+ HTTP::ConnectionError,
+ HTTP::Error,
+ HTTP::TimeoutError,
+ OpenSSL::SSL::SSLError,
+ ].freeze
end
diff --git a/lib/mastodon/cli/accounts.rb b/lib/mastodon/cli/accounts.rb
index 08a28e5f5c..e76735298f 100644
--- a/lib/mastodon/cli/accounts.rb
+++ b/lib/mastodon/cli/accounts.rb
@@ -305,7 +305,7 @@ module Mastodon::CLI
begin
code = Request.new(:head, account.uri).perform(&:code)
- rescue HTTP::TimeoutError, HTTP::ConnectionError, OpenSSL::SSL::SSLError, Mastodon::PrivateNetworkAddressError
+ rescue *Mastodon::HTTP_CONNECTION_ERRORS, Mastodon::PrivateNetworkAddressError
skip_domains << account.domain
end
diff --git a/lib/mastodon/cli/ip_blocks.rb b/lib/mastodon/cli/ip_blocks.rb
index 3c5fdb275c..ef24f2e047 100644
--- a/lib/mastodon/cli/ip_blocks.rb
+++ b/lib/mastodon/cli/ip_blocks.rb
@@ -5,7 +5,7 @@ require_relative 'base'
module Mastodon::CLI
class IpBlocks < Base
- option :severity, required: true, enum: %w(no_access sign_up_requires_approval sign_up_block), desc: 'Severity of the block'
+ option :severity, required: true, enum: IpBlock.severities.keys, desc: 'Severity of the block'
option :comment, aliases: [:c], desc: 'Optional comment'
option :duration, aliases: [:d], type: :numeric, desc: 'Duration of the block in seconds'
option :force, type: :boolean, aliases: [:f], desc: 'Overwrite existing blocks'
diff --git a/lib/tasks/db.rake b/lib/tasks/db.rake
index d8bc927bc4..73de0c120f 100644
--- a/lib/tasks/db.rake
+++ b/lib/tasks/db.rake
@@ -7,8 +7,19 @@ namespace :db do
namespace :encryption do
desc 'Generate a set of keys for configuring Active Record encryption in a given environment'
task :init do # rubocop:disable Rails/RakeEnvironment
+ if %w(
+ ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY
+ ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT
+ ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY
+ ).any? { |key| ENV.key?(key) }
+ pastel = Pastel.new
+ puts pastel.red(<<~MSG)
+ WARNING: It looks like encryption secrets have already been set. Please ensure you are not changing secrets for a Mastodon installation that already uses them, as this will cause data loss and other issues that are difficult to recover from.
+ MSG
+ end
+
puts <<~MSG
- Add these secret environment variables to your Mastodon environment (e.g. .env.production):#{' '}
+ Add the following secret environment variables to your Mastodon environment (e.g. .env.production), ensure they are shared across all your nodes and do not change them after they are set:#{' '}
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=#{SecureRandom.alphanumeric(32)}
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=#{SecureRandom.alphanumeric(32)}
diff --git a/package.json b/package.json
index 7a6dee1311..24770e6d25 100644
--- a/package.json
+++ b/package.json
@@ -48,7 +48,7 @@
"@formatjs/intl-pluralrules": "^5.2.2",
"@gamestdio/websocket": "^0.3.2",
"@github/webauthn-json": "^2.1.1",
- "@rails/ujs": "7.1.400",
+ "@rails/ujs": "7.1.401",
"@reduxjs/toolkit": "^2.0.1",
"@svgr/webpack": "^5.5.0",
"arrow-key-navigation": "^1.2.0",
diff --git a/spec/controllers/admin/invites_controller_spec.rb b/spec/controllers/admin/invites_controller_spec.rb
deleted file mode 100644
index b6471e80b2..0000000000
--- a/spec/controllers/admin/invites_controller_spec.rb
+++ /dev/null
@@ -1,59 +0,0 @@
-# frozen_string_literal: true
-
-require 'rails_helper'
-
-RSpec.describe Admin::InvitesController do
- render_views
-
- let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
-
- before do
- sign_in user, scope: :user
- end
-
- describe 'GET #index' do
- subject { get :index, params: { available: true } }
-
- let!(:invite) { Fabricate(:invite) }
-
- it 'renders index page' do
- expect(subject).to render_template :index
- expect(response.body)
- .to include(invite.code)
- end
- end
-
- describe 'POST #create' do
- subject { post :create, params: { invite: { max_uses: '10', expires_in: 1800 } } }
-
- it 'succeeds to create a invite' do
- expect { subject }.to change(Invite, :count).by(1)
- expect(subject).to redirect_to admin_invites_path
- expect(Invite.last).to have_attributes(user_id: user.id, max_uses: 10)
- end
- end
-
- describe 'DELETE #destroy' do
- subject { delete :destroy, params: { id: invite.id } }
-
- let!(:invite) { Fabricate(:invite, expires_at: nil) }
-
- it 'expires invite' do
- expect(subject).to redirect_to admin_invites_path
- expect(invite.reload).to be_expired
- end
- end
-
- describe 'POST #deactivate_all' do
- before { Fabricate(:invite, expires_at: nil) }
-
- it 'expires all invites, then redirects to admin_invites_path' do
- expect { post :deactivate_all }
- .to change { Invite.exists?(expires_at: nil) }
- .from(true)
- .to(false)
-
- expect(response).to redirect_to admin_invites_path
- end
- end
-end
diff --git a/spec/controllers/admin/tags_controller_spec.rb b/spec/controllers/admin/tags_controller_spec.rb
deleted file mode 100644
index 1df2bc4003..0000000000
--- a/spec/controllers/admin/tags_controller_spec.rb
+++ /dev/null
@@ -1,82 +0,0 @@
-# frozen_string_literal: true
-
-require 'rails_helper'
-
-RSpec.describe Admin::TagsController do
- render_views
-
- before do
- sign_in Fabricate(:user, role: UserRole.find_by(name: 'Admin'))
- end
-
- describe 'GET #index' do
- before do
- Fabricate(:tag)
-
- tag_filter = instance_double(Admin::TagFilter, results: Tag.all)
- allow(Admin::TagFilter).to receive(:new).and_return(tag_filter)
- end
-
- let(:params) { { order: 'newest' } }
-
- it 'returns http success' do
- get :index
-
- expect(response).to have_http_status(200)
- expect(response).to render_template(:index)
-
- expect(Admin::TagFilter)
- .to have_received(:new)
- .with(hash_including(params))
- end
-
- describe 'with filters' do
- let(:params) { { order: 'newest', name: 'test' } }
-
- it 'returns http success' do
- get :index, params: { name: 'test' }
-
- expect(response).to have_http_status(200)
- expect(response).to render_template(:index)
-
- expect(Admin::TagFilter)
- .to have_received(:new)
- .with(hash_including(params))
- end
- end
- end
-
- describe 'GET #show' do
- let!(:tag) { Fabricate(:tag) }
-
- before do
- get :show, params: { id: tag.id }
- end
-
- it 'returns status 200' do
- expect(response).to have_http_status(200)
- end
- end
-
- describe 'PUT #update' do
- let!(:tag) { Fabricate(:tag, listable: false) }
-
- context 'with valid params' do
- it 'updates the tag' do
- put :update, params: { id: tag.id, tag: { listable: '1' } }
-
- expect(response).to redirect_to(admin_tag_path(tag.id))
- expect(tag.reload).to be_listable
- end
- end
-
- context 'with invalid params' do
- it 'does not update the tag' do
- put :update, params: { id: tag.id, tag: { name: 'cant-change-name' } }
-
- expect(response).to have_http_status(200)
- expect(response).to render_template(:show)
- end
- end
- end
-end
diff --git a/spec/controllers/statuses_controller_spec.rb b/spec/controllers/statuses_controller_spec.rb
index d9702251f4..121e4aa6c6 100644
--- a/spec/controllers/statuses_controller_spec.rb
+++ b/spec/controllers/statuses_controller_spec.rb
@@ -736,76 +736,4 @@ RSpec.describe StatusesController do
end
end
end
-
- describe 'GET #embed' do
- let(:account) { Fabricate(:account) }
- let(:status) { Fabricate(:status, account: account) }
-
- context 'when account is suspended' do
- let(:account) { Fabricate(:account, suspended: true) }
-
- before do
- get :embed, params: { account_username: account.username, id: status.id }
- end
-
- it 'returns http gone' do
- expect(response).to have_http_status(410)
- end
- end
-
- context 'when status is a reblog' do
- let(:original_account) { Fabricate(:account, domain: 'example.com') }
- let(:original_status) { Fabricate(:status, account: original_account, url: 'https://example.com/123') }
- let(:status) { Fabricate(:status, account: account, reblog: original_status) }
-
- before do
- get :embed, params: { account_username: status.account.username, id: status.id }
- end
-
- it 'returns http not found' do
- expect(response).to have_http_status(404)
- end
- end
-
- context 'when status is public' do
- before do
- get :embed, params: { account_username: status.account.username, id: status.id }
- end
-
- it 'renders status successfully', :aggregate_failures do
- expect(response)
- .to have_http_status(200)
- .and render_template(:embed)
- expect(response.headers).to include(
- 'Vary' => 'Accept, Accept-Language, Cookie',
- 'Cache-Control' => include('public'),
- 'Link' => include('activity+json')
- )
- end
- end
-
- context 'when status is private' do
- let(:status) { Fabricate(:status, account: account, visibility: :private) }
-
- before do
- get :embed, params: { account_username: status.account.username, id: status.id }
- end
-
- it 'returns http not found' do
- expect(response).to have_http_status(404)
- end
- end
-
- context 'when status is direct' do
- let(:status) { Fabricate(:status, account: account, visibility: :direct) }
-
- before do
- get :embed, params: { account_username: status.account.username, id: status.id }
- end
-
- it 'returns http not found' do
- expect(response).to have_http_status(404)
- end
- end
- end
end
diff --git a/spec/fabricators/ip_block_fabricator.rb b/spec/fabricators/ip_block_fabricator.rb
new file mode 100644
index 0000000000..30c48b90c6
--- /dev/null
+++ b/spec/fabricators/ip_block_fabricator.rb
@@ -0,0 +1,6 @@
+# frozen_string_literal: true
+
+Fabricator(:ip_block) do
+ severity { :sign_up_requires_approval }
+ ip { sequence(:ip) { |n| "10.0.0.#{n}" } }
+end
diff --git a/spec/helpers/formatting_helper_spec.rb b/spec/helpers/formatting_helper_spec.rb
index 136a609b1c..5ff534e4eb 100644
--- a/spec/helpers/formatting_helper_spec.rb
+++ b/spec/helpers/formatting_helper_spec.rb
@@ -6,19 +6,57 @@ RSpec.describe FormattingHelper do
include Devise::Test::ControllerHelpers
describe '#rss_status_content_format' do
- let(:status) { Fabricate(:status, text: 'Hello world<>', spoiler_text: 'This is a spoiler<>', poll: Fabricate(:poll, options: %w(Yes<> No))) }
- let(:html) { helper.rss_status_content_format(status) }
+ subject { helper.rss_status_content_format(status) }
- it 'renders the spoiler text' do
- expect(html).to include('This is a spoiler<>
Hello world<>
') + context 'with a spoiler and an emoji and a poll' do + let(:status) { Fabricate(:status, text: 'Hello :world: <>', spoiler_text: 'This is a spoiler<>', poll: Fabricate(:poll, options: %w(Yes<> No))) } + + before { Fabricate :custom_emoji, shortcode: 'world' } + + it 'renders the formatted elements' do + expect(spoiler_node.css('strong').text) + .to eq('Content warning:') + expect(spoiler_node.text) + .to include('This is a spoiler<>') + expect(content_node.text) + .to eq('Hello <>') + expect(content_node.css('img').first.to_h.symbolize_keys) + .to include( + rel: 'emoji', + title: ':world:' + ) + expect(poll_node.css('radio').first.text) + .to eq('Yes<>') + expect(poll_node.css('radio').first.to_h.symbolize_keys) + .to include( + disabled: 'disabled' + ) + end + + def spoiler_node + parsed_result.css('p').first + end + + def content_node + parsed_result.css('p')[1] + end + + def poll_node + parsed_result.css('p').last + end end - it 'renders the poll' do - expect(html).to include('a text by a nerd who uses an HTML tag in text
', uri: nil) } + let(:status) { Fabricate.build(:status, text: 'a text by a nerd who uses an HTML tag in text
', uri: nil) } it 'returns the raw text' do expect(subject).to eq 'a text by a nerd who uses an HTML tag in text
' @@ -15,10 +15,10 @@ RSpec.describe PlainTextFormatter do end context 'when status is remote' do - let(:remote_account) { Fabricate(:account, domain: 'remote.test', username: 'bob', url: 'https://remote.test/') } + let(:remote_account) { Fabricate.build(:account, domain: 'remote.test', username: 'bob', url: 'https://remote.test/') } context 'when text contains inline HTML tags' do - let(:status) { Fabricate(:status, account: remote_account, text: 'Lorem ipsum') } + let(:status) { Fabricate.build(:status, account: remote_account, text: 'Lorem ipsum') } it 'strips the tags' do expect(subject).to eq 'Lorem ipsum' @@ -26,7 +26,7 @@ RSpec.describe PlainTextFormatter do end context 'when text containstags' do - let(:status) { Fabricate(:status, account: remote_account, text: '
Lorem
ipsum
') } + let(:status) { Fabricate.build(:status, account: remote_account, text: 'Lorem
ipsum
') } it 'inserts a newline' do expect(subject).to eq "Lorem\nipsum" @@ -34,7 +34,7 @@ RSpec.describe PlainTextFormatter do end context 'when text contains a singleLorem 明日 ipsum
') } + let(:status) { Fabricate.build(:status, account: remote_account, text: 'Lorem 明日 ipsum
') } it 'strips the comment' do expect(subject).to eq 'Lorem 明日 (Ashita) ipsum' diff --git a/spec/lib/vacuum/access_tokens_vacuum_spec.rb b/spec/lib/vacuum/access_tokens_vacuum_spec.rb index 54760c41bd..8768f6b2dc 100644 --- a/spec/lib/vacuum/access_tokens_vacuum_spec.rb +++ b/spec/lib/vacuum/access_tokens_vacuum_spec.rb @@ -14,32 +14,24 @@ RSpec.describe Vacuum::AccessTokensVacuum do let!(:expired_access_grant) { Fabricate(:access_grant, expires_in: 59.minutes.to_i, created_at: 1.hour.ago) } let!(:active_access_grant) { Fabricate(:access_grant) } - before do + it 'deletes revoked/expired access tokens and revoked/expired grants, but preserves active tokens/grants' do subject.perform - end - it 'deletes revoked access tokens' do - expect { revoked_access_token.reload }.to raise_error ActiveRecord::RecordNotFound - end + expect { revoked_access_token.reload } + .to raise_error ActiveRecord::RecordNotFound + expect { expired_access_token.reload } + .to raise_error ActiveRecord::RecordNotFound - it 'deletes expired access tokens' do - expect { expired_access_token.reload }.to raise_error ActiveRecord::RecordNotFound - end + expect { revoked_access_grant.reload } + .to raise_error ActiveRecord::RecordNotFound + expect { expired_access_grant.reload } + .to raise_error ActiveRecord::RecordNotFound - it 'deletes revoked access grants' do - expect { revoked_access_grant.reload }.to raise_error ActiveRecord::RecordNotFound - end + expect { active_access_token.reload } + .to_not raise_error - it 'deletes expired access grants' do - expect { expired_access_grant.reload }.to raise_error ActiveRecord::RecordNotFound - end - - it 'does not delete active access tokens' do - expect { active_access_token.reload }.to_not raise_error - end - - it 'does not delete active access grants' do - expect { active_access_grant.reload }.to_not raise_error + expect { active_access_grant.reload } + .to_not raise_error end end end diff --git a/spec/lib/vacuum/backups_vacuum_spec.rb b/spec/lib/vacuum/backups_vacuum_spec.rb index 867dbe4020..4a025352cb 100644 --- a/spec/lib/vacuum/backups_vacuum_spec.rb +++ b/spec/lib/vacuum/backups_vacuum_spec.rb @@ -11,16 +11,13 @@ RSpec.describe Vacuum::BackupsVacuum do let!(:expired_backup) { Fabricate(:backup, created_at: (retention_period + 1.day).ago) } let!(:current_backup) { Fabricate(:backup) } - before do + it 'deletes backups past the retention period but preserves those within the period' do subject.perform - end - it 'deletes backups past the retention period' do - expect { expired_backup.reload }.to raise_error ActiveRecord::RecordNotFound - end - - it 'does not delete backups within the retention period' do - expect { current_backup.reload }.to_not raise_error + expect { expired_backup.reload } + .to raise_error ActiveRecord::RecordNotFound + expect { current_backup.reload } + .to_not raise_error end end end diff --git a/spec/lib/vacuum/feeds_vacuum_spec.rb b/spec/lib/vacuum/feeds_vacuum_spec.rb index ede1e3c360..38459a558f 100644 --- a/spec/lib/vacuum/feeds_vacuum_spec.rb +++ b/spec/lib/vacuum/feeds_vacuum_spec.rb @@ -14,11 +14,11 @@ RSpec.describe Vacuum::FeedsVacuum do redis.zadd(feed_key_for(active_user), 1, 1) redis.zadd(feed_key_for(inactive_user, 'reblogs'), 2, 2) redis.sadd(feed_key_for(inactive_user, 'reblogs:2'), 3) - - subject.perform end it 'clears feeds of inactive users and lists' do + subject.perform + expect(redis.zcard(feed_key_for(inactive_user))).to eq 0 expect(redis.zcard(feed_key_for(active_user))).to eq 1 expect(redis.exists?(feed_key_for(inactive_user, 'reblogs'))).to be false diff --git a/spec/lib/vacuum/media_attachments_vacuum_spec.rb b/spec/lib/vacuum/media_attachments_vacuum_spec.rb index 1039c36cea..f7749038cb 100644 --- a/spec/lib/vacuum/media_attachments_vacuum_spec.rb +++ b/spec/lib/vacuum/media_attachments_vacuum_spec.rb @@ -17,9 +17,9 @@ RSpec.describe Vacuum::MediaAttachmentsVacuum do let!(:old_unattached_media) { Fabricate(:media_attachment, account_id: nil, created_at: 10.days.ago) } let!(:new_unattached_media) { Fabricate(:media_attachment, account_id: nil, created_at: 1.hour.ago) } - before { subject.perform } - it 'handles attachments based on metadata details' do + subject.perform + expect(old_remote_media.reload.file) # Remote and past retention period .to be_blank expect(old_local_media.reload.file) # Local and past retention diff --git a/spec/lib/vacuum/preview_cards_vacuum_spec.rb b/spec/lib/vacuum/preview_cards_vacuum_spec.rb index 9dbdf0bc2f..caeedd3269 100644 --- a/spec/lib/vacuum/preview_cards_vacuum_spec.rb +++ b/spec/lib/vacuum/preview_cards_vacuum_spec.rb @@ -15,24 +15,22 @@ RSpec.describe Vacuum::PreviewCardsVacuum do before do old_preview_card.statuses << Fabricate(:status) new_preview_card.statuses << Fabricate(:status) + end + it 'handles preview card cleanup' do subject.perform - end - it 'deletes cache of preview cards last updated before the retention period' do - expect(old_preview_card.reload.image).to be_blank - end + expect(old_preview_card.reload.image) # last updated before retention period + .to be_blank - it 'does not delete cache of preview cards last updated within the retention period' do - expect(new_preview_card.reload.image).to_not be_blank - end + expect(new_preview_card.reload.image) # last updated within the retention period + .to_not be_blank - it 'does not delete attached preview cards' do - expect(new_preview_card.reload).to be_persisted - end + expect(new_preview_card.reload) # Keep attached preview cards + .to be_persisted - it 'does not delete orphaned preview cards in the retention period' do - expect(orphaned_preview_card.reload).to be_persisted + expect(orphaned_preview_card.reload) # keep orphaned cards in the retention period + .to be_persisted end end end diff --git a/spec/lib/vacuum/statuses_vacuum_spec.rb b/spec/lib/vacuum/statuses_vacuum_spec.rb index d5c0139506..1fff864879 100644 --- a/spec/lib/vacuum/statuses_vacuum_spec.rb +++ b/spec/lib/vacuum/statuses_vacuum_spec.rb @@ -15,24 +15,20 @@ RSpec.describe Vacuum::StatusesVacuum do let!(:local_status_old) { Fabricate(:status, created_at: (retention_period + 2.days).ago) } let!(:local_status_recent) { Fabricate(:status, created_at: (retention_period - 2.days).ago) } - before do + it 'deletes remote statuses past the retention period and keeps others' do subject.perform - end - it 'deletes remote statuses past the retention period' do - expect { remote_status_old.reload }.to raise_error ActiveRecord::RecordNotFound - end + expect { remote_status_old.reload } + .to raise_error ActiveRecord::RecordNotFound - it 'does not delete local statuses past the retention period' do - expect { local_status_old.reload }.to_not raise_error - end + expect { local_status_old.reload } + .to_not raise_error - it 'does not delete remote statuses within the retention period' do - expect { remote_status_recent.reload }.to_not raise_error - end + expect { remote_status_recent.reload } + .to_not raise_error - it 'does not delete local statuses within the retention period' do - expect { local_status_recent.reload }.to_not raise_error + expect { local_status_recent.reload } + .to_not raise_error end end end diff --git a/spec/models/account_statuses_cleanup_policy_spec.rb b/spec/models/account_statuses_cleanup_policy_spec.rb index a08fd723a4..c142a0359a 100644 --- a/spec/models/account_statuses_cleanup_policy_spec.rb +++ b/spec/models/account_statuses_cleanup_policy_spec.rb @@ -16,6 +16,8 @@ RSpec.describe AccountStatusesCleanupPolicy do describe 'save hooks' do context 'when widening a policy' do + subject { account_statuses_cleanup_policy.last_inspected } + let!(:account_statuses_cleanup_policy) do Fabricate(:account_statuses_cleanup_policy, account: account, @@ -33,64 +35,64 @@ RSpec.describe AccountStatusesCleanupPolicy do account_statuses_cleanup_policy.record_last_inspected(42) end - it 'invalidates last_inspected when widened because of keep_direct' do - account_statuses_cleanup_policy.keep_direct = false - account_statuses_cleanup_policy.save - expect(account_statuses_cleanup_policy.last_inspected).to be_nil + context 'when widened because of keep_direct' do + before { account_statuses_cleanup_policy.update(keep_direct: false) } + + it { is_expected.to be_nil } end - it 'invalidates last_inspected when widened because of keep_pinned' do - account_statuses_cleanup_policy.keep_pinned = false - account_statuses_cleanup_policy.save - expect(account_statuses_cleanup_policy.last_inspected).to be_nil + context 'when widened because of keep_pinned' do + before { account_statuses_cleanup_policy.update(keep_pinned: false) } + + it { is_expected.to be_nil } end - it 'invalidates last_inspected when widened because of keep_polls' do - account_statuses_cleanup_policy.keep_polls = false - account_statuses_cleanup_policy.save - expect(account_statuses_cleanup_policy.last_inspected).to be_nil + context 'when widened because of keep_polls' do + before { account_statuses_cleanup_policy.update(keep_polls: false) } + + it { is_expected.to be_nil } end - it 'invalidates last_inspected when widened because of keep_media' do - account_statuses_cleanup_policy.keep_media = false - account_statuses_cleanup_policy.save - expect(account_statuses_cleanup_policy.last_inspected).to be_nil + context 'when widened because of keep_media' do + before { account_statuses_cleanup_policy.update(keep_media: false) } + + it { is_expected.to be_nil } end - it 'invalidates last_inspected when widened because of keep_self_fav' do - account_statuses_cleanup_policy.keep_self_fav = false - account_statuses_cleanup_policy.save - expect(account_statuses_cleanup_policy.last_inspected).to be_nil + context 'when widened because of keep_self_fav' do + before { account_statuses_cleanup_policy.update(keep_self_fav: false) } + + it { is_expected.to be_nil } end - it 'invalidates last_inspected when widened because of keep_self_bookmark' do - account_statuses_cleanup_policy.keep_self_bookmark = false - account_statuses_cleanup_policy.save - expect(account_statuses_cleanup_policy.last_inspected).to be_nil + context 'when widened because of keep_self_bookmark' do + before { account_statuses_cleanup_policy.update(keep_self_bookmark: false) } + + it { is_expected.to be_nil } end - it 'invalidates last_inspected when widened because of higher min_favs' do - account_statuses_cleanup_policy.min_favs = 5 - account_statuses_cleanup_policy.save - expect(account_statuses_cleanup_policy.last_inspected).to be_nil + context 'when widened because of higher min_favs' do + before { account_statuses_cleanup_policy.update(min_favs: 5) } + + it { is_expected.to be_nil } end - it 'invalidates last_inspected when widened because of disabled min_favs' do - account_statuses_cleanup_policy.min_favs = nil - account_statuses_cleanup_policy.save - expect(account_statuses_cleanup_policy.last_inspected).to be_nil + context 'when widened because of disabled min_favs' do + before { account_statuses_cleanup_policy.update(min_favs: nil) } + + it { is_expected.to be_nil } end - it 'invalidates last_inspected when widened because of higher min_reblogs' do - account_statuses_cleanup_policy.min_reblogs = 5 - account_statuses_cleanup_policy.save - expect(account_statuses_cleanup_policy.last_inspected).to be_nil + context 'when widened because of higher min_reblogs' do + before { account_statuses_cleanup_policy.update(min_reblogs: 5) } + + it { is_expected.to be_nil } end - it 'invalidates last_inspected when widened because of disable min_reblogs' do - account_statuses_cleanup_policy.min_reblogs = nil - account_statuses_cleanup_policy.save - expect(account_statuses_cleanup_policy.last_inspected).to be_nil + context 'when widened because of disable min_reblogs' do + before { account_statuses_cleanup_policy.update(min_reblogs: nil) } + + it { is_expected.to be_nil } end end diff --git a/spec/models/block_spec.rb b/spec/models/block_spec.rb index 84f0f318f4..62d7e40e28 100644 --- a/spec/models/block_spec.rb +++ b/spec/models/block_spec.rb @@ -3,11 +3,37 @@ require 'rails_helper' RSpec.describe Block do - describe 'validations' do + describe 'Associations' do it { is_expected.to belong_to(:account).required } it { is_expected.to belong_to(:target_account).required } end + describe '#local?' do + it { is_expected.to_not be_local } + end + + describe 'Callbacks' do + describe 'Setting a URI' do + context 'when URI exists' do + subject { Fabricate.build :block, uri: 'https://uri/value' } + + it 'does not change' do + expect { subject.save } + .to not_change(subject, :uri) + end + end + + context 'when URI is blank' do + subject { Fabricate.build :follow, uri: nil } + + it 'populates the value' do + expect { subject.save } + .to change(subject, :uri).to(be_present) + end + end + end + end + it 'removes blocking cache after creation' do account = Fabricate(:account) target_account = Fabricate(:account) diff --git a/spec/models/domain_block_spec.rb b/spec/models/domain_block_spec.rb index 8278454cd7..14f904ea7f 100644 --- a/spec/models/domain_block_spec.rb +++ b/spec/models/domain_block_spec.rb @@ -3,14 +3,13 @@ require 'rails_helper' RSpec.describe DomainBlock do - describe 'validations' do + describe 'Validations' do it { is_expected.to validate_presence_of(:domain) } - it 'is invalid if the same normalized domain already exists' do - _domain_block = Fabricate(:domain_block, domain: 'にゃん') - domain_block_with_normalized_value = Fabricate.build(:domain_block, domain: 'xn--r9j5b5b') - domain_block_with_normalized_value.valid? - expect(domain_block_with_normalized_value).to model_have_error_on_field(:domain) + context 'when a normalized domain exists' do + before { Fabricate(:domain_block, domain: 'にゃん') } + + it { is_expected.to_not allow_value('xn--r9j5b5b').for(:domain) } end end @@ -105,4 +104,26 @@ RSpec.describe DomainBlock do end end end + + describe '#policies' do + subject { domain_block.policies } + + context 'when severity is suspend' do + let(:domain_block) { Fabricate.build :domain_block, severity: :suspend } + + it { is_expected.to eq(%i(suspend)) } + end + + context 'when severity is noop' do + let(:domain_block) { Fabricate.build :domain_block, severity: :noop, reject_media: true } + + it { is_expected.to eq(%i(reject_media)) } + end + + context 'when severity is silence' do + let(:domain_block) { Fabricate.build :domain_block, severity: :silence, reject_reports: true } + + it { is_expected.to eq(%i(silence reject_reports)) } + end + end end diff --git a/spec/models/notification_policy_spec.rb b/spec/models/notification_policy_spec.rb index 02a582bb08..7d1b494dd5 100644 --- a/spec/models/notification_policy_spec.rb +++ b/spec/models/notification_policy_spec.rb @@ -7,19 +7,25 @@ RSpec.describe NotificationPolicy do subject { Fabricate(:notification_policy) } let(:sender) { Fabricate(:account) } + let(:suspended_sender) { Fabricate(:account) } before do Fabricate.times(2, :notification, account: subject.account, activity: Fabricate(:status, account: sender), filtered: true, type: :mention) Fabricate(:notification_request, account: subject.account, from_account: sender) + + Fabricate(:notification, account: subject.account, activity: Fabricate(:status, account: suspended_sender), filtered: true, type: :mention) + Fabricate(:notification_request, account: subject.account, from_account: suspended_sender) + + suspended_sender.suspend! + subject.summarize! end - it 'sets pending_requests_count' do - expect(subject.pending_requests_count).to eq 1 - end - - it 'sets pending_notifications_count' do - expect(subject.pending_notifications_count).to eq 2 + it 'sets pending_requests_count and pending_notifications_count' do + expect(subject).to have_attributes( + pending_requests_count: 1, + pending_notifications_count: 2 + ) end end end diff --git a/spec/models/poll_spec.rb b/spec/models/poll_spec.rb index 736f3615d0..66f521ab3f 100644 --- a/spec/models/poll_spec.rb +++ b/spec/models/poll_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' RSpec.describe Poll do - describe 'scopes' do + describe 'Scopes' do let(:status) { Fabricate(:status) } let(:attached_poll) { Fabricate(:poll, status: status) } let(:not_attached_poll) do @@ -13,7 +13,7 @@ RSpec.describe Poll do end end - describe 'attached' do + describe '.attached' do it 'finds the correct records' do results = described_class.attached @@ -21,7 +21,7 @@ RSpec.describe Poll do end end - describe 'unattached' do + describe '.unattached' do it 'finds the correct records' do results = described_class.unattached @@ -30,11 +30,23 @@ RSpec.describe Poll do end end - describe 'validations' do - context 'when not valid' do - subject { Fabricate.build(:poll) } + describe '#reset_votes!' do + let(:poll) { Fabricate :poll, cached_tallies: [2, 3], votes_count: 5, voters_count: 5 } + let!(:vote) { Fabricate :poll_vote, poll: } - it { is_expected.to validate_presence_of(:expires_at) } + it 'resets vote data and deletes votes' do + expect { poll.reset_votes! } + .to change(poll, :cached_tallies).to([0, 0]) + .and change(poll, :votes_count).to(0) + .and(change(poll, :voters_count).to(0)) + expect { vote.reload } + .to raise_error(ActiveRecord::RecordNotFound) end end + + describe 'Validations' do + subject { Fabricate.build(:poll) } + + it { is_expected.to validate_presence_of(:expires_at) } + end end diff --git a/spec/models/public_feed_spec.rb b/spec/models/public_feed_spec.rb index 20fcdb0024..5ea58cd16f 100644 --- a/spec/models/public_feed_spec.rb +++ b/spec/models/public_feed_spec.rb @@ -54,24 +54,20 @@ RSpec.describe PublicFeed do context 'without a viewer' do let(:viewer) { nil } - it 'includes remote instances statuses' do - expect(subject).to include(remote_status.id) - end - - it 'includes local statuses' do - expect(subject).to include(local_status.id) + it 'includes remote instances statuses and local statuses' do + expect(subject) + .to include(remote_status.id) + .and include(local_status.id) end end context 'with a viewer' do let(:viewer) { Fabricate(:account, username: 'viewer') } - it 'includes remote instances statuses' do - expect(subject).to include(remote_status.id) - end - - it 'includes local statuses' do - expect(subject).to include(local_status.id) + it 'includes remote instances statuses and local statuses' do + expect(subject) + .to include(remote_status.id) + .and include(local_status.id) end end end diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb index df67c365eb..90f5968438 100644 --- a/spec/models/status_spec.rb +++ b/spec/models/status_spec.rb @@ -472,11 +472,53 @@ RSpec.describe Status do end end - describe 'validation' do - it 'disallow empty uri for remote status' do - alice.update(domain: 'example.com') - status = Fabricate.build(:status, uri: '', account: alice) - expect(status).to model_have_error_on_field(:uri) + describe 'Validations' do + context 'with a remote account' do + subject { Fabricate.build :status, account: remote_account } + + let(:remote_account) { Fabricate :account, domain: 'example.com' } + + it { is_expected.to_not allow_value('').for(:uri) } + end + end + + describe 'Callbacks' do + describe 'Stripping content when required' do + context 'with a remote account' do + subject { Fabricate.build :status, local: false, account:, text: ' text ', spoiler_text: ' spoiler ' } + + let(:account) { Fabricate.build :account, domain: 'host.example' } + + it 'preserves content' do + expect { subject.valid? } + .to not_change(subject, :text) + .and not_change(subject, :spoiler_text) + end + end + + context 'with a local account' do + let(:account) { Fabricate.build :account, domain: nil } + + context 'with populated fields' do + subject { Fabricate.build :status, local: true, account:, text: ' text ', spoiler_text: ' spoiler ' } + + it 'strips content' do + expect { subject.valid? } + .to change(subject, :text).to('text') + .and change(subject, :spoiler_text).to('spoiler') + end + end + + context 'with empty fields' do + subject { Fabricate.build :status, local: true, account:, text: nil, spoiler_text: nil } + + it 'preserves content' do + expect { subject.valid? } + .to not_change(subject, :text) + .and not_change(subject, :spoiler_text) + end + end + end end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index d28e6658f1..4393be5a4e 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -387,23 +387,43 @@ RSpec.describe User do end end - describe 'token_for_app' do + describe '#token_for_app' do let(:user) { Fabricate(:user) } - let(:app) { Fabricate(:application, owner: user) } - it 'returns a token' do - expect(user.token_for_app(app)).to be_a(Doorkeeper::AccessToken) + context 'when user owns app but does not have tokens' do + let(:app) { Fabricate(:application, owner: user) } + + it 'creates and returns a persisted token' do + expect { user.token_for_app(app) } + .to change(Doorkeeper::AccessToken.where(resource_owner_id: user.id, application: app), :count).by(1) + end end - it 'persists a token' do - t = user.token_for_app(app) - expect(user.token_for_app(app)).to eql(t) + context 'when user owns app and already has tokens' do + let(:app) { Fabricate(:application, owner: user) } + let!(:token) { Fabricate :access_token, application: app, resource_owner_id: user.id } + + it 'returns a persisted token' do + expect(user.token_for_app(app)) + .to be_a(Doorkeeper::AccessToken) + .and eq(token) + end end - it 'is nil if user does not own app' do - app.update!(owner: nil) + context 'when user does not own app' do + let(:app) { Fabricate(:application) } - expect(user.token_for_app(app)).to be_nil + it 'returns nil' do + expect(user.token_for_app(app)) + .to be_nil + end + end + + context 'when app is nil' do + it 'returns nil' do + expect(user.token_for_app(nil)) + .to be_nil + end end end diff --git a/spec/policies/account_moderation_note_policy_spec.rb b/spec/policies/account_moderation_note_policy_spec.rb index 8c37acc39f..8b33a71012 100644 --- a/spec/policies/account_moderation_note_policy_spec.rb +++ b/spec/policies/account_moderation_note_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe AccountModerationNotePolicy do subject { described_class } @@ -12,13 +11,13 @@ RSpec.describe AccountModerationNotePolicy do permissions :create? do context 'when staff' do it 'grants to create' do - expect(subject).to permit(admin, described_class) + expect(subject).to permit(admin, AccountModerationNote) end end context 'when not staff' do it 'denies to create' do - expect(subject).to_not permit(john, described_class) + expect(subject).to_not permit(john, AccountModerationNote) end end end diff --git a/spec/policies/account_policy_spec.rb b/spec/policies/account_policy_spec.rb index d7a21d8e39..75724e831b 100644 --- a/spec/policies/account_policy_spec.rb +++ b/spec/policies/account_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe AccountPolicy do subject { described_class } @@ -24,7 +23,7 @@ RSpec.describe AccountPolicy do end end - permissions :show?, :unsilence?, :unsensitive?, :remove_avatar?, :remove_header? do + permissions :show?, :unsilence?, :unsensitive?, :remove_avatar?, :remove_header?, :sensitive?, :warn? do context 'when staff' do it 'permits' do expect(subject).to permit(admin, alice) diff --git a/spec/policies/account_warning_policy_spec.rb b/spec/policies/account_warning_policy_spec.rb new file mode 100644 index 0000000000..9abc9d35d6 --- /dev/null +++ b/spec/policies/account_warning_policy_spec.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe AccountWarningPolicy do + subject { described_class } + + let(:admin) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')).account } + let(:account) { Fabricate(:account) } + + permissions :show? do + context 'with an admin' do + it { is_expected.to permit(admin, AccountWarning.new) } + end + + context 'with a non-admin' do + context 'when account is not target' do + it { is_expected.to_not permit(account, AccountWarning.new) } + end + + context 'when account is target' do + it { is_expected.to permit(account, AccountWarning.new(target_account_id: account.id)) } + end + end + end + + permissions :appeal? do + context 'when account is not target' do + it { is_expected.to_not permit(account, AccountWarning.new) } + end + + context 'when account is target' do + context 'when record is appealable' do + it { is_expected.to permit(account, AccountWarning.new(target_account_id: account.id, created_at: Appeal::MAX_STRIKE_AGE.ago + 1.hour)) } + end + + context 'when record is not appealable' do + it { is_expected.to_not permit(account, AccountWarning.new(target_account_id: account.id, created_at: Appeal::MAX_STRIKE_AGE.ago - 1.hour)) } + end + end + end +end diff --git a/spec/policies/account_warning_preset_policy_spec.rb b/spec/policies/account_warning_preset_policy_spec.rb index 53e224f19f..33f2fb1187 100644 --- a/spec/policies/account_warning_preset_policy_spec.rb +++ b/spec/policies/account_warning_preset_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe AccountWarningPresetPolicy do let(:policy) { described_class } @@ -11,13 +10,13 @@ RSpec.describe AccountWarningPresetPolicy do permissions :index?, :create?, :update?, :destroy? do context 'with an admin' do it 'permits' do - expect(policy).to permit(admin, Tag) + expect(policy).to permit(admin, AccountWarningPreset) end end context 'with a non-admin' do it 'denies' do - expect(policy).to_not permit(john, Tag) + expect(policy).to_not permit(john, AccountWarningPreset) end end end diff --git a/spec/policies/admin/status_policy_spec.rb b/spec/policies/admin/status_policy_spec.rb index 07af425516..4df29393e3 100644 --- a/spec/policies/admin/status_policy_spec.rb +++ b/spec/policies/admin/status_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe Admin::StatusPolicy do let(:policy) { described_class } @@ -13,13 +12,13 @@ RSpec.describe Admin::StatusPolicy do permissions :index?, :update?, :review?, :destroy? do context 'with an admin' do it 'permits' do - expect(policy).to permit(admin, Tag) + expect(policy).to permit(admin, Status) end end context 'with a non-admin' do it 'denies' do - expect(policy).to_not permit(john, Tag) + expect(policy).to_not permit(john, Status) end end end diff --git a/spec/policies/announcement_policy_spec.rb b/spec/policies/announcement_policy_spec.rb index 503ffca6dc..ab0c1dbaf5 100644 --- a/spec/policies/announcement_policy_spec.rb +++ b/spec/policies/announcement_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe AnnouncementPolicy do let(:policy) { described_class } @@ -11,13 +10,13 @@ RSpec.describe AnnouncementPolicy do permissions :index?, :create?, :update?, :destroy? do context 'with an admin' do it 'permits' do - expect(policy).to permit(admin, Tag) + expect(policy).to permit(admin, Announcement) end end context 'with a non-admin' do it 'denies' do - expect(policy).to_not permit(john, Tag) + expect(policy).to_not permit(john, Announcement) end end end diff --git a/spec/policies/appeal_policy_spec.rb b/spec/policies/appeal_policy_spec.rb index 1bf8ce0a0d..cdb93bf56c 100644 --- a/spec/policies/appeal_policy_spec.rb +++ b/spec/policies/appeal_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe AppealPolicy do let(:policy) { described_class } @@ -12,18 +11,18 @@ RSpec.describe AppealPolicy do permissions :index? do context 'with an admin' do it 'permits' do - expect(policy).to permit(admin, Tag) + expect(policy).to permit(admin, Appeal) end end context 'with a non-admin' do it 'denies' do - expect(policy).to_not permit(john, Tag) + expect(policy).to_not permit(john, Appeal) end end end - permissions :reject? do + permissions :reject?, :approve? do context 'with an admin' do context 'with a pending appeal' do before { allow(appeal).to receive(:pending?).and_return(true) } diff --git a/spec/policies/audit_log_policy_spec.rb b/spec/policies/audit_log_policy_spec.rb new file mode 100644 index 0000000000..d9d9359433 --- /dev/null +++ b/spec/policies/audit_log_policy_spec.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe AuditLogPolicy do + subject { described_class } + + let(:admin) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')).account } + let(:account) { Fabricate(:account) } + + permissions :index? do + context 'with an admin' do + it { is_expected.to permit(admin, nil) } + end + + context 'with a non-admin' do + it { is_expected.to_not permit(account, nil) } + end + end +end diff --git a/spec/policies/backup_policy_spec.rb b/spec/policies/backup_policy_spec.rb index 28cb65d789..031021d91d 100644 --- a/spec/policies/backup_policy_spec.rb +++ b/spec/policies/backup_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe BackupPolicy do subject { described_class } diff --git a/spec/policies/canonical_email_block_policy_spec.rb b/spec/policies/canonical_email_block_policy_spec.rb index f5029d9e6b..b253b439a6 100644 --- a/spec/policies/canonical_email_block_policy_spec.rb +++ b/spec/policies/canonical_email_block_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe CanonicalEmailBlockPolicy do let(:policy) { described_class } @@ -11,13 +10,13 @@ RSpec.describe CanonicalEmailBlockPolicy do permissions :index?, :show?, :test?, :create?, :destroy? do context 'with an admin' do it 'permits' do - expect(policy).to permit(admin, Tag) + expect(policy).to permit(admin, CanonicalEmailBlock) end end context 'with a non-admin' do it 'denies' do - expect(policy).to_not permit(john, Tag) + expect(policy).to_not permit(john, CanonicalEmailBlock) end end end diff --git a/spec/policies/custom_emoji_policy_spec.rb b/spec/policies/custom_emoji_policy_spec.rb index cb869c7d9a..189885938c 100644 --- a/spec/policies/custom_emoji_policy_spec.rb +++ b/spec/policies/custom_emoji_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe CustomEmojiPolicy do subject { described_class } diff --git a/spec/policies/dashboard_policy_spec.rb b/spec/policies/dashboard_policy_spec.rb new file mode 100644 index 0000000000..90c71db381 --- /dev/null +++ b/spec/policies/dashboard_policy_spec.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe DashboardPolicy do + subject { described_class } + + let(:admin) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')).account } + let(:account) { Fabricate(:account) } + + permissions :index? do + context 'with an admin' do + it { is_expected.to permit(admin, nil) } + end + + context 'with a non-admin' do + it { is_expected.to_not permit(account, nil) } + end + end +end diff --git a/spec/policies/delivery_policy_spec.rb b/spec/policies/delivery_policy_spec.rb index bb82389eec..8bc200159a 100644 --- a/spec/policies/delivery_policy_spec.rb +++ b/spec/policies/delivery_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe DeliveryPolicy do let(:policy) { described_class } @@ -11,13 +10,13 @@ RSpec.describe DeliveryPolicy do permissions :clear_delivery_errors?, :restart_delivery?, :stop_delivery? do context 'with an admin' do it 'permits' do - expect(policy).to permit(admin, Tag) + expect(policy).to permit(admin, nil) end end context 'with a non-admin' do it 'denies' do - expect(policy).to_not permit(john, Tag) + expect(policy).to_not permit(john, nil) end end end diff --git a/spec/policies/domain_allow_policy_spec.rb b/spec/policies/domain_allow_policy_spec.rb new file mode 100644 index 0000000000..1d285065b8 --- /dev/null +++ b/spec/policies/domain_allow_policy_spec.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe DomainAllowPolicy do + subject { described_class } + + let(:admin) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')).account } + let(:john) { Fabricate(:account) } + + permissions :index?, :show?, :create?, :destroy? do + context 'when admin' do + it 'permits' do + expect(subject).to permit(admin, DomainAllow) + end + end + + context 'when not admin' do + it 'denies' do + expect(subject).to_not permit(john, DomainAllow) + end + end + end +end diff --git a/spec/policies/domain_block_policy_spec.rb b/spec/policies/domain_block_policy_spec.rb index 4c89f3f374..7c77d1870d 100644 --- a/spec/policies/domain_block_policy_spec.rb +++ b/spec/policies/domain_block_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe DomainBlockPolicy do subject { described_class } @@ -9,7 +8,7 @@ RSpec.describe DomainBlockPolicy do let(:admin) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')).account } let(:john) { Fabricate(:account) } - permissions :index?, :show?, :create?, :destroy? do + permissions :index?, :show?, :create?, :destroy?, :update? do context 'when admin' do it 'permits' do expect(subject).to permit(admin, DomainBlock) diff --git a/spec/policies/email_domain_block_policy_spec.rb b/spec/policies/email_domain_block_policy_spec.rb index 7ecff4be49..e98d65a3c7 100644 --- a/spec/policies/email_domain_block_policy_spec.rb +++ b/spec/policies/email_domain_block_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe EmailDomainBlockPolicy do subject { described_class } diff --git a/spec/policies/follow_recommendation_policy_spec.rb b/spec/policies/follow_recommendation_policy_spec.rb index ae74d5c3a8..665ed9b059 100644 --- a/spec/policies/follow_recommendation_policy_spec.rb +++ b/spec/policies/follow_recommendation_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe FollowRecommendationPolicy do let(:policy) { described_class } @@ -11,13 +10,13 @@ RSpec.describe FollowRecommendationPolicy do permissions :show?, :suppress?, :unsuppress? do context 'with an admin' do it 'permits' do - expect(policy).to permit(admin, Tag) + expect(policy).to permit(admin, FollowRecommendation) end end context 'with a non-admin' do it 'denies' do - expect(policy).to_not permit(john, Tag) + expect(policy).to_not permit(john, FollowRecommendation) end end end diff --git a/spec/policies/instance_policy_spec.rb b/spec/policies/instance_policy_spec.rb index a0d9a008b7..6cdc738022 100644 --- a/spec/policies/instance_policy_spec.rb +++ b/spec/policies/instance_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe InstancePolicy do subject { described_class } diff --git a/spec/policies/invite_policy_spec.rb b/spec/policies/invite_policy_spec.rb index cbe3735d80..3717a44999 100644 --- a/spec/policies/invite_policy_spec.rb +++ b/spec/policies/invite_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe InvitePolicy do subject { described_class } diff --git a/spec/policies/ip_block_policy_spec.rb b/spec/policies/ip_block_policy_spec.rb index 97bc239e9a..33ea342c10 100644 --- a/spec/policies/ip_block_policy_spec.rb +++ b/spec/policies/ip_block_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe IpBlockPolicy do let(:policy) { described_class } @@ -11,13 +10,13 @@ RSpec.describe IpBlockPolicy do permissions :index?, :show?, :create?, :update?, :destroy? do context 'with an admin' do it 'permits' do - expect(policy).to permit(admin, Tag) + expect(policy).to permit(admin, IpBlock) end end context 'with a non-admin' do it 'denies' do - expect(policy).to_not permit(john, Tag) + expect(policy).to_not permit(john, IpBlock) end end end diff --git a/spec/policies/poll_policy_spec.rb b/spec/policies/poll_policy_spec.rb new file mode 100644 index 0000000000..aa1701cb06 --- /dev/null +++ b/spec/policies/poll_policy_spec.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe PollPolicy do + subject { described_class } + + let(:account) { Fabricate(:account) } + let(:poll) { Fabricate :poll } + + permissions :vote? do + context 'when account cannot view status' do + before { poll.status.update(visibility: :private) } + + it { is_expected.to_not permit(account, poll) } + end + + context 'when account can view status' do + context 'when accounts do not block each other' do + it { is_expected.to permit(account, poll) } + end + + context 'when view blocks poll creator' do + before { Fabricate :block, account: account, target_account: poll.account } + + it { is_expected.to_not permit(account, poll) } + end + + context 'when poll creator blocks viewer' do + before { Fabricate :block, account: poll.account, target_account: account } + + it { is_expected.to_not permit(account, poll) } + end + end + end +end diff --git a/spec/policies/preview_card_policy_spec.rb b/spec/policies/preview_card_policy_spec.rb index a1944303e1..d02a6016cd 100644 --- a/spec/policies/preview_card_policy_spec.rb +++ b/spec/policies/preview_card_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe PreviewCardPolicy do let(:policy) { described_class } @@ -11,13 +10,13 @@ RSpec.describe PreviewCardPolicy do permissions :index?, :review? do context 'with an admin' do it 'permits' do - expect(policy).to permit(admin, Tag) + expect(policy).to permit(admin, PreviewCard) end end context 'with a non-admin' do it 'denies' do - expect(policy).to_not permit(john, Tag) + expect(policy).to_not permit(john, PreviewCard) end end end diff --git a/spec/policies/preview_card_provider_policy_spec.rb b/spec/policies/preview_card_provider_policy_spec.rb index 676039a1b7..5e25b364a4 100644 --- a/spec/policies/preview_card_provider_policy_spec.rb +++ b/spec/policies/preview_card_provider_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe PreviewCardProviderPolicy do let(:policy) { described_class } @@ -11,13 +10,13 @@ RSpec.describe PreviewCardProviderPolicy do permissions :index?, :review? do context 'with an admin' do it 'permits' do - expect(policy).to permit(admin, Tag) + expect(policy).to permit(admin, PreviewCardProvider) end end context 'with a non-admin' do it 'denies' do - expect(policy).to_not permit(john, Tag) + expect(policy).to_not permit(john, PreviewCardProvider) end end end diff --git a/spec/policies/relay_policy_spec.rb b/spec/policies/relay_policy_spec.rb index 29ba02c26a..5983b2d2ff 100644 --- a/spec/policies/relay_policy_spec.rb +++ b/spec/policies/relay_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe RelayPolicy do subject { described_class } diff --git a/spec/policies/report_note_policy_spec.rb b/spec/policies/report_note_policy_spec.rb index b40a878887..02317f763a 100644 --- a/spec/policies/report_note_policy_spec.rb +++ b/spec/policies/report_note_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe ReportNotePolicy do subject { described_class } diff --git a/spec/policies/report_policy_spec.rb b/spec/policies/report_policy_spec.rb index 4fc4178075..67f40b5188 100644 --- a/spec/policies/report_policy_spec.rb +++ b/spec/policies/report_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe ReportPolicy do subject { described_class } diff --git a/spec/policies/rule_policy_spec.rb b/spec/policies/rule_policy_spec.rb index 5d435e38c1..3086f30446 100644 --- a/spec/policies/rule_policy_spec.rb +++ b/spec/policies/rule_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe RulePolicy do let(:policy) { described_class } @@ -11,13 +10,13 @@ RSpec.describe RulePolicy do permissions :index?, :create?, :update?, :destroy? do context 'with an admin' do it 'permits' do - expect(policy).to permit(admin, Tag) + expect(policy).to permit(admin, Rule) end end context 'with a non-admin' do it 'denies' do - expect(policy).to_not permit(john, Tag) + expect(policy).to_not permit(john, Rule) end end end diff --git a/spec/policies/settings_policy_spec.rb b/spec/policies/settings_policy_spec.rb index 4a99314905..48821c706a 100644 --- a/spec/policies/settings_policy_spec.rb +++ b/spec/policies/settings_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe SettingsPolicy do subject { described_class } diff --git a/spec/policies/software_update_policy_spec.rb b/spec/policies/software_update_policy_spec.rb index e19ba61612..2bda84cce9 100644 --- a/spec/policies/software_update_policy_spec.rb +++ b/spec/policies/software_update_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe SoftwareUpdatePolicy do subject { described_class } diff --git a/spec/policies/status_policy_spec.rb b/spec/policies/status_policy_spec.rb index 36ac8d8027..538742610c 100644 --- a/spec/policies/status_policy_spec.rb +++ b/spec/policies/status_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe StatusPolicy, type: :model do subject { described_class } diff --git a/spec/policies/tag_policy_spec.rb b/spec/policies/tag_policy_spec.rb index 35da3cc62a..23166e4669 100644 --- a/spec/policies/tag_policy_spec.rb +++ b/spec/policies/tag_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe TagPolicy do subject { described_class } diff --git a/spec/policies/user_policy_spec.rb b/spec/policies/user_policy_spec.rb index 7854547d26..11a166a24e 100644 --- a/spec/policies/user_policy_spec.rb +++ b/spec/policies/user_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe UserPolicy do subject { described_class } @@ -112,4 +111,42 @@ RSpec.describe UserPolicy do end end end + + permissions :approve?, :reject? do + context 'when admin' do + context 'when user is approved' do + it { is_expected.to_not permit(admin, User.new(approved: true)) } + end + + context 'when user is not approved' do + it { is_expected.to permit(admin, User.new(approved: false)) } + end + end + + context 'when not admin' do + it { is_expected.to_not permit(john, User.new) } + end + end + + permissions :change_role? do + context 'when not admin' do + it { is_expected.to_not permit(john, User.new) } + end + + context 'when admin' do + let(:user) { User.new(role: role) } + + context 'when role of admin overrides user role' do + let(:role) { UserRole.new(position: admin.user.role.position - 10, id: 123) } + + it { is_expected.to permit(admin, user) } + end + + context 'when role of admin does not override user role' do + let(:role) { UserRole.new(position: admin.user.role.position + 10, id: 123) } + + it { is_expected.to_not permit(admin, user) } + end + end + end end diff --git a/spec/policies/user_role_policy_spec.rb b/spec/policies/user_role_policy_spec.rb new file mode 100644 index 0000000000..c48b345d68 --- /dev/null +++ b/spec/policies/user_role_policy_spec.rb @@ -0,0 +1,56 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe UserRolePolicy do + subject { described_class } + + let(:admin) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')).account } + let(:account) { Fabricate(:account) } + + permissions :index?, :create? do + context 'when admin' do + it { is_expected.to permit(admin, UserRole.new) } + end + + context 'when not admin' do + it { is_expected.to_not permit(account, UserRole.new) } + end + end + + permissions :update? do + context 'when admin' do + context 'when role of admin overrides relevant role' do + it { is_expected.to permit(admin, UserRole.new(position: admin.user.role.position - 10, id: 123)) } + end + + context 'when role of admin does not override relevant role' do + it { is_expected.to_not permit(admin, UserRole.new(position: admin.user.role.position + 10, id: 123)) } + end + end + + context 'when not admin' do + it { is_expected.to_not permit(account, UserRole.new) } + end + end + + permissions :destroy? do + context 'when admin' do + context 'when role of admin overrides relevant role' do + it { is_expected.to permit(admin, UserRole.new(position: admin.user.role.position - 10)) } + end + + context 'when role of admin does not override relevant role' do + it { is_expected.to_not permit(admin, UserRole.new(position: admin.user.role.position + 10)) } + end + + context 'when everyone role' do + it { is_expected.to_not permit(admin, UserRole.everyone) } + end + end + + context 'when not admin' do + it { is_expected.to_not permit(account, UserRole.new) } + end + end +end diff --git a/spec/policies/webhook_policy_spec.rb b/spec/policies/webhook_policy_spec.rb index 96aaae2c30..9899235d83 100644 --- a/spec/policies/webhook_policy_spec.rb +++ b/spec/policies/webhook_policy_spec.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rails_helper' -require 'pundit/rspec' RSpec.describe WebhookPolicy do let(:policy) { described_class } diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 84cee0974f..91a2e21bbb 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -43,6 +43,7 @@ require 'paperclip/matchers' require 'capybara/rspec' require 'chewy/rspec' require 'email_spec/rspec' +require 'pundit/rspec' require 'test_prof/recipes/rspec/before_all' Rails.root.glob('spec/support/**/*.rb').each { |f| require f } diff --git a/spec/requests/api/v1/accounts_spec.rb b/spec/requests/api/v1/accounts_spec.rb index 45e66f0744..16010ae2e7 100644 --- a/spec/requests/api/v1/accounts_spec.rb +++ b/spec/requests/api/v1/accounts_spec.rb @@ -163,6 +163,26 @@ RSpec.describe '/api/v1/accounts' do end end + context 'when user tries to follow their own account' do + subject do + post "/api/v1/accounts/#{other_account.id}/follow", headers: headers + end + + let(:locked) { false } + let(:other_account) { user.account } + + it 'returns http forbidden and error message' do + subject + + error_msg = I18n.t('accounts.self_follow_error') + + expect(response).to have_http_status(403) + expect(response.parsed_body[:error]).to eq(error_msg) + end + + it_behaves_like 'forbidden for wrong scope', 'read:accounts' + end + context 'when modifying follow options' do let(:locked) { false } diff --git a/spec/requests/statuses/embed_spec.rb b/spec/requests/statuses/embed_spec.rb new file mode 100644 index 0000000000..33c7ea192c --- /dev/null +++ b/spec/requests/statuses/embed_spec.rb @@ -0,0 +1,74 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Status embed' do + describe 'GET /users/:account_username/statuses/:id/embed' do + subject { get "/users/#{account.username}/statuses/#{status.id}/embed" } + + let(:account) { Fabricate(:account) } + let(:status) { Fabricate(:status, account: account) } + + context 'when account is suspended' do + let(:account) { Fabricate(:account, suspended: true) } + + it 'returns http gone' do + subject + + expect(response) + .to have_http_status(410) + end + end + + context 'when status is a reblog' do + let(:original_account) { Fabricate(:account, domain: 'example.com') } + let(:original_status) { Fabricate(:status, account: original_account, url: 'https://example.com/123') } + let(:status) { Fabricate(:status, account: account, reblog: original_status) } + + it 'returns http not found' do + subject + + expect(response) + .to have_http_status(404) + end + end + + context 'when status is public' do + it 'renders status successfully', :aggregate_failures do + subject + + expect(response) + .to have_http_status(200) + expect(response.parsed_body.at('body.embed')) + .to be_present + expect(response.headers).to include( + 'Vary' => 'Accept, Accept-Language, Cookie', + 'Cache-Control' => include('public'), + 'Link' => include('activity+json') + ) + end + end + + context 'when status is private' do + let(:status) { Fabricate(:status, account: account, visibility: :private) } + + it 'returns http not found' do + subject + + expect(response) + .to have_http_status(404) + end + end + + context 'when status is direct' do + let(:status) { Fabricate(:status, account: account, visibility: :direct) } + + it 'returns http not found' do + subject + + expect(response) + .to have_http_status(404) + end + end + end +end diff --git a/spec/serializers/activitypub/note_serializer_spec.rb b/spec/serializers/activitypub/note_serializer_spec.rb index 285b241ee2..a6976193b2 100644 --- a/spec/serializers/activitypub/note_serializer_spec.rb +++ b/spec/serializers/activitypub/note_serializer_spec.rb @@ -14,7 +14,7 @@ RSpec.describe ActivityPub::NoteSerializer do let!(:reply_by_account_third) { Fabricate(:status, account: account, thread: parent, visibility: :public) } let!(:reply_by_account_visibility_direct) { Fabricate(:status, account: account, thread: parent, visibility: :direct) } - it 'has the expected shape' do + it 'has the expected shape and replies collection' do expect(subject).to include({ '@context' => include('https://www.w3.org/ns/activitystreams'), 'type' => 'Note', @@ -22,26 +22,23 @@ RSpec.describe ActivityPub::NoteSerializer do 'contentMap' => include({ 'zh-TW' => a_kind_of(String), }), + 'replies' => replies_collection_values, }) end - it 'has a replies collection' do - expect(subject['replies']['type']).to eql('Collection') + def replies_collection_values + include( + 'type' => eql('Collection'), + 'first' => include( + 'type' => eql('CollectionPage'), + 'items' => reply_items + ) + ) end - it 'has a replies collection with a first Page' do - expect(subject['replies']['first']['type']).to eql('CollectionPage') - end - - it 'includes public self-replies in its replies collection' do - expect(subject['replies']['first']['items']).to include(reply_by_account_first.uri, reply_by_account_next.uri, reply_by_account_third.uri) - end - - it 'does not include replies from others in its replies collection' do - expect(subject['replies']['first']['items']).to_not include(reply_by_other_first.uri) - end - - it 'does not include replies with direct visibility in its replies collection' do - expect(subject['replies']['first']['items']).to_not include(reply_by_account_visibility_direct.uri) + def reply_items + include(reply_by_account_first.uri, reply_by_account_next.uri, reply_by_account_third.uri) # Public self replies + .and(not_include(reply_by_other_first.uri)) # Replies from others + .and(not_include(reply_by_account_visibility_direct.uri)) # Replies with direct visibility end end diff --git a/spec/services/translate_status_service_spec.rb b/spec/services/translate_status_service_spec.rb index 79c661c2d5..fcece41bdc 100644 --- a/spec/services/translate_status_service_spec.rb +++ b/spec/services/translate_status_service_spec.rb @@ -18,7 +18,7 @@ RSpec.describe TranslateStatusService do describe '#call' do before do translation_service = TranslationService.new - allow(translation_service).to receive(:languages).and_return({ 'en' => ['es'] }) + allow(translation_service).to receive(:languages).and_return({ 'en' => ['es', 'es-MX'] }) allow(translation_service).to receive(:translate) do |texts| texts.map do |text| TranslationService::Translation.new( @@ -37,6 +37,7 @@ RSpec.describe TranslateStatusService do .to have_attributes( content: 'Hola
', detected_source_language: 'en', + language: 'es', provider: 'Dummy', status: status ) @@ -101,6 +102,16 @@ RSpec.describe TranslateStatusService do expect(media_attachment.description).to eq 'Hola & :highfive:' end end + + describe 'target language is regional' do + it 'uses regional variant' do + expect(service.call(status, nil, 'es-MX').language).to eq 'es-MX' + end + + it 'uses parent locale for unsupported regional variant' do + expect(service.call(status, nil, 'es-XX').language).to eq 'es' + end + end end describe '#source_texts' do diff --git a/spec/system/admin/invites_spec.rb b/spec/system/admin/invites_spec.rb new file mode 100644 index 0000000000..f2cee626c6 --- /dev/null +++ b/spec/system/admin/invites_spec.rb @@ -0,0 +1,63 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Admin Invites' do + describe 'Invite interaction' do + let!(:invite) { Fabricate(:invite, expires_at: nil) } + + let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) } + + before { sign_in user } + + it 'allows invite listing and creation' do + visit admin_invites_path + + expect(page) + .to have_title(I18n.t('admin.invites.title')) + for_invite(invite) do + expect(find('input').value) + .to include(invite.code) + end + + select I18n.t('invites.max_uses', count: 10), from: max_use_field + + expect { generate_invite } + .to change(Invite, :count).by(1) + expect(user.invites.last) + .to have_attributes(max_uses: 10) + end + + it 'allows invite expiration' do + visit admin_invites_path + + for_invite(invite) do + expect { expire_invite } + .to change { invite.reload.expired? }.from(false).to(true) + end + end + + it 'allows invite deactivation' do + visit admin_invites_path + + expect { click_on I18n.t('admin.invites.deactivate_all') } + .to change { Invite.exists?(expires_at: nil) }.from(true).to(false) + end + + def for_invite(invite, &block) + within("#invite_#{invite.id}", &block) + end + + def expire_invite + click_on I18n.t('invites.delete') + end + + def generate_invite + click_on I18n.t('invites.generate') + end + + def max_use_field + I18n.t('simple_form.labels.defaults.max_uses') + end + end +end diff --git a/spec/system/admin/reset_spec.rb b/spec/system/admin/reset_spec.rb index 1e787ea110..d0f70a93f0 100644 --- a/spec/system/admin/reset_spec.rb +++ b/spec/system/admin/reset_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' RSpec.describe 'Admin::Reset' do - it 'Resets password for account user' do + it 'Resets password for account user', :inline_jobs do account = Fabricate :account sign_in admin_user visit admin_account_path(account.id) diff --git a/spec/system/admin/tags_spec.rb b/spec/system/admin/tags_spec.rb new file mode 100644 index 0000000000..a3eca80d13 --- /dev/null +++ b/spec/system/admin/tags_spec.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Admin Tags' do + describe 'Tag interaction' do + let!(:tag) { Fabricate(:tag, name: 'test') } + + before { sign_in Fabricate(:user, role: UserRole.find_by(name: 'Admin')) } + + it 'allows tags listing and editing' do + visit admin_tags_path + + expect(page) + .to have_title(I18n.t('admin.tags.title')) + + click_on '#test' + + fill_in display_name_field, with: 'NewTagName' + expect { click_on submit_button } + .to_not(change { tag.reload.display_name }) + expect(page) + .to have_content(match_error_text) + + fill_in display_name_field, with: 'TEST' + expect { click_on submit_button } + .to(change { tag.reload.display_name }.to('TEST')) + end + + def display_name_field + I18n.t('simple_form.labels.defaults.display_name') + end + + def match_error_text + I18n.t('tags.does_not_match_previous_name') + end + end +end diff --git a/spec/system/oauth_spec.rb b/spec/system/oauth_spec.rb index 64ac75879e..14ffc163f0 100644 --- a/spec/system/oauth_spec.rb +++ b/spec/system/oauth_spec.rb @@ -24,28 +24,28 @@ RSpec.describe 'Using OAuth from an external app' do subject # It presents the user with an authorization page - expect(page).to have_content(I18n.t('doorkeeper.authorizations.buttons.authorize')) - - # Upon authorizing, it redirects to the apps' callback URL - click_on I18n.t('doorkeeper.authorizations.buttons.authorize') - expect(page).to have_current_path(/\A#{client_app.redirect_uri}/, url: true) + expect(page).to have_content(oauth_authorize_text) # It grants the app access to the account - expect(Doorkeeper::AccessGrant.exists?(application: client_app, resource_owner_id: user.id)).to be true + expect { click_on oauth_authorize_text } + .to change { user_has_grant_with_client_app? }.to(true) + + # Upon authorizing, it redirects to the apps' callback URL + expect(page).to redirect_to_callback_url end it 'when rejecting the authorization request' do subject # It presents the user with an authorization page - expect(page).to have_content(I18n.t('doorkeeper.authorizations.buttons.deny')) - - # Upon denying, it redirects to the apps' callback URL - click_on I18n.t('doorkeeper.authorizations.buttons.deny') - expect(page).to have_current_path(/\A#{client_app.redirect_uri}/, url: true) + expect(page).to have_content(oauth_deny_text) # It does not grant the app access to the account - expect(Doorkeeper::AccessGrant.exists?(application: client_app, resource_owner_id: user.id)).to be false + expect { click_on oauth_deny_text } + .to_not change { user_has_grant_with_client_app? }.from(false) + + # Upon denying, it redirects to the apps' callback URL + expect(page).to redirect_to_callback_url end # The tests in this context ensures that requests without PKCE parameters @@ -133,7 +133,6 @@ RSpec.describe 'Using OAuth from an external app' do end it 'when accepting the authorization request' do - params = { client_id: client_app.uid, response_type: 'code', redirect_uri: client_app.redirect_uri, scope: 'read' } visit "/oauth/authorize?#{params.to_query}" # It presents the user with a log-in page @@ -145,18 +144,17 @@ RSpec.describe 'Using OAuth from an external app' do # Logging in redirects to an authorization page fill_in_auth_details(email, password) - expect(page).to have_content(I18n.t('doorkeeper.authorizations.buttons.authorize')) - - # Upon authorizing, it redirects to the apps' callback URL - click_on I18n.t('doorkeeper.authorizations.buttons.authorize') - expect(page).to have_current_path(/\A#{client_app.redirect_uri}/, url: true) + expect(page).to have_content(oauth_authorize_text) # It grants the app access to the account - expect(Doorkeeper::AccessGrant.exists?(application: client_app, resource_owner_id: user.id)).to be true + expect { click_on oauth_authorize_text } + .to change { user_has_grant_with_client_app? }.to(true) + + # Upon authorizing, it redirects to the apps' callback URL + expect(page).to redirect_to_callback_url end it 'when rejecting the authorization request' do - params = { client_id: client_app.uid, response_type: 'code', redirect_uri: client_app.redirect_uri, scope: 'read' } visit "/oauth/authorize?#{params.to_query}" # It presents the user with a log-in page @@ -168,21 +166,20 @@ RSpec.describe 'Using OAuth from an external app' do # Logging in redirects to an authorization page fill_in_auth_details(email, password) - expect(page).to have_content(I18n.t('doorkeeper.authorizations.buttons.authorize')) - - # Upon denying, it redirects to the apps' callback URL - click_on I18n.t('doorkeeper.authorizations.buttons.deny') - expect(page).to have_current_path(/\A#{client_app.redirect_uri}/, url: true) + expect(page).to have_content(oauth_authorize_text) # It does not grant the app access to the account - expect(Doorkeeper::AccessGrant.exists?(application: client_app, resource_owner_id: user.id)).to be false + expect { click_on oauth_deny_text } + .to_not change { user_has_grant_with_client_app? }.from(false) + + # Upon denying, it redirects to the apps' callback URL + expect(page).to redirect_to_callback_url end context 'when the user has set up TOTP' do let(:user) { Fabricate(:user, email: email, password: password, otp_required_for_login: true, otp_secret: User.generate_otp_secret) } it 'when accepting the authorization request' do - params = { client_id: client_app.uid, response_type: 'code', redirect_uri: client_app.redirect_uri, scope: 'read' } visit "/oauth/authorize?#{params.to_query}" # It presents the user with a log-in page @@ -202,18 +199,17 @@ RSpec.describe 'Using OAuth from an external app' do # Filling in the correct TOTP code redirects to an app authorization page fill_in_otp_details(user.current_otp) - expect(page).to have_content(I18n.t('doorkeeper.authorizations.buttons.authorize')) - - # Upon authorizing, it redirects to the apps' callback URL - click_on I18n.t('doorkeeper.authorizations.buttons.authorize') - expect(page).to have_current_path(/\A#{client_app.redirect_uri}/, url: true) + expect(page).to have_content(oauth_authorize_text) # It grants the app access to the account - expect(Doorkeeper::AccessGrant.exists?(application: client_app, resource_owner_id: user.id)).to be true + expect { click_on oauth_authorize_text } + .to change { user_has_grant_with_client_app? }.to(true) + + # Upon authorizing, it redirects to the apps' callback URL + expect(page).to redirect_to_callback_url end it 'when rejecting the authorization request' do - params = { client_id: client_app.uid, response_type: 'code', redirect_uri: client_app.redirect_uri, scope: 'read' } visit "/oauth/authorize?#{params.to_query}" # It presents the user with a log-in page @@ -233,14 +229,14 @@ RSpec.describe 'Using OAuth from an external app' do # Filling in the correct TOTP code redirects to an app authorization page fill_in_otp_details(user.current_otp) - expect(page).to have_content(I18n.t('doorkeeper.authorizations.buttons.authorize')) - - # Upon denying, it redirects to the apps' callback URL - click_on I18n.t('doorkeeper.authorizations.buttons.deny') - expect(page).to have_current_path(/\A#{client_app.redirect_uri}/, url: true) + expect(page).to have_content(oauth_authorize_text) # It does not grant the app access to the account - expect(Doorkeeper::AccessGrant.exists?(application: client_app, resource_owner_id: user.id)).to be false + expect { click_on oauth_deny_text } + .to_not change { user_has_grant_with_client_app? }.from(false) + + # Upon denying, it redirects to the apps' callback URL + expect(page).to redirect_to_callback_url end end # TODO: external auth @@ -252,4 +248,24 @@ RSpec.describe 'Using OAuth from an external app' do fill_in 'user_otp_attempt', with: value click_on I18n.t('auth.login') end + + def oauth_authorize_text + I18n.t('doorkeeper.authorizations.buttons.authorize') + end + + def oauth_deny_text + I18n.t('doorkeeper.authorizations.buttons.deny') + end + + def redirect_to_callback_url + have_current_path(/\A#{client_app.redirect_uri}/, url: true) + end + + def user_has_grant_with_client_app? + Doorkeeper::AccessGrant + .exists?( + application: client_app, + resource_owner_id: user.id + ) + end end diff --git a/spec/workers/scheduler/ip_cleanup_scheduler_spec.rb b/spec/workers/scheduler/ip_cleanup_scheduler_spec.rb index 7071fa6e98..98150aa5ef 100644 --- a/spec/workers/scheduler/ip_cleanup_scheduler_spec.rb +++ b/spec/workers/scheduler/ip_cleanup_scheduler_spec.rb @@ -5,9 +5,50 @@ require 'rails_helper' RSpec.describe Scheduler::IpCleanupScheduler do let(:worker) { described_class.new } - describe 'perform' do - it 'runs without error' do - expect { worker.perform }.to_not raise_error + describe '#perform' do + context 'with IP-related data past retention times' do + let!(:future_ip_block) { Fabricate :ip_block, expires_at: 1.week.from_now } + let!(:old_ip_block) { Fabricate :ip_block, expires_at: 1.week.ago } + let!(:session_past_retention) { Fabricate :session_activation, ip: '10.0.0.0', updated_at: 18.months.ago } + let!(:inactive_user) { Fabricate :user, current_sign_in_at: 18.months.ago, sign_up_ip: '10.0.0.0' } + let!(:old_login_activity) { Fabricate :login_activity, created_at: 18.months.ago } + let!(:old_token) { Fabricate :access_token, last_used_at: 18.months.ago, last_used_ip: '10.0.0.0' } + + before { stub_const 'Scheduler::IpCleanupScheduler::SESSION_RETENTION_PERIOD', 10.years.to_i.seconds } + + it 'deletes the expired block' do + expect { worker.perform } + .to_not raise_error + expect { old_ip_block.reload } + .to raise_error(ActiveRecord::RecordNotFound) + expect { old_login_activity.reload } + .to raise_error(ActiveRecord::RecordNotFound) + expect(session_past_retention.reload.ip) + .to be_nil + expect(inactive_user.reload.sign_up_ip) + .to be_nil + expect(old_token.reload.last_used_ip) + .to be_nil + expect(future_ip_block.reload) + .to be_present + end + end + + context 'with old session data' do + let!(:new_activation) { Fabricate :session_activation, updated_at: 1.week.ago } + let!(:old_activation) { Fabricate :session_activation, updated_at: 1.month.ago } + + before { stub_const 'Scheduler::IpCleanupScheduler::SESSION_RETENTION_PERIOD', 10.days.to_i.seconds } + + it 'clears old sessions' do + expect { worker.perform } + .to_not raise_error + + expect { old_activation.reload } + .to raise_error(ActiveRecord::RecordNotFound) + expect(new_activation.reload) + .to be_present + end end end end diff --git a/streaming/index.js b/streaming/index.js index 48ed56b29b..3e362f1860 100644 --- a/streaming/index.js +++ b/streaming/index.js @@ -235,7 +235,7 @@ const startServer = async () => { app.get('/favicon.ico', (_req, res) => res.status(404).end()); app.get('/api/v1/streaming/health', (_req, res) => { - res.writeHead(200, { 'Content-Type': 'text/plain' }); + res.writeHead(200, { 'Content-Type': 'text/plain', 'Cache-Control': 'private, no-store' }); res.end('OK'); }); @@ -858,7 +858,7 @@ const startServer = async () => { } res.setHeader('Content-Type', 'text/event-stream'); - res.setHeader('Cache-Control', 'no-store'); + res.setHeader('Cache-Control', 'private, no-store'); res.setHeader('Transfer-Encoding', 'chunked'); res.write(':)\n'); diff --git a/streaming/metrics.js b/streaming/metrics.js index bb6bce3f3c..263339a1ca 100644 --- a/streaming/metrics.js +++ b/streaming/metrics.js @@ -98,9 +98,11 @@ export function setupMetrics(channels, pgPool) { const requestHandler = (req, res) => { metrics.register.metrics().then((output) => { res.set('Content-Type', metrics.register.contentType); + res.set('Cache-Control', 'private, no-store'); res.end(output); }).catch((err) => { req.log.error(err, "Error collecting metrics"); + res.set('Cache-Control', 'private, no-store'); res.status(500).end(); }); }; diff --git a/streaming/redis.js b/streaming/redis.js index 2a36b89dc5..0b582ef2f5 100644 --- a/streaming/redis.js +++ b/streaming/redis.js @@ -50,9 +50,9 @@ function getSentinelConfiguration(env, commonOptions) { return { db: redisDatabase, name: env.REDIS_SENTINEL_MASTER, - username: env.REDIS_USERNAME, + username: env.REDIS_USER, password: env.REDIS_PASSWORD, - sentinelUsername: env.REDIS_SENTINEL_USERNAME ?? env.REDIS_USERNAME, + sentinelUsername: env.REDIS_SENTINEL_USERNAME ?? env.REDIS_USER, sentinelPassword: env.REDIS_SENTINEL_PASSWORD ?? env.REDIS_PASSWORD, sentinels, ...commonOptions, @@ -104,7 +104,7 @@ export function configFromEnv(env) { host: env.REDIS_HOST ?? '127.0.0.1', port: redisPort, db: redisDatabase, - username: env.REDIS_USERNAME, + username: env.REDIS_USER, password: env.REDIS_PASSWORD, ...commonOptions, }; diff --git a/yarn.lock b/yarn.lock index 9aeb2b02a8..2e1ad6ade6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -52,16 +52,16 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/compat-data@npm:7.25.7" - checksum: 10c0/e5cc915abdd18d021236474a96606b2d4a915c4fb620c1ad776b8a08d91111e788cb3b7e9bad43593d4e0bfa4f06894357bcb0984102de1861b9e7322b6bc9f8 +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.7, @babel/compat-data@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/compat-data@npm:7.25.8" + checksum: 10c0/8b81c17580e5fb4cbb6a3c52079f8c283fc59c0c6bd2fe14cfcf9c44b32d2eaab71b02c5633e2c679f5896f73f8ac4036ba2e67a4c806e8f428e4b11f526d7f4 languageName: node linkType: hard -"@babel/core@npm:^7.10.4, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.22.1, @babel/core@npm:^7.24.4": - version: 7.25.7 - resolution: "@babel/core@npm:7.25.7" +"@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.25.8 + resolution: "@babel/core@npm:7.25.8" dependencies: "@ampproject/remapping": "npm:^2.2.0" "@babel/code-frame": "npm:^7.25.7" @@ -69,16 +69,16 @@ __metadata: "@babel/helper-compilation-targets": "npm:^7.25.7" "@babel/helper-module-transforms": "npm:^7.25.7" "@babel/helpers": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" + "@babel/parser": "npm:^7.25.8" "@babel/template": "npm:^7.25.7" "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" + "@babel/types": "npm:^7.25.8" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/dad20af39624086afc3a0910bd97ae712c9ad0e9dda09fc5da93876e8ea1802b63ddd81c44f4aa8a9834db46de801eaab1ce9b81ab54b4fe907ae052c24de136 + checksum: 10c0/8411ea506e6f7c8a39ab5c1524b00589fa3b087edb47389708f7fe07170929192171734666e3ea10b95a951643a531a6d09eedfe071572c9ea28516646265086 languageName: node linkType: hard @@ -224,7 +224,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.7, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.0, @babel/helper-plugin-utils@npm:^7.25.7, @babel/helper-plugin-utils@npm:^7.8.0": version: 7.25.7 resolution: "@babel/helper-plugin-utils@npm:7.25.7" checksum: 10c0/241f8cf3c5b7700e91cab7cfe5b432a3c710ae3cd5bb96dc554da536a6d25f5b9f000cc0c0917501ceb4f76ba92599ee3beb25e10adaf96be59f8df89a842faf @@ -331,14 +331,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/parser@npm:7.25.7" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.7, @babel/parser@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/parser@npm:7.25.8" dependencies: - "@babel/types": "npm:^7.25.7" + "@babel/types": "npm:^7.25.8" bin: parser: ./bin/babel-parser.js - checksum: 10c0/b771469bb6b636c18a8d642b9df3c73913c3860a979591e1a29a98659efd38b81d3e393047b5251fe382d4c82c681c12da9ce91c98d69316d2604d155a214bcf + checksum: 10c0/a1a13845b7e8dda4c970791814a4bbf60004969882f18f470e260ad822d2e1f8941948f851e9335895563610f240fa6c98481ce8019865e469502bbf21daafa4 languageName: node linkType: hard @@ -432,7 +432,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.12.13, @babel/plugin-syntax-class-properties@npm:^7.8.3": +"@babel/plugin-syntax-class-properties@npm:^7.8.3": version: 7.12.13 resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" dependencies: @@ -443,39 +443,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-static-block@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 - languageName: node - linkType: hard - -"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 - languageName: node - linkType: hard - -"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.3" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5100d658ba563829700cd8d001ddc09f4c0187b1a13de300d729c5b3e87503f75a6d6c99c1794182f7f1a9f546ee009df4f15a0ce36376e206ed0012fa7cdc24 - languageName: node - linkType: hard - "@babel/plugin-syntax-import-assertions@npm:^7.25.7": version: 7.25.7 resolution: "@babel/plugin-syntax-import-assertions@npm:7.25.7" @@ -498,7 +465,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.10.4, @babel/plugin-syntax-import-meta@npm:^7.8.3": +"@babel/plugin-syntax-import-meta@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" dependencies: @@ -520,7 +487,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:7, @babel/plugin-syntax-jsx@npm:^7.25.7, @babel/plugin-syntax-jsx@npm:^7.7.2": +"@babel/plugin-syntax-jsx@npm:^7.25.0, @babel/plugin-syntax-jsx@npm:^7.25.7, @babel/plugin-syntax-jsx@npm:^7.7.2": version: 7.25.7 resolution: "@babel/plugin-syntax-jsx@npm:7.25.7" dependencies: @@ -531,7 +498,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" dependencies: @@ -553,7 +520,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4, @babel/plugin-syntax-numeric-separator@npm:^7.8.3": +"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" dependencies: @@ -597,18 +564,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 - languageName: node - linkType: hard - -"@babel/plugin-syntax-top-level-await@npm:^7.14.5, @babel/plugin-syntax-top-level-await@npm:^7.8.3": +"@babel/plugin-syntax-top-level-await@npm:^7.8.3": version: 7.14.5 resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: @@ -653,17 +609,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.7" +"@babel/plugin-transform-async-generator-functions@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/helper-remap-async-to-generator": "npm:^7.25.7" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/dcdd17d8cafafe0eb2edd0a46a7abe86c72235c957c8eb1157ccadb2b199572d5d1aa36a2d3bce5cb99990f7d3c6290ecf09959c62f3081c4df9ff717a1c84a4 + checksum: 10c0/1698d0757d3dc895047120346cdbe6d539dae4a7bb930caf958c3623e89c850d378d1ebd971a1a8b4cba39c8f001cd9c25a1d6f430099022ab1e87aeddb5dd88 languageName: node linkType: hard @@ -714,16 +669,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-class-static-block@npm:7.25.7" +"@babel/plugin-transform-class-static-block@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-class-static-block@npm:7.25.8" dependencies: "@babel/helper-create-class-features-plugin": "npm:^7.25.7" "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" peerDependencies: "@babel/core": ^7.12.0 - checksum: 10c0/cbb4b46cbd8ad10106eb2bedb5a0665661a1d1d5b6f3ab565ff454b802dab4718e02b25670fe0d40835494aedb3dc26757c06cc4da6ff3e80291c5f882269bd3 + checksum: 10c0/4f37853aef6920875022bbb2d7c6523218d9d718291464e2cacd9cc6f2c22d86a69948d8ea38f9248843bbfe9343f3fd18cf16b1615560124198bf999e3ba612 languageName: node linkType: hard @@ -801,15 +755,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.7" +"@babel/plugin-transform-dynamic-import@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c733252ff20a32d9747dd081916270f5a073856597e849a5f458b12f4354499b18714f5e7049e341432851d9975077cb37effcd276c7f816faa6f5ff708dc5e1 + checksum: 10c0/9726abc1b07771a9c1e3670908ac425d21e29f54c775d10ed7a4e2bc0a18e07600f70bbc531deba3fb3ff7f6763c189200593264c6f784dac583e653b66fe754 languageName: node linkType: hard @@ -825,15 +778,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.7" +"@babel/plugin-transform-export-namespace-from@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ef61fc5d54c9c8b075cbd9db62beaf295e38e08a1edb1882995105d3e959763be1631f7d7f7cb7461b702ebd0b4a601f2eb2cd6521acaf061310a3a3305fa756 + checksum: 10c0/8a2e1205dd727a96a9adef0e981d68c61b1c286480b9136e2aa67ce3e2c742be4f87feb9fb4c5548a401aba0953d43d66e9ec36a54dea6a7c15f1ee9345baf57 languageName: node linkType: hard @@ -862,15 +814,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-json-strings@npm:7.25.7" +"@babel/plugin-transform-json-strings@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-json-strings@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/aa6e5f65c8a5f2459d7daa9b5b4ff97ff43bab21f4a8513ed84d35300b0323ec542dc101c5f11622e442dfc93b3a229c7f41ebc7645370dfec6d066bda800a0b + checksum: 10c0/2a6cf69ebe8deebc39c56adae75d609e16786dc4cbd83577eefdc838bd89ca8974671d47e2669b8e65ef9b7ace427f7c2c5a9fc6aa09247b10e141d15fee81cf languageName: node linkType: hard @@ -885,15 +836,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.7" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d610a8a2c1be83e03cce2256f29519e705dc68289c09d67f1f362d1fd80f4b36eaf2affc05710abb53a272895041e24d9e95ec73a516a23a67cb907023fbe37b + checksum: 10c0/9adc2634c94b283b682fbf71bbec553bd8448196213491a0ef9ea167993c9c36dcb2fbefbd834e113cfed843a67290131bc99e463f8702043c3f4e3a99bb807e languageName: node linkType: hard @@ -982,41 +932,38 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.3, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.7" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.3, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b35a96a79ef4895b00e4f758d3185cb17e4fbfada311894ad5f0988a55fc2c21820dc789b26a3cb8fbd620434faa516e52acb6e2da105c2edbd29de8b6b0facf + checksum: 10c0/3cb7c44cffccae42e104755acb31b4f00bc27d8c88102ae6f30dca508832f98fa5b746bead0fc7c0c6ddcf83f336829be4b64245c6c7ce26b3ef591937ec54a4 languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.7" +"@babel/plugin-transform-numeric-separator@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c028ae89e6b4e1d757f8f1ebcb3b420e6559bb35002728f6f5651d5f669fbf73764adf6e3597908fa12adf8dbae683e5f74b3a7f68e8774a9663c18c0f999539 + checksum: 10c0/d23b3ebc50513f24510791ac2cad43e3c6ea08579f54dccfd4ed5e5d5084f02da0576ea42ea999fb51e1f94f42857cac96a1a29ac6728fc262fbe87ec966dc18 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.7" +"@babel/plugin-transform-object-rest-spread@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.8" dependencies: "@babel/helper-compilation-targets": "npm:^7.25.7" "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" "@babel/plugin-transform-parameters": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e8b978d9d1020452da0d5d92f80fe57e302761dac20137bb8bf863478a4779fcd63d314db89e796125d9d76da2a38f64f012d6e0c4913815951b3eb3fba2feb6 + checksum: 10c0/058d5f5bb61068997fb78855011dd175d441da84717640852bbfd12a5919acf8d8c5a14c1debfe87d230f3f4c47c22fcad3d7fa1acd72e5e48b2fff93b6c1dd9 languageName: node linkType: hard @@ -1032,28 +979,26 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.7" +"@babel/plugin-transform-optional-catch-binding@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/bb609e5103780be0825a255ffe1fefbb5335aead88a46eecc2257053279ea2c45ff66b0ef1fb54302c8c8c57146e88e52f3ecb62b4c6f619218d7b3843b352d9 + checksum: 10c0/f4360e62ca4aa998db31548d0ef06836d958bcb29dee58f5c62d0c29b6b2bff1b54871195bd032825fe3dd79a4fd8275e165148c8d4b57694bcf72135c8f7d24 languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.7" +"@babel/plugin-transform-optional-chaining@npm:^7.25.7, @babel/plugin-transform-optional-chaining@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.8" dependencies: "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/887441ada6c2bc1b789984b7531d9bc585f335ece99642886d3d9fd8aee7e6b8d4f7ca61d76b5f23477f3aa607284d5056eadaa1eb17e7b39af6b0e834cbe878 + checksum: 10c0/a1cdbfc249619fa6b37e57f81600701281629d86a57e616b0c2b29816d0c43114a2296ce089564afd3aa7870c8aad62e907658ffef2c110662af14ee23d5247f languageName: node linkType: hard @@ -1080,17 +1025,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.7" +"@babel/plugin-transform-private-property-in-object@npm:^7.25.8": + version: 7.25.8 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.8" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.25.7" "@babel/helper-create-class-features-plugin": "npm:^7.25.7" "@babel/helper-plugin-utils": "npm:^7.25.7" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5ad8832ba54e2079c1f558b8680e170265e3f376424e5fbb75b17b7f08696fb0af6c96d23d92f7df3dcc559f5971a02587281fcec38a853174aa95478565f5fc + checksum: 10c0/61b5e3a4eb94caf38d6e9ff7bff1ac8927758141aaa4891036d3490866ecee53beaefd7893519fec42a4c55f33374a17fc0e49694cdaf95668082073f0fe4a79 languageName: node linkType: hard @@ -1335,10 +1279,10 @@ __metadata: linkType: hard "@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.22.4": - version: 7.25.7 - resolution: "@babel/preset-env@npm:7.25.7" + version: 7.25.8 + resolution: "@babel/preset-env@npm:7.25.8" dependencies: - "@babel/compat-data": "npm:^7.25.7" + "@babel/compat-data": "npm:^7.25.8" "@babel/helper-compilation-targets": "npm:^7.25.7" "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/helper-validator-option": "npm:^7.25.7" @@ -1348,45 +1292,30 @@ __metadata: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.7" "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.7" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-class-properties": "npm:^7.12.13" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" "@babel/plugin-syntax-import-assertions": "npm:^7.25.7" "@babel/plugin-syntax-import-attributes": "npm:^7.25.7" - "@babel/plugin-syntax-import-meta": "npm:^7.10.4" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" - "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" "@babel/plugin-transform-arrow-functions": "npm:^7.25.7" - "@babel/plugin-transform-async-generator-functions": "npm:^7.25.7" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.8" "@babel/plugin-transform-async-to-generator": "npm:^7.25.7" "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.7" "@babel/plugin-transform-block-scoping": "npm:^7.25.7" "@babel/plugin-transform-class-properties": "npm:^7.25.7" - "@babel/plugin-transform-class-static-block": "npm:^7.25.7" + "@babel/plugin-transform-class-static-block": "npm:^7.25.8" "@babel/plugin-transform-classes": "npm:^7.25.7" "@babel/plugin-transform-computed-properties": "npm:^7.25.7" "@babel/plugin-transform-destructuring": "npm:^7.25.7" "@babel/plugin-transform-dotall-regex": "npm:^7.25.7" "@babel/plugin-transform-duplicate-keys": "npm:^7.25.7" "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.7" - "@babel/plugin-transform-dynamic-import": "npm:^7.25.7" + "@babel/plugin-transform-dynamic-import": "npm:^7.25.8" "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.7" - "@babel/plugin-transform-export-namespace-from": "npm:^7.25.7" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.8" "@babel/plugin-transform-for-of": "npm:^7.25.7" "@babel/plugin-transform-function-name": "npm:^7.25.7" - "@babel/plugin-transform-json-strings": "npm:^7.25.7" + "@babel/plugin-transform-json-strings": "npm:^7.25.8" "@babel/plugin-transform-literals": "npm:^7.25.7" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.7" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.8" "@babel/plugin-transform-member-expression-literals": "npm:^7.25.7" "@babel/plugin-transform-modules-amd": "npm:^7.25.7" "@babel/plugin-transform-modules-commonjs": "npm:^7.25.7" @@ -1394,15 +1323,15 @@ __metadata: "@babel/plugin-transform-modules-umd": "npm:^7.25.7" "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.7" "@babel/plugin-transform-new-target": "npm:^7.25.7" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.7" - "@babel/plugin-transform-numeric-separator": "npm:^7.25.7" - "@babel/plugin-transform-object-rest-spread": "npm:^7.25.7" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.8" + "@babel/plugin-transform-numeric-separator": "npm:^7.25.8" + "@babel/plugin-transform-object-rest-spread": "npm:^7.25.8" "@babel/plugin-transform-object-super": "npm:^7.25.7" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.7" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.8" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.8" "@babel/plugin-transform-parameters": "npm:^7.25.7" "@babel/plugin-transform-private-methods": "npm:^7.25.7" - "@babel/plugin-transform-private-property-in-object": "npm:^7.25.7" + "@babel/plugin-transform-private-property-in-object": "npm:^7.25.8" "@babel/plugin-transform-property-literals": "npm:^7.25.7" "@babel/plugin-transform-regenerator": "npm:^7.25.7" "@babel/plugin-transform-reserved-words": "npm:^7.25.7" @@ -1423,7 +1352,7 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/bf704a06a69420250c1de2b126cd5c859a851002c2fb2cce0910cd85a8e6755b9b31577021e94feb7e1e53519923726349aaf07580923928791583db61438fb8 + checksum: 10c0/a45cd64ca082262998f6cf508b413ff8a9e967bf33e58337a1fe41c6c939a4c25cc73cd58387792c00d43905cf5fb0ea5ef88dfdc2addf2e8133743088c86c72 languageName: node linkType: hard @@ -1500,7 +1429,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:7, @babel/traverse@npm:^7.25.7": +"@babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.7": version: 7.25.7 resolution: "@babel/traverse@npm:7.25.7" dependencies: @@ -1515,14 +1444,14 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.11, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.7, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": - version: 7.25.7 - resolution: "@babel/types@npm:7.25.7" +"@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.7, @babel/types@npm:^7.25.8, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.25.8 + resolution: "@babel/types@npm:7.25.8" dependencies: "@babel/helper-string-parser": "npm:^7.25.7" "@babel/helper-validator-identifier": "npm:^7.25.7" to-fast-properties: "npm:^2.0.0" - checksum: 10c0/e03e1e2e08600fa1e8eb90632ac9c253dd748176c8d670d85f85b0dc83a0573b26ae748a1cbcb81f401903a3d95f43c3f4f8d516a5ed779929db27de56289633 + checksum: 10c0/55ca2d6df6426c98db2769ce884ce5e9de83a512ea2dd7bcf56c811984dc14351cacf42932a723630c5afcff2455809323decd645820762182f10b7b5252b59f languageName: node linkType: hard @@ -1533,13 +1462,13 @@ __metadata: languageName: node linkType: hard -"@csstools/cascade-layer-name-parser@npm:^2.0.1": - version: 2.0.1 - resolution: "@csstools/cascade-layer-name-parser@npm:2.0.1" +"@csstools/cascade-layer-name-parser@npm:^2.0.2": + version: 2.0.2 + resolution: "@csstools/cascade-layer-name-parser@npm:2.0.2" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.1 - "@csstools/css-tokenizer": ^3.0.1 - checksum: 10c0/e1f9030285d1a16ca0424018289e5288e58dee2d6f6cc392e27d9e8eca0deeea4ced9b749eef09a8322746cb15b6304bc7e2d04bb9dc7405c29b3717ec80e736 + "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-tokenizer": ^3.0.2 + checksum: 10c0/2cc840445328400bb3e1e4186e6081e6519a23d9abde36a16c95892b6ad75155b3af3410d79fdda1c53a068384f970cabff4b5f5ba6867578168cbd3419016c8 languageName: node linkType: hard @@ -1550,42 +1479,42 @@ __metadata: languageName: node linkType: hard -"@csstools/css-calc@npm:^2.0.1": - version: 2.0.1 - resolution: "@csstools/css-calc@npm:2.0.1" +"@csstools/css-calc@npm:^2.0.2": + version: 2.0.2 + resolution: "@csstools/css-calc@npm:2.0.2" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.1 - "@csstools/css-tokenizer": ^3.0.1 - checksum: 10c0/84c0ba3dac51466c9ac22c3540360f6058cf351a3676d71d4412584b165a91abc7c69a4ddf5a5dacc6e6082806d2317cf50ddbc0a0562275b2aedaee41cb87a9 + "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-tokenizer": ^3.0.2 + checksum: 10c0/b36e655b4abc8ea39b300725e33cd43b1875d759dd60bee8155bf7841065615a7f24cf53199382e30aa10bb137f64021043e4af7e11b7199b674a6e6cf3ccd01 languageName: node linkType: hard -"@csstools/css-color-parser@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/css-color-parser@npm:3.0.2" +"@csstools/css-color-parser@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/css-color-parser@npm:3.0.3" dependencies: "@csstools/color-helpers": "npm:^5.0.1" - "@csstools/css-calc": "npm:^2.0.1" + "@csstools/css-calc": "npm:^2.0.2" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.1 - "@csstools/css-tokenizer": ^3.0.1 - checksum: 10c0/31f42cc22426c937f5c6999889f72b40aec8504189a6badf3319552f27a5af73dd5f46be9ebc54eb87e526468eb2546ffbd60a6879fe599efa6c98e51d6cfa3d + "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-tokenizer": ^3.0.2 + checksum: 10c0/02367ffc222254132c47f9cbc856f65fe0b81ee4a5e7381251b95c4064138b5ed99a5e5a79c0c8689f9e75e3d900f94773258a161a97f467c3f0420838c10e04 languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:^3.0.1": - version: 3.0.1 - resolution: "@csstools/css-parser-algorithms@npm:3.0.1" +"@csstools/css-parser-algorithms@npm:^3.0.1, @csstools/css-parser-algorithms@npm:^3.0.2": + version: 3.0.2 + resolution: "@csstools/css-parser-algorithms@npm:3.0.2" peerDependencies: - "@csstools/css-tokenizer": ^3.0.1 - checksum: 10c0/064c6d519197b5af43bbf5efe8f4cdbd361b006113aa82160d637e925b50c643a52d33d512ca01c63042d952d723a2a10798231a714668356b76668fb11294e3 + "@csstools/css-tokenizer": ^3.0.2 + checksum: 10c0/246afbf518ee9eaa24ed7f083360eb66884f1172fd4f8c663bff8c6099de2a8abd1e2a31d5b6fe42e010277d238469d780cff62bc7fdc6a52e7a90626b8924dc languageName: node linkType: hard -"@csstools/css-tokenizer@npm:^3.0.1": - version: 3.0.1 - resolution: "@csstools/css-tokenizer@npm:3.0.1" - checksum: 10c0/c9ed4373e5731b5375ea9791590081019c04e95f08b46b272977e5e7b8c3d560affc62e82263cb8def1df1e57f0673140e7e16a14a5e7be04e6a234be088d1d3 +"@csstools/css-tokenizer@npm:^3.0.1, @csstools/css-tokenizer@npm:^3.0.2": + version: 3.0.2 + resolution: "@csstools/css-tokenizer@npm:3.0.2" + checksum: 10c0/a74e5829420ed35982fd33be272c2a19cb2380179d357abe750aa848be6d6699d0437008f47a57eb7c6ff64a34b0c8f91a97dd63dbddd08249b7cf7983767e5e languageName: node linkType: hard @@ -1599,6 +1528,16 @@ __metadata: languageName: node linkType: hard +"@csstools/media-query-list-parser@npm:^4.0.0": + version: 4.0.0 + resolution: "@csstools/media-query-list-parser@npm:4.0.0" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.2 + "@csstools/css-tokenizer": ^3.0.2 + checksum: 10c0/416417bcfd84c18a2df8dc77f31c87830e151dc20530fe7f0d8f13a0848b1a9090858abdf7792d82bf2edb41ddedb7b57b34eb78b68b5c10755ae02c019e496a + languageName: node + linkType: hard + "@csstools/postcss-cascade-layers@npm:^5.0.0": version: 5.0.0 resolution: "@csstools/postcss-cascade-layers@npm:5.0.0" @@ -1611,60 +1550,60 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-color-function@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/postcss-color-function@npm:4.0.2" +"@csstools/postcss-color-function@npm:^4.0.3": + version: 4.0.3 + resolution: "@csstools/postcss-color-function@npm:4.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/c987ccc7ab326668895396d3fe69c05087cf6e245be6f70e8c33da0cdeb56f8ac3d117cfad984191ec57be9691ab56d427aaa28c61c4a7446521972993dd5039 + checksum: 10c0/c994660ca0e2652755d9ad181c8cb46a07220c972086c97c843fa9bacf690be10c642770f898aeec4acc47c2b718dfc7372107285a678361f34d84d9e9c11e0c languageName: node linkType: hard -"@csstools/postcss-color-mix-function@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/postcss-color-mix-function@npm:3.0.2" +"@csstools/postcss-color-mix-function@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/postcss-color-mix-function@npm:3.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/cfdc641f504f9d02b9a7b53d6bd933d4e767ecaee5f3d2df45d897f69b8a38b5b79b538d307b16fb56dcb7c19dc7e107518c356772e89771e28e04fd846d9035 + checksum: 10c0/4ba358eb9030fc485bfe2922d897eeb712725762cc399eaba60ba665c84dc3e56a4d5a52dfb320093c0b217d32fedb9b5197fa45738cade53d9afcbefdadf04f languageName: node linkType: hard -"@csstools/postcss-content-alt-text@npm:^2.0.1": - version: 2.0.1 - resolution: "@csstools/postcss-content-alt-text@npm:2.0.1" +"@csstools/postcss-content-alt-text@npm:^2.0.2": + version: 2.0.2 + resolution: "@csstools/postcss-content-alt-text@npm:2.0.2" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/693e4cfa9a30a9c384120bd24846a7cd5ba1e1ebf975eb81b0e0131a21ac28a0301c7dcfa13706bc7d8b5343536fb43a46de636c3257d0fd05041c7255366e87 + checksum: 10c0/e52d40f6567b9b23b32a6c40f9b2a74d57f99a9921b4cae015f51f72453474236c760bb13120682f8815698a615e0ad7bed22314c29dca89c34b5480d83a7a6d languageName: node linkType: hard -"@csstools/postcss-exponential-functions@npm:^2.0.1": - version: 2.0.1 - resolution: "@csstools/postcss-exponential-functions@npm:2.0.1" +"@csstools/postcss-exponential-functions@npm:^2.0.2": + version: 2.0.2 + resolution: "@csstools/postcss-exponential-functions@npm:2.0.2" dependencies: - "@csstools/css-calc": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-calc": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/ddcaedfa48cc0cf93611c8d2ed5a75d56c1d196a97015db644b45881adabb47f3255242acaef6ea869a1e5ba66328725d254bf6d29eb5e988cde8b040bc5f55d + checksum: 10c0/034ff89089872f63a6b00bda670c5ff11361babd221ed3e441dde969a718059e5d44ab0ed331868f137bb205331b808ecbcc4cb641d5c945238ebca28aa3ed59 languageName: node linkType: hard @@ -1680,46 +1619,46 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-gamut-mapping@npm:^2.0.2": - version: 2.0.2 - resolution: "@csstools/postcss-gamut-mapping@npm:2.0.2" +"@csstools/postcss-gamut-mapping@npm:^2.0.3": + version: 2.0.3 + resolution: "@csstools/postcss-gamut-mapping@npm:2.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/8b6504f81c5036e3c2a9f9516c371f48a283112469b746546c8c7f6f0da2467c915d4dac6dfe8bb05d7dab3a7503911391eb9e666cb7632e09a032e801c029f5 + checksum: 10c0/21f5708f63e9c3b7603f8b72b5f288e0a021e9710a6abf4aaa713ff4d04bae057d1861e1f28d7670ea39ba463ac04f1507876d4a11178934e7cc7a1c6a780084 languageName: node linkType: hard -"@csstools/postcss-gradients-interpolation-method@npm:^5.0.2": - version: 5.0.2 - resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.2" +"@csstools/postcss-gradients-interpolation-method@npm:^5.0.3": + version: 5.0.3 + resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/4fa27437ad9861b1457c28228f2503c17bcc2f77dcb38da1314a4a5d38fd010e7e5d11b5f9d69e0a2cb2999bbfeca1e99ce2f59422bda5b382658dcb03f7326e + checksum: 10c0/062d27148438309c940a1973bfc7d42a06caa9397bf2382c7a61979f5be3d6f3fae1bc8ddf94d2dd8e6c807e0530a9e76179510266aaddc439677bf79447a765 languageName: node linkType: hard -"@csstools/postcss-hwb-function@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/postcss-hwb-function@npm:4.0.2" +"@csstools/postcss-hwb-function@npm:^4.0.3": + version: 4.0.3 + resolution: "@csstools/postcss-hwb-function@npm:4.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/46dc9596e37830de4c38f70764d6da9f2fc7bc339217b4291eced75daa8998c4e05fb743c271701e44818df4ac111c285019b7bb3a728e8b61d86899bbeb74eb + checksum: 10c0/faf2bfbafeec765391e37c7a5cbc7b4647d9ab1ffa51e922c7dfffa545c3d436d15604dfdfb9d7684e760042e62bb42e0243dd4ebd8c3c14694a9f7be4e57b30 languageName: node linkType: hard @@ -1757,17 +1696,17 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-light-dark-function@npm:^2.0.4": - version: 2.0.4 - resolution: "@csstools/postcss-light-dark-function@npm:2.0.4" +"@csstools/postcss-light-dark-function@npm:^2.0.5": + version: 2.0.5 + resolution: "@csstools/postcss-light-dark-function@npm:2.0.5" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/0176422ad9747953964b1ceff002df1ecb1952ebc481db6192070d68777135b582ea6fd32ae819b9c64c96cb9170bd6907c647c85b48daa4984b7ed3d7f9bccb + checksum: 10c0/80635ee312d2a8f42aa5ce6792f1dc4a71199c384c66a3270d37e998d96db55beaa6836d689cda3b7e4828227960582fae04659ba5e4e0f64fd4543cbf15c6ab languageName: node linkType: hard @@ -1809,42 +1748,42 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-logical-viewport-units@npm:^3.0.1": - version: 3.0.1 - resolution: "@csstools/postcss-logical-viewport-units@npm:3.0.1" +"@csstools/postcss-logical-viewport-units@npm:^3.0.2": + version: 3.0.2 + resolution: "@csstools/postcss-logical-viewport-units@npm:3.0.2" dependencies: - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/f54f91ec4d308562371576e82131c3cc1ff461a951c9a38f0b42b783c26f37a93cc846fcd025d3c4a8437b55a4fff1192ebfac8ccf84abb6478b2c515d232552 + checksum: 10c0/31f525e774bc053f545a159eb53bb21465ea2930118e87c40207ad90fa97d3151e6de83efd02f84803fb0e93ed4a4b42a3904b734423410e73ac4c6ce9666ab4 languageName: node linkType: hard -"@csstools/postcss-media-minmax@npm:^2.0.1": - version: 2.0.1 - resolution: "@csstools/postcss-media-minmax@npm:2.0.1" +"@csstools/postcss-media-minmax@npm:^2.0.2": + version: 2.0.2 + resolution: "@csstools/postcss-media-minmax@npm:2.0.2" dependencies: - "@csstools/css-calc": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" - "@csstools/media-query-list-parser": "npm:^3.0.1" + "@csstools/css-calc": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/media-query-list-parser": "npm:^4.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/23c1fb0c3ed8bf82f3223f161d0d65ba62045b917bc19624581f64aaa5d678485d22c23af2591a3f634ba02030ccb419c2b30209aa22f9fd2baa1a6474af810a + checksum: 10c0/83cf10742884fca3baa7ae26e2cb34123ce5a022622390566c139b4587ea8583fab00acbb85545786b36398e2201d2a94301e0fae805e55f375f1b5c38f67ce8 languageName: node linkType: hard -"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.1": - version: 3.0.1 - resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.1" +"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.2": + version: 3.0.2 + resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.2" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" - "@csstools/media-query-list-parser": "npm:^3.0.1" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/media-query-list-parser": "npm:^4.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/e491cb149fb4fff85b2f03191511e43654ae00716e3c1ea9f1dc22ec4e7042c35f034d372082a69d3621c86cafbe46e8f419872fa36f4a534f145f584d655768 + checksum: 10c0/3ac4073d2e958bfb24ae45f673070dd805f0fcf07bc8d00a9a98f596d1096e7be282c8d8e87df3abde90f33fcbe2c7705e972b8c1a58e43ec44729f470b76096 languageName: node linkType: hard @@ -1871,18 +1810,18 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-oklab-function@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/postcss-oklab-function@npm:4.0.2" +"@csstools/postcss-oklab-function@npm:^4.0.3": + version: 4.0.3 + resolution: "@csstools/postcss-oklab-function@npm:4.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/3209a7cec6d3577544a7ef41f2d5cca25f77891d4ec0d7f39d32f9a79a6c9a9b0ee6b54b2937a2d995548ad11c39966b07d4b9f58e907ffbe1a4b454f2d277f3 + checksum: 10c0/650bcb4f664308972588a8f789f806d63c4069e2e008cfc3b5c80bf9df992c62972dce279b8f434c7f78823e97095942ee4f0e37bc549258887213e72acb7ef8 languageName: node linkType: hard @@ -1897,18 +1836,18 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-relative-color-syntax@npm:^3.0.2": - version: 3.0.2 - resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.2" +"@csstools/postcss-relative-color-syntax@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/34a8c999e08c6e7833484ee2fb91e7fcc25235d6c361712fed581e44a5a29f1ceb95415b6f4260de53809ac13f5da5415d1905c2971477cf5d45e5196081c663 + checksum: 10c0/c241fe6b725d775f6d2085be1dff3868d189b176fa91ab1eb1133e30e30c8151bded4e50d17a845edd0bdd0a7adf9e8883cb2634fea3394872591fe9ad2a7e86 languageName: node linkType: hard @@ -1923,16 +1862,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-stepped-value-functions@npm:^4.0.1": - version: 4.0.1 - resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.1" +"@csstools/postcss-stepped-value-functions@npm:^4.0.2": + version: 4.0.2 + resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.2" dependencies: - "@csstools/css-calc": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-calc": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/7e65969b124fce603675ca17c2ffa2bb456677866e54bc9fbdc4da0945be1593fde2abb0730d3d03190776ad2022b394a1f9d4834c5b1f4c7ec497929fd35f8f + checksum: 10c0/444a27d725bc7a8e1554469e8ac69e248ff525b728fbe058523b0f1aefcff80ca707f543d21fead0a22d51603b1669190fb01f0f2dcd599a01768a37e0d62bc3 languageName: node linkType: hard @@ -1948,16 +1887,16 @@ __metadata: languageName: node linkType: hard -"@csstools/postcss-trigonometric-functions@npm:^4.0.1": - version: 4.0.1 - resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.1" +"@csstools/postcss-trigonometric-functions@npm:^4.0.2": + version: 4.0.2 + resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.2" dependencies: - "@csstools/css-calc": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-calc": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" peerDependencies: postcss: ^8.4 - checksum: 10c0/59e017ebb9f4f8f027e134024e3322b5e202cc96073e0bb0d45733a829c8eadc7f4f7ce57ce8360a748a677595af9ea95da1779684699b48b911b73b4017ac8b + checksum: 10c0/eaecb2ea891162e4fcbbccf4f660c99e9e59f21937b70fe6aec3b51441eff2a12c1a2dc13fff426722629a7929919fd866311eaa68d74ee9d1f5387a23502fe2 languageName: node linkType: hard @@ -2257,8 +2196,8 @@ __metadata: linkType: hard "@formatjs/cli@npm:^6.1.1": - version: 6.2.12 - resolution: "@formatjs/cli@npm:6.2.12" + version: 6.2.15 + resolution: "@formatjs/cli@npm:6.2.15" peerDependencies: "@glimmer/env": ^0.1.7 "@glimmer/reference": ^0.91.1 || ^0.92.0 @@ -2287,7 +2226,7 @@ __metadata: optional: true bin: formatjs: bin/formatjs - checksum: 10c0/3bd05a9fad6c837e22988e6638f426c128efa46ab80ff88cf2ad81fb3bc10cf4f228907577fc01e24c2d7d505cfabfaa69f0496d2ec8f0ab2d6b5eaccb5e475c + checksum: 10c0/e947aa7f3994251392fe15673752a8d8e3c8a30733bb49de5e617d45a327a3e1d16419e2d6b01f7ef2cbe86e2946024342d5b3301e6a8f17de3de9e2e7aedb29 languageName: node linkType: hard @@ -2301,12 +2240,34 @@ __metadata: languageName: node linkType: hard -"@formatjs/fast-memoize@npm:2.2.0": +"@formatjs/ecma402-abstract@npm:2.2.0": version: 2.2.0 - resolution: "@formatjs/fast-memoize@npm:2.2.0" + resolution: "@formatjs/ecma402-abstract@npm:2.2.0" dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/ae88c5a93b96235aba4bd9b947d0310d2ec013687a99133413361b24122b5cdea8c9bf2e04a4a2a8b61f1f4ee5419ef6416ca4796554226b5050e05a9ce6ef49 + "@formatjs/fast-memoize": "npm:2.2.1" + "@formatjs/intl-localematcher": "npm:0.5.5" + tslib: "npm:^2.7.0" + checksum: 10c0/3f8e5c1680ab3babf44a6324ae36d6355674562df61e0f0ce3bcec35c3b31d77f9c3b28596af79a9f52641aee834a11673dc4cf30093bbf27c4a96e18c8cc74b + languageName: node + linkType: hard + +"@formatjs/fast-memoize@npm:2.2.1": + version: 2.2.1 + resolution: "@formatjs/fast-memoize@npm:2.2.1" + dependencies: + tslib: "npm:^2.7.0" + checksum: 10c0/cb8cbf1aba907d395d1fe405f67a8da26686b2fc26eefde7541d49d748d2d9b939f2bc428b7d40d2c31366a6ce42cf16724c966965701186986c5882fdba3c8b + languageName: node + linkType: hard + +"@formatjs/icu-messageformat-parser@npm:2.7.10": + version: 2.7.10 + resolution: "@formatjs/icu-messageformat-parser@npm:2.7.10" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.2.0" + "@formatjs/icu-skeleton-parser": "npm:1.8.4" + tslib: "npm:^2.7.0" + checksum: 10c0/7f2b9bb31c64d2b45584a77e2e6a7c4185f247eea22c0d8e2257ac95feff36894a0936d31778d17874cd249c39058fcb894c27e13a6cadb056996e7232957655 languageName: node linkType: hard @@ -2331,25 +2292,35 @@ __metadata: languageName: node linkType: hard -"@formatjs/intl-displaynames@npm:6.6.8": - version: 6.6.8 - resolution: "@formatjs/intl-displaynames@npm:6.6.8" +"@formatjs/icu-skeleton-parser@npm:1.8.4": + version: 1.8.4 + resolution: "@formatjs/icu-skeleton-parser@npm:1.8.4" dependencies: - "@formatjs/ecma402-abstract": "npm:2.0.0" - "@formatjs/intl-localematcher": "npm:0.5.4" - tslib: "npm:^2.4.0" - checksum: 10c0/1a03e7644022741c1bcf10fcd07da88c434416a13603ace693a038114010463307b4130d3a3f53ad5665bd27fca9a6b19ac8e5bf58e17598b1ea84db173fdfbb + "@formatjs/ecma402-abstract": "npm:2.2.0" + tslib: "npm:^2.7.0" + checksum: 10c0/a6cd90e89b994e6fa2b66f83a80250d17fdddaeb755cd1f38be1d51a737a6f8a9b123912943d3dcad278833e3a04683a9081b187300f1a481791527954e63e82 languageName: node linkType: hard -"@formatjs/intl-listformat@npm:7.5.7": - version: 7.5.7 - resolution: "@formatjs/intl-listformat@npm:7.5.7" +"@formatjs/intl-displaynames@npm:6.6.10": + version: 6.6.10 + resolution: "@formatjs/intl-displaynames@npm:6.6.10" dependencies: - "@formatjs/ecma402-abstract": "npm:2.0.0" - "@formatjs/intl-localematcher": "npm:0.5.4" - tslib: "npm:^2.4.0" - checksum: 10c0/5d0478752d669d87c82aa80880df464d64a1c8974fcb6136bc854567f570a1696e5468005ffa266cfcb623adb7c7299b839c06ea33897f55d35dab6a7575cc84 + "@formatjs/ecma402-abstract": "npm:2.2.0" + "@formatjs/intl-localematcher": "npm:0.5.5" + tslib: "npm:^2.7.0" + checksum: 10c0/e4158f67fc0d6c2345d05b85183aef480fc86c68b60643abdd143ddc66a2203acfcf1b3dc4619658479e54c971c878a2548db34e08f3b035348686f088bf03c4 + languageName: node + linkType: hard + +"@formatjs/intl-listformat@npm:7.5.9": + version: 7.5.9 + resolution: "@formatjs/intl-listformat@npm:7.5.9" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.2.0" + "@formatjs/intl-localematcher": "npm:0.5.5" + tslib: "npm:^2.7.0" + checksum: 10c0/b5041de4d6e011f36ba4b54406aae9aef763f8bc8b22364bdc8447d0b8b3e553111d117b02f801c31f2ab2c0d3abc086bd90db1b83c000babb99316cd15be5e2 languageName: node linkType: hard @@ -2362,34 +2333,43 @@ __metadata: languageName: node linkType: hard -"@formatjs/intl-pluralrules@npm:^5.2.2": - version: 5.2.14 - resolution: "@formatjs/intl-pluralrules@npm:5.2.14" +"@formatjs/intl-localematcher@npm:0.5.5": + version: 0.5.5 + resolution: "@formatjs/intl-localematcher@npm:0.5.5" dependencies: - "@formatjs/ecma402-abstract": "npm:2.0.0" - "@formatjs/intl-localematcher": "npm:0.5.4" - tslib: "npm:^2.4.0" - checksum: 10c0/3c00109c8d4c8b221c2b9af38a38d31cd6293a0a412a1f2cdae2b8ef81bd71626c9ff4a647389682cb27ae5c223bd6f64ef54d03e3f6f19c372e0c6194b76b38 + tslib: "npm:^2.7.0" + checksum: 10c0/a6bf466bae29ca838ab06ffa2ce2cc9d5dd98e096ec73986b45ca4354b6adc0ca9078d9fd3aa30dbf27677940cfb3fb050ca0bce3018cd6f3f4d7e4bdad91035 languageName: node linkType: hard -"@formatjs/intl@npm:2.10.5": - version: 2.10.5 - resolution: "@formatjs/intl@npm:2.10.5" +"@formatjs/intl-pluralrules@npm:^5.2.2": + version: 5.2.16 + resolution: "@formatjs/intl-pluralrules@npm:5.2.16" dependencies: - "@formatjs/ecma402-abstract": "npm:2.0.0" - "@formatjs/fast-memoize": "npm:2.2.0" - "@formatjs/icu-messageformat-parser": "npm:2.7.8" - "@formatjs/intl-displaynames": "npm:6.6.8" - "@formatjs/intl-listformat": "npm:7.5.7" - intl-messageformat: "npm:10.5.14" - tslib: "npm:^2.4.0" + "@formatjs/ecma402-abstract": "npm:2.2.0" + "@formatjs/intl-localematcher": "npm:0.5.5" + tslib: "npm:^2.7.0" + checksum: 10c0/2250a96a74a153a5f1e771233c366c42005efd71ac5ff665891a308ce78a68f85709f8c892d28a1e334f974252bfb3407f6a64da616c3adbeb158310ef73d71b + languageName: node + linkType: hard + +"@formatjs/intl@npm:2.10.8": + version: 2.10.8 + resolution: "@formatjs/intl@npm:2.10.8" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.2.0" + "@formatjs/fast-memoize": "npm:2.2.1" + "@formatjs/icu-messageformat-parser": "npm:2.7.10" + "@formatjs/intl-displaynames": "npm:6.6.10" + "@formatjs/intl-listformat": "npm:7.5.9" + intl-messageformat: "npm:10.7.0" + tslib: "npm:^2.7.0" peerDependencies: typescript: ^4.7 || 5 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/d00ef00e41200947ed22895b73a0863283de4762ec238b4a81e2252e642e30a309cd9c73174e4917b6c675ab6f148eda5a4e3345c3caeef64e090fc8374d27c4 + checksum: 10c0/e35a4421f445ef4f7ce362144dde143ad895391b03380fbf896fe261a445fa6b5d886989e07bf9b49e52e83f0a3f9b667cfecbc2684a9ea898c6d25daf07b392 languageName: node linkType: hard @@ -2413,6 +2393,26 @@ __metadata: languageName: node linkType: hard +"@formatjs/ts-transformer@npm:3.13.16": + version: 3.13.16 + resolution: "@formatjs/ts-transformer@npm:3.13.16" + dependencies: + "@formatjs/icu-messageformat-parser": "npm:2.7.10" + "@types/json-stable-stringify": "npm:^1.0.32" + "@types/node": "npm:14 || 16 || 17 || 18" + chalk: "npm:^4.0.0" + json-stable-stringify: "npm:^1.0.1" + tslib: "npm:^2.7.0" + typescript: "npm:5" + peerDependencies: + ts-jest: ">=27" + peerDependenciesMeta: + ts-jest: + optional: true + checksum: 10c0/de03e8bc8c730f2e122970d5843762e0c5183181ba58c9759db2f1ed45fcbfbb8046dbb3318f906574f89026481b9205f5bd6fbf3f410a5e5e1754f575baa489 + languageName: node + linkType: hard + "@gamestdio/websocket@npm:^0.3.2": version: 0.3.2 resolution: "@gamestdio/websocket@npm:0.3.2" @@ -2803,7 +2803,7 @@ __metadata: "@formatjs/intl-pluralrules": "npm:^5.2.2" "@gamestdio/websocket": "npm:^0.3.2" "@github/webauthn-json": "npm:^2.1.1" - "@rails/ujs": "npm:7.1.400" + "@rails/ujs": "npm:7.1.401" "@reduxjs/toolkit": "npm:^2.0.1" "@svgr/webpack": "npm:^5.5.0" "@testing-library/dom": "npm:^10.2.0" @@ -3102,16 +3102,16 @@ __metadata: languageName: node linkType: hard -"@rails/ujs@npm:7.1.400": - version: 7.1.400 - resolution: "@rails/ujs@npm:7.1.400" - checksum: 10c0/181329e731b925788a530dc5bc44eb4a07ae780e20b0309fd9140ebeeca30d9432ed50be0f25ae60f10beb3aa8883f6d662e4b9c6f6cd19a32c1f42ab2505c47 +"@rails/ujs@npm:7.1.401": + version: 7.1.401 + resolution: "@rails/ujs@npm:7.1.401" + checksum: 10c0/08eae084c80e837e47cc01d0be25a431495f7dea381dcaaa4ce39a3217fac46bf87d169b3dfcf304ae16e0714de7435c2b8c5eb8d5052e3ba70ef3050a72fa3c languageName: node linkType: hard "@reduxjs/toolkit@npm:^2.0.1": - version: 2.2.7 - resolution: "@reduxjs/toolkit@npm:2.2.7" + version: 2.2.8 + resolution: "@reduxjs/toolkit@npm:2.2.8" dependencies: immer: "npm:^10.0.3" redux: "npm:^5.0.1" @@ -3125,7 +3125,7 @@ __metadata: optional: true react-redux: optional: true - checksum: 10c0/7761a91adac2b5e1d50a8163ba5441480bb86a3a80b7583037c27a88463394b132dd7592862fc2be03aa7ab98a6e1710549889986dc0d3f033c169a3ba2cb02e + checksum: 10c0/bf1356d71bfb82e5a181692c79c19b7bc19355260a9966f6562604c995f0cd0ce1154177ccd14095e8b319e73f64cfe86a4e46a83d24edba7876d4ae71fd5ae0 languageName: node linkType: hard @@ -3480,7 +3480,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:*, @types/babel__core@npm:^7.1.12, @types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.1.7, @types/babel__core@npm:^7.20.1": +"@types/babel__core@npm:*, @types/babel__core@npm:^7.1.12, @types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.1, @types/babel__core@npm:^7.20.5": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" dependencies: @@ -3502,12 +3502,12 @@ __metadata: languageName: node linkType: hard -"@types/babel__helper-plugin-utils@npm:^7.10.0": - version: 7.10.2 - resolution: "@types/babel__helper-plugin-utils@npm:7.10.2" +"@types/babel__helper-plugin-utils@npm:^7.10.3": + version: 7.10.3 + resolution: "@types/babel__helper-plugin-utils@npm:7.10.3" dependencies: "@types/babel__core": "npm:*" - checksum: 10c0/1c544e33b30ccfc02254b9fe090c52880c8bb05e5406f525bfdce71ce34e93677276f788b93e9fa5e1a16f6317b97e59a07d8a92bf4726d8f4639a0045ebb590 + checksum: 10c0/c22f68e8019c1e75e42fccc6eaca94a269fa177c4544599aa084b216b879b626f63f89755a4ac2dc9054b6e9ed4e0fab1e3460d36ce20767c99aef4a3c81fce3 languageName: node linkType: hard @@ -3521,12 +3521,12 @@ __metadata: languageName: node linkType: hard -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6, @types/babel__traverse@npm:^7.1.7": - version: 7.20.3 - resolution: "@types/babel__traverse@npm:7.20.3" +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6, @types/babel__traverse@npm:^7.20.6": + version: 7.20.6 + resolution: "@types/babel__traverse@npm:7.20.6" dependencies: "@babel/types": "npm:^7.20.7" - checksum: 10c0/295ed9b837e62e17ee43be0df45d90fff5208986bd43af593c9020d152d3b2c55328e038c2f8585926b63cc22f887f28bf3f4c805aa881e2dd0bdd5ead92ece0 + checksum: 10c0/7ba7db61a53e28cac955aa99af280d2600f15a8c056619c05b6fc911cbe02c61aa4f2823299221b23ce0cce00b294c0e5f618ec772aa3f247523c2e48cf7b888 languageName: node linkType: hard @@ -3799,6 +3799,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:14 || 16 || 17 || 18": + version: 18.19.55 + resolution: "@types/node@npm:18.19.55" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/19ffeca0086b45cba08d4585623cd0d80fbacb659debde82a4baa008fc0c25ba6c21cd721f3a9f0be74f70940694b00458cac61c89f8b2a1e55ca4322a9aad2b + languageName: node + linkType: hard + "@types/object-assign@npm:^4.0.30": version: 4.0.33 resolution: "@types/object-assign@npm:4.0.33" @@ -3976,13 +3985,13 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:16 || 17 || 18, @types/react@npm:>=16.9.11, @types/react@npm:^18.2.7": - version: 18.3.10 - resolution: "@types/react@npm:18.3.10" +"@types/react@npm:*, @types/react@npm:>=16.9.11, @types/react@npm:^18.2.7, @types/react@npm:^18.3.11": + version: 18.3.11 + resolution: "@types/react@npm:18.3.11" dependencies: "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10c0/f5be1de1b0331c1fdb33d577f4cf7f1b949d4bded5347b2351a537f03c51dade5be115e21b161dcf1b37061954d320f6a0bdf8d7b70e24eda51071fdd614383d + checksum: 10c0/ce80512246ca5bda69db85b9f4f1835189334acfb6b2c4f3eda8cabff1ff1a3ea9ce4f3b895bdbc18c94140aa45592331aa3fdeb557f525c1b048de7ce84fc0e languageName: node linkType: hard @@ -5230,21 +5239,21 @@ __metadata: linkType: hard "babel-plugin-formatjs@npm:^10.5.1": - version: 10.5.16 - resolution: "babel-plugin-formatjs@npm:10.5.16" + version: 10.5.18 + resolution: "babel-plugin-formatjs@npm:10.5.18" dependencies: - "@babel/core": "npm:^7.10.4" - "@babel/helper-plugin-utils": "npm:^7.10.4" - "@babel/plugin-syntax-jsx": "npm:7" - "@babel/traverse": "npm:7" - "@babel/types": "npm:^7.12.11" - "@formatjs/icu-messageformat-parser": "npm:2.7.8" - "@formatjs/ts-transformer": "npm:3.13.14" - "@types/babel__core": "npm:^7.1.7" - "@types/babel__helper-plugin-utils": "npm:^7.10.0" - "@types/babel__traverse": "npm:^7.1.7" - tslib: "npm:^2.4.0" - checksum: 10c0/03d9d2b0b9cdc05c011bfb417a43e5c0f557868ed84d83acbc3cb9072b7fa98f5219473d0bd61f02741c151d6f2162da363bd337522c80af14721ae37f6da86b + "@babel/core": "npm:^7.25.0" + "@babel/helper-plugin-utils": "npm:^7.25.0" + "@babel/plugin-syntax-jsx": "npm:^7.25.0" + "@babel/traverse": "npm:^7.25.0" + "@babel/types": "npm:^7.25.0" + "@formatjs/icu-messageformat-parser": "npm:2.7.10" + "@formatjs/ts-transformer": "npm:3.13.16" + "@types/babel__core": "npm:^7.20.5" + "@types/babel__helper-plugin-utils": "npm:^7.10.3" + "@types/babel__traverse": "npm:^7.20.6" + tslib: "npm:^2.7.0" + checksum: 10c0/3e7753cb1837ea300f7b0d574751758330f4fe56e4f686a1ceb7acc612c0ac1353ed2a918b5af6e4dcaf579c623d56f714159a265d64b71897471a69f15910b8 languageName: node linkType: hard @@ -6392,10 +6401,10 @@ __metadata: languageName: node linkType: hard -"cookie@npm:0.6.0": - version: 0.6.0 - resolution: "cookie@npm:0.6.0" - checksum: 10c0/f2318b31af7a31b4ddb4a678d024514df5e705f9be5909a192d7f116cfb6d45cbacf96a473fa733faa95050e7cff26e7832bb3ef94751592f1387b71c8956686 +"cookie@npm:0.7.1": + version: 0.7.1 + resolution: "cookie@npm:0.7.1" + checksum: 10c0/5de60c67a410e7c8dc8a46a4b72eb0fe925871d057c9a5d2c0e8145c4270a4f81076de83410c4d397179744b478e33cd80ccbcc457abf40a9409ad27dcd21dde languageName: node linkType: hard @@ -6612,10 +6621,10 @@ __metadata: languageName: node linkType: hard -"css-functions-list@npm:^3.2.2": - version: 3.2.2 - resolution: "css-functions-list@npm:3.2.2" - checksum: 10c0/8638a63d0cf1bdc50d4a752ec1c94a57e9953c3b03eace4f5526db20bec3c061e95089f905dbb4999c44b9780ce777ba856967560f6d15119a303f6030901c10 +"css-functions-list@npm:^3.2.3": + version: 3.2.3 + resolution: "css-functions-list@npm:3.2.3" + checksum: 10c0/03f9ed34eeed310d2b1cf0e524eea02bc5f87854a4de85f8957ea432ab1036841a3fb00879590519f7bb8fda40d992ce7a72fa9b61696ca1dc53b90064858f96 languageName: node linkType: hard @@ -6723,6 +6732,16 @@ __metadata: languageName: node linkType: hard +"css-tree@npm:^3.0.0": + version: 3.0.0 + resolution: "css-tree@npm:3.0.0" + dependencies: + mdn-data: "npm:2.10.0" + source-map-js: "npm:^1.0.1" + checksum: 10c0/43d44fdf7004ae91d73d486f17894fef77efa33747a6752b9241cf0f5fb47fabc16ec34a96a993651d9014dfdeee803d7c5fcd3548214252ee19f4e5c98999b2 + languageName: node + linkType: hard + "css-tree@npm:~2.2.0": version: 2.2.1 resolution: "css-tree@npm:2.2.1" @@ -6972,15 +6991,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:~4.3.6": - version: 4.3.6 - resolution: "debug@npm:4.3.6" +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:^4.3.7, debug@npm:~4.3.6": + version: 4.3.7 + resolution: "debug@npm:4.3.7" dependencies: - ms: "npm:2.1.2" + ms: "npm:^2.1.3" peerDependenciesMeta: supports-color: optional: true - checksum: 10c0/3293416bff072389c101697d4611c402a6bacd1900ac20c0492f61a9cdd6b3b29750fc7f5e299f8058469ef60ff8fb79b86395a30374fbd2490113c1c7112285 + checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b languageName: node linkType: hard @@ -8396,15 +8415,15 @@ __metadata: linkType: hard "express@npm:^4.17.1, express@npm:^4.18.2": - version: 4.21.0 - resolution: "express@npm:4.21.0" + version: 4.21.1 + resolution: "express@npm:4.21.1" dependencies: accepts: "npm:~1.3.8" array-flatten: "npm:1.1.1" body-parser: "npm:1.20.3" content-disposition: "npm:0.5.4" content-type: "npm:~1.0.4" - cookie: "npm:0.6.0" + cookie: "npm:0.7.1" cookie-signature: "npm:1.0.6" debug: "npm:2.6.9" depd: "npm:2.0.0" @@ -8430,7 +8449,7 @@ __metadata: type-is: "npm:~1.6.18" utils-merge: "npm:1.0.1" vary: "npm:~1.1.2" - checksum: 10c0/4cf7ca328f3fdeb720f30ccb2ea7708bfa7d345f9cc460b64a82bf1b2c91e5b5852ba15a9a11b2a165d6089acf83457fc477dc904d59cd71ed34c7a91762c6cc + checksum: 10c0/0c287867e5f6129d3def1edd9b63103a53c40d4dc8628839d4b6827e35eb8f0de5a4656f9d85f4457eba584f9871ebb2ad26c750b36bd75d9bbb8bcebdc4892c languageName: node linkType: hard @@ -8567,12 +8586,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^9.0.0": - version: 9.0.0 - resolution: "file-entry-cache@npm:9.0.0" +"file-entry-cache@npm:^9.1.0": + version: 9.1.0 + resolution: "file-entry-cache@npm:9.1.0" dependencies: flat-cache: "npm:^5.0.0" - checksum: 10c0/07b0a4f062dc0aa258f3e1b06ac083ea25313f5e289943e146fafdaf3315dcc031635545eea7fe98fe5598b91d6c7f48dba7a251dd7ac20108a6ebf7d00b0b1c + checksum: 10c0/4b4dbc1e972f50202b1a4430d30fd99378ef6e2a64857176abdc65c5e4730a948fb37e274478520a7bacbc70f3abba455a4b9d2c1915c53f30d11dc85d3fef5e languageName: node linkType: hard @@ -8924,9 +8943,9 @@ __metadata: linkType: hard "fuzzysort@npm:^3.0.0": - version: 3.0.2 - resolution: "fuzzysort@npm:3.0.2" - checksum: 10c0/c6cdbd092a8e91ed822aeac6d4fb95559759c10602cb29f27307c1cabd01fdd384fa399f7757722435b595244efb000cd63f144104c41b8551b2faff123279cb + version: 3.1.0 + resolution: "fuzzysort@npm:3.1.0" + checksum: 10c0/da9bb32de16f2a5c2c000b99031d9f4f8a01380c12d5d3b67296443a1152c55987ce3c4ddbfe97481b0e9b6f2fb77d61dceba29a93ad36ee23ef5bab6a31afb8 languageName: node linkType: hard @@ -9646,13 +9665,20 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.2.0, ignore@npm:^5.3.1, ignore@npm:^5.3.2": +"ignore@npm:^5.2.0, ignore@npm:^5.3.1": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 languageName: node linkType: hard +"ignore@npm:^6.0.2": + version: 6.0.2 + resolution: "ignore@npm:6.0.2" + checksum: 10c0/9a38feac1861906a78ba0f03e8ef3cd6b0526dce2a1a84e1009324b557763afeb9c3ebcc04666b21f7bbf71adda45e76781bb9e2eaa0903d45dcaded634454f5 + languageName: node + linkType: hard + "immer@npm:^10.0.3": version: 10.0.3 resolution: "immer@npm:10.0.3" @@ -9816,15 +9842,15 @@ __metadata: languageName: node linkType: hard -"intl-messageformat@npm:10.5.14, intl-messageformat@npm:^10.3.5": - version: 10.5.14 - resolution: "intl-messageformat@npm:10.5.14" +"intl-messageformat@npm:10.7.0, intl-messageformat@npm:^10.3.5": + version: 10.7.0 + resolution: "intl-messageformat@npm:10.7.0" dependencies: - "@formatjs/ecma402-abstract": "npm:2.0.0" - "@formatjs/fast-memoize": "npm:2.2.0" - "@formatjs/icu-messageformat-parser": "npm:2.7.8" - tslib: "npm:^2.4.0" - checksum: 10c0/8ec0a60539f67039356e211bcc8d81cf1bd9d62190a72ab0e94504da92f0242fe2f94ffb512b97cc6f63782b7891874d4038536ce04631e59d762c3441c60b4b + "@formatjs/ecma402-abstract": "npm:2.2.0" + "@formatjs/fast-memoize": "npm:2.2.1" + "@formatjs/icu-messageformat-parser": "npm:2.7.10" + tslib: "npm:^2.7.0" + checksum: 10c0/772469599fa8ab43dc933d03c75c6290220565c97afdc60cb67d036f2c51f1b3a825b2345933ee7616ecdf018b95ea7704f5ec80ded5a8efc2ce7f4b2962cae3 languageName: node linkType: hard @@ -11818,6 +11844,13 @@ __metadata: languageName: node linkType: hard +"mdn-data@npm:2.10.0": + version: 2.10.0 + resolution: "mdn-data@npm:2.10.0" + checksum: 10c0/f6f1a6a6eb092bab250d06f6f6c7cb1733a77a17e7119aac829ad67d4322bbf6a30df3c6d88686e71942e66bd49274b2ddfede22a1d3df0d6c49a56fbd09eb7c + languageName: node + linkType: hard + "media-typer@npm:0.3.0": version: 0.3.0 resolution: "media-typer@npm:0.3.0" @@ -12197,14 +12230,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc - languageName: node - linkType: hard - -"ms@npm:2.1.3, ms@npm:^2.1.1": +"ms@npm:2.1.3, ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 @@ -13352,18 +13378,18 @@ __metadata: languageName: node linkType: hard -"postcss-color-functional-notation@npm:^7.0.2": - version: 7.0.2 - resolution: "postcss-color-functional-notation@npm:7.0.2" +"postcss-color-functional-notation@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-color-functional-notation@npm:7.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/e89c0bff94558b0c978ac36f7e02f7f516291f90fd43169d39c63ad2bb0415e3b1c4b3c2469280d578727e850fdf15a557230cb28275f3f0676f0f73187f2867 + checksum: 10c0/5e04c81002512c960784043c096bc91ebc76b8fddb9259a2418b0e121eb65042944cc0f78946f6b7e5774ff1fee087849019655e4848af1f88879e3ab9ff7c17 languageName: node linkType: hard @@ -13417,46 +13443,46 @@ __metadata: languageName: node linkType: hard -"postcss-custom-media@npm:^11.0.1": - version: 11.0.1 - resolution: "postcss-custom-media@npm:11.0.1" +"postcss-custom-media@npm:^11.0.3": + version: 11.0.3 + resolution: "postcss-custom-media@npm:11.0.3" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" - "@csstools/media-query-list-parser": "npm:^3.0.1" + "@csstools/cascade-layer-name-parser": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" + "@csstools/media-query-list-parser": "npm:^4.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/771b281a28f105370ede7c4a86f9e3dd8d9ec3bf2d2883d4f2cfe9c42b5ec1bf88f713458b356870315d0ba3a285fbeb7bb514a1203d1c4fb113bd9044369bf2 + checksum: 10c0/bd3f0cf17d7422385d26afed510dc2acebb1d8c25fce13e2bbee1c49cdc7fe95ebe7f50b89ef0a88ebdd5f6826e89d99e26b905881ceff788df655670dba93d8 languageName: node linkType: hard -"postcss-custom-properties@npm:^14.0.1": - version: 14.0.1 - resolution: "postcss-custom-properties@npm:14.0.1" +"postcss-custom-properties@npm:^14.0.2": + version: 14.0.2 + resolution: "postcss-custom-properties@npm:14.0.2" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/cascade-layer-name-parser": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/utilities": "npm:^2.0.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/12180a7f4a4fe2d528387346a1810b82ed870081756dcf6be226c839716ab3f6f4d6ca4c7208a07d7d84bf2c986beef6473e29964e7c2572066fca5d3b000ed5 + checksum: 10c0/ea2e0cb60c558bb1afb4e601dcc64a38e1b28e5df3e47b83b858fc12d909d0e3453013e6b368fc05a7db7098ffcdc702a30a92f1a3c0ef67dfb97bf089021f1a languageName: node linkType: hard -"postcss-custom-selectors@npm:^8.0.1": - version: 8.0.1 - resolution: "postcss-custom-selectors@npm:8.0.1" +"postcss-custom-selectors@npm:^8.0.2": + version: 8.0.2 + resolution: "postcss-custom-selectors@npm:8.0.2" dependencies: - "@csstools/cascade-layer-name-parser": "npm:^2.0.1" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/cascade-layer-name-parser": "npm:^2.0.2" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" postcss-selector-parser: "npm:^6.1.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/b867233b3d68fbab90afca8a776eb74196ebc3fac8988175d95118a47993c793138fec6cc580272bb35d9bd31086acbdd33ff86da0cab83ef2f08bfc1c23ecd6 + checksum: 10c0/81673ffb0874f63c0f5e14315a5808259ec80ae8452aaf10d28112d30a9aaabbf61d13edb02f8be2965f44b943968c7eda051a1693da436ef157e77fcff0d752 languageName: node linkType: hard @@ -13574,18 +13600,18 @@ __metadata: languageName: node linkType: hard -"postcss-lab-function@npm:^7.0.2": - version: 7.0.2 - resolution: "postcss-lab-function@npm:7.0.2" +"postcss-lab-function@npm:^7.0.3": + version: 7.0.3 + resolution: "postcss-lab-function@npm:7.0.3" dependencies: - "@csstools/css-color-parser": "npm:^3.0.2" - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" + "@csstools/css-color-parser": "npm:^3.0.3" + "@csstools/css-parser-algorithms": "npm:^3.0.2" + "@csstools/css-tokenizer": "npm:^3.0.2" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" "@csstools/utilities": "npm:^2.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/6b2be7e762b4ccb58ea9051723d390f6732ad78bb30bfef9499139cf5e2ac160c3de31b2b005fcc30e9fced4abe1685df6cb76c99d548896bae6746105ac8520 + checksum: 10c0/c50a73a9ed54b4194998c4627599d1f42074235f572edbbcdb0e00717f3ae2121dc8378d917792b281860c5650a617d923823da6f395515f610b5760d115354d languageName: node linkType: hard @@ -13906,38 +13932,38 @@ __metadata: linkType: hard "postcss-preset-env@npm:^10.0.0": - version: 10.0.5 - resolution: "postcss-preset-env@npm:10.0.5" + version: 10.0.7 + resolution: "postcss-preset-env@npm:10.0.7" dependencies: "@csstools/postcss-cascade-layers": "npm:^5.0.0" - "@csstools/postcss-color-function": "npm:^4.0.2" - "@csstools/postcss-color-mix-function": "npm:^3.0.2" - "@csstools/postcss-content-alt-text": "npm:^2.0.1" - "@csstools/postcss-exponential-functions": "npm:^2.0.1" + "@csstools/postcss-color-function": "npm:^4.0.3" + "@csstools/postcss-color-mix-function": "npm:^3.0.3" + "@csstools/postcss-content-alt-text": "npm:^2.0.2" + "@csstools/postcss-exponential-functions": "npm:^2.0.2" "@csstools/postcss-font-format-keywords": "npm:^4.0.0" - "@csstools/postcss-gamut-mapping": "npm:^2.0.2" - "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.2" - "@csstools/postcss-hwb-function": "npm:^4.0.2" + "@csstools/postcss-gamut-mapping": "npm:^2.0.3" + "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.3" + "@csstools/postcss-hwb-function": "npm:^4.0.3" "@csstools/postcss-ic-unit": "npm:^4.0.0" "@csstools/postcss-initial": "npm:^2.0.0" "@csstools/postcss-is-pseudo-class": "npm:^5.0.0" - "@csstools/postcss-light-dark-function": "npm:^2.0.4" + "@csstools/postcss-light-dark-function": "npm:^2.0.5" "@csstools/postcss-logical-float-and-clear": "npm:^3.0.0" "@csstools/postcss-logical-overflow": "npm:^2.0.0" "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0" "@csstools/postcss-logical-resize": "npm:^3.0.0" - "@csstools/postcss-logical-viewport-units": "npm:^3.0.1" - "@csstools/postcss-media-minmax": "npm:^2.0.1" - "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.1" + "@csstools/postcss-logical-viewport-units": "npm:^3.0.2" + "@csstools/postcss-media-minmax": "npm:^2.0.2" + "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.2" "@csstools/postcss-nested-calc": "npm:^4.0.0" "@csstools/postcss-normalize-display-values": "npm:^4.0.0" - "@csstools/postcss-oklab-function": "npm:^4.0.2" + "@csstools/postcss-oklab-function": "npm:^4.0.3" "@csstools/postcss-progressive-custom-properties": "npm:^4.0.0" - "@csstools/postcss-relative-color-syntax": "npm:^3.0.2" + "@csstools/postcss-relative-color-syntax": "npm:^3.0.3" "@csstools/postcss-scope-pseudo-class": "npm:^4.0.0" - "@csstools/postcss-stepped-value-functions": "npm:^4.0.1" + "@csstools/postcss-stepped-value-functions": "npm:^4.0.2" "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.1" - "@csstools/postcss-trigonometric-functions": "npm:^4.0.1" + "@csstools/postcss-trigonometric-functions": "npm:^4.0.2" "@csstools/postcss-unset-value": "npm:^4.0.0" autoprefixer: "npm:^10.4.19" browserslist: "npm:^4.23.1" @@ -13947,12 +13973,12 @@ __metadata: cssdb: "npm:^8.1.1" postcss-attribute-case-insensitive: "npm:^7.0.0" postcss-clamp: "npm:^4.1.0" - postcss-color-functional-notation: "npm:^7.0.2" + postcss-color-functional-notation: "npm:^7.0.3" postcss-color-hex-alpha: "npm:^10.0.0" postcss-color-rebeccapurple: "npm:^10.0.0" - postcss-custom-media: "npm:^11.0.1" - postcss-custom-properties: "npm:^14.0.1" - postcss-custom-selectors: "npm:^8.0.1" + postcss-custom-media: "npm:^11.0.3" + postcss-custom-properties: "npm:^14.0.2" + postcss-custom-selectors: "npm:^8.0.2" postcss-dir-pseudo-class: "npm:^9.0.0" postcss-double-position-gradients: "npm:^6.0.0" postcss-focus-visible: "npm:^10.0.0" @@ -13960,7 +13986,7 @@ __metadata: postcss-font-variant: "npm:^5.0.0" postcss-gap-properties: "npm:^6.0.0" postcss-image-set-function: "npm:^7.0.0" - postcss-lab-function: "npm:^7.0.2" + postcss-lab-function: "npm:^7.0.3" postcss-logical: "npm:^8.0.0" postcss-nesting: "npm:^13.0.0" postcss-opacity-percentage: "npm:^3.0.0" @@ -13972,7 +13998,7 @@ __metadata: postcss-selector-not: "npm:^8.0.0" peerDependencies: postcss: ^8.4 - checksum: 10c0/db5eb1175cb26bed3f1a4c47acc67935ffc784520321470520e59de366ac6f91be1e609fe36056af707ed20f7910721287cff0fae416c437dd3e944de13ffd05 + checksum: 10c0/f789000e0504fd827e854bb0feb8b4c218d381314e4d863c5a36df925df412d0844c912952fe27892a320433640aeaff03ee94a3057b42011bf5d32b3963f333 languageName: node linkType: hard @@ -14026,12 +14052,12 @@ __metadata: languageName: node linkType: hard -"postcss-safe-parser@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-safe-parser@npm:7.0.0" +"postcss-safe-parser@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-safe-parser@npm:7.0.1" peerDependencies: postcss: ^8.4.31 - checksum: 10c0/4217afd8ce2809e959dc365e4675f499303cc6b91f94db06c8164422822db2d3b3124df701ee2234db4127ad05619b016bfb9c2bccae9bf9cf898a396f1632c9 + checksum: 10c0/6957b10b818bd8d4664ec0e548af967f7549abedfb37f844d389571d36af681340f41f9477b9ccf34bcc7599bdef222d1d72e79c64373001fae77089fba6d965 languageName: node linkType: hard @@ -14095,7 +14121,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.2.15, postcss@npm:^8.4.24, postcss@npm:^8.4.41": +"postcss@npm:^8.2.15, postcss@npm:^8.4.24, postcss@npm:^8.4.47": version: 8.4.47 resolution: "postcss@npm:8.4.47" dependencies: @@ -14546,26 +14572,26 @@ __metadata: linkType: hard "react-intl@npm:^6.4.2": - version: 6.7.0 - resolution: "react-intl@npm:6.7.0" + version: 6.8.0 + resolution: "react-intl@npm:6.8.0" dependencies: - "@formatjs/ecma402-abstract": "npm:2.0.0" - "@formatjs/icu-messageformat-parser": "npm:2.7.8" - "@formatjs/intl": "npm:2.10.5" - "@formatjs/intl-displaynames": "npm:6.6.8" - "@formatjs/intl-listformat": "npm:7.5.7" + "@formatjs/ecma402-abstract": "npm:2.2.0" + "@formatjs/icu-messageformat-parser": "npm:2.7.10" + "@formatjs/intl": "npm:2.10.8" + "@formatjs/intl-displaynames": "npm:6.6.10" + "@formatjs/intl-listformat": "npm:7.5.9" "@types/hoist-non-react-statics": "npm:^3.3.1" - "@types/react": "npm:16 || 17 || 18" + "@types/react": "npm:^18.3.11" hoist-non-react-statics: "npm:^3.3.2" - intl-messageformat: "npm:10.5.14" - tslib: "npm:^2.4.0" + intl-messageformat: "npm:10.7.0" + tslib: "npm:^2.7.0" peerDependencies: react: ^16.6.0 || 17 || 18 typescript: ^4.7 || 5 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/210088bf0e934ad5f09d8e7c6d7d72682bb806583645fb333d4efd8ae55585b675ea8e47bb240140d5143ca15ecc0457c3ddc3e8ca45e9b576bce1fa2f9886b3 + checksum: 10c0/e110d8cbfc227cbed3b72b162fe8a75e824aef47eeb5a7879a5a2d9fa5dd35d2d25149ef57460fa06bca7ae106184c729e410c22bcdb349d29bb1ee35f3c5cf0 languageName: node linkType: hard @@ -14831,15 +14857,15 @@ __metadata: linkType: hard "react-textarea-autosize@npm:^8.4.1": - version: 8.5.3 - resolution: "react-textarea-autosize@npm:8.5.3" + version: 8.5.4 + resolution: "react-textarea-autosize@npm:8.5.4" dependencies: "@babel/runtime": "npm:^7.20.13" use-composed-ref: "npm:^1.3.0" use-latest: "npm:^1.2.1" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/33d38a6d96cf584842695b50c341980944ece23a42155bf0bd1958f02396adb185c7720b88678dc677817fe111783059c0ebcdf7761644006892583b10e258ee + checksum: 10c0/ea92fda2128983c1a8e84c74706ffb4b8bfa1a19c803d210868ec031c1ac3b8ceee8028766ef5d91017265da2bdccf6a85e5b6e5d553005e839f0c47e5758b43 languageName: node linkType: hard @@ -16693,8 +16719,8 @@ __metadata: linkType: hard "stylelint@npm:^16.0.2": - version: 16.9.0 - resolution: "stylelint@npm:16.9.0" + version: 16.10.0 + resolution: "stylelint@npm:16.10.0" dependencies: "@csstools/css-parser-algorithms": "npm:^3.0.1" "@csstools/css-tokenizer": "npm:^3.0.1" @@ -16704,17 +16730,17 @@ __metadata: balanced-match: "npm:^2.0.0" colord: "npm:^2.9.3" cosmiconfig: "npm:^9.0.0" - css-functions-list: "npm:^3.2.2" - css-tree: "npm:^2.3.1" - debug: "npm:^4.3.6" + css-functions-list: "npm:^3.2.3" + css-tree: "npm:^3.0.0" + debug: "npm:^4.3.7" fast-glob: "npm:^3.3.2" fastest-levenshtein: "npm:^1.0.16" - file-entry-cache: "npm:^9.0.0" + file-entry-cache: "npm:^9.1.0" global-modules: "npm:^2.0.0" globby: "npm:^11.1.0" globjoin: "npm:^0.1.4" html-tags: "npm:^3.3.1" - ignore: "npm:^5.3.2" + ignore: "npm:^6.0.2" imurmurhash: "npm:^0.1.4" is-plain-object: "npm:^5.0.0" known-css-properties: "npm:^0.34.0" @@ -16723,21 +16749,20 @@ __metadata: micromatch: "npm:^4.0.8" normalize-path: "npm:^3.0.0" picocolors: "npm:^1.0.1" - postcss: "npm:^8.4.41" + postcss: "npm:^8.4.47" postcss-resolve-nested-selector: "npm:^0.1.6" - postcss-safe-parser: "npm:^7.0.0" + postcss-safe-parser: "npm:^7.0.1" postcss-selector-parser: "npm:^6.1.2" postcss-value-parser: "npm:^4.2.0" resolve-from: "npm:^5.0.0" string-width: "npm:^4.2.3" - strip-ansi: "npm:^7.1.0" supports-hyperlinks: "npm:^3.1.0" svg-tags: "npm:^1.0.0" table: "npm:^6.8.2" write-file-atomic: "npm:^5.0.1" bin: stylelint: bin/stylelint.mjs - checksum: 10c0/d3ff9c8945c56b04a2fa16ec33d163325496d5db94b6fcb5adf74c76f7f794ac992888273f9a3317652ba8b6195168b2ffff382ca2a667a241e2ace8c9505ae2 + checksum: 10c0/d07dd156c225d16c740995daacd78090f7fc317602e87bda2fca323a4ae427a8526d724f3089df3b2185df4520f987547668ceea9b30985988ccbc514034aa21 languageName: node linkType: hard @@ -17249,7 +17274,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2": +"tslib@npm:^2.0.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.7.0": version: 2.7.0 resolution: "tslib@npm:2.7.0" checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 @@ -17382,22 +17407,22 @@ __metadata: linkType: hard "typescript@npm:5, typescript@npm:^5.0.4": - version: 5.6.2 - resolution: "typescript@npm:5.6.2" + version: 5.6.3 + resolution: "typescript@npm:5.6.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/3ed8297a8c7c56b7fec282532503d1ac795239d06e7c4966b42d4330c6cf433a170b53bcf93a130a7f14ccc5235de5560df4f1045eb7f3550b46ebed16d3c5e5 + checksum: 10c0/44f61d3fb15c35359bc60399cb8127c30bae554cd555b8e2b46d68fa79d680354b83320ad419ff1b81a0bdf324197b29affe6cc28988cd6a74d4ac60c94f9799 languageName: node linkType: hard "typescript@patch:typescript@npm%3A5#optional!builtin