diff --git a/.github/renovate.json5 b/.github/renovate.json5
index e92608a437..378d4fc83c 100644
--- a/.github/renovate.json5
+++ b/.github/renovate.json5
@@ -141,6 +141,13 @@
matchUpdateTypes: ['patch', 'minor'],
groupName: 'RSpec (non-major)',
},
+ {
+ // Group all opentelemetry-ruby packages in the same PR
+ matchManagers: ['bundler'],
+ matchPackagePrefixes: ['opentelemetry-'],
+ matchUpdateTypes: ['patch', 'minor'],
+ groupName: 'opentelemetry-ruby (non-major)',
+ },
// Add labels depending on package manager
{ matchManagers: ['npm', 'nvm'], addLabels: ['javascript'] },
{ matchManagers: ['bundler', 'ruby-version'], addLabels: ['ruby'] },
diff --git a/.github/workflows/test-ruby.yml b/.github/workflows/test-ruby.yml
index b28f5261c2..45dc8a0deb 100644
--- a/.github/workflows/test-ruby.yml
+++ b/.github/workflows/test-ruby.yml
@@ -145,6 +145,8 @@ jobs:
uses: codecov/codecov-action@v4
with:
files: coverage/lcov/mastodon.lcov
+ env:
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test-e2e:
name: End to End testing
@@ -184,6 +186,8 @@ jobs:
DISABLE_SIMPLECOV: true
RAILS_ENV: test
BUNDLE_WITH: test
+ LOCAL_DOMAIN: localhost:3000
+ LOCAL_HTTPS: false
strategy:
fail-fast: false
@@ -213,7 +217,7 @@ jobs:
- name: Load database schema
run: './bin/rails db:create db:schema:load db:seed'
- - run: bundle exec rake spec:system
+ - run: bin/rspec spec/system --tag streaming --tag js
- name: Archive logs
uses: actions/upload-artifact@v4
diff --git a/.nvmrc b/.nvmrc
index 7795cadb57..973f49d55c 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-20.12
+20.13
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 0b6f63ff7e..85da96d73c 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -54,10 +54,6 @@ Style/ClassEqualityComparison:
- 'app/helpers/jsonld_helper.rb'
- 'app/serializers/activitypub/outbox_serializer.rb'
-Style/ClassVars:
- Exclude:
- - 'config/initializers/devise.rb'
-
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowedVars.
Style/FetchEnvVar:
@@ -74,7 +70,7 @@ Style/FetchEnvVar:
- 'config/initializers/vapid.rb'
- 'lib/mastodon/redis_config.rb'
- 'lib/tasks/repo.rake'
- - 'spec/features/profile_spec.rb'
+ - 'spec/system/profile_spec.rb'
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns.
diff --git a/Gemfile b/Gemfile
index eb507e9d18..247865aacf 100644
--- a/Gemfile
+++ b/Gemfile
@@ -57,7 +57,7 @@ gem 'htmlentities', '~> 4.3'
gem 'http', '~> 5.2.0'
gem 'http_accept_language', '~> 2.1'
gem 'httplog', '~> 1.6.2'
-gem 'i18n', '1.14.1' # TODO: Remove version when resolved: https://github.com/glebm/i18n-tasks/issues/552 / https://github.com/ruby-i18n/i18n/pull/688
+gem 'i18n'
gem 'idn-ruby', require: 'idn'
gem 'inline_svg'
gem 'kaminari', '~> 1.2'
@@ -103,6 +103,24 @@ gem 'rdf-normalize', '~> 0.5'
gem 'private_address_check', '~> 0.5'
+group :opentelemetry do
+ gem 'opentelemetry-exporter-otlp', '~> 0.26.3', require: false
+ gem 'opentelemetry-instrumentation-active_job', '~> 0.7.1', require: false
+ gem 'opentelemetry-instrumentation-active_model_serializers', '~> 0.20.1', require: false
+ gem 'opentelemetry-instrumentation-concurrent_ruby', '~> 0.21.2', require: false
+ gem 'opentelemetry-instrumentation-excon', '~> 0.22.0', require: false
+ gem 'opentelemetry-instrumentation-faraday', '~> 0.24.1', require: false
+ gem 'opentelemetry-instrumentation-http', '~> 0.23.2', require: false
+ gem 'opentelemetry-instrumentation-http_client', '~> 0.22.3', require: false
+ gem 'opentelemetry-instrumentation-net_http', '~> 0.22.4', require: false
+ gem 'opentelemetry-instrumentation-pg', '~> 0.27.1', require: false
+ gem 'opentelemetry-instrumentation-rack', '~> 0.24.1', require: false
+ gem 'opentelemetry-instrumentation-rails', '~> 0.30.0', require: false
+ gem 'opentelemetry-instrumentation-redis', '~> 0.25.3', require: false
+ gem 'opentelemetry-instrumentation-sidekiq', '~> 0.25.2', require: false
+ gem 'opentelemetry-sdk', '~> 1.4', require: false
+end
+
group :test do
# Adds RSpec Error/Warning annotations to GitHub PRs on the Files tab
gem 'rspec-github', '~> 2.4', require: false
diff --git a/Gemfile.lock b/Gemfile.lock
index 435144700f..3f4b1088ad 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -130,14 +130,7 @@ GEM
erubi (>= 1.0.0)
rack (>= 0.9.0)
rouge (>= 1.0.0)
- better_html (2.1.1)
- actionview (>= 6.0)
- activesupport (>= 6.0)
- ast (~> 2.0)
- erubi (~> 1.4)
- parser (>= 2.4)
- smart_properties
- bigdecimal (3.1.7)
+ bigdecimal (3.1.8)
bindata (2.5.0)
binding_of_caller (1.0.1)
debug_inspector (>= 1.2.0)
@@ -291,6 +284,9 @@ GEM
ruby-progressbar (~> 1.4)
globalid (1.2.1)
activesupport (>= 6.1)
+ google-protobuf (3.25.3)
+ googleapis-common-protos-types (1.14.0)
+ google-protobuf (~> 3.18)
haml (6.3.0)
temple (>= 0.8.2)
thor
@@ -328,12 +324,11 @@ GEM
httplog (1.6.3)
rack (>= 2.0)
rainbow (>= 2.0.0)
- i18n (1.14.1)
+ i18n (1.14.5)
concurrent-ruby (~> 1.0)
- i18n-tasks (1.0.13)
+ i18n-tasks (1.0.14)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
- better_html (>= 1.0, < 3.0)
erubi
highline (>= 2.0.0)
i18n
@@ -491,6 +486,96 @@ GEM
openssl (3.2.0)
openssl-signature_algorithm (1.3.0)
openssl (> 2.0)
+ opentelemetry-api (1.2.5)
+ opentelemetry-common (0.20.1)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-exporter-otlp (0.26.3)
+ google-protobuf (~> 3.14)
+ googleapis-common-protos-types (~> 1.3)
+ opentelemetry-api (~> 1.1)
+ opentelemetry-common (~> 0.20)
+ opentelemetry-sdk (~> 1.2)
+ opentelemetry-semantic_conventions
+ opentelemetry-helpers-sql-obfuscation (0.1.0)
+ opentelemetry-common (~> 0.20)
+ opentelemetry-instrumentation-action_pack (0.9.0)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-rack (~> 0.21)
+ opentelemetry-instrumentation-action_view (0.7.0)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-instrumentation-active_support (~> 0.1)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-active_job (0.7.1)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-active_model_serializers (0.20.1)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-active_record (0.7.2)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-active_support (0.5.1)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-base (0.22.3)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-registry (~> 0.1)
+ opentelemetry-instrumentation-concurrent_ruby (0.21.3)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-excon (0.22.1)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-common (~> 0.20.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-faraday (0.24.2)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-common (~> 0.20.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-http (0.23.3)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-http_client (0.22.4)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-common (~> 0.20.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-net_http (0.22.4)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-common (~> 0.20.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-pg (0.27.2)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-helpers-sql-obfuscation
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-rack (0.24.3)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-common (~> 0.20.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-rails (0.30.1)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-instrumentation-action_pack (~> 0.9.0)
+ opentelemetry-instrumentation-action_view (~> 0.7.0)
+ opentelemetry-instrumentation-active_job (~> 0.7.0)
+ opentelemetry-instrumentation-active_record (~> 0.7.0)
+ opentelemetry-instrumentation-active_support (~> 0.5.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-redis (0.25.4)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-common (~> 0.20.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-instrumentation-sidekiq (0.25.3)
+ opentelemetry-api (~> 1.0)
+ opentelemetry-common (~> 0.20.0)
+ opentelemetry-instrumentation-base (~> 0.22.1)
+ opentelemetry-registry (0.3.1)
+ opentelemetry-api (~> 1.1)
+ opentelemetry-sdk (1.4.1)
+ opentelemetry-api (~> 1.1)
+ opentelemetry-common (~> 0.20)
+ opentelemetry-registry (~> 0.2)
+ opentelemetry-semantic_conventions
+ opentelemetry-semantic_conventions (1.10.0)
+ opentelemetry-api (~> 1.0)
orm_adapter (0.5.0)
ox (2.14.18)
parallel (1.24.0)
@@ -522,7 +607,7 @@ GEM
public_suffix (5.0.5)
puma (6.4.2)
nio4r (~> 2.0)
- pundit (2.3.1)
+ pundit (2.3.2)
activesupport (>= 3.0.0)
raabro (1.4.0)
racc (1.7.3)
@@ -601,7 +686,7 @@ GEM
redlock (1.3.2)
redis (>= 3.0.0, < 6.0)
regexp_parser (2.9.0)
- reline (0.5.5)
+ reline (0.5.6)
io-console (~> 0.5)
request_store (1.6.0)
rack (>= 1.4)
@@ -640,7 +725,7 @@ GEM
rspec-mocks (~> 3.0)
sidekiq (>= 5, < 8)
rspec-support (3.13.1)
- rubocop (1.63.4)
+ rubocop (1.63.5)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
@@ -723,7 +808,6 @@ GEM
simplecov-html (0.12.3)
simplecov-lcov (0.8.0)
simplecov_json_formatter (0.1.4)
- smart_properties (1.17.0)
stackprof (0.2.26)
statsd-ruby (1.5.0)
stoplight (4.1.0)
@@ -860,7 +944,7 @@ DEPENDENCIES
http (~> 5.2.0)
http_accept_language (~> 2.1)
httplog (~> 1.6.2)
- i18n (= 1.14.1)
+ i18n
i18n-tasks (~> 1.0)
idn-ruby
inline_svg
@@ -889,6 +973,21 @@ DEPENDENCIES
omniauth-rails_csrf_protection (~> 1.0)
omniauth-saml (~> 2.0)
omniauth_openid_connect (~> 0.6.1)
+ opentelemetry-exporter-otlp (~> 0.26.3)
+ opentelemetry-instrumentation-active_job (~> 0.7.1)
+ opentelemetry-instrumentation-active_model_serializers (~> 0.20.1)
+ opentelemetry-instrumentation-concurrent_ruby (~> 0.21.2)
+ opentelemetry-instrumentation-excon (~> 0.22.0)
+ opentelemetry-instrumentation-faraday (~> 0.24.1)
+ opentelemetry-instrumentation-http (~> 0.23.2)
+ opentelemetry-instrumentation-http_client (~> 0.22.3)
+ opentelemetry-instrumentation-net_http (~> 0.22.4)
+ opentelemetry-instrumentation-pg (~> 0.27.1)
+ opentelemetry-instrumentation-rack (~> 0.24.1)
+ opentelemetry-instrumentation-rails (~> 0.30.0)
+ opentelemetry-instrumentation-redis (~> 0.25.3)
+ opentelemetry-instrumentation-sidekiq (~> 0.25.2)
+ opentelemetry-sdk (~> 1.4)
ox (~> 2.14)
parslet
pg (~> 1.5)
diff --git a/README.md b/README.md
index ff51d6c3fb..bb2ef07232 100644
--- a/README.md
+++ b/README.md
@@ -112,7 +112,7 @@ Mastodon acts as an OAuth2 provider, so 3rd party apps can use the REST and Stre
- **PostgreSQL** 12+
- **Redis** 4+
- **Ruby** 3.1+
-- **Node.js** 16+
+- **Node.js** 18+
The repository includes deployment configurations for **Docker and docker-compose** as well as specific platforms like **Heroku**, **Scalingo**, and **Nanobox**. For Helm charts, reference the [mastodon/chart repository](https://github.com/mastodon/chart). The [**standalone** installation guide](https://docs.joinmastodon.org/admin/install/) is available in the documentation.
@@ -133,10 +133,12 @@ A **Vagrant** configuration is included for development purposes. To use it, com
To set up **MacOS** for native development, complete the following steps:
- Use a Ruby version manager to install the specified version from `.ruby-version`
+- Run `bundle` to install required gems
- Run `brew install postgresql@14 redis imagemagick libidn` to install required dependencies
- Navigate to Mastodon's root directory and run `brew install nvm` then `nvm use` to use the version from `.nvmrc`
+- Run `yarn` to install required packages
- Run `corepack enable && corepack prepare`
-- Run `bundle exec rails db:setup` (optionally prepend `RAILS_ENV=development` to target the dev environment)
+- Run `RAILS_ENV=development bundle exec rails db:setup`
- Finally, run `bin/dev` which will launch the local services via `overmind` (if installed) or `foreman`
### Docker
diff --git a/app/javascript/flavours/glitch/features/notifications/components/notification.jsx b/app/javascript/flavours/glitch/features/notifications/components/notification.jsx
index 6b629ec8f8..c66b6d8b87 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/notification.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/notification.jsx
@@ -31,7 +31,7 @@ const messages = defineMessages({
adminSignUp: { id: 'notification.admin.sign_up', defaultMessage: '{name} signed up' },
adminReport: { id: 'notification.admin.report', defaultMessage: '{name} reported {target}' },
relationshipsSevered: { id: 'notification.relationships_severance_event', defaultMessage: 'Lost connections with {name}' },
- moderationWarning: { id: 'notification.moderation_warning', defaultMessage: 'Your have received a moderation warning' },
+ moderationWarning: { id: 'notification.moderation_warning', defaultMessage: 'You have received a moderation warning' },
});
const notificationForScreenReader = (intl, message, timestamp) => {
diff --git a/app/javascript/mastodon/features/notifications/components/notification.jsx b/app/javascript/mastodon/features/notifications/components/notification.jsx
index caf7f9bdc1..69084c2111 100644
--- a/app/javascript/mastodon/features/notifications/components/notification.jsx
+++ b/app/javascript/mastodon/features/notifications/components/notification.jsx
@@ -41,7 +41,7 @@ const messages = defineMessages({
adminSignUp: { id: 'notification.admin.sign_up', defaultMessage: '{name} signed up' },
adminReport: { id: 'notification.admin.report', defaultMessage: '{name} reported {target}' },
relationshipsSevered: { id: 'notification.relationships_severance_event', defaultMessage: 'Lost connections with {name}' },
- moderationWarning: { id: 'notification.moderation_warning', defaultMessage: 'Your have received a moderation warning' },
+ moderationWarning: { id: 'notification.moderation_warning', defaultMessage: 'You have received a moderation warning' },
});
const notificationForScreenReader = (intl, message, timestamp) => {
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index 9d127b6b03..56e4612c1c 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -474,7 +474,7 @@
"notification.follow_request": "{name} has requested to follow you",
"notification.mention": "{name} mentioned you",
"notification.moderation-warning.learn_more": "Learn more",
- "notification.moderation_warning": "Your have received a moderation warning",
+ "notification.moderation_warning": "You have received a moderation warning",
"notification.moderation_warning.action_delete_statuses": "Some of your posts have been removed.",
"notification.moderation_warning.action_disable": "Your account has been disabled.",
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Some of your posts have been marked as sensitive.",
diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json
index 49802ac488..88d4f5f60e 100644
--- a/app/javascript/mastodon/locales/gl.json
+++ b/app/javascript/mastodon/locales/gl.json
@@ -2,7 +2,7 @@
"about.blocks": "Servidores suxeitos a moderación",
"about.contact": "Contacto:",
"about.disclaimer": "Mastodon é software libre, de código aberto, e unha marca comercial de Mastodon gGmbH.",
- "about.domain_blocks.no_reason_available": "Motivo non indicado. ",
+ "about.domain_blocks.no_reason_available": "Motivo non indicado",
"about.domain_blocks.preamble": "Mastodon de xeito xeral permíteche ver contidos doutros servidores do fediverso e interactuar coas súas usuarias. Estas son as excepcións que se estabeleceron neste servidor en particular.",
"about.domain_blocks.silenced.explanation": "Por defecto non verás perfís e contido desde este servidor, a menos que mires de xeito explícito ou optes por seguir ese contido ou usuaria.",
"about.domain_blocks.silenced.title": "Limitado",
@@ -115,7 +115,7 @@
"closed_registrations_modal.find_another_server": "Atopa outro servidor",
"closed_registrations_modal.preamble": "Mastodon é descentralizado, así que non importa onde crees a conta, poderás seguir e interactuar con calquera conta deste servidor. Incluso podes ter o teu servidor!",
"closed_registrations_modal.title": "Crear conta en Mastodon",
- "column.about": "Acerca de",
+ "column.about": "Sobre",
"column.blocks": "Usuarias bloqueadas",
"column.bookmarks": "Marcadores",
"column.community": "Cronoloxía local",
@@ -322,7 +322,7 @@
"follow_suggestions.view_all": "Ver todas",
"follow_suggestions.who_to_follow": "A quen seguir",
"followed_tags": "Cancelos seguidos",
- "footer.about": "Acerca de",
+ "footer.about": "Sobre",
"footer.directory": "Directorio de perfís",
"footer.get_app": "Descarga a app",
"footer.invite": "Convidar persoas",
@@ -441,7 +441,7 @@
"mute_modal.title": "Acalar usuaria?",
"mute_modal.you_wont_see_mentions": "Non verás as publicacións que a mencionen.",
"mute_modal.you_wont_see_posts": "Seguirá podendo ler as túas publicacións, pero non verás as súas.",
- "navigation_bar.about": "Acerca de",
+ "navigation_bar.about": "Sobre",
"navigation_bar.advanced_interface": "Abrir coa interface web avanzada",
"navigation_bar.blocks": "Usuarias bloqueadas",
"navigation_bar.bookmarks": "Marcadores",
diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json
index 372eb09fa7..5dc99dd76e 100644
--- a/app/javascript/mastodon/locales/hi.json
+++ b/app/javascript/mastodon/locales/hi.json
@@ -205,6 +205,10 @@
"dismissable_banner.dismiss": "डिसमिस",
"dismissable_banner.explore_links": "इन समाचारों के बारे में लोगों द्वारा इस पर और डेसेंट्रलीसेड नेटवर्क के अन्य सर्वरों पर अभी बात की जा रही है।",
"dismissable_banner.explore_tags": "ये हैशटैग अभी इस पर और डेसेंट्रलीसेड नेटवर्क के अन्य सर्वरों पर लोगों के बीच कर्षण प्राप्त कर रहे हैं।",
+ "domain_block_modal.block": "सर्वर ब्लॉक करें",
+ "domain_block_modal.title": "डोमेन ब्लॉक करें",
+ "domain_pill.server": "सर्वर",
+ "domain_pill.username": "यूज़रनेम",
"embed.instructions": "अपने वेबसाइट पर, निचे दिए कोड को कॉपी करके, इस स्टेटस को एम्बेड करें",
"embed.preview": "यह ऐसा दिखेगा :",
"emoji_button.activity": "गतिविधि",
@@ -274,6 +278,7 @@
"follow_request.authorize": "अधिकार दें",
"follow_request.reject": "अस्वीकार करें",
"follow_requests.unlocked_explanation": "हालाँकि आपका खाता लॉक नहीं है, फिर भी {domain} डोमेन स्टाफ ने सोचा कि आप इन खातों के मैन्युअल अनुरोधों की समीक्षा करना चाहते हैं।",
+ "follow_suggestions.dismiss": "दोबारा न दिखाएं",
"followed_tags": "फॉलो किए गए हैशटैग्स",
"footer.about": "अबाउट",
"footer.directory": "प्रोफाइल्स डायरेक्टरी",
diff --git a/app/javascript/mastodon/locales/ie.json b/app/javascript/mastodon/locales/ie.json
index 8d491412c0..7bd91ca0f9 100644
--- a/app/javascript/mastodon/locales/ie.json
+++ b/app/javascript/mastodon/locales/ie.json
@@ -212,13 +212,20 @@
"domain_block_modal.block_account_instead": "Altrimen, bloccar @{name}",
"domain_block_modal.they_can_interact_with_old_posts": "Persones de ti servitor posse interacter con tui old postas.",
"domain_block_modal.they_cant_follow": "Nequi de ti-ci servitor posse sequer te.",
+ "domain_block_modal.they_wont_know": "Ne va esser conscient pri li bloccada.",
+ "domain_block_modal.title": "Bloccar dominia?",
+ "domain_block_modal.you_will_lose_followers": "Omni tui sequitores de ti-ci servitor va esser efaciat.",
+ "domain_block_modal.you_wont_see_posts": "Tu ne va vider postas ni notificationes de usatores sur ti-ci servitor.",
+ "domain_pill.activitypub_lets_connect": "It possibilisa tui conexiones e interactiones con persones ne solmen sur Mastodon, ma anc tra diferent social aplis.",
"domain_pill.activitypub_like_language": "ActivityPub es li lingue usat de Mastodon por parlar con altri social retages.",
"domain_pill.server": "Servitor",
"domain_pill.their_handle": "Identificator:",
"domain_pill.their_server": "Su digital hem e omni su postas.",
+ "domain_pill.their_username": "Su unic identificator sur su servitor. It es possibil que altri servitores va haver usatores con li sam nómine.",
"domain_pill.username": "Usator-nómine",
"domain_pill.whats_in_a_handle": "Ex quo consiste un identificator?",
"domain_pill.your_handle": "Tui identificator:",
+ "domain_pill.your_username": "Tui unic identificator sur ti-ci servitor. It es possibil que altri servitores va haver usatores con li sam nómine.",
"embed.instructions": "Inbedar ti-ci posta per copiar li code in infra.",
"embed.preview": "Vi qualmen it va aspecter:",
"emoji_button.activity": "Activitá",
@@ -286,6 +293,7 @@
"filter_modal.select_filter.subtitle": "Usar un existent categorie o crear nov",
"filter_modal.select_filter.title": "Filtrar ti-ci posta",
"filter_modal.title.status": "Filtrar un posta",
+ "filtered_notifications_banner.mentions": "{count, plural, one {mention} other {mentiones}}",
"filtered_notifications_banner.pending_requests": "Notificationes de {count, plural, =0 {nequi} one {un person} other {# persones}} quel tu possibilmen conosse",
"filtered_notifications_banner.title": "Filtrat notificationes",
"firehose.all": "Omno",
@@ -296,6 +304,8 @@
"follow_requests.unlocked_explanation": "Benque tu conto ne es cludet, li administratores de {domain} pensat que tu fórsan vell voler tractar seque-petitiones de tis-ci contos manualmen.",
"follow_suggestions.curated_suggestion": "Selection del employates",
"follow_suggestions.dismiss": "Ne monstrar plu",
+ "follow_suggestions.featured_longer": "Selectet manualmen del equip de {domain}",
+ "follow_suggestions.friends_of_friends_longer": "Populari ínter li persones queles tu seque",
"follow_suggestions.hints.featured": "Ti-ci profil ha esset selectet directmen del equip de {domain}.",
"follow_suggestions.hints.friends_of_friends": "Ti-ci profil es populari ínter tis qui tu seque.",
"follow_suggestions.hints.most_followed": "Ti-ci profil es un del max sequet sur {domain}.",
@@ -303,6 +313,8 @@
"follow_suggestions.hints.similar_to_recently_followed": "Ti-ci profil es simil al profiles queles tu ha recentmen sequet.",
"follow_suggestions.personalized_suggestion": "Personalisat suggestion",
"follow_suggestions.popular_suggestion": "Populari suggestion",
+ "follow_suggestions.popular_suggestion_longer": "Populari sur {domain}",
+ "follow_suggestions.similar_to_recently_followed_longer": "Simil a profiles queles tu sequet recentmen",
"follow_suggestions.view_all": "Vider omnicos",
"follow_suggestions.who_to_follow": "Persones a sequer",
"followed_tags": "Sequet hashtags",
@@ -423,6 +435,8 @@
"mute_modal.they_can_mention_and_follow": "Posse mentionar e sequer te, ma va esser ínvisibil a te.",
"mute_modal.they_wont_know": "Ne va esser conscient pri li silentation.",
"mute_modal.title": "Silentiar usator?",
+ "mute_modal.you_wont_see_mentions": "Tu ne va vider postas mentionant li usator.",
+ "mute_modal.you_wont_see_posts": "Ne posse vider tui postas e inversi.",
"navigation_bar.about": "Information",
"navigation_bar.advanced_interface": "Aperter in li web-interfacie avansat",
"navigation_bar.blocks": "Bloccat usatores",
@@ -455,10 +469,23 @@
"notification.follow": "{name} sequet te",
"notification.follow_request": "{name} ha petit sequer te",
"notification.mention": "{name} mentionat te",
+ "notification.moderation-warning.learn_more": "Aprender plu",
+ "notification.moderation_warning": "Tu ha recivet un moderatori advertiment",
+ "notification.moderation_warning.action_delete_statuses": "Alcun de tui postas ha esset efaciat.",
+ "notification.moderation_warning.action_disable": "Tui conto ha esset desactivisat.",
+ "notification.moderation_warning.action_mark_statuses_as_sensitive": "Alcun de tui postas ha esset marcat quam sensitiv.",
+ "notification.moderation_warning.action_none": "Tui conto ha recivet un moderatori advertiment.",
+ "notification.moderation_warning.action_sensitive": "Desde nu tui postas va esser marcat quam sensitiv.",
+ "notification.moderation_warning.action_silence": "Tui conto ha esset limitat.",
+ "notification.moderation_warning.action_suspend": "Tui conto ha esset suspendet.",
"notification.own_poll": "Tui balotation ha finit",
"notification.poll": "Un balotation in quel tu votat ha finit",
"notification.reblog": "{name} boostat tui posta",
+ "notification.relationships_severance_event": "Perdit conexiones con {name}",
+ "notification.relationships_severance_event.account_suspension": "Un admin de {from} ha suspendet {target}, dunc con ti person tu ne plu posse reciver actualisationes ni far interactiones.",
+ "notification.relationships_severance_event.domain_block": "Un admin de {from} ha bloccat {target}, includente {followersCount} de tui sequitores e {followingCount, plural, one {# conto} other {# contos}} sequet de te.",
"notification.relationships_severance_event.learn_more": "Aprender plu",
+ "notification.relationships_severance_event.user_domain_block": "Tu ha bloccat {target}, efaciante {followersCount} de tui sequitores e {followingCount, plural, one {# conto} other {# contos}} sequet de te.",
"notification.status": "{name} just postat",
"notification.update": "{name} modificat un posta",
"notification_requests.accept": "Acceptar",
@@ -472,6 +499,7 @@
"notifications.column_settings.alert": "Notificationes sur li computator",
"notifications.column_settings.favourite": "Favorites:",
"notifications.column_settings.filter_bar.advanced": "Monstrar omni categories",
+ "notifications.column_settings.filter_bar.category": "Rapid filtre-barre",
"notifications.column_settings.follow": "Nov sequitores:",
"notifications.column_settings.follow_request": "Nov petitiones de sequer:",
"notifications.column_settings.mention": "Mentiones:",
@@ -707,6 +735,7 @@
"status.reblog": "Boostar",
"status.reblog_private": "Boostar con li original visibilitá",
"status.reblogged_by": "{name} boostat",
+ "status.reblogs": "{count, plural, one {boost} other {boosts}}",
"status.reblogs.empty": "Ancor nequi ha boostat ti-ci posta. Quande alqui fa it, ilu va aparir ci.",
"status.redraft": "Deleter & redacter",
"status.remove_bookmark": "Remover marcator",
diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json
index 083a922012..798b24569f 100644
--- a/app/javascript/mastodon/locales/lt.json
+++ b/app/javascript/mastodon/locales/lt.json
@@ -1,7 +1,7 @@
{
"about.blocks": "Prižiūrimi serveriai",
"about.contact": "Kontaktai:",
- "about.disclaimer": "Mastodon – nemokama atvirojo kodo programa ir Mastodon gGmbH prekės ženklas.",
+ "about.disclaimer": "Mastodon – tai nemokama atvirojo kodo programinė įranga ir Mastodon gGmbH prekės ženklas.",
"about.domain_blocks.no_reason_available": "Priežastis nepateikta",
"about.domain_blocks.preamble": "Mastodon paprastai leidžia peržiūrėti turinį ir bendrauti su naudotojais iš bet kurio kito fediverse esančio serverio. Šios yra išimtys, kurios buvo padarytos šiame konkrečiame serveryje.",
"about.domain_blocks.silenced.explanation": "Paprastai nematysi profilių ir turinio iš šio serverio, nebent jį aiškiai ieškosi arba pasirinksi jį sekdamas (-a).",
@@ -30,7 +30,7 @@
"account.endorse": "Rodyti profilyje",
"account.featured_tags.last_status_at": "Paskutinis įrašas {date}",
"account.featured_tags.last_status_never": "Nėra įrašų",
- "account.featured_tags.title": "{name} rekomenduojami saitažodžiai",
+ "account.featured_tags.title": "{name} rodomi saitažodžiai",
"account.follow": "Sekti",
"account.follow_back": "Sekti atgal",
"account.followers": "Sekėjai",
@@ -38,13 +38,13 @@
"account.followers_counter": "{count, plural, one {{counter} sekėjas} few {{counter} sekėjai} many {{counter} sekėjo} other {{counter} sekėjų}}",
"account.following": "Sekama",
"account.following_counter": "{count, plural, one {{counter} sekimas} few {{counter} sekimai} many {{counter} sekimo} other {{counter} sekimų}}",
- "account.follows.empty": "Šis (-i) naudotojas (-a) dar nieko neseka.",
+ "account.follows.empty": "Šis naudotojas dar nieko neseka.",
"account.go_to_profile": "Eiti į profilį",
"account.hide_reblogs": "Slėpti pakėlimus iš @{name}",
"account.in_memoriam": "Atminimui.",
"account.joined_short": "Prisijungė",
"account.languages": "Keisti prenumeruojamas kalbas",
- "account.link_verified_on": "Šios nuorodos nuosavybė buvo patikrinta {date}.",
+ "account.link_verified_on": "Šios nuorodos nuosavybė buvo patikrinta {date}",
"account.locked_info": "Šios paskyros privatumo būsena nustatyta kaip užrakinta. Savininkas (-ė) rankiniu būdu peržiūri, kas gali sekti.",
"account.media": "Medija",
"account.mention": "Paminėti @{name}",
@@ -59,7 +59,7 @@
"account.posts": "Įrašai",
"account.posts_with_replies": "Įrašai ir atsakymai",
"account.report": "Pranešti apie @{name}",
- "account.requested": "Laukiama patvirtinimo. Spustelėk, jei nori atšaukti sekimo prašymą.",
+ "account.requested": "Laukiama patvirtinimo. Spustelėk, jei nori atšaukti sekimo prašymą",
"account.requested_follow": "{name} paprašė tave sekti",
"account.share": "Bendrinti @{name} profilį",
"account.show_reblogs": "Rodyti pakėlimus iš @{name}",
@@ -82,7 +82,7 @@
"admin.impact_report.instance_followers": "Sekėjai, kuriuos prarastų mūsų naudotojai",
"admin.impact_report.instance_follows": "Sekėjai, kuriuos prarastų jų naudotojai",
"admin.impact_report.title": "Poveikio apibendrinimas",
- "alert.rate_limited.message": "Pabandyk vėliau po {retry_time, time, medium}.",
+ "alert.rate_limited.message": "Bandyk vėliau po {retry_time, time, medium}.",
"alert.rate_limited.title": "Sparta ribota.",
"alert.unexpected.message": "Įvyko netikėta klaida.",
"alert.unexpected.title": "Ups!",
@@ -92,7 +92,12 @@
"block_modal.remote_users_caveat": "Paprašysime serverio {domain} gerbti tavo sprendimą. Tačiau atitiktis negarantuojama, nes kai kurie serveriai gali skirtingai tvarkyti blokavimus. Vieši įrašai vis tiek gali būti matomi neprisijungusiems naudotojams.",
"block_modal.show_less": "Rodyti mažiau",
"block_modal.show_more": "Rodyti daugiau",
- "boost_modal.combo": "Galima paspausti {combo}, kad praleisti kitą kartą.",
+ "block_modal.they_cant_mention": "Jie negali tave paminėti ar sekti.",
+ "block_modal.they_cant_see_posts": "Jie negali matyti tavo įrašus, o tu nematysi jų.",
+ "block_modal.they_will_know": "Jie mato, kad yra užblokuoti.",
+ "block_modal.title": "Blokuoti naudotoją?",
+ "block_modal.you_wont_see_mentions": "Nematysi įrašus, kuriuose jie paminimi.",
+ "boost_modal.combo": "Galima paspausti {combo}, kad praleisti tai kitą kartą",
"bundle_column_error.copy_stacktrace": "Kopijuoti klaidos ataskaitą",
"bundle_column_error.error.body": "Paprašytos puslapio nepavyko atvaizduoti. Tai gali būti dėl mūsų kodo klaidos arba naršyklės suderinamumo problemos.",
"bundle_column_error.error.title": "O, ne!",
@@ -117,7 +122,7 @@
"column.direct": "Privatūs paminėjimai",
"column.directory": "Naršyti profilius",
"column.domain_blocks": "Užblokuoti domenai",
- "column.favourites": "Mėgstamiausi",
+ "column.favourites": "Mėgstami",
"column.firehose": "Tiesioginiai srautai",
"column.follow_requests": "Sekimo prašymai",
"column.home": "Pagrindinis",
@@ -144,7 +149,7 @@
"compose.saved.body": "Įrašas išsaugotas.",
"compose_form.direct_message_warning_learn_more": "Sužinoti daugiau",
"compose_form.encryption_warning": "Mastodon įrašai nėra visapusiškai šifruojami. Per Mastodon nesidalyk jokia slapta informacija.",
- "compose_form.hashtag_warning": "Šis įrašas nebus įtraukta į jokį saitažodį, nes ji nėra vieša. Tik viešų įrašų galima ieškoti pagal saitažodį.",
+ "compose_form.hashtag_warning": "Šis įrašas nebus įtrauktas į jokį saitažodį, nes ji nėra vieša. Tik viešų įrašų galima ieškoti pagal saitažodį.",
"compose_form.lock_disclaimer": "Tavo paskyra nėra {locked}. Bet kas gali sekti tave ir peržiūrėti tik sekėjams skirtus įrašus.",
"compose_form.lock_disclaimer.lock": "užrakinta",
"compose_form.placeholder": "Kas tavo mintyse?",
@@ -152,7 +157,7 @@
"compose_form.poll.multiple": "Keli pasirinkimai",
"compose_form.poll.option_placeholder": "{number} parinktis",
"compose_form.poll.single": "Pasirinkti vieną",
- "compose_form.poll.switch_to_multiple": "Keisti apklausą, kad būtų galima pasirinkti kelis pasirinkimus.",
+ "compose_form.poll.switch_to_multiple": "Keisti apklausą, kad būtų galima pasirinkti kelis pasirinkimus",
"compose_form.poll.switch_to_single": "Keisti apklausą, kad būtų galima pasirinkti vieną pasirinkimą",
"compose_form.poll.type": "Stilius",
"compose_form.publish": "Skelbti",
@@ -172,16 +177,17 @@
"confirmations.delete_list.message": "Ar tikrai nori visam laikui ištrinti šį sąrašą?",
"confirmations.discard_edit_media.confirm": "Atmesti",
"confirmations.discard_edit_media.message": "Turi neišsaugotų medijos aprašymo ar peržiūros pakeitimų, vis tiek juos atmesti?",
+ "confirmations.domain_block.confirm": "Blokuoti serverį",
"confirmations.domain_block.message": "Ar tikrai, tikrai nori užblokuoti visą {domain}? Daugeliu atvejų užtenka kelių tikslinių blokavimų arba nutildymų. Šio domeno turinio nematysi jokiose viešose laiko skalėse ar pranešimuose. Tavo sekėjai iš to domeno bus pašalinti.",
"confirmations.edit.confirm": "Redaguoti",
"confirmations.edit.message": "Redaguojant dabar, bus perrašyta šiuo metu kuriama žinutė. Ar tikrai nori tęsti?",
"confirmations.logout.confirm": "Atsijungti",
"confirmations.logout.message": "Ar tikrai nori atsijungti?",
"confirmations.mute.confirm": "Nutildyti",
- "confirmations.redraft.confirm": "Ištrinti ir parengti iš naujo",
- "confirmations.redraft.message": "Ar tikrai nori ištrinti šį įrašą ir parengti jį iš naujo kaip juodraštį? Bus prarastos mėgstamiausios ir pakėlimai, o atsakymai į originalinį įrašą taps liekamojais.",
+ "confirmations.redraft.confirm": "Ištrinti ir perrašyti",
+ "confirmations.redraft.message": "Ar tikrai nori ištrinti šį įrašą ir parašyti jį iš naujo? Bus prarastos mėgstamai ir pakėlimai, o atsakymai į originalinį įrašą taps liekamojais.",
"confirmations.reply.confirm": "Atsakyti",
- "confirmations.reply.message": "Atsakant dabar, bus perrašyta metu kuriama žinutė. Ar tikrai nori tęsti?",
+ "confirmations.reply.message": "Atsakant dabar, bus perrašyta šiuo metu kuriama žinutė. Ar tikrai nori tęsti?",
"confirmations.unfollow.confirm": "Nebesekti",
"confirmations.unfollow.message": "Ar tikrai nori nebesekti {name}?",
"conversation.delete": "Ištrinti pokalbį",
@@ -196,34 +202,42 @@
"directory.new_arrivals": "Nauji atvykėliai",
"directory.recently_active": "Neseniai aktyvus (-i)",
"disabled_account_banner.account_settings": "Paskyros nustatymai",
- "disabled_account_banner.text": "Tavo paskyra {disabledAccount} šiuo metu išjungta.",
- "dismissable_banner.community_timeline": "Tai – naujausi vieši įrašai, kuriuos paskelbė žmonės, kurių paskyros talpinamos {domain}.",
+ "disabled_account_banner.text": "Tavo paskyra {disabledAccount} šiuo metu yra išjungta.",
+ "dismissable_banner.community_timeline": "Tai – naujausi vieši įrašai iš žmonių, kurių paskyros talpinamos {domain}.",
"dismissable_banner.dismiss": "Atmesti",
"dismissable_banner.explore_links": "Tai – naujienos, kuriomis šiandien daugiausiai bendrinamasi socialiniame žiniatinklyje. Naujesnės naujienų istorijos, kurias paskelbė daugiau skirtingų žmonių, vertinamos aukščiau.",
"dismissable_banner.explore_statuses": "Tai – įrašai iš viso socialinio žiniatinklio, kurie šiandien sulaukia daug dėmesio. Naujesni įrašai, turintys daugiau pakėlimų ir mėgstamų, vertinami aukščiau.",
"dismissable_banner.explore_tags": "Tai – saitažodžiai, kurie šiandien sulaukia daug dėmesio socialiniame žiniatinklyje. Saitažodžiai, kuriuos naudoja daugiau skirtingų žmonių, vertinami aukščiau.",
- "dismissable_banner.public_timeline": "Tai – naujausi vieši įrašai, kuriuos socialiniame žiniatinklyje paskelbė žmonės, sekantys {domain}.",
- "domain_pill.activitypub_lets_connect": "Tai leidžia tau bendrauti su žmonėmis ne tik Mastodon, bet ir įvairiose socialinėse programėlėse.",
- "domain_pill.activitypub_like_language": "ActivityPub – tarsi kalba, kuria Mastodon kalba su kitais socialiniais tinklais.",
+ "dismissable_banner.public_timeline": "Tai – naujausi vieši įrašai iš žmonių socialiniame žiniatinklyje, kuriuos seka {domain} žmonės.",
+ "domain_block_modal.block": "Blokuoti serverį",
+ "domain_block_modal.block_account_instead": "Blokuoti {name} vietoj to",
+ "domain_block_modal.they_can_interact_with_old_posts": "Žmonės iš šio serverio gali sąveikauti su tavo senomis įrašomis.",
+ "domain_block_modal.they_cant_follow": "Niekas iš šio serverio negali tavęs sekti.",
+ "domain_block_modal.they_wont_know": "Jie nežinos, kad buvo užblokuoti.",
+ "domain_block_modal.title": "Blokuoti domeną?",
+ "domain_block_modal.you_will_lose_followers": "Visi tavo sekėjai iš šio serverio bus pašalinti.",
+ "domain_block_modal.you_wont_see_posts": "Nematysi naudotojų įrašų ar pranešimų šiame serveryje.",
+ "domain_pill.activitypub_lets_connect": "Tai leidžia tau sąveikauti su žmonėmis ne tik Mastodon, bet ir įvairiose socialinėse programėlėse.",
+ "domain_pill.activitypub_like_language": "ActivityPub – tai tarsi kalba, kuria Mastodon kalba su kitais socialiniais tinklais.",
"domain_pill.server": "Serveris",
"domain_pill.their_handle": "Jų socialinis medijos vardas:",
"domain_pill.their_server": "Jų skaitmeniniai namai, kuriuose saugomi visi jų įrašai.",
"domain_pill.their_username": "Jų unikalus identifikatorius jų serveryje. Skirtinguose serveriuose galima rasti naudotojų, turinčių tą patį naudotojo vardą.",
"domain_pill.username": "Naudotojo vardas",
"domain_pill.whats_in_a_handle": "Kas yra socialiniame medijos varde?",
- "domain_pill.who_they_are": "Kadangi socialines medijos vardai nurodo, kas ir kur jie yra, galima bendrauti su žmonėmis visame socialiniame tinkle, kuriame yra .",
- "domain_pill.who_you_are": "Kadangi tavo socialinis medijos vardas nurodo, kas esi ir kur esi, žmonės gali bendrauti su tavimi visame socialiniame tinkle, kurį sudaro .",
+ "domain_pill.who_they_are": "Kadangi socialines medijos vardai nurodo, kas žmogus yra ir kur jie yra, gali sąveikauti su žmonėmis visame socialiniame žiniatinklyje, kurį sudaro .",
+ "domain_pill.who_you_are": "Kadangi tavo socialinis medijos vardas nurodo, kas esi ir kur esi, žmonės gali sąveikauti su tavimi visame socialiniame tinkle, kurį sudaro .",
"domain_pill.your_handle": "Tavo socialinis medijos vardas:",
"domain_pill.your_server": "Tavo skaitmeniniai namai, kuriuose saugomi visi tavo įrašai. Nepatinka šis? Bet kada perkelk serverius ir atsivesk ir savo sekėjus.",
- "domain_pill.your_username": "Tavo unikalus identifikatorius šiame serveryje. Skirtinguose serveriuose galima rasti naudotojų, turinčių tą patį naudotojo vardą.",
+ "domain_pill.your_username": "Tavo unikalus identifikatorius šiame serveryje. Skirtinguose serveriuose galima rasti naudotojų su tuo pačiu naudotojo vardu.",
"embed.instructions": "Įterpk šį įrašą į savo svetainę nukopijavus (-usi) toliau pateiktą kodą.",
- "embed.preview": "Štai, kaip tai atrodys:",
+ "embed.preview": "Štai kaip tai atrodys:",
"emoji_button.activity": "Veikla",
"emoji_button.clear": "Išvalyti",
"emoji_button.custom": "Pasirinktinis",
"emoji_button.flags": "Vėliavos",
"emoji_button.food": "Maistas ir gėrimai",
- "emoji_button.label": "Įterpti veidelius",
+ "emoji_button.label": "Įterpti jaustuką",
"emoji_button.nature": "Gamta",
"emoji_button.not_found": "Nerasta jokių tinkamų jaustukų.",
"emoji_button.objects": "Objektai",
@@ -234,12 +248,12 @@
"emoji_button.symbols": "Simboliai",
"emoji_button.travel": "Kelionės ir vietos",
"empty_column.account_hides_collections": "Šis (-i) naudotojas (-a) pasirinko nepadaryti šią informaciją prieinamą.",
- "empty_column.account_suspended": "Paskyra sustabdyta.",
- "empty_column.account_timeline": "Nėra įrašų čia.",
+ "empty_column.account_suspended": "Paskyra pristabdyta.",
+ "empty_column.account_timeline": "Nėra čia įrašų.",
"empty_column.account_unavailable": "Profilis neprieinamas.",
"empty_column.blocks": "Dar neužblokavai nė vieno naudotojo.",
- "empty_column.bookmarked_statuses": "Dar neturi nė vienos įrašo žymės. Kai vieną iš jų pridėsi į žymes, jis bus rodomas čia.",
- "empty_column.community": "Vietinė laiko skalė tuščia. Parašyk ką nors viešai, kad pradėtum bendrauti!",
+ "empty_column.bookmarked_statuses": "Dar neturi nė vienos įrašo pridėtos žymės. Kai vieną iš jų pridėsi į žymes, jis bus rodomas čia.",
+ "empty_column.community": "Vietinė laiko skalė yra tuščia. Parašyk ką nors viešai, kad pradėtum sąveikauti.",
"empty_column.direct": "Dar neturi jokių privačių paminėjimų. Kai išsiųsi arba gausi vieną iš jų, jis bus rodomas čia.",
"empty_column.domain_blocks": "Dar nėra užblokuotų domenų.",
"empty_column.explore_statuses": "Šiuo metu niekas nėra tendencinga. Patikrink vėliau.",
@@ -248,12 +262,13 @@
"empty_column.follow_requests": "Dar neturi jokių sekimo prašymų. Kai gausi tokį prašymą, jis bus rodomas čia.",
"empty_column.followed_tags": "Dar neseki jokių saitažodžių. Kai tai padarysi, jie bus rodomi čia.",
"empty_column.hashtag": "Nėra nieko šiame saitažodyje kol kas.",
- "empty_column.home": "Tavo pagrindinio laiko skalė tuščia! Sek daugiau žmonių, kad ją užpildytum.",
+ "empty_column.home": "Tavo pagrindinio laiko skalė tuščia. Sek daugiau žmonių, kad ją užpildytum.",
"empty_column.list": "Nėra nieko šiame sąraše kol kas. Kai šio sąrašo nariai paskelbs naujų įrašų, jie bus rodomi čia.",
"empty_column.lists": "Dar neturi jokių sąrašų. Kai jį sukursi, jis bus rodomas čia.",
"empty_column.mutes": "Dar nesi nutildęs (-usi) nė vieno naudotojo.",
- "empty_column.notifications": "Dar neturi jokių pranešimų. Kai kiti žmonės su tavimi bendraus, matysi tai čia.",
- "empty_column.public": "Čia nieko nėra! Parašyk ką nors viešai arba rankiniu būdu sek naudotojus iš kitų serverių, kad jį užpildytum.",
+ "empty_column.notification_requests": "Viskas švaru! Čia nieko nėra. Kai gausi naujų pranešimų, jie bus rodomi čia pagal tavo nustatymus.",
+ "empty_column.notifications": "Dar neturi jokių pranešimų. Kai kiti žmonės su tavimi sąveikaus, matysi tai čia.",
+ "empty_column.public": "Čia nieko nėra. Parašyk ką nors viešai arba rankiniu būdu sek naudotojus iš kitų serverių, kad jį užpildytum.",
"error.unexpected_crash.explanation": "Dėl mūsų kodo riktos arba naršyklės suderinamumo problemos šis puslapis negalėjo būti rodomas teisingai.",
"error.unexpected_crash.explanation_addons": "Šį puslapį nepavyko parodyti teisingai. Šią klaidą greičiausiai sukėlė naršyklės priedas arba automatinio vertimo įrankiai.",
"error.unexpected_crash.next_steps": "Pabandyk atnaujinti puslapį. Jei tai nepadeda, galbūt vis dar galėsi naudotis Mastodon per kitą naršyklę arba savąją programėlę.",
@@ -270,9 +285,9 @@
"filter_modal.added.context_mismatch_title": "Konteksto neatitikimas.",
"filter_modal.added.expired_explanation": "Ši filtro kategorija nustojo galioti. Kad ji būtų taikoma, turėsi pakeisti galiojimo datą.",
"filter_modal.added.expired_title": "Baigėsi filtro galiojimas.",
- "filter_modal.added.review_and_configure": "Norint peržiūrėti ir toliau konfigūruoti šią filtro kategoriją, eik į nuorodą {settings_link}.",
+ "filter_modal.added.review_and_configure": "Norint peržiūrėti ir toliau konfigūruoti šią filtro kategoriją, eik į {settings_link}.",
"filter_modal.added.review_and_configure_title": "Filtro nustatymai",
- "filter_modal.added.settings_link": "nustatymų puslapis",
+ "filter_modal.added.settings_link": "nustatymų puslapį",
"filter_modal.added.short_explanation": "Šis įrašas buvo pridėtas į šią filtro kategoriją: {title}.",
"filter_modal.added.title": "Pridėtas filtras.",
"filter_modal.select_filter.context_mismatch": "netaikoma šiame kontekste.",
@@ -283,6 +298,8 @@
"filter_modal.select_filter.title": "Filtruoti šį įrašą",
"filter_modal.title.status": "Filtruoti įrašą",
"filtered_notifications_banner.mentions": "{count, plural, one {paminėjimas} few {paminėjimai} many {paminėjimo} other {paminėjimų}}",
+ "filtered_notifications_banner.pending_requests": "Pranešimai iš {count, plural, =0 {nė vieno} one {vienos žmogaus} few {# žmonių} many {# žmonių} other {# žmonių}}, kuriuos galbūt pažįsti",
+ "filtered_notifications_banner.title": "Filtruojami pranešimai",
"firehose.all": "Visi",
"firehose.local": "Šis serveris",
"firehose.remote": "Kiti serveriai",
@@ -295,8 +312,8 @@
"follow_suggestions.friends_of_friends_longer": "Populiarus tarp žmonių, kurių seki",
"follow_suggestions.hints.featured": "Šį profilį atrinko {domain} komanda.",
"follow_suggestions.hints.friends_of_friends": "Šis profilis yra populiarus tarp žmonių, kuriuos seki.",
- "follow_suggestions.hints.most_followed": "Šis profilis yra vienas iš labiausiai sekamų {domain}.",
- "follow_suggestions.hints.most_interactions": "Pastaruoju metu šis profilis sulaukia daug dėmesio šiame {domain}.",
+ "follow_suggestions.hints.most_followed": "Šis profilis yra vienas iš labiausiai sekamų domene {domain}.",
+ "follow_suggestions.hints.most_interactions": "Pastaruoju metu šis profilis sulaukia daug dėmesio domane {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "Šis profilis panašus į profilius, kuriuos neseniai sekei.",
"follow_suggestions.personalized_suggestion": "Suasmenintas pasiūlymas",
"follow_suggestions.popular_suggestion": "Populiarus pasiūlymas",
@@ -312,8 +329,8 @@
"footer.keyboard_shortcuts": "Spartieji klavišai",
"footer.privacy_policy": "Privatumo politika",
"footer.source_code": "Peržiūrėti šaltinio kodą",
- "footer.status": "Būsena",
- "generic.saved": "Išsaugoti",
+ "footer.status": "Statusas",
+ "generic.saved": "Išsaugota",
"getting_started.heading": "Kaip pradėti",
"hashtag.column_header.tag_mode.all": "ir {additional}",
"hashtag.column_header.tag_mode.any": "ar {additional}",
@@ -333,7 +350,7 @@
"home.column_settings.show_reblogs": "Rodyti pakėlimus",
"home.column_settings.show_replies": "Rodyti atsakymus",
"home.hide_announcements": "Slėpti skelbimus",
- "home.pending_critical_update.body": "Kuo greičiau atnaujink savo Mastodon serverį!",
+ "home.pending_critical_update.body": "Kuo greičiau atnaujink savo Mastodon serverį.",
"home.pending_critical_update.link": "Žiūrėti naujinimus",
"home.pending_critical_update.title": "Galimas kritinis saugumo naujinimas.",
"home.show_announcements": "Rodyti skelbimus",
@@ -480,7 +497,7 @@
"notifications.column_settings.follow_request": "Nauji sekimo prašymai:",
"notifications.column_settings.mention": "Paminėjimai:",
"notifications.column_settings.poll": "Balsavimo rezultatai:",
- "notifications.column_settings.push": "Stumdomieji pranešimai",
+ "notifications.column_settings.push": "Tiesioginiai pranešimai",
"notifications.column_settings.reblog": "Pakėlimai:",
"notifications.column_settings.show": "Rodyti stulpelyje",
"notifications.column_settings.sound": "Paleisti garsą",
diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json
index 55ceb564b6..32ea6e47c4 100644
--- a/app/javascript/mastodon/locales/lv.json
+++ b/app/javascript/mastodon/locales/lv.json
@@ -8,7 +8,7 @@
"about.domain_blocks.silenced.title": "Ierobežotie",
"about.domain_blocks.suspended.explanation": "Nekādi dati no šī servera netiks apstrādāti, uzglabāti vai apmainīti, padarot neiespējamu mijiedarbību vai saziņu ar lietotājiem no šī servera.",
"about.domain_blocks.suspended.title": "Apturētie",
- "about.not_available": "Šī informācija šajā serverī nav bijusi pieejama.",
+ "about.not_available": "Šī informācija nav padarīta pieejama šajā serverī.",
"about.powered_by": "Decentralizētu sociālo tīklu nodrošina {mastodon}",
"about.rules": "Servera noteikumi",
"account.account_note_header": "Piezīme",
@@ -89,6 +89,9 @@
"announcement.announcement": "Paziņojums",
"attachments_list.unprocessed": "(neapstrādāti)",
"audio.hide": "Slēpt audio",
+ "block_modal.remote_users_caveat": "Mēs vaicāsim serverim {domain} ņemt vērā Tavu lēmumu. Tomēr atbilstība nav nodrošināta, jo atsevišķi serveri var apstrādāt bloķēšanu citādi. Publiski ieraksti joprojām var būt redzami lietotājiem, kuri nav pieteikušies.",
+ "block_modal.show_less": "Parādīt vairāk",
+ "block_modal.show_more": "Parādīt mazāk",
"boost_modal.combo": "Nospied {combo}, lai nākamreiz šo izlaistu",
"bundle_column_error.copy_stacktrace": "Kopēt kļūdu ziņojumu",
"bundle_column_error.error.body": "Pieprasīto lapu nevarēja atveidot. Tas varētu būt saistīts ar kļūdu mūsu kodā, vai tā ir pārlūkprogrammas saderības problēma.",
@@ -190,7 +193,7 @@
"directory.federated": "No pazīstamas federācijas",
"directory.local": "Tikai no {domain}",
"directory.new_arrivals": "Jaunpienācēji",
- "directory.recently_active": "Nesen aktīvie",
+ "directory.recently_active": "Nesen aktīvi",
"disabled_account_banner.account_settings": "Konta iestatījumi",
"disabled_account_banner.text": "Tavs konts {disabledAccount} pašlaik ir atspējots.",
"dismissable_banner.community_timeline": "Šie ir jaunākie publiskie ieraksti no cilvēkiem, kuru konti ir mitināti {domain}.",
@@ -199,6 +202,9 @@
"dismissable_banner.explore_statuses": "Šie ir ieraksti, kas šodien gūst arvien lielāku ievērību visā sociālajā tīklā. Augstāk tiek kārtoti jaunāki ieraksti, kuri tiek vairāk pastiprināti un ievietoti izlasēs.",
"dismissable_banner.explore_tags": "Šie tēmturi šobrīd kļūst arvien populārāki cilvēku vidū šajā un citos decentralizētā tīkla serveros.",
"dismissable_banner.public_timeline": "Šie ir jaunākie publiskie ieraksti no lietotājiem sociālajā tīmeklī, kuriem {domain} seko cilvēki.",
+ "domain_block_modal.they_cant_follow": "Neviens šajā serverī nevar Tev sekot.",
+ "domain_pill.server": "Serveris",
+ "domain_pill.username": "Lietotājvārds",
"embed.instructions": "Iestrādā šo ziņu savā mājaslapā, kopējot zemāk redzamo kodu.",
"embed.preview": "Tas izskatīsies šādi:",
"emoji_button.activity": "Aktivitāte",
@@ -275,6 +281,7 @@
"follow_suggestions.curated_suggestion": "Darbinieku izvēle",
"follow_suggestions.dismiss": "Vairs nerādīt",
"follow_suggestions.personalized_suggestion": "Pielāgots ieteikums",
+ "follow_suggestions.similar_to_recently_followed_longer": "Līdzīgi profieliem, kuriem nesen sāki sekot",
"follow_suggestions.view_all": "Skatīt visu",
"follow_suggestions.who_to_follow": "Kam sekot",
"followed_tags": "Sekojamie tēmturi",
@@ -388,6 +395,10 @@
"loading_indicator.label": "Ielādē…",
"media_gallery.toggle_visible": "{number, plural, one {Slēpt attēlu} other {Slēpt attēlus}}",
"moved_to_account_banner.text": "Tavs konts {disabledAccount} pašlaik ir atspējots, jo Tu pārcēlies uz kontu {movedToAccount}.",
+ "mute_modal.hide_from_notifications": "Paslēpt paziņojumos",
+ "mute_modal.hide_options": "Paslēpt iespējas",
+ "mute_modal.show_options": "Parādīt iespējas",
+ "mute_modal.title": "Apklusināt lietotāju?",
"navigation_bar.about": "Par",
"navigation_bar.advanced_interface": "Atvērt paplašinātā tīmekļa saskarnē",
"navigation_bar.blocks": "Bloķētie lietotāji",
@@ -420,11 +431,23 @@
"notification.follow": "{name} uzsāka Tev sekot",
"notification.follow_request": "{name} nosūtīja Tev sekošanas pieprasījumu",
"notification.mention": "{name} pieminēja Tevi",
+ "notification.moderation-warning.learn_more": "Uzzināt vairāk",
+ "notification.moderation_warning.action_delete_statuses": "Daži no Taviem ierakstiem tika noņemti.",
+ "notification.moderation_warning.action_disable": "Tavs konts tika atspējots.",
+ "notification.moderation_warning.action_mark_statuses_as_sensitive": "Daži no Taviem ierakstiem tika atzīmēti kā jutīgi.",
+ "notification.moderation_warning.action_sensitive": "Tavi ieraksti turpmāk tiks atzīmēti kā jutīgi.",
+ "notification.moderation_warning.action_silence": "Tavs konts tika ierobežots.",
+ "notification.moderation_warning.action_suspend": "Tava konta darbība tika apturēta.",
"notification.own_poll": "Tava aptauja ir noslēgusies",
"notification.poll": "Aptauja, kurā tu piedalījies, ir noslēgusies",
"notification.reblog": "{name} pastiprināja Tavu ierakstu",
+ "notification.relationships_severance_event": "Zaudēti savienojumi ar {name}",
+ "notification.relationships_severance_event.learn_more": "Uzzināt vairāk",
"notification.status": "{name} tikko publicēja",
"notification.update": "{name} rediģēja ierakstu",
+ "notification_requests.accept": "Pieņemt",
+ "notification_requests.dismiss": "Noraidīt",
+ "notification_requests.notifications_from": "Paziņojumi no {name}",
"notifications.clear": "Notīrīt paziņojumus",
"notifications.clear_confirmation": "Vai tiešām vēlies neatgriezeniski notīrīt visus savus paziņojumus?",
"notifications.column_settings.admin.report": "Jauni ziņojumi:",
@@ -456,6 +479,9 @@
"notifications.permission_denied": "Darbvirsmas paziņojumi nav pieejami, jo iepriekš tika noraidīts pārlūka atļauju pieprasījums",
"notifications.permission_denied_alert": "Darbvirsmas paziņojumus nevar iespējot, jo pārlūkprogrammai atļauja tika iepriekš atteikta",
"notifications.permission_required": "Darbvirsmas paziņojumi nav pieejami, jo nav piešķirta nepieciešamā atļauja.",
+ "notifications.policy.filter_new_accounts_title": "Jauni konti",
+ "notifications.policy.filter_not_followers_title": "Cilvēki, kuri Tev neseko",
+ "notifications.policy.filter_not_following_title": "Cilvēki, kuriem Tu neseko",
"notifications_permission_banner.enable": "Iespējot darbvirsmas paziņojumus",
"notifications_permission_banner.how_to_control": "Lai saņemtu paziņojumus, kad Mastodon nav atvērts, iespējo darbvirsmas paziņojumus. Vari precīzi kontrolēt, kāda veida mijiedarbības rada darbvirsmas paziņojumus, izmantojot augstāk redzamo pogu {icon}, kad tie būs iespējoti.",
"notifications_permission_banner.title": "Nekad nepalaid neko garām",
@@ -485,7 +511,7 @@
"onboarding.start.title": "Tev tas izdevās!",
"onboarding.steps.follow_people.body": "Tu pats veido savu plūsmu. Piepildīsim to ar interesantiem cilvēkiem.",
"onboarding.steps.follow_people.title": "Pielāgo savu mājas barotni",
- "onboarding.steps.publish_status.body": "Sveicini pasauli ar tekstu, fotoattēliem, video, vai aptaujām {emoji}",
+ "onboarding.steps.publish_status.body": "Pasveicini pasauli ar tekstu, attēliem, video vai aptaujām {emoji}",
"onboarding.steps.publish_status.title": "Izveido savu pirmo ziņu",
"onboarding.steps.setup_profile.body": "Palielini mijiedarbību ar aptverošu profilu!",
"onboarding.steps.setup_profile.title": "Pielāgo savu profilu",
@@ -603,7 +629,7 @@
"search_results.statuses": "Ieraksti",
"search_results.title": "Meklēt {q}",
"server_banner.about_active_users": "Cilvēki, kas izmantojuši šo serveri pēdējo 30 dienu laikā (aktīvie lietotāji mēnesī)",
- "server_banner.active_users": "aktīvie lietotāji",
+ "server_banner.active_users": "aktīvi lietotāji",
"server_banner.administered_by": "Administrē:",
"server_banner.introduction": "{domain} ir daļa no decentralizētā sociālā tīkla, ko nodrošina {mastodon}.",
"server_banner.learn_more": "Uzzināt vairāk",
@@ -625,6 +651,7 @@
"status.direct": "Pieminēt @{name} privāti",
"status.direct_indicator": "Pieminēts privāti",
"status.edit": "Labot",
+ "status.edited": "Pēdējoreiz labots {date}",
"status.edited_x_times": "Labots {count, plural, one {{count} reizi} other {{count} reizes}}",
"status.embed": "Iegult",
"status.favourite": "Izlasē",
diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb
index f935090efc..a95c7437fa 100644
--- a/config/initializers/devise.rb
+++ b/config/initializers/devise.rb
@@ -38,42 +38,25 @@ Warden::Manager.before_logout do |_, warden|
end
module Devise
- mattr_accessor :pam_authentication
- @@pam_authentication = false
- mattr_accessor :pam_controlled_service
- @@pam_controlled_service = nil
+ mattr_accessor :pam_authentication, default: false
+ mattr_accessor :pam_controlled_service, default: nil
- mattr_accessor :check_at_sign
- @@check_at_sign = false
+ mattr_accessor :check_at_sign, default: false
- mattr_accessor :ldap_authentication
- @@ldap_authentication = false
- mattr_accessor :ldap_host
- @@ldap_host = nil
- mattr_accessor :ldap_port
- @@ldap_port = nil
- mattr_accessor :ldap_method
- @@ldap_method = nil
- mattr_accessor :ldap_base
- @@ldap_base = nil
- mattr_accessor :ldap_uid
- @@ldap_uid = nil
- mattr_accessor :ldap_mail
- @@ldap_mail = nil
- mattr_accessor :ldap_bind_dn
- @@ldap_bind_dn = nil
- mattr_accessor :ldap_password
- @@ldap_password = nil
- mattr_accessor :ldap_tls_no_verify
- @@ldap_tls_no_verify = false
- mattr_accessor :ldap_search_filter
- @@ldap_search_filter = nil
- mattr_accessor :ldap_uid_conversion_enabled
- @@ldap_uid_conversion_enabled = false
- mattr_accessor :ldap_uid_conversion_search
- @@ldap_uid_conversion_search = nil
- mattr_accessor :ldap_uid_conversion_replace
- @@ldap_uid_conversion_replace = nil
+ mattr_accessor :ldap_authentication, default: false
+ mattr_accessor :ldap_host, default: nil
+ mattr_accessor :ldap_port, default: nil
+ mattr_accessor :ldap_method, default: nil
+ mattr_accessor :ldap_base, default: nil
+ mattr_accessor :ldap_uid, default: nil
+ mattr_accessor :ldap_mail, default: nil
+ mattr_accessor :ldap_bind_dn, default: nil
+ mattr_accessor :ldap_password, default: nil
+ mattr_accessor :ldap_tls_no_verify, default: false
+ mattr_accessor :ldap_search_filter, default: nil
+ mattr_accessor :ldap_uid_conversion_enabled, default: false
+ mattr_accessor :ldap_uid_conversion_search, default: nil
+ mattr_accessor :ldap_uid_conversion_replace, default: nil
module Strategies
class PamAuthenticatable
diff --git a/config/initializers/opentelemetry.rb b/config/initializers/opentelemetry.rb
new file mode 100644
index 0000000000..e50132d461
--- /dev/null
+++ b/config/initializers/opentelemetry.rb
@@ -0,0 +1,63 @@
+# frozen_string_literal: true
+
+# Set OTEL_* environment variables according to OTel docs:
+# https://opentelemetry.io/docs/concepts/sdk-configuration/
+
+if ENV.keys.any? { |name| name.match?(/OTEL_.*_ENDPOINT/) }
+ require 'opentelemetry/sdk'
+ require 'opentelemetry/exporter/otlp'
+
+ require 'opentelemetry/instrumentation/active_job'
+ require 'opentelemetry/instrumentation/active_model_serializers'
+ require 'opentelemetry/instrumentation/concurrent_ruby'
+ require 'opentelemetry/instrumentation/excon'
+ require 'opentelemetry/instrumentation/faraday'
+ require 'opentelemetry/instrumentation/http'
+ require 'opentelemetry/instrumentation/http_client'
+ require 'opentelemetry/instrumentation/net/http'
+ require 'opentelemetry/instrumentation/pg'
+ require 'opentelemetry/instrumentation/rack'
+ require 'opentelemetry/instrumentation/rails'
+ require 'opentelemetry/instrumentation/redis'
+ require 'opentelemetry/instrumentation/sidekiq'
+
+ OpenTelemetry::SDK.configure do |c|
+ # use_all() attempts to load ALL the auto-instrumentations
+ # currently loaded by Ruby requires.
+ #
+ # Load attempts will emit an INFO or WARN to the console
+ # about the success/failure to wire up an auto-instrumentation.
+ # "WARN -- : Instrumentation: failed to install" is most
+ # likely caused by not being a Ruby library loaded by
+ # the application or the instrumentation has been explicitly
+ # disabled.
+ #
+ # To disable an instrumentation, set an environment variable
+ # along this pattern:
+ #
+ # OTEL_RUBY_INSTRUMENTATION__ENABLED=false
+ #
+ # For example, PostgreSQL and Redis produce a lot of child spans
+ # in the course of this application doing its business. To turn
+ # them off, set the env vars below, but recognize that you will
+ # be missing details about what particular calls to the
+ # datastores are slow.
+ #
+ # OTEL_RUBY_INSTRUMENTATION_PG_ENABLED=false
+ # OTEL_RUBY_INSTRUMENTATION_REDIS_ENABLED=false
+
+ c.use_all({
+ 'OpenTelemetry::Instrumentation::Rack' => {
+ use_rack_events: false, # instead of events, use middleware; allows for untraced_endpoints to ignore child spans
+ untraced_endpoints: ['/health'],
+ },
+ })
+
+ c.service_name = case $PROGRAM_NAME
+ when /puma/ then 'mastodon/web'
+ else
+ "mastodon/#{$PROGRAM_NAME.split('/').last}"
+ end
+ c.service_version = Mastodon::Version.to_s
+ end
+end
diff --git a/config/locales/devise.ia.yml b/config/locales/devise.ia.yml
index b365668210..d83c708647 100644
--- a/config/locales/devise.ia.yml
+++ b/config/locales/devise.ia.yml
@@ -21,28 +21,47 @@ ia:
confirmation_instructions:
action: Verificar adresse de e-mail
action_with_app: Confirmar e retornar a %{app}
+ explanation: Tu ha create un conto sur %{host} con iste adresse de e-mail. Tu es a un sol clic de activar lo. Si isto non esseva tu, per favor ignora iste e-mail.
+ explanation_when_pending: Tu ha sollicitate un invitation a %{host} con iste adresse de e-mail. Post que tu confirma tu adresse de e-mail, nos va revider tu demanda. Tu pote aperir session pro cambiar tu detalios o eliminar tu conto, ma tu non pote acceder al majoritate del functiones usque tu conto es approbate. Si tu demanda es rejectate, tu datos essera removite e nulle action ulterior essera requirite de te. Si isto non esseva tu, per favor ignora iste message de e-mail.
+ extra_html: Per favor consulta tamben le regulas del servitor e nostre conditiones de servicio.
subject: 'Mastodon: Instructiones de confirmation pro %{instance}'
title: Verificar adresse de e-mail
email_changed:
explanation: 'Le adresse de e-mail pro tu conto essera cambiate a:'
+ extra: Si tu non ha cambiate de adresse de e-mail, es probabile que alcuno ha ganiate le accesso a tu conto. Per favor cambia immediatemente tu contrasigno o contacta le administrator del servitor si tu non pote acceder a tu conto.
subject: 'Mastodon: E-mail cambiate'
title: Nove adresse de e-mail
password_change:
explanation: Le contrasigno de tu conto ha essite cambiate.
+ extra: Si tu non ha cambiate tu contrasigno, es probabile que alcuno ha ganiate le accesso a tu conto. Per favor cambia immediatemente tu contrasigno o contacta le administrator del servitor si tu non pote acceder a tu conto.
subject: 'Mastodon: Contrasigno cambiate'
title: Contrasigno cambiate
reconfirmation_instructions:
explanation: Confirma le nove adresse pro cambiar tu email.
+ extra: Si non es tu qui ha initiate iste cambiamento, per favor ignora iste e-mail. Le adresse de e-mail pro le conto de Mastodon non cambiara usque tu accede al ligamine hic supra.
subject: 'Mastodon: Confirmar e-mail pro %{instance}'
title: Verificar adresse de e-mail
reset_password_instructions:
action: Cambiar contrasigno
+ explanation: Tu ha requestate un nove contrasigno pro tu conto.
+ extra: Si tu non ha requestate isto, per favor ignora iste e-mail. Tu contrasigno non cambiara usque tu accede al ligamine hic supra e crea un nove.
subject: 'Mastodon: Instructiones pro reinitialisar le contrasigno'
title: Reinitialisar contrasigno
two_factor_disabled:
+ explanation: Ora es possibile aperir session con solmente le adresse de e-mail e contrasigno.
+ subject: 'Mastodon: Authentication bifactorial disactivate'
+ subtitle: Le authentication bifactorial ha essite disactivate pro tu conto.
title: 2FA disactivate
two_factor_enabled:
+ explanation: Pro le apertura de session essera necessari un token generate per le application TOTP accopulate.
+ subject: 'Mastodon: Authentication bifactorial activate'
+ subtitle: Le authentication bifactorial ha essite activate pro tu conto.
title: 2FA activate
+ two_factor_recovery_codes_changed:
+ explanation: Le ancian codices de recuperation ha essite invalidate e nove codices ha essite generate.
+ subject: 'Mastodon: Codices de recuperation regenerate'
+ subtitle: Le ancian codices de recuperation ha essite invalidate e nove codices ha essite generate.
+ title: Codices de recuperation cambiate
unlock_instructions:
subject: 'Mastodon: Instructiones pro disblocar'
webauthn_credential:
@@ -53,9 +72,15 @@ ia:
deleted:
explanation: Le sequente clave de securitate esseva delite de tu conto
subject: 'Mastodon: Clave de securitate delite'
+ title: Un de tu claves de securitate ha essite delite
webauthn_disabled:
+ explanation: Le authentication con claves de securitate ha essite disactivate pro tu conto.
+ extra: Ora es possibile aperir session usante solmente le token generate per le application TOTP accopulate.
+ subject: 'Mastodon: Le authentication con claves de securitate es disactivate'
title: Claves de securitate disactivate
webauthn_enabled:
+ explanation: Le authentication con claves de securitate ha essite activate pro tu conto.
+ extra: Tu clave de securitate pote ora esser usate pro aperir session.
title: Claves de securitate activate
registrations:
destroyed: A revider! Tu conto esseva cancellate con successo. Nos spera vider te novemente tosto.
diff --git a/config/locales/doorkeeper.ia.yml b/config/locales/doorkeeper.ia.yml
index 86bd1ad985..b5bd6cc536 100644
--- a/config/locales/doorkeeper.ia.yml
+++ b/config/locales/doorkeeper.ia.yml
@@ -34,10 +34,12 @@ ia:
title: Nove application
show:
actions: Actiones
+ scopes: Ambitos
title: 'Application: %{name}'
authorizations:
buttons:
authorize: Autorisar
+ deny: Negar
error:
title: Ocurreva un error
authorized_applications:
@@ -66,7 +68,9 @@ ia:
conversations: Conversationes
favourites: Favoritos
filters: Filtros
+ follows: Sequites
lists: Listas
+ media: Annexos multimedial
mutes: Silentiates
notifications: Notificationes
push: Notificationes push
diff --git a/config/locales/doorkeeper.ie.yml b/config/locales/doorkeeper.ie.yml
index 0119f3573f..fc8132c926 100644
--- a/config/locales/doorkeeper.ie.yml
+++ b/config/locales/doorkeeper.ie.yml
@@ -174,6 +174,7 @@ ie:
read:filters: vider tui filtres
read:follows: vider tui sequitores
read:lists: vider tui listes
+ read:me: leer solmen li basic information de tui conto
read:mutes: vider tui silentias
read:notifications: vider tui notificationes
read:reports: vider tui raportes
diff --git a/config/locales/doorkeeper.lt.yml b/config/locales/doorkeeper.lt.yml
index 5be291bf89..82695d8ba6 100644
--- a/config/locales/doorkeeper.lt.yml
+++ b/config/locales/doorkeeper.lt.yml
@@ -31,8 +31,8 @@ lt:
form:
error: Ups! Patikrink, ar formoje nėra galimų klaidų.
help:
- native_redirect_uri: Naudoti %{native_redirect_uri} vietiniams bandymams
- redirect_uri: Naudoti po vieną eilutę kiekvienam URI
+ native_redirect_uri: Naudok %{native_redirect_uri} vietiniams bandymams.
+ redirect_uri: Naudok po vieną eilutę kiekvienam URI.
scopes: Atskirk aprėptis tarpais. Palik tuščią, jei nori naudoti numatytąsias aprėtis.
index:
application: Programėlė
@@ -90,7 +90,7 @@ lt:
request_not_authorized: Užklausą reikia įgalioti. Reikalingo parametro užklausai įgalioti trūksta arba jis netinkamas.
unknown: Užklausoje trūksta privalomo parametro, turi nepalaikomą parametro reikšmę arba yra kitaip netinkamai suformuota.
invalid_resource_owner: Pateikti išteklių savininko įgaliojimai yra netinkami arba išteklių savininko negalima surasti.
- invalid_scope: Užklausos aprėptis yra netinkama, nežinoma arba netinkamai suformuota.
+ invalid_scope: Užklausos aprėptis yra netinkama, nežinoma arba netaisyklingas.
invalid_token:
expired: Baigėsi prieigos rakto galiojimas.
revoked: Prieigos raktas buvo panaikintas.
@@ -133,9 +133,9 @@ lt:
follows: Sekimai
lists: Sąrašai
media: Medijos priedai
- mutes: Užtildymai
+ mutes: Nutildymai
notifications: Pranešimai
- push: Stumdomieji pranešimai
+ push: Tiesioginiai pranešimai
reports: Ataskaitos
search: Paieška
statuses: Įrašai
@@ -147,30 +147,30 @@ lt:
application:
title: Reikalingas OAuth leidimas
scopes:
- admin:read: skaityti visus serveryje esančius duomenis
- admin:read:accounts: skaityti neskelbtiną visų paskyrų informaciją
- admin:read:canonical_email_blocks: skaityti neskelbtiną visų kanoninių el. laiško blokavimų informaciją
- admin:read:domain_allows: skaityti neskelbtiną visų domeno leidimus informaciją
- admin:read:domain_blocks: skaityti neskelbtiną visų domeno blokavimų informaciją
- admin:read:email_domain_blocks: skaityti neskelbtiną visų el. laiško domeno blokavimų informaciją
- admin:read:ip_blocks: skaityti neskelbtiną visų IP blokavimų informaciją
- admin:read:reports: skaityti neskelbtiną visų ataskaitų ir praneštų paskyrų informaciją
- admin:write: modifikuoti visus serveryje esančius duomenis
+ admin:read: skaityti visus duomenis serveryje
+ admin:read:accounts: skaityti slaptą visų paskyrų informaciją
+ admin:read:canonical_email_blocks: skaityti slaptą visų kanoninių el. laiško blokavimų informaciją
+ admin:read:domain_allows: skaityti slaptą visų domeno leidimus informaciją
+ admin:read:domain_blocks: skaityti slaptą visų domeno blokavimų informaciją
+ admin:read:email_domain_blocks: skaityti slaptą visų el. laiško domeno blokavimų informaciją
+ admin:read:ip_blocks: skaityti slaptą visų IP blokavimų informaciją
+ admin:read:reports: skaityti slaptą visų ataskaitų ir praneštų paskyrų informaciją
+ admin:write: modifikuoti visus duomenis serveryje
admin:write:accounts: atlikti paskyrų prižiūrėjimo veiksmus
admin:write:canonical_email_blocks: atlikti kanoninių el. laiško blokavimų prižiūrėjimo veiksmus
- admin:write:domain_allows: atlikti prižiūrėjimo veiksmus su domeno leidimais
- admin:write:domain_blocks: atlikti prižiūrėjimo veiksmus su domenų blokavimais
- admin:write:email_domain_blocks: atlikti prižiūrėjimo veiksmus su el. laiško domenų blokavimais
- admin:write:ip_blocks: atlikti prižiūrėjimo veiksmus su IP blokavimais
- admin:write:reports: atlikti paskyrų prižiūrėjimo veiksmus atsakaitams
+ admin:write:domain_allows: atlikti domeno leidimų prižiūrėjimo veiksmus
+ admin:write:domain_blocks: atlikti domeno blokavimų prižiūrėjimo veiksmus
+ admin:write:email_domain_blocks: atlikti el. laiško domenų blokavimų prižiūrėjimo veiksmus
+ admin:write:ip_blocks: atlikti IP blokavimų prižiūrėjimo veiksmus
+ admin:write:reports: atlikti ataskaitų prižiūrėjimo veiksmus
crypto: naudoti visapusį šifravimą
follow: modifikuoti paskyros sąryšius
- push: gauti tavo stumiamuosius pranešimus
- read: skaityti tavo visus paskyros duomenis
+ push: gauti tiesioginius pranešimus
+ read: skaityti visus paskyros duomenis
read:accounts: matyti paskyrų informaciją
read:blocks: matyti tavo blokavimus
read:bookmarks: matyti tavo žymes
- read:favourites: matyti tavo mėgstamiausius
+ read:favourites: matyti tavo mėgstamus
read:filters: matyti tavo filtrus
read:follows: matyti tavo sekimus
read:lists: matyti tavo sąrašus
@@ -183,14 +183,14 @@ lt:
write: modifikuoti visus tavo paskyros duomenis
write:accounts: modifikuoti tavo profilį
write:blocks: blokuoti paskyras ir domenus
- write:bookmarks: įrašyti įrašus
+ write:bookmarks: pridėti į žymes įrašus
write:conversations: nutildyti ir ištrinti pokalbius
- write:favourites: mėgti įrašai
+ write:favourites: pamėgti įrašus
write:filters: sukurti filtrus
write:follows: sekti žmones
write:lists: sukurti sąrašus
write:media: įkelti medijos failus
write:mutes: nutildyti žmones ir pokalbius
write:notifications: išvalyti tavo pranešimus
- write:reports: pranešti kitus asmenus
+ write:reports: pranešti apie kitus žmones
write:statuses: skelbti įrašus
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index bdf6e5a75f..57af7c82c0 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -5,7 +5,7 @@ gl:
contact_missing: Non establecido
contact_unavailable: Non dispoñíbel
hosted_on: Mastodon aloxado en %{domain}
- title: Acerca de
+ title: Sobre
accounts:
follow: Seguir
followers:
@@ -503,7 +503,7 @@ gl:
instance_follows_measure: as súas seguidoras aquí
instance_languages_dimension: Top de idiomas
instance_media_attachments_measure: anexos multimedia gardados
- instance_reports_measure: denuncias acerca deles
+ instance_reports_measure: denuncias sobre eles
instance_statuses_measure: publicacións gardadas
delivery:
all: Todo
@@ -615,7 +615,7 @@ gl:
created_at: Denunciado
delete_and_resolve: Eliminar publicacións
forwarded: Reenviado
- forwarded_replies_explanation: Esta denuncia procede dunha usuaria remota e acerca de contido remoto. Enviouseche unha copia porque o contido denunciado é unha resposta a unha das túas usuarias.
+ forwarded_replies_explanation: Esta denuncia procede dunha usuaria remota e sobre contido remoto. Enviouseche unha copia porque o contido denunciado é unha resposta a unha das túas usuarias.
forwarded_to: Reenviado a %{domain}
mark_as_resolved: Marcar como resolto
mark_as_sensitive: Marcar como sensible
@@ -740,7 +740,7 @@ gl:
manage_rules: Xestionar regras do servidor
preamble: Proporciona información detallada acerca do xeito en que se xestiona, modera e financia o servidor.
rules_hint: Hai un espazo dedicado para as normas que é de agardar as usuarias acaten.
- title: Acerca de
+ title: Sobre
appearance:
preamble: Personalizar a interface web de Mastodon.
title: Aparencia
@@ -1870,7 +1870,7 @@ gl:
feature_action: Saber máis
feature_audience: Mastodon dache a oportunidade de xestionar sen intermediarios as túas relacións. Incluso se usas o teu propio servidor Mastodon poderás seguir e ser seguida desde calquera outro servidor Mastodon conectado á rede e estará baixo o teu control exclusivo.
feature_audience_title: Crea a túa audiencia con tranquilidade
- feature_control: Sabes mellor ca ninguén o que queres ver na cronoloxía. Non hai algoritmos nin publicidade facéndoche perder o tempo. Segue cunha soa conta a outras persoas en servidores Mastodon diferentes ao teu, recibirás as publicacións en orde cronolóxica, e farás deste curruchiño de internet un lugar para ti.
+ feature_control: Sabes mellor ca ninguén o que queres ver na cronoloxía. Non hai algoritmos nin publicidade facéndoche perder o tempo. Sigue cunha soa conta a outras persoas en servidores Mastodon diferentes ao teu, recibirás as publicacións en orde cronolóxica, e farás deste curruchiño de internet un lugar para ti.
feature_control_title: Tes o control da túa cronoloxía
feature_creativity: Mastodon ten soporte para audio, vídeo e imaxes nas publicacións, descricións para mellorar a accesibilidade, enquisas, avisos sobre o contido, avatares animados, emojis personalizados, control sobre o recorte de miniaturas, e moito máis, para axudarche a expresarte en internet. Tanto se publicas o teu arte, música ou podcast, Mastodon está aquí para ti.
feature_creativity_title: Creatividade incomparable
diff --git a/config/locales/ia.yml b/config/locales/ia.yml
index 193f2b0d59..712328deb8 100644
--- a/config/locales/ia.yml
+++ b/config/locales/ia.yml
@@ -886,6 +886,7 @@ ia:
one: Compartite per un persona le septimana passate
other: Compartite per %{count} personas le septimana passate
title: Ligamines de tendentia
+ usage_comparison: Compartite %{today} vices hodie, comparate al %{yesterday} de heri
not_allowed_to_trend: Non permittite haber tendentia
only_allowed: Solo permittite
pending_review: Attende revision
@@ -915,6 +916,7 @@ ia:
tag_servers_dimension: Servitores principal
tag_servers_measure: servitores differente
tag_uses_measure: usos total
+ description_html: Istos es hashtags que actualmente appare in tante messages que tu servitor vide. Illo pote adjutar tu usatores a discoperir re que le personas parla plus al momento. Nulle hashtags es monstrate publicamente usque tu los approba.
listable: Pote esser suggerite
no_tag_selected: Nulle placas era cambiate perque nulle era seligite
not_listable: Non sera suggerite
@@ -940,21 +942,47 @@ ia:
webhooks:
add_new: Adder terminal
delete: Deler
+ description_html: Un croc web habilita Mastodon a transmitter notificationes in tempore real re eventos seligite pro tu pro activar application, assi tu application pote automaticamente discatenar reactiones.
disable: Disactivar
disabled: Disactivate
edit: Rediger terminal
+ empty: Tu ancora non ha configurate alcun punctos final de web croc.
enable: Activar
enabled: Active
enabled_events:
one: 1 evento activate
other: "%{count} eventos activate"
events: Eventos
+ new: Nove croc web
+ rotate_secret: Rotar secrete
+ secret: Firmante secrete
status: Stato
+ title: Crocs web
+ webhook: Crocs web
admin_mailer:
+ auto_close_registrations:
+ subject: Le registrationes pro %{instance} ha essite automaticamente mutate a besoniante de approbation
+ new_appeal:
+ actions:
+ delete_statuses: pro deler lor messages
+ disable: pro gelar lor conto
+ mark_statuses_as_sensitive: pro marcar lor messages como sensibile
+ none: pro advertir
+ sensitive: a marcar lor conto como sensibile
+ silence: pro limitar lor conto
+ suspend: pro suspender lor conto
+ body: "%{target} appella un decision de moderation per %{action_taken_by} ab le %{date}, que era %{type}. Ille scribeva:"
new_critical_software_updates:
subject: Actualisationes critic de Mastodon es disponibile pro %{instance}!
new_software_updates:
subject: Nove versiones de Mastodon es disponibile pro %{instance}!
+ new_trends:
+ new_trending_links:
+ title: Ligamines de tendentia
+ new_trending_statuses:
+ title: Messages de tendentia
+ new_trending_tags:
+ title: Hashtags de tendentia
aliases:
add_new: Crear alias
appearance:
@@ -962,6 +990,7 @@ ia:
confirmation_dialogs: Dialogos de confirmation
discovery: Discoperta
localization:
+ body: Mastodon es traducite per voluntarios.
guide_link: https://crowdin.com/project/mastodon
guide_link_text: Totes pote contribuer.
sensitive_content: Contento sensibile
@@ -1026,8 +1055,16 @@ ia:
account_status: Stato del conto
view_strikes: Examinar le admonitiones passate contra tu conto
challenge:
+ confirm: Continuar
invalid_password: Contrasigno non valide
prompt: Confirma le contrasigno pro continuar
+ datetime:
+ distance_in_words:
+ half_a_minute: Justo ora
+ less_than_x_seconds: Justo ora
+ over_x_years: "%{count}a"
+ x_days: "%{count}d"
+ x_minutes: "%{count} m"
deletes:
confirm_password: Insere tu contrasigno actual pro verificar tu identitate
proceed: Deler le conto
@@ -1206,6 +1243,10 @@ ia:
activity: Activitate del conto
most_recent: Plus recente
status: Stato del conto
+ rss:
+ content_warning: 'Advertimento de contento:'
+ descriptions:
+ account: Messages public de @%{acct}
sessions:
activity: Ultime activitate
browser: Navigator
@@ -1253,6 +1294,7 @@ ia:
delete: Deletion de conto
development: Disveloppamento
edit_profile: Modificar profilo
+ featured_tags: Hashtags eminente
import: Importar
migrate: Migration de conto
notifications: Notificationes de e-mail
@@ -1261,7 +1303,9 @@ ia:
relationships: Sequites e sequitores
strikes: Admonitiones de moderation
severed_relationships:
+ download: Discargar (%{count})
event_type:
+ account_suspension: Suspension del conto (%{target_name})
domain_block: Suspension del servitor (%{target_name})
user_domain_block: Tu ha blocate %{target_name}
preamble: Tu pote perder sequites e sequitores quando tu bloca un dominio o quando tu moderatores decide suspender un servitor remote. Quando isto occurre, tu potera discargar listas de relationes rumpite, a inspectar e eventualmente importar in un altere servitor.
diff --git a/config/locales/ie.yml b/config/locales/ie.yml
index 46e55b9e19..2b819c53de 100644
--- a/config/locales/ie.yml
+++ b/config/locales/ie.yml
@@ -1667,8 +1667,10 @@ ie:
download: Descargar (%{count})
event_type:
account_suspension: Suspension del conto (%{target_name})
+ domain_block: Suspension del servitor (%{target_name})
user_domain_block: Tu bloccat %{target_name}
lost_followers: Perdit sequitores
+ lost_follows: Perdit sequetes
preamble: Tu posse perdir tis queles tu seque e tui sequitores quande tu blocca un domonia o quande tui moderatores decide suspender un lontan servitor. Tande, tu va posser descargar listes de dejuntet relationes, a inspecter e possibilmen importar sur un altri servitor.
type: Eveniment
statuses:
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index 0e90cc723e..f3f3e3a8fb 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -739,6 +739,7 @@ ko:
desc_html: 이것은 hCaptcha의 외부 스크립트에 의존합니다, 이것은 개인정보 보호에 위협을 가할 수도 있습니다. 추가적으로, 이것은 몇몇 사람들(특히나 장애인들)에게 가입 절차의 접근성을 심각하게 떨어트릴 수 있습니다. 이러한 이유로, 대체제로 승인 전용이나 초대제를 통한 가입을 고려해보세요.
title: 새로운 사용자가 계정 확인을 위해서는 CAPTCHA를 풀어야 하도록 합니다
content_retention:
+ danger_zone: 위험한 영역
preamble: 마스토돈에 저장된 사용자 콘텐츠를 어떻게 다룰지 제어합니다.
title: 콘텐츠 보존기한
default_noindex:
diff --git a/config/locales/lt.yml b/config/locales/lt.yml
index 35111ad396..b815cada5c 100644
--- a/config/locales/lt.yml
+++ b/config/locales/lt.yml
@@ -535,12 +535,16 @@ lt:
elasticsearch_preset_single_node:
message_html: Tavo Elasticsearch klasteris turi tik vieną mazgą, ES_PRESET turėtų būti nustatyta į single_node_cluster.
title: Administracija
+ trends:
+ preview_card_providers:
+ title: Leidėjai
warning_presets:
add_new: Pridėti naują
delete: Ištrinti
edit_preset: Keisti įspėjimo nustatymus
title: Valdyti įspėjimo nustatymus
webhooks:
+ description_html: "Webhook leidžia Mastodon siųsti realaus laiko pranešimus apie pasirinktus įvykius į tavo programą, kad programa galėtų automatiškai paleisti reakcijas."
events: Įvykiai
admin_mailer:
auto_close_registrations:
@@ -665,6 +669,7 @@ lt:
invalid_context: Jokio arba netinkamas pateiktas kontekstas
index:
delete: Ištrinti
+ empty: Neturi jokių filtrų.
title: Filtrai
new:
title: Pridėti naują filtrą
diff --git a/config/locales/lv.yml b/config/locales/lv.yml
index ee83954007..f4f0aa9db2 100644
--- a/config/locales/lv.yml
+++ b/config/locales/lv.yml
@@ -761,6 +761,7 @@ lv:
desc_html: Tas balstās uz ārējiem skriptiem no hCaptcha, kas var radīt bažas par drošību un privātumu. Turklāt tas var padarīt reģistrācijas procesu ievērojami mazāk pieejamu dažiem cilvēkiem (īpaši invalīdiem). Šo iemeslu dēļ, lūdzu, apsver alternatīvus pasākumus, piemēram, reģistrāciju, kas balstīta uz apstiprinājumu vai uzaicinājumu.
title: Pieprasīt jaunajiem lietotājiem atrisināt CAPTCHA, lai apstiprinātu savu kontu
content_retention:
+ danger_zone: Bīstama sadaļa
preamble: Kontrolē, kā Mastodon tiek glabāts lietotāju ģenerēts saturs.
title: Satura saglabāšana
default_noindex:
@@ -1631,6 +1632,7 @@ lv:
unknown_browser: Nezināms Pārlūks
weibo: Weibo
current_session: Pašreizējā sesija
+ date: Datums
description: "%{browser} uz %{platform}"
explanation: Šie ir tīmekļa pārlūki, kuros šobrīd esi pieteicies savā Mastodon kontā.
ip: IP
@@ -1667,6 +1669,7 @@ lv:
import: Imports
import_and_export: Imports un eksports
migrate: Konta migrācija
+ notifications: E-pasta paziņojumi
preferences: Iestatījumi
profile: Profils
relationships: Sekojamie un sekotāji
@@ -1674,6 +1677,9 @@ lv:
strikes: Moderācijas aizrādījumi
two_factor_authentication: Divpakāpju autentifikācija
webauthn_authentication: Drošības atslēgas
+ severed_relationships:
+ download: Lejupielādēt (%{count})
+ type: Notikums
statuses:
attached:
audio:
@@ -1800,6 +1806,7 @@ lv:
webauthn: Drošības atslēgas
user_mailer:
appeal_approved:
+ action: Konta iestatījumi
explanation: Apelācija par brīdinājumu jūsu kontam %{strike_date}, ko iesniedzāt %{appeal_date}, ir apstiprināta. Jūsu konts atkal ir labā stāvoklī.
subject: Jūsu %{date} apelācija ir apstiprināta
title: Apelācija apstiprināta
@@ -1849,15 +1856,28 @@ lv:
silence: Konts ierobežots
suspend: Konts apturēts
welcome:
+ apps_android_action: Iegūt to Google Play
+ apps_title: Mastodon lietotnes
edit_profile_action: Pielāgot
edit_profile_title: Pielāgo savu profilu
explanation: Šeit ir daži padomi, kā sākt darbu
+ feature_action: Uzzināt vairāk
feature_creativity: Mastodon nodrošina skaņas, video un attēlu ierakstus, pieejamības aprakstus, aptaujas, satura brīdinājumus, animētus profila attēlus, pielāgotas emocijzīmes, sīktēlu apgriešanas vadīklas un vēl, lai palīdzētu Tev sevi izpaust tiešsaistē. Vai Tu izplati savu mākslu, mūziku vai aplādes, Mastodon ir šeit ar Tevi.
+ follow_action: Sekot
follow_title: Pielāgo savu mājas barotni
+ follows_title: Kam sekot
+ follows_view_more: Rādīt vairāk cilvēku, kuriem sekot
hashtags_recent_count:
one: "%{people} cilvēks pēdējās 2 dienās"
other: "%{people} cilvēki pēdējās 2 dienās"
zero: "%{people} cilvēku pēdējās divās dienās"
+ post_action: Rakstīt
+ post_step: Pasveicini pasauli ar tekstu, fotoattēliem, video vai aptaujām!
+ post_title: Izveido savu pirmo ierakstu
+ share_action: Kopīgot
+ share_step: Dari saviem draugiem zināmu, kā Tevi atrast Mastodon!
+ share_title: Kopīgo savu Mastodon profilu
+ sign_in_action: Pieteikties
subject: Laipni lūgts Mastodon
title: Laipni lūgts uz borta, %{name}!
users:
@@ -1865,6 +1885,7 @@ lv:
go_to_sso_account_settings: Dodies uz sava identitātes nodrošinātāja konta iestatījumiem
invalid_otp_token: Nederīgs divfaktora kods
otp_lost_help_html: Ja esi zaudējis piekļuvi abiem, tu vari sazināties ar %{email}
+ rate_limited: Pārāk daudz autentifikācijas mēģinājumu, vēlāk jāmēģina vēlreiz.
seamless_external_login: Tu esi pieteicies, izmantojot ārēju pakalpojumu, tāpēc paroles un e-pasta iestatījumi nav pieejami.
signed_in_as: 'Pieteicies kā:'
verification:
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index 9cb9cadee9..60730d53e9 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -751,6 +751,7 @@ pt-BR:
desc_html: Isso é baseado em scripts externos de hCaptcha, o que pode ser uma preocupação de segurança e privacidade. Além disso, isso pode tornar o processo de registro significativamente menos acessível para algumas pessoas (especialmente deficientes). Por estas razões, favor considerar medidas alternativas como o registro baseado em aprovação ou em convite.
title: Exigir que novos usuários resolvam um CAPTCHA para confirmar sua conta
content_retention:
+ danger_zone: Zona de perigo
preamble: Controlar como o conteúdo gerado pelo usuário é armazenado no Mastodon.
title: Retenção de conteúdo
default_noindex:
diff --git a/config/locales/ro.yml b/config/locales/ro.yml
index 1099e3d0d7..cd54d51051 100644
--- a/config/locales/ro.yml
+++ b/config/locales/ro.yml
@@ -566,6 +566,7 @@ ro:
blocking: Lista de blocare
domain_blocking: Listă de blocare domenii
following: Lista de urmărire
+ lists: Liste
muting: Lista de ignorare
upload: Încarcă
invites:
@@ -622,6 +623,14 @@ ro:
body: 'Postarea ta a fost impulsionată de %{name}:'
subject: "%{name} ți-a impulsionat postarea"
title: Impuls nou
+ number:
+ human:
+ decimal_units:
+ units:
+ billion: B
+ million: M
+ quadrillion: Q
+ thousand: K
polls:
errors:
expired: Sondajul s-a încheiat deja
diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml
index a1406b1ad9..370667d48e 100644
--- a/config/locales/simple_form.ar.yml
+++ b/config/locales/simple_form.ar.yml
@@ -77,10 +77,15 @@ ar:
warn: إخفاء المحتوى الذي تم تصفيته خلف تحذير يذكر عنوان الفلتر
form_admin_settings:
activity_api_enabled: عدد المنشورات المحلية و المستخدمين الناشطين و التسجيلات الأسبوعية الجديدة
+ app_icon: WEBP أو PNG أو GIF أو JPG. يتجاوز أيقونة التطبيق الافتراضية على الجوالات مع أيقونة مخصصة.
+ backups_retention_period: للمستخدمين القدرة على إنشاء أرشيفات لمنشوراتهم لتحميلها في وقت لاحق. عند التعيين إلى قيمة موجبة، سيتم حذف هذه الأرشيف تلقائياً من وحدة تخزينك بعد عدد الأيام المحدد.
bootstrap_timeline_accounts: سيتم تثبيت هذه الحسابات على قمة التوصيات للمستخدمين الجدد.
closed_registrations_message: ما سيعرض عند إغلاق التسجيلات
+ content_cache_retention_period: سيتم حذف جميع المنشورات من الخوادم الأخرى (بما في ذلك التعزيزات والردود) بعد عدد الأيام المحدد، دون أي تفاعل محلي للمستخدم مع هذه المنشورات. وهذا يشمل المنشورات التي قام المستخدم المحلي بوضع علامة عليها كإشارات مرجعية أو المفضلة. وسوف تختفي أيضا الإشارات الخاصة بين المستخدمين من المثيلات المختلفة ويستحيل استعادتها. والغرض من استخدام هذا الإعداد هو مثيلات الغرض الخاص ويفسد الكثير من توقعات المستخدمين عند تنفيذها للاستخدام لأغراض عامة.
custom_css: يمكنك تطبيق أساليب مخصصة على نسخة الويب من ماستدون.
+ favicon: WEBP أو PNG أو GIF أو JPG. يتجاوز أيقونة التطبيق المفضلة الافتراضية مع أيقونة مخصصة.
mascot: تجاوز الرسوم التوضيحية في واجهة الويب المتقدمة.
+ media_cache_retention_period: ملفات الوسائط من المنشورات التي يقوم بها المستخدمون البعيدون يتم تخزينها في خادمك. عند التعيين إلى قيمة موجبة، سيتم حذف الوسائط بعد عدد الأيام المحدد. إذا كانت بيانات الوسائط مطلوبة بعد حذفها، فسيتم إعادة تحميلها إذا كان محتوى المصدر لا يزال متاحًا. بسبب القيود المفروضة على عدد المرات التي يتم فيها ربط بطاقات المعاينة لمواقع الطرف الثالث، يوصى بتعيين هذه القيمة إلى 14 يوماً على الأقل، أو لن يتم تحديث بطاقات معاينة الرابط عند الطلب قبل ذلك الوقت.
peers_api_enabled: قائمة بأسماء النطاقات التي صادفها هذا الخادم في الفدرالية. لا توجد بيانات هنا حول ما إذا كنت تتحد مع خادم معين، فقط أن خادمك يعرف عنها. ويستخدم هذا الخدمات التي تجمع الإحصاءات المتعلقة بالاتحاد بشكل عام.
profile_directory: دليل الملف الشخصي يسرد جميع المستخدمين الذين اختاروا الدخول ليكونوا قابلين للاكتشاف.
require_invite_text: عندما تتطلب التسجيلات الموافقة اليدوية، اجعل إدخال النص "لماذا تريد الانضمام ؟" إلزاميا بدلا من اختياري
diff --git a/config/locales/simple_form.bg.yml b/config/locales/simple_form.bg.yml
index a4a2027137..f14a21b0c7 100644
--- a/config/locales/simple_form.bg.yml
+++ b/config/locales/simple_form.bg.yml
@@ -77,11 +77,13 @@ bg:
warn: Скриване на филтрираното съдържание зад предупреждение, споменавайки заглавието на филтъра
form_admin_settings:
activity_api_enabled: Броят на местните публикувани публикации, дейни потребители и нови регистрации в седмични кофи
+ app_icon: WEBP, PNG, GIF или JPG. Заменя подразбиращата се икона на приложението в мобилни устройства с произволна икона.
backups_retention_period: Потребителите имат способността да пораждат архиви от публикациите си за по-късно изтегляне. Задавайки положителна стойност, тези архиви самодейно ще се изтрият от хранилището ви след определения брой дни.
bootstrap_timeline_accounts: Тези акаунти ще се закачат в горния край на препоръките за следване на нови потребители.
closed_registrations_message: Показва се, когато е затворено за регистрации
content_cache_retention_period: Всички публикации от други сървъри, включително подсилвания и отговори, ще се изтрият след посочения брой дни, без да се взема предвид каквото и да е взаимодействие на местния потребител с тези публикации. Това включва публикации, които местния потребител е означил като отметки или любими. Личните споменавания между потребители от различни инстанции също ще се загубят и невъзможно да се възстановят. Употребата на тази настройка е предназначена за случаи със специално предназначение и разбива очакванията на много потребители, когато се изпълнява за употреба с общо предназначение.
custom_css: Може да прилагате собствени стилове в уебверсията на Mastodon.
+ favicon: WEBP, PNG, GIF или JPG. Заменя стандартната сайтоикона на Mastodon с произволна икона.
mascot: Замества илюстрацията в разширения уеб интерфейс.
media_cache_retention_period: Мултимедийни файлове от публикации, направени от отдалечени потребители, се сринаха в сървъра ви. Задавайки положителна стойност, мултимедията ще се изтрие след посочения брой дни. Ако се искат мултимедийни данни след изтриването, то ще се изтегли пак, ако още е наличен източникът на съдържание. Поради ограниченията за това колко често картите за предварващ преглед на връзките анкетират сайтове на трети страни, се препоръчва да зададете тази стойност на поне 14 дни или картите за предварващ преглед на връзките няма да се обновяват при поискване преди този момент.
peers_api_enabled: Списък от имена на домейни, с които сървърът се е свързал във федивселената. Тук не се включват данни за това дали федерирате с даден сървър, а само за това дали сървърът ви знае за него. Това се ползва от услуги, събиращи статистика за федерацията в общия смисъл.
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index c1056260bb..7d39786697 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -77,13 +77,13 @@ de:
warn: Den gefilterten Beitrag hinter einer Warnung, die den Filtertitel beinhaltet, ausblenden
form_admin_settings:
activity_api_enabled: Anzahl der wöchentlichen Beiträge, aktiven Profile und Registrierungen auf diesem Server
- app_icon: WEBP, PNG, GIF oder JPG Überschreibt das Standard-App-Symbol auf mobilen Geräten mit einem benutzerdefinierten Symbol.
+ app_icon: WEBP, PNG, GIF oder JPG. Überschreibt das Standard-App-Symbol auf mobilen Geräten mit einem eigenen Symbol.
backups_retention_period: Nutzer*innen haben die Möglichkeit, Archive ihrer Beiträge zu erstellen, die sie später herunterladen können. Wenn ein positiver Wert gesetzt ist, werden diese Archive nach der festgelegten Anzahl von Tagen automatisch aus deinem Speicher gelöscht.
bootstrap_timeline_accounts: Diese Konten werden bei den Follower-Empfehlungen für neu registrierte Nutzer*innen oben angeheftet.
closed_registrations_message: Wird angezeigt, wenn Registrierungen deaktiviert sind
content_cache_retention_period: Sämtliche Beiträge von anderen Servern (einschließlich geteilte Beiträge und Antworten) werden, unabhängig von der Interaktion der lokalen Nutzer*innen mit diesen Beiträgen, nach der festgelegten Anzahl von Tagen gelöscht. Das betrifft auch Beiträge, die von lokalen Nutzer*innen favorisiert oder als Lesezeichen gespeichert wurden. Private Erwähnungen zwischen Nutzer*innen von verschiedenen Servern werden ebenfalls verloren gehen und können nicht wiederhergestellt werden. Das Verwenden dieser Option richtet sich ausschließlich an Server für spezielle Zwecke und wird die allgemeine Nutzungserfahrung beeinträchtigen, wenn sie für den allgemeinen Gebrauch aktiviert ist.
custom_css: Du kannst benutzerdefinierte Stile auf die Web-Version von Mastodon anwenden.
- favicon: WEBP, PNG, GIF oder JPG überschreibt das Standard-Mastodon favicon mit einem benutzerdefinierten Icon.
+ favicon: WEBP, PNG, GIF oder JPG. Überschreibt das Standard-Mastodon-Favicon mit einem eigenen Symbol.
mascot: Überschreibt die Abbildung in der erweiterten Weboberfläche.
media_cache_retention_period: Mediendateien aus Beiträgen von externen Nutzer*innen werden auf deinem Server zwischengespeichert. Wenn ein positiver Wert gesetzt ist, werden die Medien nach der festgelegten Anzahl von Tagen gelöscht. Sollten die Medien nach dem Löschvorgang wieder angefragt werden, werden sie erneut heruntergeladen, sofern der ursprüngliche Inhalt noch vorhanden ist. Es wird empfohlen, diesen Wert auf mindestens 14 Tage festzulegen, da die Häufigkeit der Abfrage von Linkvorschaukarten für Websites von Dritten begrenzt ist und die Linkvorschaukarten sonst nicht vor Ablauf dieser Zeit aktualisiert werden.
peers_api_enabled: Eine Liste von Domains, die diesem Server im Fediverse begegnet sind. Hierbei werden keine Angaben darüber gemacht, ob du mit einem bestimmten Server föderierst, sondern nur, dass dein Server davon weiß. Dies wird von Diensten verwendet, die allgemein Statistiken übers Ferdiverse sammeln.
diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml
index 8fee5b414d..6ccca2bc84 100644
--- a/config/locales/simple_form.hu.yml
+++ b/config/locales/simple_form.hu.yml
@@ -83,7 +83,7 @@ hu:
closed_registrations_message: Akkor jelenik meg, amikor a regisztráció le van zárva
content_cache_retention_period: Minden más kiszolgálóról származó bejegyzés (megtolásokkal és válaszokkal együtt) törölve lesz a megadott számú nap elteltével, függetlenül a helyi felhasználók ezekkel a bejegyzésekkel történő interakcióitól. Ebben azok a bejegyzések is benne vannak, melyeket a helyi felhasználó könyvjelzőzött vagy kedvencnek jelölt. A különböző kiszolgálók felhasználói közötti privát üzenetek is el fognak veszni visszaállíthatatlanul. Ennek a beállításnak a használata különleges felhasználási esetekre javasolt, mert számos felhasználói elvárás fog eltörni, ha általános céllal használják.
custom_css: A Mastodon webes verziójában használhatsz egyéni stílusokat.
- favicon: WEBP, PNG, GIF vagy JPG. Az alapértelmezett Mastodon favicon felülírása egy egyéni ikonnal.
+ favicon: WEBP, PNG, GIF vagy JPG. Az alapértelmezett Mastodon favicont felülírja egy egyéni ikonnal.
mascot: Felülbírálja a speciális webes felületen található illusztrációt.
media_cache_retention_period: A távoli felhasználók bejegyzéseinek médiatartalmait a kiszolgálód gyorsítótárazza. Ha pozitív értékre állítják, ezek a médiatartalmak a megadott számú nap után törölve lesznek. Ha a médiát újra lekérik, miután törlődött, újra le fogjuk tölteni, ha az eredeti még elérhető. A hivatkozások előnézeti kártyáinak harmadik fél weboldalai felé történő hivatkozásaira alkalmazott megkötései miatt javasolt, hogy ezt az értéket legalább 14 napra állítsuk, ellenkező esetben a hivatkozások előnézeti kártyái szükség esetén nem fognak tudni frissülni ezen idő előtt.
peers_api_enabled: Azon domainek listája, melyekkel ez a kiszolgáló találkozott a fediverzumban. Nem csatolunk adatot arról, hogy föderált kapcsolatban vagy-e az adott kiszolgálóval, csak arról, hogy a kiszolgálód tud a másikról. Ezt olyan szolgáltatások használják, melyek általában a föderációról készítenek statisztikákat.
diff --git a/config/locales/simple_form.ia.yml b/config/locales/simple_form.ia.yml
index c796cb5fac..51329edd88 100644
--- a/config/locales/simple_form.ia.yml
+++ b/config/locales/simple_form.ia.yml
@@ -77,11 +77,13 @@ ia:
warn: Celar le contento filtrate detra un aviso citante le titulo del filtro
form_admin_settings:
activity_api_enabled: Numeros de messages localmente publicate, usatores active, e nove registrationes in gruppos septimanal
+ app_icon: WEBP, PNG, GIF o JPG. Supplanta le icone predefinite sur apparatos mobile con un icone personalisate.
backups_retention_period: Le usatores pote generar archivos de lor messages pro discargar los plus tarde. Quando predefinite a un valor positive, iste archivos sera automaticamente delite de tu immagazinage post le specificate numero de dies.
bootstrap_timeline_accounts: Iste contos sera appunctate al summitate del recommendationes a sequer del nove usatores.
closed_registrations_message: Monstrate quando le inscriptiones es claudite
content_cache_retention_period: Tote messages de altere servitores (includite stimulos e responsas) sera delite post le specificate numero de dies, sin considerar alcun interaction de usator local con ille messages. Isto include messages ubi un usator local los ha marcate como marcapaginas o favoritos. Mentiones private inter usatores de differente instantias sera alsi perdite e impossibile a restaurar. Le uso de iste parametros es intendite pro specific instantias e infringe multe expectationes de usator quando implementate pro uso general.
custom_css: Tu pote applicar stilos personalisate sur le version de web de Mastodon.
+ favicon: WEBP, PNG, GIF o JPG. Supplanta le favicone predefinite de Mastodon con un icone personalisate.
mascot: Illo substitue le illustration in le interfacie web avantiate.
media_cache_retention_period: Le files multimedial de messages producite per usatores remote es in cache sur tu servitor. Quando predefinite a un valor positive, le medios sera delite post le numero de dies specificate. Le datos multimedial requirite post que illo es delite, sera re-discargate, si le contento original sera ancora disponibile. Per limitationes sur le frequentia con que le schedas de pre-visualisation de ligamine scruta le sitos de tertie partes, il es recommendate de predefinir iste valor a al minus 14 dies, o le schedas de pre-visualisation de ligamine non sera actualisate sur demanda ante ille tempore.
peers_api_enabled: Un lista de nomines de dominio que iste servitor ha incontrate in le fediverso. Nulle datos es includite ci re tu federation con un date servitor, justo que tu servitor lo cognosce. Isto es usate per servicios que collige statistica re le federation in senso general.
diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml
index 5c0e6aa4e8..f5624344b9 100644
--- a/config/locales/simple_form.it.yml
+++ b/config/locales/simple_form.it.yml
@@ -77,11 +77,13 @@ it:
warn: Nascondi il contenuto filtrato e mostra invece un avviso, citando il titolo del filtro
form_admin_settings:
activity_api_enabled: Conteggi di post pubblicati localmente, utenti attivi e nuove registrazioni in gruppi settimanali
+ app_icon: WEBP, PNG, GIF o JPG. Sostituisce l'icona dell'app predefinita sui dispositivi mobili con un'icona personalizzata.
backups_retention_period: Gli utenti hanno la possibilità di generare archivi dei propri post da scaricare successivamente. Se impostati su un valore positivo, questi archivi verranno automaticamente eliminati dallo spazio di archiviazione dopo il numero di giorni specificato.
bootstrap_timeline_accounts: Questi account verranno aggiunti in cima ai consigli da seguire dei nuovi utenti.
closed_registrations_message: Visualizzato alla chiusura delle iscrizioni
content_cache_retention_period: Tutti i post da altri server (inclusi booster e risposte) verranno eliminati dopo il numero specificato di giorni, senza tener conto di eventuali interazioni con gli utenti locali con tali post. Questo include i post in cui un utente locale ha contrassegnato come segnalibri o preferiti. Anche le menzioni private tra utenti di diverse istanze andranno perse e impossibile da ripristinare. L'uso di questa impostazione è inteso per casi di scopo speciale e rompe molte aspettative dell'utente quando implementato per uso generale.
custom_css: È possibile applicare stili personalizzati sulla versione web di Mastodon.
+ favicon: WEBP, PNG, GIF o JPG. Sostituisce la favicon predefinita di Mastodon con un'icona personalizzata.
mascot: Sostituisce l'illustrazione nell'interfaccia web avanzata.
media_cache_retention_period: I file multimediali da post fatti da utenti remoti sono memorizzati nella cache sul tuo server. Quando impostato a un valore positivo, i media verranno eliminati dopo il numero specificato di giorni. Se i dati multimediali sono richiesti dopo che sono stati eliminati, saranno nuovamente scaricati, se il contenuto sorgente è ancora disponibile. A causa di restrizioni su quanto spesso link anteprima carte sondaggio siti di terze parti, si consiglia di impostare questo valore ad almeno 14 giorni, o le schede di anteprima link non saranno aggiornate su richiesta prima di quel tempo.
peers_api_enabled: Un elenco di nomi di dominio che questo server ha incontrato nel fediverse. Qui non sono inclusi dati sul fatto se si federano con un dato server, solo che il server ne è a conoscenza. Questo viene utilizzato dai servizi che raccolgono statistiche sulla federazione in senso generale.
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index 6ab4e03222..df4755c4fb 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -77,9 +77,11 @@ ko:
warn: 필터 제목을 언급하는 경고 뒤에 걸러진 내용을 숨기기
form_admin_settings:
activity_api_enabled: 주별 로컬에 게시된 글, 활성 사용자 및 새로운 가입자 수
+ app_icon: WEBP, PNG, GIF 또는 JPG. 모바일 기기에 쓰이는 기본 아이콘을 대체합니다.
bootstrap_timeline_accounts: 이 계정들은 팔로우 추천 목록 상단에 고정됩니다.
closed_registrations_message: 새 가입을 차단했을 때 표시됩니다
custom_css: 사용자 지정 스타일을 웹 버전의 마스토돈에 지정할 수 있습니다.
+ favicon: WEBP, PNG, GIF 또는 JPG. 기본 파비콘을 대체합니다.
mascot: 고급 웹 인터페이스의 그림을 대체합니다.
peers_api_enabled: 이 서버가 연합우주에서 만났던 서버들에 대한 도메인 네임의 목록입니다. 해당 서버와 어떤 연합을 했는지에 대한 정보는 전혀 포함되지 않고, 단순히 그 서버를 알고 있는지에 대한 것입니다. 이것은 일반적으로 연합에 대한 통계를 수집할 때 사용됩니다.
profile_directory: 프로필 책자는 발견되기를 희망하는 모든 사람들의 목록을 나열합니다.
@@ -240,6 +242,7 @@ ko:
backups_retention_period: 사용자 아카이브 유지 기한
bootstrap_timeline_accounts: 새로운 사용자들에게 추천할 계정들
closed_registrations_message: 가입이 불가능 할 때의 사용자 지정 메시지
+ content_cache_retention_period: 리모트 콘텐츠 보유 기간
custom_css: 사용자 정의 CSS
mascot: 사용자 정의 마스코트 (legacy)
media_cache_retention_period: 미디어 캐시 유지 기한
diff --git a/config/locales/simple_form.lt.yml b/config/locales/simple_form.lt.yml
index 1be95a9f1b..6631b59b19 100644
--- a/config/locales/simple_form.lt.yml
+++ b/config/locales/simple_form.lt.yml
@@ -49,7 +49,7 @@ lt:
header: WEBP, PNG, GIF arba JPG. Ne daugiau kaip %{size}. Bus sumažintas iki %{dimensions} tšk.
inbox_url: Nukopijuok URL adresą iš pradinio puslapio perdavėjo, kurį nori naudoti
irreversible: Filtruoti įrašai išnyks negrįžtamai, net jei vėliau filtras bus pašalintas
- locale: Naudotojo sąsajos kalba, el. laiškai ir stumiamieji pranešimai
+ locale: Naudotojo sąsajos kalba, el. laiškai ir tiesioginiai pranešimai
password: Naudok bent 8 simbolius
phrase: Bus suderinta, neatsižvelgiant į teksto lygį arba įrašo turinio įspėjimą
scopes: Prie kurių API programai bus leidžiama pasiekti. Pasirinkus aukščiausio lygio sritį, atskirų sričių pasirinkti nereikia.
diff --git a/config/locales/simple_form.nn.yml b/config/locales/simple_form.nn.yml
index bdd3db040d..a93a803221 100644
--- a/config/locales/simple_form.nn.yml
+++ b/config/locales/simple_form.nn.yml
@@ -77,12 +77,13 @@ nn:
warn: Skjul det filtrerte innhaldet bak ei åtvaring som nemner tittelen på filteret
form_admin_settings:
activity_api_enabled: Tal på lokale innlegg, aktive brukarar og nyregistreringar kvar veke
- app_icon: WEBP, PNG, GIF eller JPG. Overstyrer standard-ikonet på mobile einingar med eit tilpassa ikon.
+ app_icon: WEBP, PNG, GIF eller JPG. Overstyrer standard-app-ikonet på mobile einingar med eit eigendefinert ikon.
backups_retention_period: Brukarar har moglegheit til å generere arkiv av sine innlegg for å laste ned seinare. Når sett til ein positiv verdi, blir desse arkiva automatisk sletta frå lagringa etter eit gitt antal dagar.
bootstrap_timeline_accounts: Desse kontoane vil bli festa øverst på fylgjaranbefalingane til nye brukarar.
closed_registrations_message: Vist når det er stengt for registrering
content_cache_retention_period: Alle innlegg frå andre serverar (inkludert boostar og svar) vil bli sletta etter dei gitte antal dagar, uten hensyn til lokale brukarinteraksjonar med desse innlegga. Dette inkluderer innlegg der ein lokal brukar har merka det som bokmerker eller som favorittar. Òg private nemningar mellom brukarar frå ulike førekomstar vil gå tapt og vere umogleg å gjenskape. Bruk av denne innstillinga er rekna på spesielle førekomstar og bryt mange brukarforventingar når dette blir tatt i generell bruk.
custom_css: Du kan bruka eigendefinerte stilar på nettversjonen av Mastodon.
+ favicon: WEBP, PNG, GIF eller JPG. Overstyrer det standarde Mastodon-favikonet med eit eigendefinert ikon.
mascot: Overstyrer illustrasjonen i det avanserte webgrensesnittet.
media_cache_retention_period: Mediafiler frå innlegg laga av eksterne brukarar blir bufra på serveren din. Når sett til ein positiv verdi, slettast media etter eit gitt antal dagar. Viss mediedata blir førespurt etter det er sletta, vil dei bli lasta ned på nytt viss kjelda sitt innhald framleis er tilgjengeleg. På grunn av restriksjonar på kor ofte lenkeførehandsvisningskort lastar tredjepart-nettstadar, rådast det til å setje denne verdien til minst 14 dagar, eller at førehandsvisningskort ikkje blir oppdatert på førespurnad før det tidspunktet.
peers_api_enabled: Ei liste over domenenamn denne tenaren har møtt på i allheimen. Det står ingenting om tenaren din samhandlar med ein annan tenar, berre om tenaren din veit om den andre. Dette blir brukt av tenester som samlar statistikk om føderering i det heile.
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index 9044546f2b..77a0d8cd6f 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -77,10 +77,15 @@ pt-BR:
warn: Ocultar o conteúdo filtrado por trás de um aviso mencionando o título do filtro
form_admin_settings:
activity_api_enabled: Contagem de publicações locais, usuários ativos e novos usuários semanais
+ app_icon: WEBP, PNG, GIF ou JPG. Sobrescrever o ícone padrão do aplicativo em dispositivos móveis com um ícone personalizado.
+ backups_retention_period: Os usuários têm a capacidade de gerar arquivos de suas postagens para baixar mais tarde. Quando definido como um valor positivo, esses arquivos serão automaticamente excluídos do seu armazenamento após o número especificado de dias.
bootstrap_timeline_accounts: Estas contas serão fixadas no topo das recomendações de novos usuários para seguir.
closed_registrations_message: Exibido quando as inscrições estiverem fechadas
+ content_cache_retention_period: Todas as postagens de outros servidores (incluindo boosts e respostas) serão excluídas após o número especificado de dias, sem levar a qualquer interação do usuário local com esses posts. Isto inclui postagens onde um usuário local o marcou como favorito ou favoritos. Menções privadas entre usuários de diferentes instâncias também serão perdidas e impossíveis de restaurar. O uso desta configuração destina-se a instâncias especiais de propósitos e quebra muitas expectativas dos usuários quando implementadas para uso de propósito geral.
custom_css: Você pode aplicar estilos personalizados na versão da web do Mastodon.
+ favicon: WEBP, PNG, GIF ou JPG. Sobrescreve o favicon padrão do Mastodon com um ícone personalizado.
mascot: Substitui a ilustração na interface web avançada.
+ media_cache_retention_period: Arquivos de mídia de mensagens de usuários remotos são armazenados em cache no seu servidor. Quando definido como valor positivo, a mídia será excluída após o número especificado de dias. Se os dados da mídia forem solicitados depois de excluídos, eles serão baixados novamente, se o conteúdo fonte ainda estiver disponível. Devido a restrições de quantas vezes os cartões de visualização de links sondam sites de terceiros, é recomendado definir este valor em pelo menos 14 dias, ou pré-visualização de links não serão atualizados a pedido antes desse tempo.
peers_api_enabled: Uma lista de nomes de domínio que este servidor encontrou no "fediverse". Nenhum dado é incluído aqui sobre se você concorda com os padroes operacionais de um determinado servidor, apenas que o seu servidor sabe disso. Esta ferramenta é utilizado por serviços que recolhem estatísticas sob as normas da federação (grupo de empresas que concordam sob paramentros operacionais específicos), em termos gerais.
profile_directory: O diretório de perfis lista todos os usuários que optaram por permitir que suas contas sejam descobertas.
require_invite_text: 'Quando o cadastro de novas contas exigir aprovação manual, tornar obrigatório, ao invés de opcional, o texto de solicitação de convite: "Por que você deseja ingressar nessa comunidade?"'
diff --git a/config/locales/simple_form.ro.yml b/config/locales/simple_form.ro.yml
index 5593022708..dfb44c7745 100644
--- a/config/locales/simple_form.ro.yml
+++ b/config/locales/simple_form.ro.yml
@@ -163,5 +163,6 @@ ro:
'no': Nu
recommended: Recomandat
required:
+ mark: "*"
text: obligatoriu
'yes': Da
diff --git a/config/locales/simple_form.sq.yml b/config/locales/simple_form.sq.yml
index d545f2cd34..c3c3920962 100644
--- a/config/locales/simple_form.sq.yml
+++ b/config/locales/simple_form.sq.yml
@@ -77,11 +77,13 @@ sq:
warn: Fshihe lëndën e filtruar pas një sinjalizimi që përmend titullin e filtrit
form_admin_settings:
activity_api_enabled: Numër postimesh të botuar lokalisht, përdoruesish aktiv dhe regjistrimesh të reja sipas matjesh javore
+ app_icon: WEBP, PNG, GIF, ose JPG. Anashkalon ikonë parazgjedhje aplikacioni në pajisje celulare me një ikonë vetjake.
backups_retention_period: Përdorues kanë aftësinë të prodhojnë arkiva të postimeve të tyre për t’i shkarkuar më vonë. Kur i jepet një vlerë pozitive, këto arkiva do të fshihen automatikisht prej depozitës tuaj pas numrit të dhënë të ditëve.
bootstrap_timeline_accounts: Këto llogari do të fiksohen në krye të rekomandimeve për ndjekje nga përdorues të rinj.
closed_registrations_message: Shfaqur kur mbyllen dritare regjistrimesh
content_cache_retention_period: Krejt postimet prej shërbyesve të tjerë (përfshi përforcime dhe përgjigje) do të fshihen pas numrit të caktuar të ditëve, pa marrë parasysh çfarëdo ndërveprimi përdoruesi me këto postime. Kjo përfshin postime kur një përdorues vendor u ka vënë shenjë si faqerojtës, ose të parapëlqyer. Do të humbin gjithashtu dhe përmendje private mes përdoruesish nga instanca të ndryshme dhe s’do të jetë e mundshme të rikthehen. Përdorimi i këtij rregullimi është menduar për instanca me qëllim të caktuar dhe ndërhyn në çka presin mjaft përdorues, kur sendërtohet për përdorim të përgjithshëm.
custom_css: Stile vetjakë mund të aplikoni në versionin web të Mastodon-it.
+ favicon: WEBP, PNG, GIF, ose JPG. Anashkalon favikonën parazgjedhje Mastodon me një ikonë vetjake.
mascot: Anashkalon ilustrimin te ndërfaqja web e thelluar.
media_cache_retention_period: Kartela media nga postime të bëra nga përdorues të largët ruhen në një fshehtinë në shërbyesin tuaj. Kur i jepet një vlerë pozitive, media do të fshihet pas numrit të dhënë të ditëve. Nëse të dhënat e medias duhen pas fshirjes, do të rishkarkohen, nëse lënda burim mund të kihet ende. Për shkak kufizimesh mbi sa shpesh skeda paraparjesh lidhjesh ndërveprojnë me sajte palësh të treta, rekomandohet të vihet kjo vlerë të paktën 14 ditë, ose skedat e paraparjes së lidhje s’do të përditësohen duke e kërkuar para asaj kohe.
peers_api_enabled: Një listë emrash përkatësish që ky shërbyes ka hasur në fedivers. Këtu s’jepen të dhëna nëse jeni i federuar me shërbyesin e dhënë, thjesht tregohet se shërbyesi juaj e njeh. Kjo përdoret nga shërbime që mbledhin statistika mbi federimin në kuptimin e përgjithshëm.
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index 5d0ebe2de0..71e84a1d54 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -671,7 +671,7 @@ uk:
delete_html: 'Ви збираєтеся вилучити деякі з дописів @%{acct}. Це буде:'
mark_as_sensitive_html: 'Ви збираєтеся позначити деякі з дописів @%{acct}делікатними. Це буде:'
silence_html: 'Ви збираєтеся обмежити обліковий запис @%{acct}. Це буде:'
- suspend_html: 'Ви збираєтесь призупинити обліковий запис @%%{acct}. Це буде:'
+ suspend_html: 'Ви збираєтесь призупинити обліковий запис @%{acct}. Це буде:'
actions:
delete_html: Вилучити образливі дописи
mark_as_sensitive_html: Позначити медіа образливих дописів делікатними
diff --git a/db/migrate/20240510192043_fix_notification_policies_foreign_key.rb b/db/migrate/20240510192043_fix_notification_policies_foreign_key.rb
new file mode 100644
index 0000000000..7bb134ecff
--- /dev/null
+++ b/db/migrate/20240510192043_fix_notification_policies_foreign_key.rb
@@ -0,0 +1,28 @@
+# frozen_string_literal: true
+
+class FixNotificationPoliciesForeignKey < ActiveRecord::Migration[7.1]
+ def up
+ safety_assured do
+ execute <<~SQL.squish
+ ALTER TABLE notification_policies
+ DROP CONSTRAINT fk_rails_506d62f0da,
+ ADD CONSTRAINT fk_rails_506d62f0da
+ FOREIGN KEY (account_id)
+ REFERENCES accounts(id)
+ ON DELETE CASCADE
+ SQL
+ end
+ end
+
+ def down
+ safety_assured do
+ execute <<~SQL.squish
+ ALTER TABLE notification_policies
+ DROP CONSTRAINT fk_rails_506d62f0da,
+ ADD CONSTRAINT fk_rails_506d62f0da
+ FOREIGN KEY (account_id)
+ REFERENCES accounts(id)
+ SQL
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index bdc95e45f2..bb527dfc18 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_03_22_161611) do
+ActiveRecord::Schema[7.1].define(version: 2024_05_10_192043) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -1350,7 +1350,7 @@ ActiveRecord::Schema[7.1].define(version: 2024_03_22_161611) do
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_policies", "accounts"
+ 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
add_foreign_key "notification_requests", "statuses", column: "last_status_id", on_delete: :nullify
diff --git a/lib/tasks/spec.rake b/lib/tasks/spec.rake
deleted file mode 100644
index d505a47195..0000000000
--- a/lib/tasks/spec.rake
+++ /dev/null
@@ -1,13 +0,0 @@
-# frozen_string_literal: true
-
-if Rake::Task.task_defined?('spec:system')
- namespace :spec do
- task :enable_system_specs do # rubocop:disable Rails/RakeEnvironment
- ENV['LOCAL_DOMAIN'] = 'localhost:3000'
- ENV['LOCAL_HTTPS'] = 'false'
- ENV['RUN_SYSTEM_SPECS'] = 'true'
- end
- end
-
- Rake::Task['spec:system'].enhance ['spec:enable_system_specs']
-end
diff --git a/package.json b/package.json
index 09d2ce86c6..36698f66f5 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@mastodon/mastodon",
"license": "AGPL-3.0-or-later",
- "packageManager": "yarn@4.2.1",
+ "packageManager": "yarn@4.2.2",
"engines": {
"node": ">=18"
},
diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb
index 89fc25bcbd..d8eb561d42 100644
--- a/spec/rails_helper.rb
+++ b/spec/rails_helper.rb
@@ -3,12 +3,8 @@
ENV['RAILS_ENV'] ||= 'test'
# This needs to be defined before Rails is initialized
-RUN_SYSTEM_SPECS = ENV.fetch('RUN_SYSTEM_SPECS', false)
-
-if RUN_SYSTEM_SPECS
- STREAMING_PORT = ENV.fetch('TEST_STREAMING_PORT', '4020')
- ENV['STREAMING_API_BASE_URL'] = "http://localhost:#{STREAMING_PORT}"
-end
+STREAMING_PORT = ENV.fetch('TEST_STREAMING_PORT', '4020')
+ENV['STREAMING_API_BASE_URL'] = "http://localhost:#{STREAMING_PORT}"
require File.expand_path('../config/environment', __dir__)
@@ -26,10 +22,12 @@ require 'test_prof/recipes/rspec/before_all'
Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f }
ActiveRecord::Migration.maintain_test_schema!
-WebMock.disable_net_connect!(allow: Chewy.settings[:host], allow_localhost: RUN_SYSTEM_SPECS)
+WebMock.disable_net_connect!(
+ allow_localhost: true,
+ allow: Chewy.settings[:host]
+)
Sidekiq.logger = nil
-# System tests config
DatabaseCleaner.strategy = [:deletion]
Devise::Test::ControllerHelpers.module_eval do
@@ -49,16 +47,14 @@ Devise::Test::ControllerHelpers.module_eval do
end
RSpec.configure do |config|
- # This is set before running spec:system, see lib/tasks/tests.rake
- config.filter_run_excluding type: lambda { |type|
- case type
- when :system
- !RUN_SYSTEM_SPECS
- end
- }
+ # By default, skip specs that need full JS browser
+ config.filter_run_excluding :js
- # By default, skip the elastic search integration specs
- config.filter_run_excluding search: true
+ # By default, skip specs that need elastic search server
+ config.filter_run_excluding :search
+
+ # By default, skip specs that need the streaming server
+ config.filter_run_excluding :streaming
config.fixture_paths = [
Rails.root.join('spec', 'fixtures'),
@@ -81,7 +77,7 @@ RSpec.configure do |config|
config.include Devise::Test::ControllerHelpers, type: :controller
config.include Devise::Test::ControllerHelpers, type: :helper
config.include Devise::Test::ControllerHelpers, type: :view
- config.include Devise::Test::IntegrationHelpers, type: :feature
+ config.include Devise::Test::IntegrationHelpers, type: :system
config.include Devise::Test::IntegrationHelpers, type: :request
config.include ActionMailer::TestHelper
config.include Paperclip::Shoulda::Matchers
@@ -111,10 +107,6 @@ RSpec.configure do |config|
stub_reset_connection_pools
end
- config.before :each, type: :feature do
- Capybara.current_driver = :rack_test
- end
-
config.before do |example|
allow(Resolv::DNS).to receive(:open).and_raise('Real DNS queries are disabled, stub Resolv::DNS as needed') unless example.metadata[:type] == :system
end
diff --git a/spec/requests/content_security_policy_spec.rb b/spec/requests/content_security_policy_spec.rb
index 66cc1ff31a..4abe3c2113 100644
--- a/spec/requests/content_security_policy_spec.rb
+++ b/spec/requests/content_security_policy_spec.rb
@@ -23,7 +23,7 @@ describe 'Content-Security-Policy' do
<<~CSP.split("\n").map(&:strip)
base-uri 'none'
child-src 'self' blob: https://cb6e6126.ngrok.io
- connect-src 'self' data: blob: https://cb6e6126.ngrok.io ws://cb6e6126.ngrok.io:4000 https://media.tenor.com https://api.tenor.com
+ connect-src 'self' data: blob: https://cb6e6126.ngrok.io #{Rails.configuration.x.streaming_api_base_url} https://media.tenor.com https://api.tenor.com
default-src 'none'
font-src 'self' https://cb6e6126.ngrok.io
form-action 'self'
diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb
index d4f27e209e..be1378ffac 100644
--- a/spec/support/capybara.rb
+++ b/spec/support/capybara.rb
@@ -26,6 +26,10 @@ Capybara.javascript_driver = :headless_chrome
RSpec.configure do |config|
config.before(:each, type: :system) do
+ driven_by :rack_test
+ end
+
+ config.before(:each, :js, type: :system) do
driven_by Capybara.javascript_driver
end
end
diff --git a/spec/support/javascript_errors.rb b/spec/support/javascript_errors.rb
index a36bf6017e..28a43b3b8a 100644
--- a/spec/support/javascript_errors.rb
+++ b/spec/support/javascript_errors.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
RSpec.configure do |config|
- config.after(:each, type: :system) do
+ config.after(:each, :js, type: :system) do
errors = page.driver.browser.logs.get(:browser)
if errors.present?
aggregate_failures 'javascript errrors' do
diff --git a/spec/support/streaming_server_manager.rb b/spec/support/streaming_server_manager.rb
index b702fc77ce..3facf16b8e 100644
--- a/spec/support/streaming_server_manager.rb
+++ b/spec/support/streaming_server_manager.rb
@@ -95,7 +95,7 @@ RSpec.configure do |config|
end
end
- config.around :each, type: :system do |example|
+ config.around :each, :streaming, type: :system do |example|
# Streaming server needs DB access but `use_transactional_tests` rolls back
# every transaction. Disable this feature for streaming tests, and use
# DatabaseCleaner to clean the database tables between each test.
@@ -125,6 +125,6 @@ RSpec.configure do |config|
end
def streaming_examples_present?
- RUN_SYSTEM_SPECS
+ RSpec.world.filtered_examples.values.flatten.any? { |example| example.metadata[:streaming] == true }
end
end
diff --git a/spec/features/admin/accounts_spec.rb b/spec/system/admin/accounts_spec.rb
similarity index 100%
rename from spec/features/admin/accounts_spec.rb
rename to spec/system/admin/accounts_spec.rb
diff --git a/spec/features/admin/custom_emojis_spec.rb b/spec/system/admin/custom_emojis_spec.rb
similarity index 100%
rename from spec/features/admin/custom_emojis_spec.rb
rename to spec/system/admin/custom_emojis_spec.rb
diff --git a/spec/features/admin/domain_blocks_spec.rb b/spec/system/admin/domain_blocks_spec.rb
similarity index 100%
rename from spec/features/admin/domain_blocks_spec.rb
rename to spec/system/admin/domain_blocks_spec.rb
diff --git a/spec/features/admin/email_domain_blocks_spec.rb b/spec/system/admin/email_domain_blocks_spec.rb
similarity index 100%
rename from spec/features/admin/email_domain_blocks_spec.rb
rename to spec/system/admin/email_domain_blocks_spec.rb
diff --git a/spec/features/admin/ip_blocks_spec.rb b/spec/system/admin/ip_blocks_spec.rb
similarity index 100%
rename from spec/features/admin/ip_blocks_spec.rb
rename to spec/system/admin/ip_blocks_spec.rb
diff --git a/spec/features/admin/software_updates_spec.rb b/spec/system/admin/software_updates_spec.rb
similarity index 100%
rename from spec/features/admin/software_updates_spec.rb
rename to spec/system/admin/software_updates_spec.rb
diff --git a/spec/features/admin/statuses_spec.rb b/spec/system/admin/statuses_spec.rb
similarity index 100%
rename from spec/features/admin/statuses_spec.rb
rename to spec/system/admin/statuses_spec.rb
diff --git a/spec/features/admin/trends/links/preview_card_providers_spec.rb b/spec/system/admin/trends/links/preview_card_providers_spec.rb
similarity index 100%
rename from spec/features/admin/trends/links/preview_card_providers_spec.rb
rename to spec/system/admin/trends/links/preview_card_providers_spec.rb
diff --git a/spec/features/admin/trends/links_spec.rb b/spec/system/admin/trends/links_spec.rb
similarity index 100%
rename from spec/features/admin/trends/links_spec.rb
rename to spec/system/admin/trends/links_spec.rb
diff --git a/spec/features/admin/trends/statuses_spec.rb b/spec/system/admin/trends/statuses_spec.rb
similarity index 100%
rename from spec/features/admin/trends/statuses_spec.rb
rename to spec/system/admin/trends/statuses_spec.rb
diff --git a/spec/features/admin/trends/tags_spec.rb b/spec/system/admin/trends/tags_spec.rb
similarity index 100%
rename from spec/features/admin/trends/tags_spec.rb
rename to spec/system/admin/trends/tags_spec.rb
diff --git a/spec/features/captcha_spec.rb b/spec/system/captcha_spec.rb
similarity index 100%
rename from spec/features/captcha_spec.rb
rename to spec/system/captcha_spec.rb
diff --git a/spec/features/log_in_spec.rb b/spec/system/log_in_spec.rb
similarity index 100%
rename from spec/features/log_in_spec.rb
rename to spec/system/log_in_spec.rb
diff --git a/spec/system/new_statuses_spec.rb b/spec/system/new_statuses_spec.rb
index 5a3f1b406b..725ea8fe52 100644
--- a/spec/system/new_statuses_spec.rb
+++ b/spec/system/new_statuses_spec.rb
@@ -2,7 +2,7 @@
require 'rails_helper'
-describe 'NewStatuses', :sidekiq_inline do
+describe 'NewStatuses', :js, :sidekiq_inline, :streaming do
include ProfileStories
subject { page }
diff --git a/spec/system/oauth_spec.rb b/spec/system/oauth_spec.rb
index 060978217f..1c9aca3114 100644
--- a/spec/system/oauth_spec.rb
+++ b/spec/system/oauth_spec.rb
@@ -2,8 +2,8 @@
require 'rails_helper'
-describe 'Using OAuth from an external app' do
- let(:client_app) { Doorkeeper::Application.create!(name: 'test', redirect_uri: 'http://localhost/health', scopes: 'read') }
+describe 'Using OAuth from an external app', :js, :streaming do
+ let(:client_app) { Doorkeeper::Application.create!(name: 'test', redirect_uri: about_url(host: Rails.application.config.x.local_domain), scopes: 'read') }
context 'when the user is already logged in' do
let!(:user) { Fabricate(:user) }
diff --git a/spec/system/ocr_spec.rb b/spec/system/ocr_spec.rb
index 254efa7137..4f4941adca 100644
--- a/spec/system/ocr_spec.rb
+++ b/spec/system/ocr_spec.rb
@@ -2,7 +2,7 @@
require 'rails_helper'
-describe 'OCR', :paperclip_processing, :sidekiq_inline do
+describe 'OCR', :js, :paperclip_processing, :sidekiq_inline, :streaming do
include ProfileStories
let(:email) { 'test@example.com' }
diff --git a/spec/features/profile_spec.rb b/spec/system/profile_spec.rb
similarity index 100%
rename from spec/features/profile_spec.rb
rename to spec/system/profile_spec.rb
diff --git a/spec/features/redirections_spec.rb b/spec/system/redirections_spec.rb
similarity index 100%
rename from spec/features/redirections_spec.rb
rename to spec/system/redirections_spec.rb
diff --git a/spec/system/report_interface_spec.rb b/spec/system/report_interface_spec.rb
index 6eba552559..f82604aae8 100644
--- a/spec/system/report_interface_spec.rb
+++ b/spec/system/report_interface_spec.rb
@@ -2,7 +2,7 @@
require 'rails_helper'
-describe 'report interface', :paperclip_processing do
+describe 'report interface', :js, :paperclip_processing, :streaming do
include ProfileStories
let(:email) { 'admin@example.com' }
diff --git a/spec/features/severed_relationships_spec.rb b/spec/system/severed_relationships_spec.rb
similarity index 100%
rename from spec/features/severed_relationships_spec.rb
rename to spec/system/severed_relationships_spec.rb
diff --git a/spec/system/share_entrypoint_spec.rb b/spec/system/share_entrypoint_spec.rb
index 126a816bcc..5fdbeacefa 100644
--- a/spec/system/share_entrypoint_spec.rb
+++ b/spec/system/share_entrypoint_spec.rb
@@ -2,7 +2,7 @@
require 'rails_helper'
-describe 'ShareEntrypoint' do
+describe 'ShareEntrypoint', :js, :streaming do
include ProfileStories
subject { page }
diff --git a/spec/system/unlogged_spec.rb b/spec/system/unlogged_spec.rb
index c3ebf51d7f..417ccdaeb6 100644
--- a/spec/system/unlogged_spec.rb
+++ b/spec/system/unlogged_spec.rb
@@ -2,7 +2,7 @@
require 'rails_helper'
-describe 'UnloggedBrowsing' do
+describe 'UnloggedBrowsing', :js, :streaming do
subject { page }
before do
diff --git a/streaming/package.json b/streaming/package.json
index f08d2a4c2d..cf1fe4ba69 100644
--- a/streaming/package.json
+++ b/streaming/package.json
@@ -1,7 +1,7 @@
{
"name": "@mastodon/streaming",
"license": "AGPL-3.0-or-later",
- "packageManager": "yarn@4.2.1",
+ "packageManager": "yarn@4.2.2",
"engines": {
"node": ">=18"
},
diff --git a/yarn.lock b/yarn.lock
index 3b1f527dba..4faffb3272 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3070,13 +3070,13 @@ __metadata:
linkType: hard
"@reduxjs/toolkit@npm:^2.0.1":
- version: 2.2.3
- resolution: "@reduxjs/toolkit@npm:2.2.3"
+ version: 2.2.4
+ resolution: "@reduxjs/toolkit@npm:2.2.4"
dependencies:
immer: "npm:^10.0.3"
redux: "npm:^5.0.1"
redux-thunk: "npm:^3.1.0"
- reselect: "npm:^5.0.1"
+ reselect: "npm:^5.1.0"
peerDependencies:
react: ^16.9.0 || ^17.0.0 || ^18
react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0
@@ -3085,7 +3085,7 @@ __metadata:
optional: true
react-redux:
optional: true
- checksum: 10c0/f10f2c8f4b6c5c7a65d8d60246bdfde86b6cd2f542210ebdda8002223c7f4e99ed32964825e63f37345d9d12532671150fcec2809a40690931ae44afe8aba7f8
+ checksum: 10c0/fdbf510210a5aa4864432397e1a9469367e297cd1d9c09a82e68638df7555672c2f8511fe76f933b00efbbb233c534831591772a44e8c41233e34f3cd0f54569
languageName: node
linkType: hard
@@ -8922,17 +8922,17 @@ __metadata:
linkType: hard
"glob@npm:^10.2.2, glob@npm:^10.2.6, glob@npm:^10.3.10, glob@npm:^10.3.7":
- version: 10.3.12
- resolution: "glob@npm:10.3.12"
+ version: 10.3.14
+ resolution: "glob@npm:10.3.14"
dependencies:
foreground-child: "npm:^3.1.0"
jackspeak: "npm:^2.3.6"
minimatch: "npm:^9.0.1"
minipass: "npm:^7.0.4"
- path-scurry: "npm:^1.10.2"
+ path-scurry: "npm:^1.11.0"
bin:
glob: dist/esm/bin.mjs
- checksum: 10c0/f60cefdc1cf3f958b2bb5823e1b233727f04916d489dc4641d76914f016e6704421e06a83cbb68b0cb1cb9382298b7a88075b844ad2127fc9727ea22b18b0711
+ checksum: 10c0/19126e53b99c94dea9b3509500e22b325e24d2674523fc95b9fe710f1549ad7e091fbb0704c325c53d3a172fc21a8251acce5395c4f3efd872a2e65a376c82a1
languageName: node
linkType: hard
@@ -12822,13 +12822,13 @@ __metadata:
languageName: node
linkType: hard
-"path-scurry@npm:^1.10.2":
- version: 1.10.2
- resolution: "path-scurry@npm:1.10.2"
+"path-scurry@npm:^1.11.0":
+ version: 1.11.0
+ resolution: "path-scurry@npm:1.11.0"
dependencies:
lru-cache: "npm:^10.2.0"
minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0"
- checksum: 10c0/d723777fbf9627f201e64656680f66ebd940957eebacf780e6cce1c2919c29c116678b2d7dbf8821b3a2caa758d125f4444005ccec886a25c8f324504e48e601
+ checksum: 10c0/a5cd5dfbc6d5bb01d06bc2eb16ccdf303d617865438a21fe15431b8ad334f23351f73259abeb7e4be56f9c68d237b26b4dba51c78b508586035dfc2b55085493
languageName: node
linkType: hard
@@ -13056,14 +13056,14 @@ __metadata:
linkType: hard
"pino-http@npm:^10.0.0":
- version: 10.0.0
- resolution: "pino-http@npm:10.0.0"
+ version: 10.1.0
+ resolution: "pino-http@npm:10.1.0"
dependencies:
get-caller-file: "npm:^2.0.5"
pino: "npm:^9.0.0"
pino-std-serializers: "npm:^7.0.0"
process-warning: "npm:^3.0.0"
- checksum: 10c0/40d2dcb2bc0c51f1ce45d3d7144c54f087fe1a122d82d0f497d65656151a1603a64f82f62d7fc6a3c172754c5a5cf6105b3096620eece31cefbc8cf95b26c062
+ checksum: 10c0/d97691f2ee248b0aca0e49169d0c7ca0d4c604ee57b63ae264a6f9914fc7277cace74686d5088a876f8152a8d5b8211af904b2d24a516728a662de0e9cc79e9f
languageName: node
linkType: hard
@@ -15049,10 +15049,10 @@ __metadata:
languageName: node
linkType: hard
-"reselect@npm:^5.0.1":
- version: 5.0.1
- resolution: "reselect@npm:5.0.1"
- checksum: 10c0/0724b4555cd6411849de334a75177780f127af849eb71c4b709966d07ade8090d125c0c926dc6cf936866d23ebadda6aad1da93cd8340525323b889f25d56d51
+"reselect@npm:^5.1.0":
+ version: 5.1.0
+ resolution: "reselect@npm:5.1.0"
+ checksum: 10c0/b0ed789f4f6f10dfbd23741823726793384932969aa7ce8f584c882ad87620a02b09b5d1146cd2ea6eaa0953b3fd9f7df22f113893af73f35f28432a8a4294de
languageName: node
linkType: hard
@@ -17459,12 +17459,12 @@ __metadata:
linkType: hard
"utf-8-validate@npm:^6.0.3":
- version: 6.0.3
- resolution: "utf-8-validate@npm:6.0.3"
+ version: 6.0.4
+ resolution: "utf-8-validate@npm:6.0.4"
dependencies:
node-gyp: "npm:latest"
node-gyp-build: "npm:^4.3.0"
- checksum: 10c0/2ca08b07f4070540b33ff15f3f0632fa30baaee8a766fff993be47b4829b4fb30fd36fdf1270336324d03f65e0936c4608ee719d862230d75311751dcfe27a83
+ checksum: 10c0/f7042d94aec6ca02461b64e725bdc7262266610dbb787331e5bbd49374ef6f75fe9900600df3fc63d97906c23614a965c8989b4bf95d70bf35dc617da99215e7
languageName: node
linkType: hard