Compare commits

...

40 Commits

Author SHA1 Message Date
Claire
bf2d991412 Add experimental ability to quote statuses to REST API
Some checks failed
Chromatic / Run Chromatic (push) Has been cancelled
2025-07-15 18:56:35 +02:00
Claire
7a7c9f760e Add basic handling for incoming Reject(QuoteRequest) 2025-07-15 18:56:34 +02:00
Claire
3188add293 [Improvable] Send QuoteRequest when quoting post from remote server 2025-07-15 18:56:34 +02:00
Claire
f1129ae8a0 Serialize quotes over ActivityPub 2025-07-15 18:56:34 +02:00
Claire
b8fd7a6b26 Handle incoming Accept(QuoteRequest) 2025-07-15 18:56:34 +02:00
Claire
8a5a9486b8 Use StatusPolicy#quote? in local quote-posting code 2025-07-15 18:48:09 +02:00
Claire
081d123df0 Add StatusPolicy#quote? for quote acceptance 2025-07-15 18:48:09 +02:00
diondiondion
74fc4dbacf
refactor: Only remove pointer-events when necessary (#35390)
Some checks failed
Check i18n / check-i18n (push) Waiting to run
Chromatic / Run Chromatic (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.2) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Crowdin / Upload translations / upload-translations (push) Has been cancelled
Haml Linting / lint (push) Has been cancelled
Ruby Linting / lint (push) Has been cancelled
Historical data migration test / test (14-alpine) (push) Has been cancelled
Historical data migration test / test (15-alpine) (push) Has been cancelled
Historical data migration test / test (16-alpine) (push) Has been cancelled
Historical data migration test / test (17-alpine) (push) Has been cancelled
2025-07-15 15:57:31 +00:00
diondiondion
07912a1cb7
Update age limit wording (#35387) 2025-07-15 15:46:44 +00:00
Claire
d36bf3b6fb
Fix support for quote verification in implicit status updates (#35384) 2025-07-15 15:36:12 +00:00
Claire
594976a538
Refactor ActivityPub::Activity::Accept and ActivityPub::Activity::Reject specs (#35382) 2025-07-15 13:18:37 +00:00
Matt Jankowski
0efb889a9c
Extract constant for attribution domains limit in account (#35350) 2025-07-15 13:08:24 +00:00
Claire
c0eabe289b
Always give local quote of remote posts a quote request URI (#35383) 2025-07-15 13:01:03 +00:00
Claire
5bbc3c5ebb
Fix quoteAuthorization type in JSON-LD context (#35380) 2025-07-15 09:32:02 +00:00
github-actions[bot]
d5e2cf5d3c
New Crowdin Translations (automated) (#35379)
Some checks failed
Check i18n / check-i18n (push) Waiting to run
Chromatic / Run Chromatic (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.2) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
JavaScript Linting / lint (push) Has been cancelled
JavaScript Testing / test (push) Has been cancelled
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-15 08:16:56 +00:00
diondiondion
82a6ff091f
fix: Improve Dropdown component accessibility (#35373) 2025-07-15 07:52:34 +00:00
renovate[bot]
4b8e60682d
fix(deps): update dependency react-select to v5.10.2 (#35352)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-15 06:32:38 +00:00
renovate[bot]
6c2db9b1cf
fix(deps): update dependency vite-plugin-static-copy to v3.1.1 (#35367)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-15 06:32:00 +00:00
Matt Jankowski
30344d6abf
Confirm User#login_activities in auth/sessions spec (#35372) 2025-07-15 06:31:00 +00:00
Matt Jankowski
1637297085
Add coverage for CustomFilterStatus model (#35374) 2025-07-15 06:28:40 +00:00
Matt Jankowski
dec1fb71f4
Add coverage for FollowRecommendationMute model (#35376) 2025-07-15 06:27:36 +00:00
Matt Jankowski
7273f6c03c
Move shared params to common method in admin/reports/actions (#35353)
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.2) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
2025-07-14 09:23:18 +00:00
Matt Jankowski
a3ffd2edf8
Use sequence for unique names on webauthn cred fabricator (#35356) 2025-07-14 09:20:50 +00:00
renovate[bot]
a2c5eace88
chore(deps): update dependency annotaterb to v4.17.0 (#35368)
Some checks failed
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.2) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Bundler Audit / security (push) Has been cancelled
Haml Linting / lint (push) Has been cancelled
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 07:07:21 +00:00
github-actions[bot]
a643d9d498
New Crowdin Translations (automated) (#35358)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-14 06:21:56 +00:00
Claire
3b52dca405
Fix quote attributes missing from Mastodon's context (#35354)
Some checks failed
Check i18n / check-i18n (push) Has been cancelled
Chromatic / Run Chromatic (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (ruby) (push) Has been cancelled
Check formatting / lint (push) Has been cancelled
JavaScript Linting / lint (push) Has been cancelled
Ruby Linting / lint (push) Has been cancelled
JavaScript Testing / test (push) Has been cancelled
Historical data migration test / test (14-alpine) (push) Has been cancelled
Historical data migration test / test (15-alpine) (push) Has been cancelled
Historical data migration test / test (16-alpine) (push) Has been cancelled
Historical data migration test / test (17-alpine) (push) Has been cancelled
Ruby Testing / build (production) (push) Has been cancelled
Ruby Testing / build (test) (push) Has been cancelled
Ruby Testing / test (.ruby-version) (push) Has been cancelled
Ruby Testing / test (3.2) (push) Has been cancelled
Ruby Testing / test (3.3) (push) Has been cancelled
Ruby Testing / ImageMagick tests (.ruby-version) (push) Has been cancelled
Ruby Testing / ImageMagick tests (3.2) (push) Has been cancelled
Ruby Testing / ImageMagick tests (3.3) (push) Has been cancelled
Ruby Testing / End to End testing (.ruby-version) (push) Has been cancelled
Ruby Testing / End to End testing (3.2) (push) Has been cancelled
Ruby Testing / End to End testing (3.3) (push) Has been cancelled
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Has been cancelled
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Has been cancelled
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Has been cancelled
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Has been cancelled
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Has been cancelled
Bundler Audit / security (push) Has been cancelled
2025-07-11 16:35:06 +00:00
Echo
853a0c466e
Make bio hashtags open the local page instead of the remote instance (#35349) 2025-07-11 15:18:34 +00:00
Echo
94bceb8683
Expose enabled features to the frontend (#35348)
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
Chromatic / Run Chromatic (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.2) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
2025-07-11 13:15:22 +00:00
Claire
88b0f3a172
Simplify DatabaseViewRecord.refresh (#35252) 2025-07-11 08:36:05 +00:00
github-actions[bot]
b69b5ba775
New Crowdin Translations (automated) (#35344)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-11 08:14:39 +00:00
Matt Jankowski
c442589593
Use ActiveModel::Attributes in FollowLimitable concern (#35327)
Some checks failed
Chromatic / Run Chromatic (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.2) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Bundler Audit / security (push) Has been cancelled
CSS Linting / lint (push) Has been cancelled
Haml Linting / lint (push) Has been cancelled
2025-07-10 07:40:56 +00:00
renovate[bot]
28633a504a
chore(deps): update dependency json-schema to v5.2.1 (#35337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 07:38:07 +00:00
Matt Jankowski
ad78701b6f
Mark private methods in AnnualReport::TopStatuses (#35256) 2025-07-10 07:35:40 +00:00
Matt Jankowski
1496488771
Add Status#not_replying_to_account scope for annual report classes (#35257) 2025-07-10 07:35:04 +00:00
renovate[bot]
dd3d958e75
fix(deps): update dependency core-js to v3.44.0 (#35284)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 07:23:54 +00:00
github-actions[bot]
b363a3651d
New Crowdin Translations (automated) (#35335)
Co-authored-by: GitHub Actions <noreply@github.com>
2025-07-10 07:23:27 +00:00
renovate[bot]
86645fc14c
chore(deps): update dependency rubocop to v1.78.0 (#35289)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 07:23:23 +00:00
Matt Jankowski
f9beecb343
Improve Accounts CLI prune spec (#35302) 2025-07-10 07:23:09 +00:00
Matt Jankowski
4ecfbd3920
Add Status.only_polls (and without polls) scope (#35330) 2025-07-10 07:13:22 +00:00
Claire
a315934314
Fix styling of external log-in button (#35320) 2025-07-10 06:56:40 +00:00
139 changed files with 1836 additions and 827 deletions

View File

@ -90,7 +90,7 @@ GEM
public_suffix (>= 2.0.2, < 7.0)
aes_key_wrap (1.1.0)
android_key_attestation (0.3.0)
annotaterb (4.16.0)
annotaterb (4.17.0)
activerecord (>= 6.0.0)
activesupport (>= 6.0.0)
ast (2.4.3)
@ -365,7 +365,7 @@ GEM
json-ld-preloaded (3.3.1)
json-ld (~> 3.3)
rdf (~> 3.3)
json-schema (5.1.1)
json-schema (5.2.1)
addressable (~> 2.8)
bigdecimal (~> 3.1)
jsonapi-renderer (0.2.2)
@ -761,7 +761,7 @@ GEM
rspec-mocks (~> 3.0)
sidekiq (>= 5, < 9)
rspec-support (3.13.4)
rubocop (1.77.0)
rubocop (1.78.0)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)

View File

@ -13,27 +13,9 @@ class Admin::Reports::ActionsController < Admin::BaseController
case action_from_button
when 'delete', 'mark_as_sensitive'
status_batch_action = Admin::StatusBatchAction.new(
type: action_from_button,
status_ids: @report.status_ids,
current_account: current_account,
report_id: @report.id,
send_email_notification: !@report.spam?,
text: params[:text]
)
status_batch_action.save!
Admin::StatusBatchAction.new(status_batch_action_params).save!
when 'silence', 'suspend'
account_action = Admin::AccountAction.new(
type: action_from_button,
report_id: @report.id,
target_account: @report.target_account,
current_account: current_account,
send_email_notification: !@report.spam?,
text: params[:text]
)
account_action.save!
Admin::AccountAction.new(account_action_params).save!
else
return redirect_to admin_report_path(@report), alert: I18n.t('admin.reports.unknown_action_msg', action: action_from_button)
end
@ -43,6 +25,26 @@ class Admin::Reports::ActionsController < Admin::BaseController
private
def status_batch_action_params
shared_params
.merge(status_ids: @report.status_ids)
end
def account_action_params
shared_params
.merge(target_account: @report.target_account)
end
def shared_params
{
current_account: current_account,
report_id: @report.id,
send_email_notification: !@report.spam?,
text: params[:text],
type: action_from_button,
}
end
def set_report
@report = Report.find(params[:report_id])
end

View File

@ -9,6 +9,7 @@ class Api::V1::StatusesController < Api::BaseController
before_action :set_statuses, only: [:index]
before_action :set_status, only: [:show, :context]
before_action :set_thread, only: [:create]
before_action :set_quoted_status, only: [:create]
before_action :check_statuses_limit, only: [:index]
override_rate_limit_headers :create, family: :statuses
@ -67,6 +68,7 @@ class Api::V1::StatusesController < Api::BaseController
current_user.account,
text: status_params[:status],
thread: @thread,
quoted_status: @quoted_status,
media_ids: status_params[:media_ids],
sensitive: status_params[:sensitive],
spoiler_text: status_params[:spoiler_text],
@ -138,6 +140,16 @@ class Api::V1::StatusesController < Api::BaseController
render json: { error: I18n.t('statuses.errors.in_reply_not_found') }, status: 404
end
def set_quoted_status
return unless Mastodon::Feature.outgoing_quotes_enabled?
@quoted_status = Status.find(status_params[:quoted_status_id]) if status_params[:quoted_status_id].present?
authorize(@quoted_status, :quote?) if @quoted_status.present?
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
# TODO: distinguish between non-existing and non-quotable posts
render json: { error: I18n.t('statuses.errors.quoted_status_not_found') }, status: 404
end
def check_statuses_limit
raise(Mastodon::ValidationError) if status_ids.size > DEFAULT_STATUSES_LIMIT
end
@ -154,6 +166,7 @@ class Api::V1::StatusesController < Api::BaseController
params.permit(
:status,
:in_reply_to_id,
:quoted_status_id,
:sensitive,
:spoiler_text,
:visibility,

View File

@ -38,8 +38,7 @@ class Auth::OmniauthCallbacksController < Devise::OmniauthCallbacksController
private
def record_login_activity
LoginActivity.create(
user: @user,
@user.login_activities.create(
success: true,
authentication_method: :omniauth,
provider: @provider,

View File

@ -151,12 +151,11 @@ class Auth::SessionsController < Devise::SessionsController
sign_in(user)
flash.delete(:notice)
LoginActivity.create(
user: user,
success: true,
authentication_method: security_measure,
ip: request.remote_ip,
user_agent: request.user_agent
user.login_activities.create(
request_details.merge(
authentication_method: security_measure,
success: true
)
)
UserMailer.suspicious_sign_in(user, request.remote_ip, request.user_agent, Time.now.utc).deliver_later! if @login_is_suspicious
@ -167,13 +166,12 @@ class Auth::SessionsController < Devise::SessionsController
end
def on_authentication_failure(user, security_measure, failure_reason)
LoginActivity.create(
user: user,
success: false,
authentication_method: security_measure,
failure_reason: failure_reason,
ip: request.remote_ip,
user_agent: request.user_agent
user.login_activities.create(
request_details.merge(
authentication_method: security_measure,
failure_reason: failure_reason,
success: false
)
)
# Only send a notification email every hour at most
@ -182,6 +180,13 @@ class Auth::SessionsController < Devise::SessionsController
UserMailer.failed_2fa(user, request.remote_ip, request.user_agent, Time.now.utc).deliver_later!
end
def request_details
{
ip: request.remote_ip,
user_agent: request.user_agent,
}
end
def second_factor_attempts_key(user)
"2fa_auth_attempts:#{user.id}:#{Time.now.utc.hour}"
end

View File

@ -5,6 +5,6 @@ class Settings::LoginActivitiesController < Settings::BaseController
skip_before_action :require_functional!
def index
@login_activities = LoginActivity.where(user: current_user).order(id: :desc).page(params[:page])
@login_activities = current_user.login_activities.order(id: :desc).page(params[:page])
end
end

View File

@ -66,7 +66,7 @@ module ApplicationHelper
def provider_sign_in_link(provider)
label = Devise.omniauth_configs[provider]&.strategy&.display_name.presence || I18n.t("auth.providers.#{provider}", default: provider.to_s.chomp('_oauth2').capitalize)
link_to label, omniauth_authorize_path(:user, provider), class: "button button-#{provider}", method: :post
link_to label, omniauth_authorize_path(:user, provider), class: "btn button-#{provider}", method: :post
end
def locale_direction

View File

@ -26,6 +26,12 @@ module ContextHelper
suspended: { 'toot' => 'http://joinmastodon.org/ns#', 'suspended' => 'toot:suspended' },
attribution_domains: { 'toot' => 'http://joinmastodon.org/ns#', 'attributionDomains' => { '@id' => 'toot:attributionDomains', '@type' => '@id' } },
quote_requests: { 'QuoteRequest' => 'https://w3id.org/fep/044f#QuoteRequest' },
quotes: {
'quote' => 'https://w3id.org/fep/044f#quote',
'quoteUri' => 'http://fedibird.com/ns#quoteUri',
'_misskey_quote' => 'https://misskey-hub.net/ns#_misskey_quote',
'quoteAuthorization' => { '@id' => 'https://w3id.org/fep/044f#quoteAuthorization', '@type' => '@id' },
},
interaction_policies: {
'gts' => 'https://gotosocial.org/ns#',
'interactionPolicy' => { '@id' => 'gts:interactionPolicy', '@type' => '@id' },

View File

@ -1,12 +1,30 @@
import { useCallback } from 'react';
import { useLinks } from 'mastodon/hooks/useLinks';
export const AccountBio: React.FC<{
interface AccountBioProps {
note: string;
className: string;
}> = ({ note, className }) => {
const handleClick = useLinks();
dropdownAccountId?: string;
}
if (note.length === 0 || note === '<p></p>') {
export const AccountBio: React.FC<AccountBioProps> = ({
note,
className,
dropdownAccountId,
}) => {
const handleClick = useLinks(!!dropdownAccountId);
const handleNodeChange = useCallback(
(node: HTMLDivElement | null) => {
if (!dropdownAccountId || !node || node.childNodes.length === 0) {
return;
}
addDropdownToHashtags(node, dropdownAccountId);
},
[dropdownAccountId],
);
if (note.length === 0) {
return null;
}
@ -15,6 +33,28 @@ export const AccountBio: React.FC<{
className={`${className} translate`}
dangerouslySetInnerHTML={{ __html: note }}
onClickCapture={handleClick}
ref={handleNodeChange}
/>
);
};
function addDropdownToHashtags(node: HTMLElement | null, accountId: string) {
if (!node) {
return;
}
for (const childNode of node.childNodes) {
if (!(childNode instanceof HTMLElement)) {
continue;
}
if (
childNode instanceof HTMLAnchorElement &&
(childNode.classList.contains('hashtag') ||
childNode.innerText.startsWith('#')) &&
!childNode.dataset.menuHashtag
) {
childNode.dataset.menuHashtag = accountId;
} else if (childNode.childNodes.length > 0) {
addDropdownToHashtags(childNode, accountId);
}
}
}

View File

@ -5,6 +5,7 @@ import {
useCallback,
cloneElement,
Children,
useId,
} from 'react';
import classNames from 'classnames';
@ -16,6 +17,7 @@ import Overlay from 'react-overlays/Overlay';
import type {
OffsetValue,
UsePopperOptions,
Placement,
} from 'react-overlays/esm/usePopper';
import { fetchRelationships } from 'mastodon/actions/accounts';
@ -295,6 +297,11 @@ interface DropdownProps<Item = MenuItem> {
title?: string;
disabled?: boolean;
scrollable?: boolean;
placement?: Placement;
/**
* Prevent the `ScrollableList` with this scrollKey
* from being scrolled while the dropdown is open
*/
scrollKey?: string;
status?: ImmutableMap<string, unknown>;
forceDropdown?: boolean;
@ -316,6 +323,7 @@ export const Dropdown = <Item = MenuItem,>({
title = 'Menu',
disabled,
scrollable,
placement = 'bottom',
status,
forceDropdown = false,
renderItem,
@ -331,16 +339,15 @@ export const Dropdown = <Item = MenuItem,>({
);
const [currentId] = useState(id++);
const open = currentId === openDropdownId;
const activeElement = useRef<HTMLElement | null>(null);
const targetRef = useRef<HTMLButtonElement | null>(null);
const buttonRef = useRef<HTMLButtonElement | null>(null);
const menuId = useId();
const prefetchAccountId = status
? status.getIn(['account', 'id'])
: undefined;
const handleClose = useCallback(() => {
if (activeElement.current) {
activeElement.current.focus({ preventScroll: true });
activeElement.current = null;
if (buttonRef.current) {
buttonRef.current.focus({ preventScroll: true });
}
dispatch(
@ -375,7 +382,7 @@ export const Dropdown = <Item = MenuItem,>({
[handleClose, onItemClick, items],
);
const handleClick = useCallback(
const toggleDropdown = useCallback(
(e: React.MouseEvent | React.KeyboardEvent) => {
const { type } = e;
@ -423,38 +430,6 @@ export const Dropdown = <Item = MenuItem,>({
],
);
const handleMouseDown = useCallback(() => {
if (!open && document.activeElement instanceof HTMLElement) {
activeElement.current = document.activeElement;
}
}, [open]);
const handleButtonKeyDown = useCallback(
(e: React.KeyboardEvent) => {
switch (e.key) {
case ' ':
case 'Enter':
handleMouseDown();
break;
}
},
[handleMouseDown],
);
const handleKeyPress = useCallback(
(e: React.KeyboardEvent) => {
switch (e.key) {
case ' ':
case 'Enter':
handleClick(e);
e.stopPropagation();
e.preventDefault();
break;
}
},
[handleClick],
);
useEffect(() => {
return () => {
if (currentId === openDropdownId) {
@ -465,14 +440,16 @@ export const Dropdown = <Item = MenuItem,>({
let button: React.ReactElement;
const buttonProps = {
disabled,
onClick: toggleDropdown,
'aria-expanded': open,
'aria-controls': menuId,
ref: buttonRef,
};
if (children) {
button = cloneElement(Children.only(children), {
onClick: handleClick,
onMouseDown: handleMouseDown,
onKeyDown: handleButtonKeyDown,
onKeyPress: handleKeyPress,
ref: targetRef,
});
button = cloneElement(Children.only(children), buttonProps);
} else if (icon && iconComponent) {
button = (
<IconButton
@ -480,12 +457,7 @@ export const Dropdown = <Item = MenuItem,>({
iconComponent={iconComponent}
title={title}
active={open}
disabled={disabled}
onClick={handleClick}
onMouseDown={handleMouseDown}
onKeyDown={handleButtonKeyDown}
onKeyPress={handleKeyPress}
ref={targetRef}
{...buttonProps}
/>
);
} else {
@ -499,13 +471,13 @@ export const Dropdown = <Item = MenuItem,>({
<Overlay
show={open}
offset={offset}
placement='bottom'
placement={placement}
flip
target={targetRef}
target={buttonRef}
popperConfig={popperConfig}
>
{({ props, arrowProps, placement }) => (
<div {...props}>
<div {...props} id={menuId}>
<div className={`dropdown-animation dropdown-menu ${placement}`}>
<div
className={`dropdown-menu__arrow ${placement}`}

View File

@ -14,7 +14,6 @@ interface Props {
onClick?: React.MouseEventHandler<HTMLButtonElement>;
onMouseDown?: React.MouseEventHandler<HTMLButtonElement>;
onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;
onKeyPress?: React.KeyboardEventHandler<HTMLButtonElement>;
active?: boolean;
expanded?: boolean;
style?: React.CSSProperties;
@ -45,7 +44,6 @@ export const IconButton = forwardRef<HTMLButtonElement, Props>(
activeStyle,
onClick,
onKeyDown,
onKeyPress,
onMouseDown,
active = false,
disabled = false,
@ -85,16 +83,6 @@ export const IconButton = forwardRef<HTMLButtonElement, Props>(
[disabled, onClick],
);
const handleKeyPress: React.KeyboardEventHandler<HTMLButtonElement> =
useCallback(
(e) => {
if (!disabled) {
onKeyPress?.(e);
}
},
[disabled, onKeyPress],
);
const handleMouseDown: React.MouseEventHandler<HTMLButtonElement> =
useCallback(
(e) => {
@ -161,7 +149,6 @@ export const IconButton = forwardRef<HTMLButtonElement, Props>(
onClick={handleClick}
onMouseDown={handleMouseDown}
onKeyDown={handleKeyDown}
onKeyPress={handleKeyPress} // eslint-disable-line @typescript-eslint/no-deprecated
style={buttonStyle}
tabIndex={tabIndex}
disabled={disabled}

View File

@ -6,6 +6,7 @@ import classNames from 'classnames';
import { Helmet } from 'react-helmet';
import { NavLink } from 'react-router-dom';
import { AccountBio } from '@/mastodon/components/account_bio';
import CheckIcon from '@/material-icons/400-24px/check.svg?react';
import LockIcon from '@/material-icons/400-24px/lock.svg?react';
import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
@ -773,7 +774,6 @@ export const AccountHeader: React.FC<{
);
}
const content = { __html: account.note_emojified };
const displayNameHtml = { __html: account.display_name_html };
const fields = account.fields;
const isLocal = !account.acct.includes('@');
@ -897,12 +897,11 @@ export const AccountHeader: React.FC<{
<AccountNote accountId={accountId} />
)}
{account.note.length > 0 && account.note !== '<p></p>' && (
<div
className='account__header__content translate'
dangerouslySetInnerHTML={content}
/>
)}
<AccountBio
note={account.note_emojified}
dropdownAccountId={accountId}
className='account__header__content'
/>
<div className='account__header__fields'>
<dl>

View File

@ -50,16 +50,22 @@ export const MoreLink: React.FC = () => {
const menu = useMemo(() => {
const arr: MenuItem[] = [
{ text: intl.formatMessage(messages.filters), href: '/filters' },
{ text: intl.formatMessage(messages.mutes), to: '/mutes' },
{ text: intl.formatMessage(messages.blocks), to: '/blocks' },
{
text: intl.formatMessage(messages.domainBlocks),
to: '/domain_blocks',
href: '/filters',
text: intl.formatMessage(messages.filters),
},
{
to: '/mutes',
text: intl.formatMessage(messages.mutes),
},
{
to: '/blocks',
text: intl.formatMessage(messages.blocks),
},
{
to: '/domain_blocks',
text: intl.formatMessage(messages.domainBlocks),
},
];
arr.push(
null,
{
href: '/settings/privacy',
@ -77,7 +83,7 @@ export const MoreLink: React.FC = () => {
href: '/settings/export',
text: intl.formatMessage(messages.importExport),
},
);
];
if (canManageReports(permissions)) {
arr.push(null, {
@ -106,7 +112,7 @@ export const MoreLink: React.FC = () => {
}, [intl, dispatch, permissions]);
return (
<Dropdown items={menu}>
<Dropdown items={menu} placement='bottom-start'>
<button className='column-link column-link--transparent'>
<Icon id='' icon={MoreHorizIcon} className='column-link__icon' />

View File

@ -8,13 +8,14 @@ import { openURL } from 'mastodon/actions/search';
import { useAppDispatch } from 'mastodon/store';
const isMentionClick = (element: HTMLAnchorElement) =>
element.classList.contains('mention');
element.classList.contains('mention') &&
!element.classList.contains('hashtag');
const isHashtagClick = (element: HTMLAnchorElement) =>
element.textContent?.[0] === '#' ||
element.previousSibling?.textContent?.endsWith('#');
export const useLinks = () => {
export const useLinks = (skipHashtags?: boolean) => {
const history = useHistory();
const dispatch = useAppDispatch();
@ -61,12 +62,12 @@ export const useLinks = () => {
if (isMentionClick(target)) {
e.preventDefault();
void handleMentionClick(target);
} else if (isHashtagClick(target)) {
} else if (isHashtagClick(target) && !skipHashtags) {
e.preventDefault();
handleHashtagClick(target);
}
},
[handleMentionClick, handleHashtagClick],
[skipHashtags, handleMentionClick, handleHashtagClick],
);
return handleClick;

View File

@ -1,6 +1,5 @@
// @ts-check
/**
* @typedef {[code: string, name: string, localName: string]} InitialStateLanguage
*/
@ -64,6 +63,7 @@
* @property {boolean=} critical_updates_pending
* @property {InitialStateMeta} meta
* @property {Role?} role
* @property {string[]} features
*/
const element = document.getElementById('initial-state');
@ -140,4 +140,12 @@ export function getAccessToken() {
return getMeta('access_token');
}
/**
* @param {string} feature
* @returns {boolean}
*/
export function isFeatureEnabled(feature) {
return initialState?.features?.includes(feature) || false;
}
export default initialState;

View File

@ -1,6 +1,7 @@
{
"about.blocks": "Мадэраваныя серверы",
"about.contact": "Кантакт:",
"about.default_locale": "Прадвызначаная",
"about.disclaimer": "Mastodon - свабоднае праграмнае забеспячэнне, з адкрытым зыходным кодам, і гандлёвай маркай Mastodon gGmbH.",
"about.domain_blocks.no_reason_available": "Прычына недаступная",
"about.domain_blocks.preamble": "Mastodon, у асноўным, дазваляе вам праглядаць кантэнт і ўзаемадзейнічаць з карыстальнікамі з іншых сервераў у федэсвету. Гэтыя выключэнні былі зроблены дакладна на гэтым серверы.",
@ -8,6 +9,7 @@
"about.domain_blocks.silenced.title": "Абмежаваны",
"about.domain_blocks.suspended.explanation": "Ніякая інфармацыя з гэтага сервера не будзе апрацавана, захавана або абменена, узаемадзеянне або камунікацыя з карыстальнікамі гэтага сервера немагчымы.",
"about.domain_blocks.suspended.title": "Прыпынены",
"about.language_label": "Мова",
"about.not_available": "Дадзеная інфармацыя не дасяжная на гэтым серверы.",
"about.powered_by": "Дэцэнтралізаваная сацыяльная сетка, створаная {mastodon}",
"about.rules": "Правілы сервера",
@ -19,13 +21,21 @@
"account.block_domain": "Заблакіраваць дамен {domain}",
"account.block_short": "Заблакіраваць",
"account.blocked": "Заблакіраваны",
"account.blocking": "Блакіраванне",
"account.cancel_follow_request": "Скасаваць запыт на падпіску",
"account.copy": "Скапіраваць спасылку на профіль",
"account.direct": "Згадаць асабіста @{name}",
"account.disable_notifications": "Не паведамляць мне пра публікацыі @{name}",
"account.domain_blocking": "Блакіраванне дамена",
"account.edit_profile": "Рэдагаваць профіль",
"account.enable_notifications": "Апавяшчаць мяне пра допісы @{name}",
"account.endorse": "Паказваць у профілі",
"account.familiar_followers_many": "Мае сярод падпісчыкаў {name1}, {name2}, і {othersCount, plural, one {яшчэ # чалавека, знаёмага вам} few {яшчэ # чалавекі, знаёмыя вам} many {яшчэ # чалавек, знаёмых вам} other {яшчэ # чалавекі, знаёмыя вам}}",
"account.familiar_followers_one": "Мае сярод падпісчыкаў {name1}",
"account.familiar_followers_two": "Мае сярод падпісчыкаў {name1} і {name2}",
"account.featured": "Рэкамендаванае",
"account.featured.accounts": "Профілі",
"account.featured.hashtags": "Хэштэгі",
"account.featured_tags.last_status_at": "Апошні допіс ад {date}",
"account.featured_tags.last_status_never": "Няма допісаў",
"account.follow": "Падпісацца",
@ -33,9 +43,11 @@
"account.followers": "Падпісчыкі",
"account.followers.empty": "Ніхто пакуль не падпісаны на гэтага карыстальніка.",
"account.followers_counter": "{count, plural, one {{counter} падпісчык} few {{counter} падпісчыкі} many {{counter} падпісчыкаў} other {{counter} падпісчыка}}",
"account.followers_you_know_counter": "{count, one {{counter}, знаёмы вам} other {{counter}, знаёмых вам}}",
"account.following": "Падпіскі",
"account.following_counter": "{count, plural, one {{counter} падпіска} few {{counter} падпіскі} many {{counter} падпісак} other {{counter} падпіскі}}",
"account.follows.empty": "Карыстальнік ні на каго не падпісаны.",
"account.follows_you": "Падпісаны на вас",
"account.go_to_profile": "Перайсці да профілю",
"account.hide_reblogs": "Схаваць пашырэнні ад @{name}",
"account.in_memoriam": "У памяць.",
@ -50,18 +62,22 @@
"account.mute_notifications_short": "Не апавяшчаць",
"account.mute_short": "Ігнараваць",
"account.muted": "Ігнаруецца",
"account.mutual": "Вы падпісаны адно на аднаго",
"account.no_bio": "Апісанне адсутнічае.",
"account.open_original_page": "Адкрыць арыгінальную старонку",
"account.posts": "Допісы",
"account.posts_with_replies": "Допісы і адказы",
"account.remove_from_followers": "Выдаліць карыстальніка {name} з падпісчыкаў",
"account.report": "Паскардзіцца на @{name}",
"account.requested": "Чакаецца ўхваленне. Націсніце, каб скасаваць запыт на падпіску",
"account.requested_follow": "{name} адправіў запыт на падпіску",
"account.requests_to_follow_you": "Хоча падпісацца на вас",
"account.share": "Абагуліць профіль @{name}",
"account.show_reblogs": "Паказаць падштурхоўванні ад @{name}",
"account.statuses_counter": "{count, plural, one {{counter} допіс} few {{counter} допісы} many {{counter} допісаў} other {{counter} допісу}}",
"account.unblock": "Разблакіраваць @{name}",
"account.unblock_domain": "Разблакіраваць дамен {domain}",
"account.unblock_domain_short": "Разблакіраваць",
"account.unblock_short": "Разблакіраваць",
"account.unendorse": "Не паказваць у профілі",
"account.unfollow": "Адпісацца",
@ -83,26 +99,30 @@
"alert.unexpected.message": "Узнікла нечаканая памылка.",
"alert.unexpected.title": "Вой!",
"alt_text_badge.title": "Альтэрнатыўны тэкст",
"alt_text_modal.add_alt_text": "Дадаць альтэрнатыўны тэкст",
"alt_text_modal.add_text_from_image": "Дадаць тэкст з відарыса",
"alt_text_modal.cancel": "Скасаваць",
"alt_text_modal.change_thumbnail": "Змяніць мініяцюру",
"alt_text_modal.done": "Гатова",
"announcement.announcement": "Аб'ява",
"annual_report.summary.archetype.booster": "Трэнда-сьледнік",
"annual_report.summary.archetype.booster": "Паляўнічы на трэнды",
"annual_report.summary.archetype.lurker": "Назіральнік",
"annual_report.summary.archetype.oracle": "Аракул",
"annual_report.summary.archetype.pollster": "Апытвальнік",
"annual_report.summary.archetype.replier": "Душа кампанійі",
"annual_report.summary.followers.followers": "падпісанты",
"annual_report.summary.followers.total": "Усяго {count}",
"annual_report.summary.here_it_is": "Вось вашыя вынікі {year} году:",
"annual_report.summary.archetype.replier": "Душа кампаніі",
"annual_report.summary.followers.followers": "падпісчыкі",
"annual_report.summary.followers.total": "Агулам {count}",
"annual_report.summary.here_it_is": "Вось вашы вынікі {year} за год:",
"annual_report.summary.highlighted_post.by_favourites": "самы ўпадабаны допіс",
"annual_report.summary.highlighted_post.by_reblogs": "самы пашыраны допіс",
"annual_report.summary.highlighted_post.by_replies": "самы каментаваны допіс",
"annual_report.summary.highlighted_post.possessive": "{name}",
"annual_report.summary.most_used_app.most_used_app": "самая выкарыстоўваная аплікацыя",
"annual_report.summary.most_used_hashtag.most_used_hashtag": "самы выкарыстоўваны гэштаґ",
"annual_report.summary.most_used_app.most_used_app": "праграма, якой карысталіся часцей",
"annual_report.summary.most_used_hashtag.most_used_hashtag": "хэштэг, якім карысталіся часцей",
"annual_report.summary.most_used_hashtag.none": "Няма",
"annual_report.summary.new_posts.new_posts": "новыя допісы",
"annual_report.summary.percentile.text": "<topLabel>Мэта месьціць вас у топ</topLabel><percentage></percentage><bottomLabel> карыстальнікаў {domain}.</bottomLabel>",
"annual_report.summary.percentile.we_wont_tell_bernie": "Мы ня скажам аб гэтым Сіняпальцаму.",
"annual_report.summary.percentile.text": "<topLabel>З-за гэтага, вы знаходзіцеся ў топе</topLabel><percentage></percentage><bottomLabel> карыстальнікаў {domain}.</bottomLabel>",
"annual_report.summary.percentile.we_wont_tell_bernie": "КДБ пра гэта не даведаецца.",
"annual_report.summary.thanks": "Дзякуй за ўдзел у Mastodon!",
"attachments_list.unprocessed": "(неапрацаваны)",
"audio.hide": "Схаваць аўдыя",
@ -127,7 +147,7 @@
"bundle_column_error.routing.body": "Запытаная старонка не знойдзена. Вы ўпэўнены, што URL у адрасным радку правільны?",
"bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Закрыць",
"bundle_modal_error.message": "Падчас загрузкі гэтага экрана штосьці пайшло ня так.",
"bundle_modal_error.message": "Падчас загрузкі гэтага экрана штосьці пайшло не так.",
"bundle_modal_error.retry": "Паспрабуйце зноў",
"closed_registrations.other_server_instructions": "Паколькі Mastodon дэцэнтралізаваны, вы можаце стварыць уліковы запіс на іншым серверы і працягваць узаемадзейнічаць з ім.",
"closed_registrations_modal.description": "Стварэнне ўліковага запісу на {domain} цяпер немагчыма. Заўважце, што няма неабходнасці мець уліковы запіс менавіта на {domain}, каб выкарыстоўваць Mastodon.",
@ -147,7 +167,7 @@
"column.firehose": "Стужкі",
"column.follow_requests": "Запыты на падпіску",
"column.home": "Галоўная",
"column.list_members": "Кіраванне ўдзельнікамі спісу",
"column.list_members": "Кіраванне ўдзельнікамі спіса",
"column.lists": "Спісы",
"column.mutes": "Ігнараваныя карыстальнікі",
"column.notifications": "Апавяшчэнні",
@ -196,19 +216,24 @@
"confirmations.delete_list.confirm": "Выдаліць",
"confirmations.delete_list.message": "Вы ўпэўненыя, што хочаце беззваротна выдаліць гэты чарнавік?",
"confirmations.delete_list.title": "Выдаліць спіс?",
"confirmations.discard_draft.edit.cancel": "Працягнуць рэдагаванне",
"confirmations.discard_edit_media.confirm": "Адмяніць",
"confirmations.discard_edit_media.message": "У вас ёсць незахаваныя змены ў апісанні або прэв'ю, усе роўна скасаваць іх?",
"confirmations.follow_to_list.confirm": "Падпісацца й дадаць у сьпіс",
"confirmations.follow_to_list.message": "Вы мусіце быць падпісаныя на {name} каб дадаць яго ў сьпіс.",
"confirmations.follow_to_list.confirm": "Падпісацца і дадаць у спіс",
"confirmations.follow_to_list.message": "Вам трэба падпісацца на карыстальніка {name}, каб дадаць яго ў спіс.",
"confirmations.follow_to_list.title": "Падпісацца на карыстальніка?",
"confirmations.logout.confirm": "Выйсці",
"confirmations.logout.message": "Вы ўпэўненыя, што хочаце выйсці?",
"confirmations.logout.title": "Выйсці?",
"confirmations.missing_alt_text.title": "Дадаць апісаньне?",
"confirmations.missing_alt_text.confirm": "Дадаць альтэрнатыўны тэкст",
"confirmations.missing_alt_text.secondary": "Усё адно апублікаваць",
"confirmations.missing_alt_text.title": "Дадаць альтэрнатыўны тэкст?",
"confirmations.mute.confirm": "Ігнараваць",
"confirmations.redraft.confirm": "Выдаліць і перапісаць",
"confirmations.redraft.message": "Вы ўпэўнены, што хочаце выдаліць допіс і перапісаць яго? Упадабанні і пашырэнні згубяцца, а адказы да арыгінальнага допісу асірацеюць.",
"confirmations.redraft.title": "Выдаліць і перапісаць допіс?",
"confirmations.remove_from_followers.confirm": "Выдаліць падпісчыка",
"confirmations.remove_from_followers.title": "Выдаліць падпісчыка?",
"confirmations.unfollow.confirm": "Адпісацца",
"confirmations.unfollow.message": "Вы ўпэўненыя, што хочаце адпісацца ад {name}?",
"confirmations.unfollow.title": "Адпісацца ад карыстальніка?",
@ -221,7 +246,7 @@
"conversation.with": "З {names}",
"copy_icon_button.copied": "Скапіявана ў буфер абмену",
"copypaste.copied": "Скапіравана",
"copypaste.copy_to_clipboard": "Капіраваць у буфер абмену",
"copypaste.copy_to_clipboard": "Скапіяваць у буфер абмену",
"directory.federated": "З вядомага федэсвету",
"directory.local": "Толькі з {domain}",
"directory.new_arrivals": "Новыя карыстальнікі",
@ -230,7 +255,7 @@
"disabled_account_banner.text": "Ваш уліковы запіс {disabledAccount} часова адключаны.",
"dismissable_banner.community_timeline": "Гэта самыя апошнія допісы ад людзей, уліковыя запісы якіх размяшчаюцца на {domain}.",
"dismissable_banner.dismiss": "Адхіліць",
"dismissable_banner.public_timeline": "Гэта самыя новыя публічныя допісы ад карыстальнікаў фэдывёрсу на якіх падпісаныя карыстальнікі {domain}.",
"dismissable_banner.public_timeline": "Вось апошнія публічныя допісы ад карыстальнікаў fediverse на якіх падпісаны карыстальнікі {domain}.",
"domain_block_modal.block": "Заблакіраваць сервер",
"domain_block_modal.block_account_instead": "Заблакіраваць @{name} замест гэтага",
"domain_block_modal.they_can_interact_with_old_posts": "Людзі з гэтага сервера змогуць узаемадзейнічаць з вашымі старымі допісамі.",
@ -275,15 +300,15 @@
"empty_column.account_timeline": "Тут няма допісаў!",
"empty_column.account_unavailable": "Профіль недаступны",
"empty_column.blocks": "Вы яшчэ нікога не заблакіравалі.",
"empty_column.bookmarked_statuses": "У вас яшчэ няма паведамленняў з закладкамі. Калі вы дадасце закладку, яна з'явіцца тут.",
"empty_column.community": "Мясцовая стужка пустая. Напішыце што-небудзь публічна, каб зрушыць з месца!",
"empty_column.direct": "Пакуль у вас няма асабістых згадак. Калі вы дашляце або атрымаеце штось, яно з'явіцца тут.",
"empty_column.bookmarked_statuses": "У вашых закладках яшчэ няма допісаў. Калі вы дадасце закладку, яна з’явіцца тут.",
"empty_column.community": "Мясцовая стужка пустая. Напішыце нешта публічнае, каб разварушыць справу!",
"empty_column.direct": "Пакуль у вас няма асабістых згадванняў. Калі вы дашляце або атрымаеце штосьці, яно з’явіцца тут.",
"empty_column.domain_blocks": "Заблакіраваных даменаў пакуль няма.",
"empty_column.explore_statuses": "Зараз не ў трэндзе. Праверце пазней",
"empty_column.favourited_statuses": "Вы яшчэ не ўпадабалі ніводны допіс. Калі гэта адбудзецца, вы ўбачыце яго тут.",
"empty_column.favourites": "Ніхто яшчэ не ўпадабаў гэты допіс. Калі гэта адбудзецца, вы ўбачыце гэтых людзей тут.",
"empty_column.follow_requests": "У вас яшчэ няма запытаў на падпіскуі. Калі вы атрымаеце запыт, ён з'явяцца тут.",
"empty_column.followed_tags": "Вы пакуль не падпісаны ні на адзін хэштэг. Калі падпішацеся, яны з'явяцца тут.",
"empty_column.follow_requests": "У вас яшчэ няма запытаў на падпіску. Калі вы атрымаеце запыт, ён з’явіцца тут.",
"empty_column.followed_tags": "Вы пакуль не падпісаны ні на адзін хэштэг. Калі падпішацеся, яны зявяцца тут.",
"empty_column.hashtag": "Па гэтаму хэштэгу пакуль што нічога няма.",
"empty_column.home": "Галоўная стужка пустая! Падпішыцеся на іншых людзей, каб запоўніць яе. {suggestions}",
"empty_column.list": "У гэтым спісе пакуль што нічога няма. Калі члены лісту апублікуюць новыя запісы, яны з'явяцца тут.",
@ -294,13 +319,18 @@
"error.unexpected_crash.explanation": "Гэта старонка не можа быць адлюстравана карэктна з-за памылкі ў нашым кодзе, або праблемы з сумяшчальнасцю браўзера.",
"error.unexpected_crash.explanation_addons": "Гэтая старонка не можа быць адлюстравана карэктна. Верагодна, гэтая памылка выклікана дадатковым кампанентам браўзера або інструментамі аўтаматычнага перакладу",
"error.unexpected_crash.next_steps": "Паспрабуйце абнавіць старонку. Калі гэта не дапаможа, вы можаце паспрабаваць іншы браўзер, альбо выкарыстаць усталяваную праграму.",
"error.unexpected_crash.next_steps_addons": "Паспрабуйце выключыць іх і аднавіць старонку. Калі гэта не дапаможа, вы можаце карыстацца Мастадонт праз другі браўзер ці аплікацыю.",
"error.unexpected_crash.next_steps_addons": "Паспрабуйце выключыць іх і абнавіць старонку. Калі гэта не дапамагае, вы ўсё яшчэ можаце карыстацца Mastodon праз іншы браўзер ці натыўную праграму.",
"errors.unexpected_crash.copy_stacktrace": "Дадаць дыягнастычны стэк у буфер абмену",
"errors.unexpected_crash.report_issue": "Паведаміць аб праблеме",
"explore.suggested_follows": "Людзі",
"explore.title": "Трэндавае",
"explore.trending_links": "Навіны",
"explore.trending_statuses": "Допісы",
"explore.trending_tags": "Хэштэгі",
"featured_carousel.next": "Далей",
"featured_carousel.post": "Допіс",
"featured_carousel.previous": "Назад",
"featured_carousel.slide": "{index} з {total}",
"filter_modal.added.context_mismatch_explanation": "Гэтая катэгорыя фільтра не прымяняецца да кантэксту, у якім вы адкрылі гэты пост. Калі вы хочаце, каб паведамленне таксама было адфільтравана ў гэтым кантэксце, вам трэба будзе адрэдагаваць фільтр",
"filter_modal.added.context_mismatch_title": "Неадпаведны кантэкст!",
"filter_modal.added.expired_explanation": "Тэрмін дзеяння гэтай катэгорыі фільтраў скончыўся, вам трэба будзе змяніць дату заканчэння тэрміну дзеяння, каб яна прымянялася",
@ -349,10 +379,10 @@
"footer.privacy_policy": "Палітыка прыватнасці",
"footer.source_code": "Прагледзець зыходны код",
"footer.status": "Статус",
"footer.terms_of_service": "Умовы абслугоўваньня",
"footer.terms_of_service": "Умовы выкарыстання",
"generic.saved": "Захавана",
"getting_started.heading": "Пачатак працы",
"hashtag.admin_moderation": "Адкрыць інтэрфэйс мадаратара для #{name}",
"hashtag.admin_moderation": "Адкрыць інтэрфейс мадэратара для #{name}",
"hashtag.column_header.tag_mode.all": "і {additional}",
"hashtag.column_header.tag_mode.any": "або {additional}",
"hashtag.column_header.tag_mode.none": "без {additional}",
@ -374,35 +404,39 @@
"hints.profiles.see_more_followers": "Глядзець больш падпісаных на {domain}",
"hints.profiles.see_more_follows": "Глядзець больш падпісак на {domain}",
"hints.profiles.see_more_posts": "Глядзець больш допісаў на {domain}",
"hints.threads.replies_may_be_missing": "Адказы зь іншых сэрвэраў могуць адсутнічаць.",
"hints.threads.replies_may_be_missing": "Адказы з іншых сервераў могуць адсутнічаць.",
"hints.threads.see_more": "Глядзіце больш адказаў на {domain}",
"home.column_settings.show_quotes": "Паказаць цытаты",
"home.column_settings.show_reblogs": "Паказваць пашырэнні",
"home.column_settings.show_replies": "Паказваць адказы",
"home.hide_announcements": "Схаваць аб'явы",
"home.pending_critical_update.body": "Калі ласка, абнавіце свой сервер Mastodon як мага хутчэй!",
"home.pending_critical_update.body": "Абнавіце свой сервер Mastodon як мага хутчэй!",
"home.pending_critical_update.link": "Прагледзець абнаўленні",
"home.pending_critical_update.title": "Даступна крытычнае абнаўленне бяспекі!",
"home.show_announcements": "Паказаць аб'явы",
"ignore_notifications_modal.disclaimer": "Mastodon ня можа йнфармаваць карыстальнікаў аб тым, што вы прайігнаравалі йх паведамленьні. Ігнараваньне паведамленьняў не спыніць іх адпраўку.",
"ignore_notifications_modal.disclaimer": "Mastodon не можа паведамляць карыстальнікам, што вы праігнаравалі апавяшчэнні ад іх. Ігнараванне апавяшчэнняў не спыніць адпраўку саміх паведамленняў.",
"ignore_notifications_modal.filter_instead": "Замест гэтага адфільтраваць",
"ignore_notifications_modal.filter_to_act_users": "Вы па-ранейшаму зможаце прымаць, адхіляць ці скардзіцца на карыстальнікаў",
"ignore_notifications_modal.filter_to_avoid_confusion": "Фільтраваньне дапамагае пазьбегнуць патэнцыйнай блытаніны",
"ignore_notifications_modal.filter_to_review_separately": "Вы можаце прагледзець адфільтраваныя паведамленьні асобна",
"ignore_notifications_modal.ignore": "Ігнараваць паведамленьні",
"ignore_notifications_modal.limited_accounts_title": "Ігнараваць паведамленьні ад абмежаваных уліковых запісаў?",
"ignore_notifications_modal.new_accounts_title": "Ігнараваць паведамленьні ад новых уліковых запісаў?",
"ignore_notifications_modal.not_followers_title": "Ігнараваць паведамленьні ад людзей, якія ня падпісаныя на вас?",
"ignore_notifications_modal.filter_to_avoid_confusion": "Выкарыстанне фільтраў дапамагае пазбягаць патэнцыйнай блытаніны",
"ignore_notifications_modal.filter_to_review_separately": "Вы можаце прагледзець адфільтраваныя апавяшчэнні асобна",
"ignore_notifications_modal.ignore": "Ігнараваць апавяшчэнні",
"ignore_notifications_modal.limited_accounts_title": "Ігнараваць апавяшчэнні ад уліковых запісаў пад мадэрацыяй?",
"ignore_notifications_modal.new_accounts_title": "Ігнараваць апавяшчэнні ад новых уліковых запісаў?",
"ignore_notifications_modal.not_followers_title": "Ігнараваць апавяшчэнні ад людзей, якія не падпісаныя на вас?",
"ignore_notifications_modal.not_following_title": "Ігнараваць апавяшчэнні ад людзей на якіх вы не падпісаны?",
"ignore_notifications_modal.private_mentions_title": "Ігнараваць паведамленьні аб непажаданых прыватных згадках?",
"ignore_notifications_modal.private_mentions_title": "Ігнараваць апавяшчэнні пра непажаданыя асабістыя згадванні?",
"info_button.label": "Даведка",
"interaction_modal.action.favourite": "Каб працягнуць, вы мусіце ўпадабаць з вашага ўліковага запісу.",
"interaction_modal.action.follow": "Каб працягнуць, вы мусіце падпісацца з вашага ўліковага запісу.",
"interaction_modal.action.favourite": "Каб працягнуць, вы мусіце ўпадабаць нешта са свайго ўліковага запісу.",
"interaction_modal.action.follow": "Каб працягнуць, вы мусіце падпісацца на некага са свайго ўліковага запісу.",
"interaction_modal.go": "Перайсці",
"interaction_modal.no_account_yet": "Не маеце ўліковага запісу?",
"interaction_modal.on_another_server": "На іншым серверы",
"interaction_modal.on_this_server": "На гэтым серверы",
"interaction_modal.title.favourite": "Упадабаць допіс {name}",
"interaction_modal.title.follow": "Падпісацца на {name}",
"interaction_modal.title.reblog": "Пашырыць допіс ад {name}",
"interaction_modal.title.reply": "Адказаць на допіс {name}",
"interaction_modal.username_prompt": "Напр., {example}",
"intervals.full.days": "{number, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}}",
"intervals.full.hours": "{number, plural, one {# гадзіна} few {# гадзіны} many {# гадзін} other {# гадзіны}}",
"intervals.full.minutes": "{number, plural, one {# хвіліна} few {# хвіліны} many {# хвілін} other {# хвіліны}}",
@ -438,21 +472,32 @@
"keyboard_shortcuts.toggle_hidden": "Паказаць/схаваць тэкст за папярэджаннем пра кантэнт",
"keyboard_shortcuts.toggle_sensitivity": "Паказаць/схаваць медыя",
"keyboard_shortcuts.toot": "Стварыць новы допіс",
"keyboard_shortcuts.translate": "каб перакласці допіс",
"keyboard_shortcuts.unfocus": "Расфакусаваць тэкставую вобласць/пошукавы радок",
"keyboard_shortcuts.up": "Перамясціцца ўверх па спісе",
"lightbox.close": "Закрыць",
"lightbox.next": "Далей",
"lightbox.previous": "Назад",
"lightbox.zoom_in": "Маштабаваць да фактычнага памеру",
"lightbox.zoom_out": "Дапасаваць усё змесціва пад памеры экрана",
"limited_account_hint.action": "Усе роўна паказваць профіль",
"limited_account_hint.title": "Гэты профіль быў схаваны мадэратарамі",
"link_preview.author": "Ад {name}",
"link_preview.more_from_author": "Больш ад {name}",
"link_preview.shares": "{count, plural, one {{counter} допіс} few {{counter} допісы} many {{counter} допісаў} other {{counter} допісу}}",
"lists.add_member": "Дадаць",
"lists.add_to_list": "Дадаць у спіс",
"lists.add_to_lists": "Дадаць {name} у спісы",
"lists.create": "Стварыць",
"lists.create_list": "Стварыць спіс",
"lists.delete": "Выдаліць спіс",
"lists.done": "Гатова",
"lists.edit": "Рэдагаваць спіс",
"lists.list_name": "Назва спіса",
"lists.new_list_name": "Назва новага спіса",
"lists.no_lists_yet": "Пакуль няма спісаў.",
"lists.no_members_yet": "Пакуль няма ўдзельнікаў.",
"lists.no_results_found": "Нічога не знойдзена.",
"lists.remove_member": "Выдаліць",
"lists.replies_policy.followed": "Любы карыстальнік, на якога вы падпісаліся",
"lists.replies_policy.list": "Удзельнікі гэтага спісу",
@ -460,7 +505,7 @@
"lists.save": "Захаваць",
"lists.search": "Пошук",
"load_pending": "{count, plural, one {# новы элемент} few {# новыя элементы} many {# новых элементаў} other {# новых элементаў}}",
"loading_indicator.label": "Загрузка…",
"loading_indicator.label": "Ідзе загрузка…",
"media_gallery.hide": "Схаваць",
"moved_to_account_banner.text": "Ваш уліковы запіс {disabledAccount} зараз адключаны таму што вы перанесены на {movedToAccount}.",
"mute_modal.hide_from_notifications": "Схаваць з апавяшчэнняў",
@ -473,7 +518,10 @@
"mute_modal.you_wont_see_mentions": "Вы не ўбачыце паведамленняў са згадваннем карыстальніка.",
"mute_modal.you_wont_see_posts": "Карыстальнік па-ранейшаму будзе бачыць вашыя паведамленні, але вы не будзеце паведамленні карыстальніка.",
"navigation_bar.about": "Пра нас",
"navigation_bar.account_settings": "Пароль і бяспека",
"navigation_bar.administration": "Адміністрацыя",
"navigation_bar.advanced_interface": "Адкрыць у пашыраным вэб-інтэрфейсе",
"navigation_bar.automated_deletion": "Аўтаматычнае выдаленне допісаў",
"navigation_bar.blocks": "Заблакіраваныя карыстальнікі",
"navigation_bar.bookmarks": "Закладкі",
"navigation_bar.direct": "Асабістыя згадванні",
@ -483,13 +531,21 @@
"navigation_bar.follow_requests": "Запыты на падпіску",
"navigation_bar.followed_tags": "Падпіскі",
"navigation_bar.follows_and_followers": "Падпіскі і падпісчыкі",
"navigation_bar.import_export": "Імпарт і экспарт",
"navigation_bar.lists": "Спісы",
"navigation_bar.live_feed_local": "Жывая стужка (лакальная)",
"navigation_bar.live_feed_public": "Жывая стужка (публічная)",
"navigation_bar.logout": "Выйсці",
"navigation_bar.moderation": "Мадэрацыя",
"navigation_bar.more": "Больш",
"navigation_bar.mutes": "Ігнараваныя карыстальнікі",
"navigation_bar.opened_in_classic_interface": "Допісы, уліковыя запісы і іншыя спецыфічныя старонкі па змоўчанні адчыняюцца ў класічным вэб-інтэрфейсе.",
"navigation_bar.preferences": "Налады",
"navigation_bar.privacy_and_reach": "Прыватнасць і пошук",
"navigation_bar.search": "Пошук",
"navigation_bar.search_trends": "Пошук / Трэндавае",
"navigation_panel.collapse_followed_tags": "Згарнуць меню падпісак на хэштэгі",
"navigation_panel.collapse_lists": "Згарнуць меню спісаў",
"not_signed_in_indicator.not_signed_in": "Вам трэба ўвайсці каб атрымаць доступ да гэтага рэсурсу.",
"notification.admin.report": "{name} паскардзіўся на {target}",
"notification.admin.report_account": "{name} паскардзіўся на {count, plural, one {# допіс} many {# допісаў} other {# допіса}} ад {target} з прычыны {category}",
@ -497,7 +553,10 @@
"notification.admin.report_statuses": "{name} паскардзіўся на {target} з прычыны {category}",
"notification.admin.report_statuses_other": "{name} паскардзіўся на {target}",
"notification.admin.sign_up": "{name} зарэгістраваўся",
"notification.annual_report.view": "Перайсці да #Wrapstodon",
"notification.favourite": "Ваш допіс упадабаны {name}",
"notification.favourite_pm": "Ваша асабістае згадванне ўпадабана {name}",
"notification.favourite_pm.name_and_others_with_link": "{name} і <a>{count, plural, one {# іншы} few {# іншыя} many {# іншых} other {# іншых}}</a> ўпадабалі ваша асабістае згадванне",
"notification.follow": "{name} падпісаўся на вас",
"notification.follow_request": "{name} адправіў запыт на падпіску",
"notification.follow_request.name_and_others": "{name} і {count, plural, one {# іншы} many {# іншых} other {# іншых}} запыталіся падпісацца на вас",
@ -508,7 +567,7 @@
"notification.mention": "Згадванне",
"notification.mentioned_you": "{name} згадаў вас",
"notification.moderation-warning.learn_more": "Даведацца больш",
"notification.moderation_warning": "Вы атрымалі папярэджанне аб мадэрацыі",
"notification.moderation_warning": "Вы атрымалі папярэджанне ад мадэратараў",
"notification.moderation_warning.action_delete_statuses": "Некаторыя вашыя допісы былі выдаленыя.",
"notification.moderation_warning.action_disable": "Ваш уліковы запіс быў адключаны.",
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Некаторыя з вашых допісаў былі пазначаныя як далікатныя.",
@ -539,7 +598,7 @@
"notification_requests.title": "Адфільтраваныя апавяшчэнні",
"notification_requests.view": "Прагляд апавяшчэнняў",
"notifications.clear": "Ачысціць апавяшчэнні",
"notifications.clear_confirmation": "Вы ўпэўнены, што жадаеце назаўсёды сцерці ўсё паведамленні?",
"notifications.clear_confirmation": "Вы ўпэўнены, што хочаце назаўсёды сцерці ўсе свае паведамленні?",
"notifications.clear_title": "Ачысціць апавяшчэнні?",
"notifications.column_settings.admin.report": "Новыя скаргі:",
"notifications.column_settings.admin.sign_up": "Новыя ўваходы:",
@ -549,7 +608,7 @@
"notifications.column_settings.filter_bar.category": "Панэль хуткай фільтрацыі",
"notifications.column_settings.follow": "Новыя падпісчыкі:",
"notifications.column_settings.follow_request": "Новыя запыты на падпіску:",
"notifications.column_settings.group": "Аб'яднаць апавяшчэнні ад падпісчыкаў",
"notifications.column_settings.group": "Абяднаць апавяшчэнні ад падпісчыкаў",
"notifications.column_settings.mention": "Згадванні:",
"notifications.column_settings.poll": "Вынікі апытання:",
"notifications.column_settings.push": "Push-апавяшчэнні",
@ -571,13 +630,13 @@
"notifications.group": "{count} Апавяшчэнняў",
"notifications.mark_as_read": "Пазначыць усе апавяшчэнні як прачытаныя",
"notifications.permission_denied": "Апавяшчэнні на працоўным стале недаступныя з-за папярэдне адхіленага запыта праў браўзера",
"notifications.permission_denied_alert": "Апавяшчэнні на працоўным стале не могуць быць уключаныя, з-за таго што запыт браўзера быў адхілены",
"notifications.permission_denied_alert": "З-за таго, што запыт браўзера быў раней адхілены, немагчыма ўключыць апавяшчэнні на працоўным стале",
"notifications.permission_required": "Апавяшчэнні на працоўным стале недаступныя, з-за таго што неабходны дазвол не быў дадзены.",
"notifications.policy.accept": "Прыняць",
"notifications.policy.accept_hint": "Паказваць у апавяшчэннях",
"notifications.policy.drop": "Iгнараваць",
"notifications.policy.filter": "Фільтраваць",
"notifications.policy.filter_limited_accounts_title": "Абмежаваныя ўліковыя запісы",
"notifications.policy.filter_limited_accounts_title": "Уліковыя запісы пад мадэрацыяй",
"notifications.policy.filter_new_accounts.hint": "Створаныя на працягу {days, plural, one {апошняга # дня} few {апошніх # дзён} many {апошніх # дзён} other {апошняй # дня}}",
"notifications.policy.filter_new_accounts_title": "Новыя ўліковыя запісы",
"notifications.policy.filter_not_followers_hint": "Уключаючы людзей, якія падпісаны на вас менш, чым {days, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}}",
@ -594,13 +653,13 @@
"onboarding.follows.done": "Гатова",
"onboarding.follows.empty": "На жаль, зараз немагчыма паказаць вынікі. Вы можаце паспрабаваць выкарыстоўваць пошук і праглядзець старонку агляду, каб знайсці людзей, на якіх можна падпісацца, або паўтарыце спробу пазней.",
"onboarding.follows.search": "Пошук",
"onboarding.follows.title": "Падпішыцеся каб пачаць",
"onboarding.follows.title": "Падпішыцеся на некага, каб пачаць",
"onboarding.profile.discoverable": "Зрабіць мой профіль бачным",
"onboarding.profile.discoverable_hint": "Калі вы звяртаецеся да адкрытасці на Mastodon, вашы паведамленні могуць з'яўляцца ў выніках пошуку і тэндэнцый, а ваш профіль можа быць прапанаваны людзям з такімі ж інтарэсамі.",
"onboarding.profile.display_name": "Бачнае імя",
"onboarding.profile.display_name_hint": "Ваша поўнае імя або ваш псеўданім…",
"onboarding.profile.note": "Біяграфія",
"onboarding.profile.note_hint": "Вы можаце @згадаць іншых людзей або выкарыстоўваць #хэштэгі…",
"onboarding.profile.note_hint": "Вы можаце @згадваць іншых людзей або выкарыстоўваць #хэштэгі…",
"onboarding.profile.save_and_continue": "Захаваць і працягнуць",
"onboarding.profile.title": "Налады профілю",
"onboarding.profile.upload_avatar": "Загрузіць фота профілю",
@ -620,6 +679,7 @@
"poll_button.remove_poll": "Выдаліць апытанне",
"privacy.change": "Змяніць прыватнасць допісу",
"privacy.direct.long": "Усе згаданыя ў допісе",
"privacy.direct.short": "Асабістае згадванне",
"privacy.private.long": "Толькі вашыя падпісчыкі",
"privacy.private.short": "Падпісчыкі",
"privacy.public.long": "Усе, хто ёсць і каго няма ў Mastodon",
@ -629,10 +689,10 @@
"privacy.unlisted.short": "Ціхі публічны",
"privacy_policy.last_updated": "Адноўлена {date}",
"privacy_policy.title": "Палітыка канфідэнцыйнасці",
"recommended": "Рэкамендуем",
"recommended": "Рэкамендаванае",
"refresh": "Абнавiць",
"regeneration_indicator.please_stand_by": "Калі ласка, пачакайце.",
"regeneration_indicator.preparing_your_home_feed": "Рыхтуем вашую стужку…",
"regeneration_indicator.please_stand_by": "Пачакайце.",
"regeneration_indicator.preparing_your_home_feed": "Рыхтуем вашу галоўную стужку…",
"relative_time.days": "{number} д",
"relative_time.full.days": "{number, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}} таму",
"relative_time.full.hours": "{number, plural, one {# гадзіна} few {# гадзіны} many {# гадзін} other {# гадзіны}} таму",
@ -649,7 +709,7 @@
"reply_indicator.poll": "Апытанне",
"report.block": "Заблакіраваць",
"report.block_explanation": "Вы перастанеце бачыць допісы гэтага карыстальніка. Ён не зможа сачыць за вамі і бачыць вашы допісы. Ён зможа зразумець, што яго заблакіравалі.",
"report.categories.legal": "Права",
"report.categories.legal": "Звязанае з правам",
"report.categories.other": "Іншае",
"report.categories.spam": "Спам",
"report.categories.violation": "Змест парушае адно ці некалькі правілаў сервера",
@ -716,8 +776,8 @@
"search_results.accounts": "Профілі",
"search_results.all": "Усё",
"search_results.hashtags": "Хэштэгі",
"search_results.no_results": "Анічога ня знойдзена.",
"search_results.no_search_yet": "Паспрабуйце пашукаць допісы, профілі або гэштаґі.",
"search_results.no_results": "Няма вынікаў.",
"search_results.no_search_yet": "Паспрабуйце пашукаць допісы, профілі або хэштэгі.",
"search_results.see_all": "Праглядзець усе",
"search_results.statuses": "Допісы",
"search_results.title": "Шукаць \"{q}\"",
@ -738,7 +798,7 @@
"status.bookmark": "Дадаць закладку",
"status.cancel_reblog_private": "Прыбраць",
"status.cannot_reblog": "Гэты пост нельга пашырыць",
"status.continued_thread": "Працяг тэмы",
"status.continued_thread": "Працяг ланцужка",
"status.copy": "Скапіраваць спасылку на допіс",
"status.delete": "Выдаліць",
"status.detailed_status": "Дэтальны агляд размовы",
@ -763,6 +823,7 @@
"status.mute_conversation": "Ігнараваць размову",
"status.open": "Разгарнуць гэты допіс",
"status.pin": "Замацаваць у профілі",
"status.quote_post_author": "Допіс карыстальніка @{name}",
"status.read_more": "Чытаць болей",
"status.reblog": "Пашырыць",
"status.reblog_private": "Пашырыць з першапачатковай бачнасцю",
@ -771,7 +832,7 @@
"status.reblogs.empty": "Гэты допіс яшчэ ніхто не пашырыў. Калі гэта адбудзецца, гэтых людзей будзе бачна тут.",
"status.redraft": "Выдаліць і паправіць",
"status.remove_bookmark": "Выдаліць закладку",
"status.replied_in_thread": "Адказаў у тэме",
"status.replied_in_thread": "Адказаў у ланцужку",
"status.replied_to": "Адказаў {name}",
"status.reply": "Адказаць",
"status.replyAll": "Адказаць у ланцугу",
@ -791,8 +852,11 @@
"subscribed_languages.save": "Захаваць змены",
"subscribed_languages.target": "Змяніць мовы падпіскі для {target}",
"tabs_bar.home": "Галоўная",
"tabs_bar.menu": "Меню",
"tabs_bar.notifications": "Апавяшчэнні",
"terms_of_service.title": "Умовы абслугоўваньня",
"tabs_bar.publish": "Новы допіс",
"tabs_bar.search": "Пошук",
"terms_of_service.title": "Умовы выкарыстання",
"time_remaining.days": "{number, plural, one {застаўся # дзень} few {засталося # дні} many {засталося # дзён} other {засталося # дня}}",
"time_remaining.hours": "{number, plural, one {засталася # гадзіна} few {засталося # гадзіны} many {засталося # гадзін} other {засталося # гадзіны}}",
"time_remaining.minutes": "{number, plural, one {засталася # хвіліна} few {засталося # хвіліны} many {засталося # хвілін} other {засталося # хвіліны}}",
@ -818,6 +882,12 @@
"video.expand": "Разгарнуць відэа",
"video.fullscreen": "Увесь экран",
"video.hide": "Схаваць відэа",
"video.mute": "Выключыць гук",
"video.pause": "Паўза",
"video.play": "Прайграць"
"video.play": "Прайграць",
"video.skip_backward": "Праматаць назад",
"video.skip_forward": "Праматаць уперад",
"video.unmute": "Уключыць гук",
"video.volume_down": "Паменшыць гучнасць",
"video.volume_up": "Павялічыць гучнасць"
}

View File

@ -219,6 +219,13 @@
"confirmations.delete_list.confirm": "Elimina",
"confirmations.delete_list.message": "Segur que vols suprimir permanentment aquesta llista?",
"confirmations.delete_list.title": "Eliminar la llista?",
"confirmations.discard_draft.confirm": "Descarta i continua",
"confirmations.discard_draft.edit.cancel": "Continua l'edició",
"confirmations.discard_draft.edit.message": "Continuar descartarà tots els canvis que hàgiu fet a la publicació que editeu.",
"confirmations.discard_draft.edit.title": "Descartar els canvis a la publicació?",
"confirmations.discard_draft.post.cancel": "Reprendre l'esborrany",
"confirmations.discard_draft.post.message": "Continuar descartarà la publicació que escriviu.",
"confirmations.discard_draft.post.title": "Descartar l'esborrany?",
"confirmations.discard_edit_media.confirm": "Descarta",
"confirmations.discard_edit_media.message": "Tens canvis no desats en la descripció del contingut o en la previsualització, els vols descartar?",
"confirmations.follow_to_list.confirm": "Seguir i afegir a una llista",
@ -556,6 +563,8 @@
"navigation_bar.follows_and_followers": "Seguint i seguidors",
"navigation_bar.import_export": "Importació i exportació",
"navigation_bar.lists": "Llistes",
"navigation_bar.live_feed_local": "Canal en directe (local)",
"navigation_bar.live_feed_public": "Canal en directe (públic)",
"navigation_bar.logout": "Tanca la sessió",
"navigation_bar.moderation": "Moderació",
"navigation_bar.more": "Més",
@ -564,7 +573,10 @@
"navigation_bar.preferences": "Preferències",
"navigation_bar.privacy_and_reach": "Privacitat i abast",
"navigation_bar.search": "Cerca",
"navigation_bar.search_trends": "Cerca / En tendència",
"navigation_panel.collapse_followed_tags": "Comprimeix el menú d'etiquetes seguides",
"navigation_panel.collapse_lists": "Tanca el menú",
"navigation_panel.expand_followed_tags": "Expandeix el menú d'etiquetes seguides",
"navigation_panel.expand_lists": "Expandeix el menú",
"not_signed_in_indicator.not_signed_in": "Cal que iniciïs la sessió per a accedir a aquest recurs.",
"notification.admin.report": "{name} ha reportat {target}",
@ -792,6 +804,7 @@
"report_notification.categories.violation": "Violació de norma",
"report_notification.categories.violation_sentence": "violació de normes",
"report_notification.open": "Obre l'informe",
"search.clear": "Esborra la cerca",
"search.no_recent_searches": "No hi ha cerques recents",
"search.placeholder": "Cerca",
"search.quick_action.account_search": "Perfils coincidint amb {x}",

View File

@ -62,7 +62,7 @@
"account.mute_notifications_short": "Sluk for notifikationer",
"account.mute_short": "Skjul",
"account.muted": "Skjult",
"account.muting": "Tavsgørelse",
"account.muting": "Skjuler",
"account.mutual": "I følger hinanden",
"account.no_bio": "Ingen beskrivelse til rådighed.",
"account.open_original_page": "Åbn oprindelig side",
@ -386,7 +386,7 @@
"follow_suggestions.similar_to_recently_followed_longer": "Minder om profiler, du har fulgt for nylig",
"follow_suggestions.view_all": "Vis alle",
"follow_suggestions.who_to_follow": "Hvem, som skal følges",
"followed_tags": "Hashtag, som følges",
"followed_tags": "Hashtags, som følges",
"footer.about": "Om",
"footer.directory": "Profiloversigt",
"footer.get_app": "Hent appen",
@ -560,7 +560,7 @@
"navigation_bar.favourites": "Favoritter",
"navigation_bar.filters": "Skjulte ord",
"navigation_bar.follow_requests": "Følgeanmodninger",
"navigation_bar.followed_tags": "Hashtag, som følges",
"navigation_bar.followed_tags": "Hashtags, som følges",
"navigation_bar.follows_and_followers": "Følges og følgere",
"navigation_bar.import_export": "Import og eksport",
"navigation_bar.lists": "Lister",
@ -572,7 +572,7 @@
"navigation_bar.mutes": "Skjulte brugere",
"navigation_bar.opened_in_classic_interface": "Indlæg, konti og visse andre sider åbnes som standard i den klassiske webgrænseflade.",
"navigation_bar.preferences": "Præferencer",
"navigation_bar.privacy_and_reach": "Fortrolighed og udbredelse",
"navigation_bar.privacy_and_reach": "Fortrolighed og rækkevidde",
"navigation_bar.search": "Søg",
"navigation_bar.search_trends": "Søg/Trender",
"navigation_panel.collapse_followed_tags": "Sammenfold menuen Fulgte hashtags",

View File

@ -4,7 +4,7 @@
"about.default_locale": "Προεπιλογή",
"about.disclaimer": "Το Mastodon είναι ελεύθερο λογισμικό ανοιχτού κώδικα και εμπορικό σήμα της Mastodon gGmbH.",
"about.domain_blocks.no_reason_available": "Αιτιολογία μη διαθέσιμη",
"about.domain_blocks.preamble": "Σε γενικές γραμμές το Mastodon σού επιτρέπει να βλέπεις περιεχόμενο και να αλληλεπιδράς με χρήστες από οποιονδήποτε άλλο διακομιστή σε ένα διασυνδεδεμένο σύμπαν διακομιστών (fediverse). Ακολουθούν οι εξαιρέσεις που ισχύουν για τον συγκεκριμένο διακομιστή.",
"about.domain_blocks.preamble": "Σε γενικές γραμμές το Mastodon σου επιτρέπει να βλέπεις περιεχόμενο και να αλληλεπιδράς με χρήστες από οποιονδήποτε άλλο διακομιστή σε ένα διασυνδεδεμένο σύμπαν διακομιστών (fediverse). Ακολουθούν οι εξαιρέσεις που ισχύουν για τον συγκεκριμένο διακομιστή.",
"about.domain_blocks.silenced.explanation": "Συνήθως δε θα βλέπεις προφίλ και περιεχόμενο απ' αυτόν τον διακομιστή, εκτός αν κάνεις συγκεκριμένη αναζήτηση ή επιλέξεις να τον ακολουθήσεις.",
"about.domain_blocks.silenced.title": "Περιορισμένος",
"about.domain_blocks.suspended.explanation": "Τα δεδομένα αυτού του διακομιστή, δε θα επεξεργάζονται, δε θα αποθηκεύονται και δε θα ανταλλάσσονται, καθιστώντας οποιαδήποτε αλληλεπίδραση ή επικοινωνία με χρήστες από αυτόν το διακομιστή αδύνατη.",
@ -65,7 +65,7 @@
"account.muting": "Σίγαση",
"account.mutual": "Ακολουθείτε ο ένας τον άλλο",
"account.no_bio": "Δεν υπάρχει περιγραφή.",
"account.open_original_page": "Ανοικτό",
"account.open_original_page": "Άνοιγμα αυθεντικής σελίδας",
"account.posts": "Τουτ",
"account.posts_with_replies": "Τουτ και απαντήσεις",
"account.remove_from_followers": "Κατάργηση {name} από τους ακόλουθους",
@ -194,7 +194,7 @@
"compose.saved.body": "Η ανάρτηση αποθηκεύτηκε.",
"compose_form.direct_message_warning_learn_more": "Μάθε περισσότερα",
"compose_form.encryption_warning": "Οι δημοσιεύσεις στο Mastodon δεν είναι κρυπτογραφημένες από άκρο σε άκρο. Μη μοιράζεσαι ευαίσθητες πληροφορίες μέσω του Mastodon.",
"compose_form.hashtag_warning": "Αυτή η δημοσίευση δεν θα εμφανίζεται κάτω από οποιαδήποτε ετικέτα καθώς δεν είναι δημόσια. Μόνο οι δημόσιες δημοσιεύσεις μπορούν να αναζητηθούν με ετικέτα.",
"compose_form.hashtag_warning": "Αυτή η ανάρτηση δεν θα εμφανίζεται κάτω από οποιαδήποτε ετικέτα καθώς δεν είναι δημόσια. Μόνο οι δημόσιες αναρτήσεις μπορούν να αναζητηθούν με ετικέτα.",
"compose_form.lock_disclaimer": "Ο λογαριασμός σου δεν είναι {locked}. Οποιοσδήποτε μπορεί να σε ακολουθήσει για να δει τις δημοσιεύσεις σου προς τους ακολούθους σου.",
"compose_form.lock_disclaimer.lock": "κλειδωμένο",
"compose_form.placeholder": "Τι σκέφτεσαι;",
@ -214,13 +214,18 @@
"confirmation_modal.cancel": "Άκυρο",
"confirmations.block.confirm": "Αποκλεισμός",
"confirmations.delete.confirm": "Διαγραφή",
"confirmations.delete.message": "Σίγουρα θες να διαγράψεις αυτή τη δημοσίευση;",
"confirmations.delete.message": "Σίγουρα θες να διαγράψεις αυτή την ανάρτηση;",
"confirmations.delete.title": "Διαγραφή ανάρτησης;",
"confirmations.delete_list.confirm": "Διαγραφή",
"confirmations.delete_list.message": "Σίγουρα θες να διαγράψεις οριστικά αυτή τη λίστα;",
"confirmations.delete_list.title": "Διαγραφή λίστας;",
"confirmations.discard_draft.confirm": "Απόρριψη και συνέχεια",
"confirmations.discard_draft.edit.cancel": "Συνέχιση επεξεργασίας",
"confirmations.discard_draft.edit.message": "Συνεχίζοντας θα απορρίψει τυχόν αλλαγές που έχετε κάνει στην ανάρτηση που επεξεργάζεστε.",
"confirmations.discard_draft.edit.title": "Απόρριψη αλλαγών στην ανάρτηση σας;",
"confirmations.discard_draft.post.cancel": "Συνέχιση προχείρου",
"confirmations.discard_draft.post.message": "Συνεχίζοντας θα απορρίψει την ανάρτηση που συνθέτετε.",
"confirmations.discard_draft.post.title": "Απόρριψη της πρόχειρης ανάρτησης σας;",
"confirmations.discard_edit_media.confirm": "Απόρριψη",
"confirmations.discard_edit_media.message": "Έχεις μη αποθηκευμένες αλλαγές στην περιγραφή πολυμέσων ή στην προεπισκόπηση, απόρριψη ούτως ή άλλως;",
"confirmations.follow_to_list.confirm": "Ακολούθησε και πρόσθεσε στη λίστα",
@ -232,7 +237,7 @@
"confirmations.missing_alt_text.confirm": "Προσθήκη εναλ κειμένου",
"confirmations.missing_alt_text.message": "Η ανάρτησή σου περιέχει πολυμέσα χωρίς εναλλακτικό κείμενο. Η προσθήκη περιγραφών βοηθά να γίνει το περιεχόμενό σου προσβάσιμο σε περισσότερους ανθρώπους.",
"confirmations.missing_alt_text.secondary": "Δημοσίευση όπως και να ΄χει",
"confirmations.missing_alt_text.title": "Προσθήκη alt κειμένου;",
"confirmations.missing_alt_text.title": "Προσθήκη εναλλακτικού κειμένου;",
"confirmations.mute.confirm": "Αποσιώπηση",
"confirmations.redraft.confirm": "Διαγραφή & ξαναγράψιμο",
"confirmations.redraft.message": "Σίγουρα θέλεις να σβήσεις αυτή την ανάρτηση και να την ξαναγράψεις; Οι προτιμήσεις και προωθήσεις θα χαθούν και οι απαντήσεις στην αρχική ανάρτηση θα μείνουν ορφανές.",
@ -271,7 +276,7 @@
"domain_block_modal.you_will_lose_num_followers": "Θα χάσετε {followersCount, plural, one {{followersCountDisplay} ακόλουθο} other {{followersCountDisplay} ακόλουθους}} και {followingCount, plural, one {{followingCountDisplay} άτομο που ακολουθείτε} other {{followingCountDisplay} άτομα που ακολουθείτε}}.",
"domain_block_modal.you_will_lose_relationships": "Θα χάσετε όλους τους ακόλουθους και τα άτομα που ακολουθείτε από αυτόν τον διακομιστή.",
"domain_block_modal.you_wont_see_posts": "Δεν θα βλέπεις αναρτήσεις ή ειδοποιήσεις από χρήστες σε αυτόν το διακομιστή.",
"domain_pill.activitypub_lets_connect": "Σού επιτρέπει να συνδεθείς και να αλληλεπιδράσεις με τους ανθρώπους όχι μόνο στο Mastodon, αλλά και σε διαφορετικές κοινωνικές εφαρμογές.",
"domain_pill.activitypub_lets_connect": "Σου επιτρέπει να συνδεθείς και να αλληλεπιδράσεις με τους ανθρώπους όχι μόνο στο Mastodon, αλλά και σε διαφορετικές κοινωνικές εφαρμογές.",
"domain_pill.activitypub_like_language": "Το ActivityPub είναι σαν τη γλώσσα Mastodon μιλάει με άλλα κοινωνικά δίκτυα.",
"domain_pill.server": "Διακομιστής",
"domain_pill.their_handle": "Το πλήρες όνομα χρήστη:",
@ -317,7 +322,7 @@
"empty_column.favourited_statuses": "Δεν έχεις καμία αγαπημένη ανάρτηση ακόμα. Μόλις αγαπήσεις κάποια, θα εμφανιστεί εδώ.",
"empty_column.favourites": "Κανείς δεν έχει αγαπήσει αυτή την ανάρτηση ακόμα. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.",
"empty_column.follow_requests": "Δεν έχεις κανένα αίτημα παρακολούθησης ακόμα. Μόλις λάβεις κάποιο, θα εμφανιστεί εδώ.",
"empty_column.followed_tags": "Δεν έχετε παρακολουθήσει ακόμα καμία ετικέτα. Όταν το κάνετε, θα εμφανιστούν εδώ.",
"empty_column.followed_tags": "Δεν έχετε ακολουθήσει ακόμα καμία ετικέτα. Όταν το κάνετε, θα εμφανιστούν εδώ.",
"empty_column.hashtag": "Δεν υπάρχει ακόμα κάτι για αυτή την ετικέτα.",
"empty_column.home": "Η τοπική σου ροή είναι κενή! Πήγαινε στο {public} ή κάνε αναζήτηση για να ξεκινήσεις και να γνωρίσεις άλλους χρήστες.",
"empty_column.list": "Δεν υπάρχει τίποτα σε αυτή τη λίστα ακόμα. Όταν τα μέλη της δημοσιεύσουν νέες καταστάσεις, θα εμφανιστούν εδώ.",
@ -381,7 +386,7 @@
"follow_suggestions.similar_to_recently_followed_longer": "Παρόμοια με προφίλ που ακολούθησες πρόσφατα",
"follow_suggestions.view_all": "Εμφάνιση όλων",
"follow_suggestions.who_to_follow": "Ποιον να ακολουθήσεις",
"followed_tags": "Ετικέτες που ακολουθούνται",
"followed_tags": "Ακολουθούμενες ετικέτες",
"footer.about": "Σχετικά με",
"footer.directory": "Κατάλογος προφίλ",
"footer.get_app": "Αποκτήστε την εφαρμογή",
@ -412,7 +417,7 @@
"hashtag.mute": "Σίγαση #{hashtag}",
"hashtag.unfeature": "Να μην αναδεικνύεται στο προφίλ",
"hashtag.unfollow": "Διακοπή παρακολούθησης ετικέτας",
"hashtags.and_other": "…και {count, plural, one {}other {# ακόμη}}",
"hashtags.and_other": "…και {count, plural, other {# ακόμη}}",
"hints.profiles.followers_may_be_missing": "Μπορεί να λείπουν ακόλουθοι για αυτό το προφίλ.",
"hints.profiles.follows_may_be_missing": "Άτομα που ακολουθούνται μπορεί να λείπουν απ' αυτό το προφίλ.",
"hints.profiles.posts_may_be_missing": "Κάποιες αναρτήσεις από αυτό το προφίλ μπορεί να λείπουν.",
@ -420,7 +425,7 @@
"hints.profiles.see_more_follows": "Δες περισσότερα άτομα που ακολουθούνται στο {domain}",
"hints.profiles.see_more_posts": "Δες περισσότερες αναρτήσεις στο {domain}",
"hints.threads.replies_may_be_missing": "Απαντήσεις από άλλους διακομιστές μπορεί να λείπουν.",
"hints.threads.see_more": "Δες περισσότερες αναρτήσεις στο {domain}",
"hints.threads.see_more": "Δες περισσότερες απαντήσεις στο {domain}",
"home.column_settings.show_quotes": "Εμφάνιση παραθεμάτων",
"home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων",
"home.column_settings.show_replies": "Εμφάνιση απαντήσεων",
@ -451,7 +456,7 @@
"interaction_modal.no_account_yet": "Δεν έχεις ακόμη λογαριασμό;",
"interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή",
"interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή",
"interaction_modal.title.favourite": "Favorite {name}'s post\nΠροτίμησε την ανάρτηση της/του {name}",
"interaction_modal.title.favourite": "Αγάπησε την ανάρτηση του χρήστη {name}",
"interaction_modal.title.follow": "Ακολούθησε {name}",
"interaction_modal.title.reblog": "Ενίσχυσε την ανάρτηση του {name}",
"interaction_modal.title.reply": "Απάντηση στην ανάρτηση του {name}",
@ -463,13 +468,13 @@
"keyboard_shortcuts.back": "Μετάβαση πίσω",
"keyboard_shortcuts.blocked": "Άνοιγμα λίστας αποκλεισμένων χρηστών",
"keyboard_shortcuts.boost": "Ενίσχυση ανάρτησης",
"keyboard_shortcuts.column": "Στήλη εστίασης",
"keyboard_shortcuts.compose": "Περιοχή συγγραφής κειμένου εστίασης",
"keyboard_shortcuts.column": "Εστίαση στη στήλη",
"keyboard_shortcuts.compose": "Εστίαση στην περιοχή συγγραφής κειμένου",
"keyboard_shortcuts.description": "Περιγραφή",
"keyboard_shortcuts.direct": "για το άνοιγμα της στήλης ιδιωτικών επισημάνσεων",
"keyboard_shortcuts.down": "κίνηση προς τα κάτω στη λίστα",
"keyboard_shortcuts.enter": "Εμφάνιση ανάρτησης",
"keyboard_shortcuts.favourite": "Αγαπημένη δημοσίευση",
"keyboard_shortcuts.down": "Μετακίνηση προς τα κάτω στη λίστα",
"keyboard_shortcuts.enter": "Άνοιγμα ανάρτησης",
"keyboard_shortcuts.favourite": "Αγάπησε την ανάρτηση",
"keyboard_shortcuts.favourites": "Άνοιγμα λίστας αγαπημένων",
"keyboard_shortcuts.federated": "Άνοιγμα ροής συναλλαγών",
"keyboard_shortcuts.heading": "Συντομεύσεις πληκτρολογίου",
@ -486,13 +491,13 @@
"keyboard_shortcuts.profile": "Άνοιγμα προφίλ συγγραφέα",
"keyboard_shortcuts.reply": "Απάντηση στην ανάρτηση",
"keyboard_shortcuts.requests": "Άνοιγμα λίστας αιτημάτων ακολούθησης",
"keyboard_shortcuts.search": "Γραμμή αναζήτησης εστίασης",
"keyboard_shortcuts.search": "Εστίαση στη γραμμή αναζήτησης",
"keyboard_shortcuts.spoilers": "Εμφάνιση/απόκρυψη πεδίου CW",
"keyboard_shortcuts.start": "Άνοιγμα της στήλης \"Ας ξεκινήσουμε\"",
"keyboard_shortcuts.toggle_hidden": "Εμφάνιση/απόκρυψη κειμένου πίσω από το CW",
"keyboard_shortcuts.toggle_sensitivity": "Εμφάνιση/απόκρυψη πολυμέσων",
"keyboard_shortcuts.toot": "Δημιουργία νέας ανάρτησης",
"keyboard_shortcuts.translate": "να μεταφράσει μια δημοσίευση",
"keyboard_shortcuts.translate": "για να μεταφραστεί μια ανάρτηση",
"keyboard_shortcuts.unfocus": "Αποεστίαση του πεδίου σύνθεσης/αναζήτησης",
"keyboard_shortcuts.up": "Μετακίνηση προς τα πάνω στη λίστα",
"lightbox.close": "Κλείσιμο",
@ -555,10 +560,12 @@
"navigation_bar.favourites": "Αγαπημένα",
"navigation_bar.filters": "Αποσιωπημένες λέξεις",
"navigation_bar.follow_requests": "Αιτήματα ακολούθησης",
"navigation_bar.followed_tags": "Ετικέτες που ακολουθούνται",
"navigation_bar.followed_tags": "Ακολουθούμενες ετικέτες",
"navigation_bar.follows_and_followers": "Ακολουθείς και σε ακολουθούν",
"navigation_bar.import_export": "Εισαγωγή και εξαγωγή",
"navigation_bar.lists": "Λίστες",
"navigation_bar.live_feed_local": "Ζωντανή ροή (τοπική)",
"navigation_bar.live_feed_public": "Ζωντανή ροή (δημόσια)",
"navigation_bar.logout": "Αποσύνδεση",
"navigation_bar.moderation": "Συντονισμός",
"navigation_bar.more": "Περισσότερα",
@ -568,9 +575,9 @@
"navigation_bar.privacy_and_reach": "Ιδιωτικότητα και προσιτότητα",
"navigation_bar.search": "Αναζήτηση",
"navigation_bar.search_trends": "Αναζήτηση / Τάσεις",
"navigation_panel.collapse_followed_tags": "Σύμπτυξη μενού ετικετών που ακολουθούνται",
"navigation_panel.collapse_followed_tags": "Σύμπτυξη μενού ετικετών που ακολουθείτε",
"navigation_panel.collapse_lists": "Σύμπτυξη μενού λίστας",
"navigation_panel.expand_followed_tags": "Επέκταση μενού ετικετών που ακολουθούνται",
"navigation_panel.expand_followed_tags": "Επέκταση μενού ετικετών που ακολουθείτε",
"navigation_panel.expand_lists": "Επέκταση μενού λίστας",
"not_signed_in_indicator.not_signed_in": "Πρέπει να συνδεθείς για να αποκτήσεις πρόσβαση σε αυτόν τον πόρο.",
"notification.admin.report": "Ο/Η {name} ανέφερε τον {target}",
@ -582,11 +589,11 @@
"notification.admin.sign_up.name_and_others": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} έχουν εγγραφεί",
"notification.annual_report.message": "Το #Wrapstodon {year} σε περιμένει! Αποκάλυψε τα στιγμιότυπα της χρονιάς και αξέχαστες στιγμές σου στο Mastodon!",
"notification.annual_report.view": "Προβολή #Wrapstodon",
"notification.favourite": "{name} favorited your post\n{name} προτίμησε την ανάρτηση σου",
"notification.favourite": "{name} αγάπησε την ανάρτηση σου",
"notification.favourite.name_and_others_with_link": "{name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> αγάπησαν την ανάρτησή σου",
"notification.favourite_pm": "Ο χρήστης {name} αγάπησε την ιδιωτική σου επισήμανση",
"notification.favourite_pm.name_and_others_with_link": "Ο χρήστης {name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> αγάπησαν την ιδωτική σου επισήμανση",
"notification.follow": "Ο/Η {name} σε ακολούθησε",
"notification.follow": "Ο χρήστης {name} σε ακολούθησε",
"notification.follow.name_and_others": "Ο χρήστης {name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> σε ακολούθησαν",
"notification.follow_request": "Ο/H {name} ζήτησε να σε ακολουθήσει",
"notification.follow_request.name_and_others": "{name} και {count, plural, one {# άλλος} other {# άλλοι}} ζήτησαν να σε ακολουθήσουν",
@ -719,7 +726,7 @@
"poll_button.add_poll": "Προσθήκη δημοσκόπησης",
"poll_button.remove_poll": "Αφαίρεση δημοσκόπησης",
"privacy.change": "Προσαρμογή ιδιωτικότητας ανάρτησης",
"privacy.direct.long": "Όλοι όσοι αναφέρθηκαν στη δημοσίευση",
"privacy.direct.long": "Όλοι όσοι αναφέρθηκαν στην ανάρτηση",
"privacy.direct.short": "Ιδιωτική επισήμανση",
"privacy.private.long": "Μόνο οι ακόλουθοί σας",
"privacy.private.short": "Ακόλουθοι",
@ -797,7 +804,7 @@
"report_notification.categories.spam_sentence": "ανεπιθύμητα",
"report_notification.categories.violation": "Παραβίαση κανόνα",
"report_notification.categories.violation_sentence": "παραβίαση κανόνα",
"report_notification.open": "Ανοιχτή αναφορά",
"report_notification.open": "Άνοιγμα αναφοράς",
"search.clear": "Εκκαθάριση αναζήτησης",
"search.no_recent_searches": "Καμία πρόσφατη αναζήτηση",
"search.placeholder": "Αναζήτηση",
@ -851,7 +858,7 @@
"status.edited_x_times": "Επεξεργάστηκε {count, plural, one {{count} φορά} other {{count} φορές}}",
"status.embed": "Απόκτηση κώδικα ενσωμάτωσης",
"status.favourite": "Αγαπημένα",
"status.favourites": "{count, plural, one {# αγαπημένο} other {# αγαπημένα}}",
"status.favourites": "{count, plural, one {αγαπημένο} other {αγαπημένα}}",
"status.filter": "Φιλτράρισμα αυτής της ανάρτησης",
"status.history.created": "{name} δημιούργησε στις {date}",
"status.history.edited": "{name} επεξεργάστηκε στις {date}",
@ -876,7 +883,7 @@
"status.reblog": "Ενίσχυση",
"status.reblog_private": "Ενίσχυση με αρχική ορατότητα",
"status.reblogged_by": "{name} προώθησε",
"status.reblogs": "{count, plural, one {# ενίσχυση} other {# ενισχύσεις}}",
"status.reblogs": "{count, plural, one {ενίσχυση} other {ενισχύσεις}}",
"status.reblogs.empty": "Κανείς δεν ενίσχυσε αυτή την ανάρτηση ακόμα. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.",
"status.redraft": "Σβήσε & ξαναγράψε",
"status.remove_bookmark": "Αφαίρεση σελιδοδείκτη",
@ -888,8 +895,8 @@
"status.report": "Αναφορά @{name}",
"status.sensitive_warning": "Ευαίσθητο περιεχόμενο",
"status.share": "Κοινοποίηση",
"status.show_less_all": "Δείξε λιγότερα για όλα",
"status.show_more_all": "Δείξε περισσότερα για όλα",
"status.show_less_all": "Δείξε λιγότερο για όλες",
"status.show_more_all": "Δείξε περισσότερο για όλες",
"status.show_original": "Εμφάνιση αρχικού",
"status.title.with_attachments": "{user} δημοσίευσε {attachmentCount, plural, one {ένα συνημμένο} other {{attachmentCount} συνημμένα}}",
"status.translate": "Μετάφραση",

View File

@ -858,7 +858,7 @@
"status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} veces}}",
"status.embed": "Obtener código para insertar",
"status.favourite": "Marcar como favorito",
"status.favourites": "{count, plural, one {# vez marcado como favorito} other {# veces marcado como favorito}}",
"status.favourites": "{count, plural, one {vez marcado como favorito} other {veces marcado como favorito}}",
"status.filter": "Filtrar este mensaje",
"status.history.created": "Creado por {name}, {date}",
"status.history.edited": "Editado por {name}, {date}",

View File

@ -795,7 +795,7 @@
"report.thanks.title_actionable": "Gracias por informar, estudiaremos esto.",
"report.unfollow": "Dejar de seguir a @{name}",
"report.unfollow_explanation": "Estás siguiendo esta cuenta. Para dejar de ver sus publicaciones en tu página de inicio, deja de seguirla.",
"report_notification.attached_statuses": "{count, plural, one {{count} publicación} other {{count} publicaciones}} adjunta(s)",
"report_notification.attached_statuses": "{count, plural, one {{count} publicación adjunta} other {{count} publicaciones adjuntas}}",
"report_notification.categories.legal": "Legal",
"report_notification.categories.legal_sentence": "contenido ilegal",
"report_notification.categories.other": "Otros",

View File

@ -569,6 +569,7 @@
"notification.admin.sign_up.name_and_others": "{name} eta {count, plural, one {erabiltzaile # gehiago} other {# erabiltzaile gehiago}} erregistratu dira",
"notification.favourite": "{name}(e)k zure bidalketa gogoko du",
"notification.favourite.name_and_others_with_link": "{name} eta <a>{count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}}</a> zure bidalketa gogoko dute",
"notification.favourite_pm": "{name}-ek zure aipamen pribatua gogokoetan jarri du",
"notification.follow": "{name}(e)k jarraitzen dizu",
"notification.follow_request": "{name}(e)k zu jarraitzeko eskaera egin du",
"notification.follow_request.name_and_others": "{name} eta {count, plural, one {erabiltzaile # gehiagok} other {# erabiltzaile gehiagok}} zu jarraitzeko eskaera egin dute",
@ -902,5 +903,7 @@
"video.hide": "Ezkutatu bideoa",
"video.pause": "Pausatu",
"video.play": "Jo",
"video.unmute": "Soinua ezarri",
"video.volume_down": "Bolumena jaitsi",
"video.volume_up": "Bolumena Igo"
}

View File

@ -356,6 +356,7 @@
"hashtag.counter_by_accounts": "{count, plural, one {{counter} partisipante} other {{counter} partisipantes}}",
"hashtag.counter_by_uses": "{count, plural, one {{counter} publikasyon} other {{counter} publikasyones}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} publikasyon} other {{counter} publikasyones}} oy",
"hashtag.feature": "Avalia en profil",
"hashtag.follow": "Sige etiketa",
"hashtag.mute": "Silensia #{hashtag}",
"hashtag.unfeature": "No avalia en profil",
@ -390,6 +391,7 @@
"interaction_modal.title.reblog": "Repartaja publikasyon de {name}",
"interaction_modal.title.reply": "Arisponde a publikasyon de {name}",
"interaction_modal.title.vote": "Vota en la anketa de {name}",
"interaction_modal.username_prompt": "Por enshemplo {example}",
"intervals.full.days": "{number, plural, one {# diya} other {# diyas}}",
"intervals.full.hours": "{number, plural, one {# ora} other {# oras}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@ -442,6 +444,7 @@
"lists.delete": "Efasa lista",
"lists.done": "Fecho",
"lists.edit": "Edita lista",
"lists.list_name": "Nombre de lista",
"lists.new_list_name": "Nombre de mueva lista",
"lists.replies_policy.followed": "Kualseker utilizador segido",
"lists.replies_policy.list": "Miembros de la lista",
@ -738,6 +741,7 @@
"status.reblogs.empty": "Ainda nadie tiene repartajado esta publikasyon. Kuando algien lo aga, se amostrara aki.",
"status.redraft": "Efasa i eskrive de muevo",
"status.remove_bookmark": "Kita markador",
"status.remove_favourite": "Kita de los favoritos",
"status.replied_in_thread": "Arispondo en filo",
"status.replied_to": "Arispondio a {name}",
"status.reply": "Arisponde",
@ -758,6 +762,7 @@
"subscribed_languages.save": "Guadra trokamientos",
"subscribed_languages.target": "Troka linguas abonadas para {target}",
"tabs_bar.home": "Linya prinsipala",
"tabs_bar.menu": "Menu",
"tabs_bar.notifications": "Avizos",
"tabs_bar.publish": "Mueva publikasyon",
"tabs_bar.search": "Bushkeda",

View File

@ -4,17 +4,17 @@
"about.default_locale": "по умолчанию",
"about.disclaimer": "Mastodon — свободное программное обеспечение с открытым исходным кодом и торговая марка Mastodon gGmbH.",
"about.domain_blocks.no_reason_available": "Причина не указана",
"about.domain_blocks.preamble": "Mastodon обычно позволяет просматривать содержимое и взаимодействовать с пользователями любых других серверов в федивёрсе. Вот исключения, сделанные конкретно для этого сервера.",
"about.domain_blocks.silenced.explanation": "Как правило, вы не увидите профили и контент с этого сервера, если специально не будете их искать или не подпишетесь на них.",
"about.domain_blocks.preamble": "Обычно Mastodon даёт вам возможность просматривать содержимое с любых других серверов в федивёрсе и взаимодействовать с их пользователями. Вот исключения, сделанные конкретно для этого сервера:",
"about.domain_blocks.silenced.explanation": "Как правило, вы не увидите профили и содержимое с этого сервера, если только вы не запросите их с помощью поиска или не подпишетесь на пользователя с этого сервера.",
"about.domain_blocks.silenced.title": "Ограничивается",
"about.domain_blocks.suspended.explanation": "Никакие данные с этого сервера не будут обрабатываться, храниться или обмениваться, что делает невозможным любое взаимодействие или связь с пользователями с этого сервера.",
"about.domain_blocks.suspended.explanation": "Никакие данные с этого сервера не будут обрабатываться, храниться и обмениваться, что делает невозможным любое взаимодействие и связь с пользователями на этом сервере.",
"about.domain_blocks.suspended.title": "Заблокирован",
"about.language_label": "Язык",
"about.not_available": "Эта информация не указана на данном сервере.",
"about.not_available": "Администраторы сервера предпочли не раскрывать эту информацию.",
"about.powered_by": "Децентрализованная социальная сеть на базе {mastodon}",
"about.rules": "Правила сервера",
"account.account_note_header": "Личная заметка",
"account.add_or_remove_from_list": "Управление списками",
"account.add_or_remove_from_list": "Добавить в списки",
"account.badges.bot": "Бот",
"account.badges.group": "Группа",
"account.block": "Заблокировать @{name}",
@ -25,10 +25,10 @@
"account.cancel_follow_request": "Отозвать запрос на подписку",
"account.copy": "Копировать ссылку на профиль",
"account.direct": "Упомянуть @{name} лично",
"account.disable_notifications": "Не уведомлять о постах от @{name}",
"account.disable_notifications": "Не уведомлять о постах пользователя @{name}",
"account.domain_blocking": "Домен заблокирован",
"account.edit_profile": "Редактировать",
"account.enable_notifications": "Уведомлять о постах от @{name}",
"account.enable_notifications": "Уведомлять о постах пользователя @{name}",
"account.endorse": "Рекомендовать в профиле",
"account.familiar_followers_many": "В подписках у {name1}, {name2}, и ещё {othersCount, plural, one {# человека, которого вы знаете} other {# человек, которых вы знаете}}",
"account.familiar_followers_one": "В подписках у {name1}",
@ -36,7 +36,7 @@
"account.featured": "Рекомендации",
"account.featured.accounts": "Профили",
"account.featured.hashtags": "Хештеги",
"account.featured_tags.last_status_at": "Последний пост {date}",
"account.featured_tags.last_status_at": "Последний пост опубликован {date}",
"account.featured_tags.last_status_never": "Нет постов",
"account.follow": "Подписаться",
"account.follow_back": "Подписаться в ответ",
@ -59,7 +59,7 @@
"account.mention": "Упомянуть @{name}",
"account.moved_to": "У {name} теперь новая учётная запись:",
"account.mute": "Игнорировать @{name}",
"account.mute_notifications_short": "Отключить уведомления",
"account.mute_notifications_short": "Скрыть уведомления",
"account.mute_short": "Игнорировать",
"account.muted": "Игнорируется",
"account.muting": "Игнорируется",
@ -83,7 +83,7 @@
"account.unendorse": "Не рекомендовать в профиле",
"account.unfollow": "Отписаться",
"account.unmute": "Не игнорировать @{name}",
"account.unmute_notifications_short": "Включить уведомления",
"account.unmute_notifications_short": "Показать уведомления",
"account.unmute_short": "Не игнорировать",
"account_note.placeholder": "Текст заметки",
"admin.dashboard.daily_retention": "Уровень удержания пользователей после регистрации, в днях",
@ -129,10 +129,10 @@
"annual_report.summary.thanks": "Спасибо за то, что были вместе с Mastodon!",
"attachments_list.unprocessed": "(не обработан)",
"audio.hide": "Скрыть аудио",
"block_modal.remote_users_caveat": "Мы попросим сервер {domain} уважать ваше решение, однако соблюдение им блокировки не гарантировано, поскольку некоторые серверы могут по-разному обрабатывать запросы. Публичные посты по-прежнему могут быть видны неавторизованным пользователям.",
"block_modal.remote_users_caveat": "Мы попросим сервер {domain} уважать ваше решение, однако нельзя гарантировать, что он будет соблюдать блокировку, поскольку некоторые серверы могут по-разному обрабатывать запросы. Публичные посты по-прежнему могут быть видны неавторизованным пользователям.",
"block_modal.show_less": "Показать меньше",
"block_modal.show_more": "Показать больше",
"block_modal.they_cant_mention": "Он не сможет упоминать вас или подписаться на вас.",
"block_modal.they_cant_mention": "Он не сможет ни упоминать вас, ни подписаться на вас.",
"block_modal.they_cant_see_posts": "Он не сможет видеть ваши посты, а вы не будете видеть его посты.",
"block_modal.they_will_know": "Он будет знать, что вы его блокируете.",
"block_modal.title": "Заблокировать пользователя?",
@ -141,21 +141,21 @@
"boost_modal.reblog": "Продвинуть пост?",
"boost_modal.undo_reblog": "Отменить продвижение?",
"bundle_column_error.copy_stacktrace": "Копировать отчёт об ошибке",
"bundle_column_error.error.body": "Запрошенная страница не может быть отображена. Это может быть вызвано ошибкой в нашем коде или проблемой совместимости браузера.",
"bundle_column_error.error.body": "Запрошенная страница не может быть отображена. Это могло произойти из-за ошибки в нашем коде или из-за проблемы совместимости браузера.",
"bundle_column_error.error.title": "О нет!",
"bundle_column_error.network.body": "При загрузке этой страницы произошла ошибка. Это может быть вызвано временными проблемами с вашим подключением к интернету или ошибкой на сервере.",
"bundle_column_error.network.body": "При загрузке этой страницы произошла ошибка. Она могла быть вызвана временными проблемами либо с вашим подключением к интернету, либо с этим сервером.",
"bundle_column_error.network.title": "Ошибка сети",
"bundle_column_error.retry": "Попробовать снова",
"bundle_column_error.return": "Вернуться на главную",
"bundle_column_error.routing.body": "Запрошенная страница не найдена. Вы уверены, что в адресной строке указан правильный URL?",
"bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Закрыть",
"bundle_modal_error.message": "Что-то пошло не так при загрузке этой страницы.",
"bundle_modal_error.message": "Което пошло не так при загрузке этой страницы.",
"bundle_modal_error.retry": "Попробовать снова",
"closed_registrations.other_server_instructions": "Поскольку Mastodon децентрализован, вы можете зарегистрироваться на другом сервере и всё равно взаимодействовать с этим сервером.",
"closed_registrations.other_server_instructions": "Благодаря тому что Mastodon децентрализован, вы можете взаимодействовать с этим сервером, даже если зарегистрируетесь на другом сервере.",
"closed_registrations_modal.description": "Зарегистрироваться на {domain} сейчас не выйдет, но имейте в виду, что вам не нужна учётная запись именно на {domain}, чтобы использовать Mastodon.",
"closed_registrations_modal.find_another_server": "Найти другой сервер",
"closed_registrations_modal.preamble": "Mastodon децентрализован, поэтому независимо от того, где именно вы зарегистрируетесь, вы сможете подписываться и взаимодействовать с кем угодно на этом сервере. Вы даже можете создать свой собственный сервер!",
"closed_registrations_modal.preamble": "Mastodon децентрализован, поэтому независимо от того, где именно вы зарегистрируетесь, вы сможете подписываться на кого угодно и взаимодействовать с кем угодно на этом сервере. Вы даже можете создать свой собственный сервер!",
"closed_registrations_modal.title": "Регистрация в Mastodon",
"column.about": "О проекте",
"column.blocks": "Заблокированные пользователи",
@ -170,7 +170,7 @@
"column.firehose": "Живая лента",
"column.follow_requests": "Запросы на подписку",
"column.home": "Главная",
"column.list_members": "Добавить или удалить из списка",
"column.list_members": "Пользователи в списке",
"column.lists": "Списки",
"column.mutes": "Игнорируемые пользователи",
"column.notifications": "Уведомления",
@ -240,7 +240,7 @@
"confirmations.missing_alt_text.title": "Добавить альтернативный текст?",
"confirmations.mute.confirm": "Игнорировать",
"confirmations.redraft.confirm": "Удалить и исправить",
"confirmations.redraft.message": "Вы уверены, что хотите удалить этот пост и создать его заново? Взаимодействия, такие как добавление в избранное или продвижение, будут потеряны, а ответы к оригинальному посту перестанут на него ссылаться.",
"confirmations.redraft.message": "Вы уверены, что хотите удалить этот пост и создать его заново? Взаимодействия, такие как добавление в избранное и продвижение, будут потеряны, а ответы к оригинальному посту перестанут на него ссылаться.",
"confirmations.redraft.title": "Удалить и создать пост заново?",
"confirmations.remove_from_followers.confirm": "Убрать подписчика",
"confirmations.remove_from_followers.message": "Пользователь {name} перестанет быть подписан на вас. Продолжить?",
@ -275,9 +275,9 @@
"domain_block_modal.title": "Заблокировать домен?",
"domain_block_modal.you_will_lose_num_followers": "Вы потеряете {followersCount, plural, one {{followersCountDisplay} подписчика} few {{followersCountDisplay} подписчика} other {{followersCountDisplay} подписчиков}} и {followingCount, plural, one {{followingCountDisplay} подписку} few {{followingCountDisplay} подписки} other {{followingCountDisplay} подписок}}.",
"domain_block_modal.you_will_lose_relationships": "Вы потеряете все подписки и всех подписчиков с этого сервера.",
"domain_block_modal.you_wont_see_posts": "Вы не будете видеть посты или уведомления от пользователей с этого сервера.",
"domain_block_modal.you_wont_see_posts": "Вы не будете видеть посты и уведомления от пользователей с этого сервера.",
"domain_pill.activitypub_lets_connect": "Благодаря ему вы можете связываться и взаимодействовать не только с пользователями Mastodon, но и с пользователями других платформ.",
"domain_pill.activitypub_like_language": "ActivityPub это язык, на котором Mastodon говорит с другими социальными сетями.",
"domain_pill.activitypub_like_language": "ActivityPub это язык, на котором Mastodon говорит с другими социальными сетями.",
"domain_pill.server": "Сервер",
"domain_pill.their_handle": "Адрес пользователя:",
"domain_pill.their_server": "Цифровой дом пользователя, где находятся все его посты.",
@ -319,7 +319,7 @@
"empty_column.direct": "Вы ещё не упоминали кого-либо и сами не были ни разу упомянуты лично. Все личные упоминания будут показаны здесь.",
"empty_column.domain_blocks": "Заблокированных доменов пока нет.",
"empty_column.explore_statuses": "Сейчас нет популярных постов. Проверьте позже!",
"empty_column.favourited_statuses": "Вы ещё не добавили ни один пост в избранное. Все добавленные вами в избранное посты будут показаны здесь.",
"empty_column.favourited_statuses": "Вы ещё не добавили ни одного поста в избранное. Все добавленные вами в избранное посты будут показаны здесь.",
"empty_column.favourites": "Никто ещё не добавил этот пост в избранное. Все пользователи, добавившие этот пост в избранное, будут показаны здесь.",
"empty_column.follow_requests": "Вам ещё не приходили запросы на подписку. Все новые запросы будут показаны здесь.",
"empty_column.followed_tags": "Вы ещё не подписались ни на один хештег. Все хештеги, на которые вы подписаны, будут показаны здесь.",
@ -346,7 +346,7 @@
"featured_carousel.post": "Пост",
"featured_carousel.previous": "Предыдущий",
"featured_carousel.slide": "{index} из {total}",
"filter_modal.added.context_mismatch_explanation": "Этот фильтр не применяется в том контексте, в котором вы видели этот пост. Если вы хотите, чтобы пост был отфильтрован в этом контексте, необходимо редактировать фильтр.",
"filter_modal.added.context_mismatch_explanation": "Этот фильтр не применяется в том контексте, в котором вы видели этот пост. Если вы хотите, чтобы пост был отфильтрован в текущем контексте, необходимо редактировать фильтр.",
"filter_modal.added.context_mismatch_title": "Несоответствие контекста!",
"filter_modal.added.expired_explanation": "Этот фильтр истёк. Чтобы он был применён, вам нужно изменить срок действия фильтра.",
"filter_modal.added.expired_title": "Истёкший фильтр!",
@ -413,18 +413,18 @@
"hashtag.counter_by_uses": "{count, plural, one {{counter} пост} few {{counter} поста} other {{counter} постов}}",
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} пост} few {{counter} поста} other {{counter} постов}} сегодня",
"hashtag.feature": "Рекомендовать в профиле",
"hashtag.follow": "Подписаться на новые посты",
"hashtag.follow": "Подписаться на хештег",
"hashtag.mute": "Игнорировать #{hashtag}",
"hashtag.unfeature": "Не рекомендовать в профиле",
"hashtag.unfollow": "Отписаться от новых постов",
"hashtag.unfollow": "Отписаться от хештега",
"hashtags.and_other": "…и {count, plural, other {ещё #}}",
"hints.profiles.followers_may_be_missing": "Некоторые подписчики этого профиля могут отсутствовать.",
"hints.profiles.follows_may_be_missing": "Некоторые подписки этого профиля могут отсутствовать.",
"hints.profiles.posts_may_be_missing": "Некоторые посты в этом профиле могут отсутствовать.",
"hints.profiles.followers_may_be_missing": "Некоторые подписчики этого профиля могут здесь отсутствовать.",
"hints.profiles.follows_may_be_missing": "Некоторые подписки этого профиля могут здесь отсутствовать.",
"hints.profiles.posts_may_be_missing": "Некоторые посты в этом профиле могут здесь отсутствовать.",
"hints.profiles.see_more_followers": "Перейдите на {domain}, чтобы увидеть всех подписчиков",
"hints.profiles.see_more_follows": "Перейдите на {domain}, чтобы увидеть все подписки",
"hints.profiles.see_more_posts": "Перейдите на {domain}, чтобы увидеть все посты",
"hints.threads.replies_may_be_missing": "Некоторые ответы с других серверов могут отсутствовать.",
"hints.threads.replies_may_be_missing": "Некоторые ответы с других серверов могут здесь отсутствовать.",
"hints.threads.see_more": "Перейдите на {domain}, чтобы увидеть все ответы",
"home.column_settings.show_quotes": "Показывать цитирования",
"home.column_settings.show_reblogs": "Показывать продвижения",
@ -466,7 +466,7 @@
"intervals.full.hours": "{number, plural, one {# час} few {# часа} other {# часов}}",
"intervals.full.minutes": "{number, plural, one {# минута} few {# минуты} other {# минут}}",
"keyboard_shortcuts.back": "перейти назад",
"keyboard_shortcuts.blocked": "открыть список заблокированных",
"keyboard_shortcuts.blocked": "открыть список заблокированных пользователей",
"keyboard_shortcuts.boost": "продвинуть пост",
"keyboard_shortcuts.column": "фокус на одном из столбцов",
"keyboard_shortcuts.compose": "фокус на поле ввода",
@ -483,7 +483,7 @@
"keyboard_shortcuts.legend": "показать эту справку",
"keyboard_shortcuts.local": "перейти к локальной ленте",
"keyboard_shortcuts.mention": "упомянуть автора поста",
"keyboard_shortcuts.muted": "открыть список игнорируемых",
"keyboard_shortcuts.muted": "открыть список игнорируемых пользователей",
"keyboard_shortcuts.my_profile": "перейти к своему профилю",
"keyboard_shortcuts.notifications": "перейти к уведомлениям",
"keyboard_shortcuts.open_media": "открыть медиа",
@ -546,7 +546,7 @@
"mute_modal.they_can_mention_and_follow": "Он сможет упоминать вас и подписаться на вас, но вы этого не увидите.",
"mute_modal.they_wont_know": "Он не будет знать, что вы его игнорируете.",
"mute_modal.title": "Игнорировать пользователя?",
"mute_modal.you_wont_see_mentions": "Вы не увидите посты, которые его упоминают.",
"mute_modal.you_wont_see_mentions": "Вы не будете видеть посты, упоминающие его.",
"mute_modal.you_wont_see_posts": "Он по-прежнему сможет видеть ваши посты, но вы не будете видеть его посты.",
"navigation_bar.about": "О проекте",
"navigation_bar.account_settings": "Пароль и безопасность",
@ -607,9 +607,9 @@
"notification.moderation_warning": "Модераторы вынесли вам предупреждение",
"notification.moderation_warning.action_delete_statuses": "Некоторые ваши посты были удалены.",
"notification.moderation_warning.action_disable": "Ваша учётная запись была отключена.",
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Некоторые ваши посты были отмечены как контент деликатного характера.",
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Некоторые ваши посты были отмечены как содержимое деликатного характера.",
"notification.moderation_warning.action_none": "Модераторы вынесли вам предупреждение.",
"notification.moderation_warning.action_sensitive": "С этого момента все ваши новые посты будут отмечены как контент деликатного характера.",
"notification.moderation_warning.action_sensitive": "С этого момента все ваши новые посты будут отмечены как содержимое деликатного характера.",
"notification.moderation_warning.action_silence": "Ваша учётная запись была ограничена.",
"notification.moderation_warning.action_suspend": "Ваша учётная запись была заблокирована.",
"notification.own_poll": "Ваш опрос завершился",
@ -618,9 +618,9 @@
"notification.reblog.name_and_others_with_link": "{name} и ещё <a>{count, plural, one {# пользователь} few {# пользователя} other {# пользователей}}</a> продвинули ваш пост",
"notification.relationships_severance_event": "Разорвана связь с {name}",
"notification.relationships_severance_event.account_suspension": "Администратор сервера {from} заблокировал сервер {target}, поэтому вы больше не сможете получать обновления от людей с этого сервера или взаимодействовать с ними.",
"notification.relationships_severance_event.domain_block": "Администратор сервера {from} заблокировал сервер {target}, где размещены учётные записи у {followersCount} ваших подписчиков и {followingCount, plural, one {# пользователя, на которого вы подписаны} other {# пользователей, на которых вы подписаны}}.",
"notification.relationships_severance_event.domain_block": "Администратор сервера {from} заблокировал сервер {target}, где размещены учётные записи {followersCount} ваших подписчиков и {followingCount, plural, one {# пользователя, на которого вы подписаны} other {# пользователей, на которых вы подписаны}}.",
"notification.relationships_severance_event.learn_more": "Узнать больше",
"notification.relationships_severance_event.user_domain_block": "Вы заблокировали сервер {target}, где размещены учётные записи у {followersCount} ваших подписчиков и {followingCount, plural, one {# пользователя, на которого вы подписаны} other {# пользователей, на которых вы подписаны}}.",
"notification.relationships_severance_event.user_domain_block": "Вы заблокировали сервер {target}, где размещены учётные записи {followersCount} ваших подписчиков и {followingCount, plural, one {# пользователя, на которого вы подписаны} other {# пользователей, на которых вы подписаны}}.",
"notification.status": "{name} опубликовал(а) новый пост",
"notification.update": "{name} отредактировал(а) пост",
"notification_requests.accept": "Принять",

View File

@ -220,6 +220,12 @@
"confirmations.delete_list.message": "Är du säker på att du vill radera denna lista permanent?",
"confirmations.delete_list.title": "Ta bort listan?",
"confirmations.discard_draft.confirm": "Släng bort och fortsätt",
"confirmations.discard_draft.edit.cancel": "Fortsätt redigera",
"confirmations.discard_draft.edit.message": "Fortsätter du, kommer ändringarna till inlägget att förkastas.",
"confirmations.discard_draft.edit.title": "Vill du förkasta ändringarna i inlägget?",
"confirmations.discard_draft.post.cancel": "Återuppta utkast",
"confirmations.discard_draft.post.message": "Fortsätter du, kommer inlägget du skriver att förkastas.",
"confirmations.discard_draft.post.title": "Vill du förkasta utkastet?",
"confirmations.discard_edit_media.confirm": "Kasta",
"confirmations.discard_edit_media.message": "Du har osparade ändringar till mediabeskrivningen eller förhandsgranskningen, kasta bort dem ändå?",
"confirmations.follow_to_list.confirm": "Följ och lägg till i listan",
@ -558,6 +564,8 @@
"navigation_bar.follows_and_followers": "Följer och följare",
"navigation_bar.import_export": "Importera och exportera",
"navigation_bar.lists": "Listor",
"navigation_bar.live_feed_local": "Direkt flöde (lokalt)",
"navigation_bar.live_feed_public": "Direkt flöde (publikt)",
"navigation_bar.logout": "Logga ut",
"navigation_bar.moderation": "Moderering",
"navigation_bar.more": "Fler",
@ -797,6 +805,7 @@
"report_notification.categories.violation": "Regelöverträdelse",
"report_notification.categories.violation_sentence": "regelöverträdelse",
"report_notification.open": "Öppna rapport",
"search.clear": "Rensa sökning",
"search.no_recent_searches": "Inga sökningar nyligen",
"search.placeholder": "Sök",
"search.quick_action.account_search": "Profiler som matchar {x}",

View File

@ -98,7 +98,7 @@
"alert.rate_limited.message": "Vui lòng thử lại sau {retry_time, time, medium}.",
"alert.rate_limited.title": "Vượt giới hạn",
"alert.unexpected.message": "Đã xảy ra lỗi không mong muốn.",
"alert.unexpected.title": "Ốiii!",
"alert.unexpected.title": "Ốii!",
"alt_text_badge.title": "Văn bản thay thế",
"alt_text_modal.add_alt_text": "Thêm văn bản thay thế",
"alt_text_modal.add_text_from_image": "Thêm văn bản từ ảnh",
@ -276,7 +276,7 @@
"domain_block_modal.you_will_lose_num_followers": "Bạn sẽ mất {followersCount, plural, other {{followersCountDisplay} người theo dõi}} và {followingCount, plural, other {{followingCountDisplay} người bạn theo dõi}}.",
"domain_block_modal.you_will_lose_relationships": "Bạn sẽ mất tất cả người theo dõi và những người bạn theo dõi từ máy chủ này.",
"domain_block_modal.you_wont_see_posts": "Bạn không còn thấy tút hoặc thông báo từ thành viên máy chủ này.",
"domain_pill.activitypub_lets_connect": "Nó cho phép bạn kết nối và tương tác với mọi người không chỉ trên Mastodon mà còn trên các ứng dụng xã hội khác.",
"domain_pill.activitypub_lets_connect": "Nó cho phép bạn kết nối và tương tác với mọi người, không chỉ trên Mastodon mà còn trên các nền tảng khác.",
"domain_pill.activitypub_like_language": "ActivityPub giống như ngôn ngữ Mastodon giao tiếp với các mạng xã hội khác.",
"domain_pill.server": "Máy chủ",
"domain_pill.their_handle": "Địa chỉ Mastodon:",

View File

@ -126,6 +126,9 @@ export function createAccountFromServerJSON(serverJSON: ApiAccountJSON) {
? accountJSON.username
: accountJSON.display_name;
const accountNote =
accountJSON.note && accountJSON.note !== '<p></p>' ? accountJSON.note : '';
return AccountFactory({
...accountJSON,
moved: moved?.id,
@ -142,8 +145,8 @@ export function createAccountFromServerJSON(serverJSON: ApiAccountJSON) {
escapeTextContentForBrowser(displayName),
emojiMap,
),
note_emojified: emojify(accountJSON.note, emojiMap),
note_plain: unescapeHTML(accountJSON.note),
note_emojified: emojify(accountNote, emojiMap),
note_plain: unescapeHTML(accountNote),
url:
accountJSON.url.startsWith('http://') ||
accountJSON.url.startsWith('https://')

View File

@ -2848,7 +2848,6 @@ a.account__display-name {
&__pane {
height: 100%;
overflow: hidden;
pointer-events: none;
display: flex;
justify-content: flex-end;
min-width: 285px;
@ -2860,7 +2859,6 @@ a.account__display-name {
&__inner {
position: fixed;
width: 285px;
pointer-events: auto;
height: 100%;
}
}
@ -3874,16 +3872,18 @@ a.account__display-name {
display: flex;
align-items: center;
gap: 8px;
width: 100%;
padding: 12px;
font-size: 16px;
font-weight: 400;
padding: 12px;
text-decoration: none;
overflow: hidden;
white-space: nowrap;
border: 0;
background: transparent;
color: $secondary-text-color;
background: transparent;
border: 0;
border-left: 4px solid transparent;
box-sizing: border-box;
&:hover,
&:focus,

View File

@ -143,6 +143,10 @@ class ActivityPub::Activity
@follow_request_from_object ||= FollowRequest.find_by(target_account: @account, uri: object_uri) unless object_uri.nil?
end
def quote_request_from_object
@quote_request_from_object ||= Quote.find_by(quoted_account: @account, activity_uri: object_uri) unless object_uri.nil?
end
def follow_from_object
@follow_from_object ||= ::Follow.find_by(target_account: @account, uri: object_uri) unless object_uri.nil?
end

View File

@ -4,10 +4,13 @@ class ActivityPub::Activity::Accept < ActivityPub::Activity
def perform
return accept_follow_for_relay if relay_follow?
return accept_follow!(follow_request_from_object) unless follow_request_from_object.nil?
return accept_quote!(quote_request_from_object) unless quote_request_from_object.nil?
case @object['type']
when 'Follow'
accept_embedded_follow
when 'QuoteRequest'
accept_embedded_quote_request
end
end
@ -31,6 +34,32 @@ class ActivityPub::Activity::Accept < ActivityPub::Activity
RemoteAccountRefreshWorker.perform_async(request.target_account_id) if is_first_follow
end
def accept_embedded_quote_request
quoted_status_uri = value_or_id(@object['object'])
quoting_status_uri = value_or_id(@object['instrument'])
approval_uri = value_or_id(first_of_value(@json['result']))
return if quoted_status_uri.nil? || quoting_status_uri.nil? || approval_uri.nil?
quoting_status = status_from_uri(quoting_status_uri)
return unless quoting_status.local?
quoted_status = status_from_uri(quoted_status_uri)
return unless quoted_status.account == @account && quoting_status.quote.quoted_status == quoted_status
accept_quote!(quoting_status.quote)
end
def accept_quote!(quote)
approval_uri = value_or_id(first_of_value(@json['result']))
return if unsupported_uri_scheme?(approval_uri) || quote.quoted_account != @account || !quote.status.local?
# TODO: should this go through `ActivityPub::VerifyQuoteService`?
quote.update!(state: :accepted, approval_uri: approval_uri)
DistributionWorker.perform_async(quote.status_id, { 'update' => true })
ActivityPub::StatusUpdateDistributionWorker.perform_async(quote.status_id, { 'updated_at' => Time.now.utc.iso8601 })
end
def accept_follow_for_relay
relay.update!(state: :accepted)
end

View File

@ -5,10 +5,13 @@ class ActivityPub::Activity::Reject < ActivityPub::Activity
return reject_follow_for_relay if relay_follow?
return follow_request_from_object.reject! unless follow_request_from_object.nil?
return UnfollowService.new.call(follow_from_object.account, @account) unless follow_from_object.nil?
return reject_quote!(quote_request_from_object) unless quote_request_from_object.nil?
case @object['type']
when 'Follow'
reject_embedded_follow
when 'QuoteRequest'
reject_embedded_quote
end
end
@ -29,6 +32,28 @@ class ActivityPub::Activity::Reject < ActivityPub::Activity
relay.update!(state: :rejected)
end
def reject_embedded_quote
quoted_status_uri = value_or_id(@object['object'])
quoting_status_uri = value_or_id(@object['instrument'])
approval_uri = value_or_id(@json['instrument'])
return if quoted_status_uri.nil? || quoted_uri.nil? || approval_uri.nil?
quoting_status = status_from_uri(quoting_status_uri)
return unless quoting_status.local?
quoted_status = status_from_uri(quoted_status_uri)
return unless quoted_status.account == @account && quoting_status.quote.quoted_status == quoted_status
reject_quote!(quoting_status.quote)
end
def reject_quote!(quote)
return unless quote.quoted_account == @account && quote.status.local?
# TODO: broadcast an update?
quote.reject!
end
def relay
@relay ||= Relay.find_by(follow_activity_id: object_uri) unless object_uri.nil?
end

View File

@ -12,9 +12,7 @@ module ActivityPub::CaseTransform
when Hash then value.deep_transform_keys! { |key| camel_lower(key) }
when Symbol then camel_lower(value.to_s).to_sym
when String
camel_lower_cache[value] ||= if value.start_with?('_:')
"_:#{value.delete_prefix('_:').underscore.camelize(:lower)}"
elsif LanguagesHelper::ISO_639_1_REGIONAL.key?(value.to_sym)
camel_lower_cache[value] ||= if value.start_with?('_') || LanguagesHelper::ISO_639_1_REGIONAL.key?(value.to_sym)
value
else
value.underscore.camelize(:lower)

View File

@ -28,7 +28,7 @@ class AnnualReport::Archetype < AnnualReport::Source
end
def polls_count
@polls_count ||= report_statuses.where.not(poll_id: nil).count
@polls_count ||= report_statuses.only_polls.count
end
def reblogs_count
@ -36,7 +36,7 @@ class AnnualReport::Archetype < AnnualReport::Source
end
def replies_count
@replies_count ||= report_statuses.where.not(in_reply_to_id: nil).where.not(in_reply_to_account_id: @account.id).count
@replies_count ||= report_statuses.where.not(in_reply_to_id: nil).not_replying_to_account(@account).count
end
def standalone_count

View File

@ -18,7 +18,7 @@ class AnnualReport::CommonlyInteractedWithAccounts < AnnualReport::Source
private
def commonly_interacted_with_accounts
report_statuses.where.not(in_reply_to_account_id: @account.id).group(:in_reply_to_account_id).having(minimum_interaction_count).order(count_all: :desc).limit(SET_SIZE).count
report_statuses.not_replying_to_account(@account).group(:in_reply_to_account_id).having(minimum_interaction_count).order(count_all: :desc).limit(SET_SIZE).count
end
def minimum_interaction_count

View File

@ -2,20 +2,44 @@
class AnnualReport::TopStatuses < AnnualReport::Source
def generate
top_reblogs = base_scope.order(reblogs_count: :desc).first&.id
top_favourites = base_scope.where.not(id: top_reblogs).order(favourites_count: :desc).first&.id
top_replies = base_scope.where.not(id: [top_reblogs, top_favourites]).order(replies_count: :desc).first&.id
{
top_statuses: {
by_reblogs: top_reblogs&.to_s,
by_favourites: top_favourites&.to_s,
by_replies: top_replies&.to_s,
by_reblogs: status_identifier(most_reblogged_status),
by_favourites: status_identifier(most_favourited_status),
by_replies: status_identifier(most_replied_status),
},
}
end
private
def status_identifier(status)
status.id.to_s if status.present?
end
def most_reblogged_status
base_scope
.order(reblogs_count: :desc)
.first
end
def most_favourited_status
base_scope
.excluding(most_reblogged_status)
.order(favourites_count: :desc)
.first
end
def most_replied_status
base_scope
.excluding(most_reblogged_status, most_favourited_status)
.order(replies_count: :desc)
.first
end
def base_scope
report_statuses.public_visibility.joins(:status_stat)
report_statuses
.public_visibility
.joins(:status_stat)
end
end

View File

@ -6,7 +6,7 @@ class AnnualReport::TypeDistribution < AnnualReport::Source
type_distribution: {
total: report_statuses.count,
reblogs: report_statuses.only_reblogs.count,
replies: report_statuses.where.not(in_reply_to_id: nil).where.not(in_reply_to_account_id: @account.id).count,
replies: report_statuses.where.not(in_reply_to_id: nil).not_replying_to_account(@account).count,
standalone: report_statuses.without_replies.without_reblogs.count,
},
}

View File

@ -161,7 +161,7 @@ class AccountStatusesCleanupPolicy < ApplicationRecord
end
def without_poll_scope
Status.where(poll_id: nil)
Status.without_polls
end
def without_popular_scope

View File

@ -3,10 +3,12 @@
module Account::AttributionDomains
extend ActiveSupport::Concern
ATTRIBUTION_DOMAINS_LIMIT = 100
included do
normalizes :attribution_domains, with: ->(arr) { arr.filter_map { |str| str.to_s.strip.delete_prefix('http://').delete_prefix('https://').delete_prefix('*.').presence }.uniq }
validates :attribution_domains, domain: true, length: { maximum: 100 }, if: -> { local? && will_save_change_to_attribution_domains? }
validates :attribution_domains, domain: true, length: { maximum: ATTRIBUTION_DOMAINS_LIMIT }, if: -> { local? && will_save_change_to_attribution_domains? }
end
def can_be_attributed_from?(domain)

View File

@ -10,12 +10,6 @@ module DatabaseViewRecord
concurrently: true,
cascade: false
)
rescue ActiveRecord::StatementInvalid
Scenic.database.refresh_materialized_view(
table_name,
concurrently: false,
cascade: false
)
end
end

View File

@ -4,14 +4,8 @@ module FollowLimitable
extend ActiveSupport::Concern
included do
validates_with FollowLimitValidator, on: :create, unless: :bypass_follow_limit?
end
validates_with FollowLimitValidator, on: :create, unless: :bypass_follow_limit
def bypass_follow_limit=(value)
@bypass_follow_limit = value
end
def bypass_follow_limit?
@bypass_follow_limit
attribute :bypass_follow_limit, :boolean, default: false
end
end

View File

@ -17,12 +17,14 @@ class CustomFilterStatus < ApplicationRecord
belongs_to :custom_filter
belongs_to :status
validates :status, uniqueness: { scope: :custom_filter }
validate :validate_status_access
validates :status_id, uniqueness: { scope: :custom_filter_id }
validate :validate_status_access, if: [:custom_filter_account, :status]
delegate :account, to: :custom_filter, prefix: true, allow_nil: true
private
def validate_status_access
errors.add(:status_id, :invalid) unless StatusPolicy.new(custom_filter.account, status).show?
errors.add(:status_id, :invalid) unless StatusPolicy.new(custom_filter_account, status).show?
end
end

View File

@ -14,7 +14,7 @@ class FollowRecommendationMute < ApplicationRecord
belongs_to :account
belongs_to :target_account, class_name: 'Account'
validates :target_account, uniqueness: { scope: :account_id }
validates :target_account_id, uniqueness: { scope: :account_id }
after_commit :invalidate_follow_recommendations_cache

View File

@ -31,7 +31,7 @@ class Quote < ApplicationRecord
belongs_to :quoted_account, class_name: 'Account', optional: true
before_validation :set_accounts
before_validation :set_activity_uri, only: :create, if: -> { account.local? && quoted_account&.remote? }
validates :activity_uri, presence: true, if: -> { account.local? && quoted_account&.remote? }
validate :validate_visibility
@ -69,4 +69,8 @@ class Quote < ApplicationRecord
errors.add(:quoted_status_id, :visibility_mismatch)
end
def set_activity_uri
self.activity_uri = [ActivityPub::TagManager.instance.uri_for(account), '/quote_requests/', SecureRandom.uuid].join
end
end

View File

@ -121,7 +121,10 @@ class Status < ApplicationRecord
scope :without_replies, -> { not_reply.or(reply_to_account) }
scope :not_reply, -> { where(reply: false) }
scope :only_reblogs, -> { where.not(reblog_of_id: nil) }
scope :only_polls, -> { where.not(poll_id: nil) }
scope :without_polls, -> { where(poll_id: nil) }
scope :reply_to_account, -> { where(arel_table[:in_reply_to_account_id].eq arel_table[:account_id]) }
scope :not_replying_to_account, ->(account) { where.not(in_reply_to_account: account) }
scope :without_reblogs, -> { where(statuses: { reblog_of_id: nil }) }
scope :tagged_with, ->(tag_ids) { joins(:statuses_tags).where(statuses_tags: { tag_id: tag_ids }) }
scope :not_excluded_by_account, ->(account) { where.not(account_id: account.excluded_from_timeline_account_ids) }

View File

@ -90,6 +90,7 @@ class User < ApplicationRecord
has_many :applications, class_name: 'Doorkeeper::Application', as: :owner, dependent: nil
has_many :backups, inverse_of: :user, dependent: nil
has_many :invites, inverse_of: :user, dependent: nil
has_many :login_activities, inverse_of: :user, dependent: :destroy
has_many :markers, inverse_of: :user, dependent: :destroy
has_many :webauthn_credentials, dependent: :destroy
has_many :ips, class_name: 'UserIp', inverse_of: :user, dependent: nil

View File

@ -19,6 +19,11 @@ class StatusPolicy < ApplicationPolicy
end
end
# This is about requesting a quote post, not validating it
def quote?
owned? || active_mention_exists? || quote_approved_by_policy?
end
def reblog?
!requires_mention? && (!private? || owned?) && show? && !blocking_author?
end
@ -39,6 +44,14 @@ class StatusPolicy < ApplicationPolicy
private
def quote_approved_by_policy?
flattened_policy = record.quote_approval_policy | (record.quote_approval_policy >> 16)
return true if flattened_policy & (Status::QUOTE_APPROVAL_POLICY_FLAGS[:unknown] | Status::QUOTE_APPROVAL_POLICY_FLAGS[:public]) != 0
# TODO: support `:followed`
(flattened_policy & Status::QUOTE_APPROVAL_POLICY_FLAGS[:followers] != 0) && following_author?
end
def requires_mention?
record.direct_visibility? || record.limited_visibility?
end
@ -61,6 +74,16 @@ class StatusPolicy < ApplicationPolicy
end
end
def active_mention_exists?
return false if current_account.nil?
if record.active_mentions.loaded?
record.active_mentions.any? { |mention| mention.account_id == current_account.id }
else
record.active_mentions.exists?(account: current_account)
end
end
def author_blocking_domain?
return false if current_account.nil? || current_account.domain.nil?

View File

@ -3,7 +3,7 @@
class ActivityPub::NoteSerializer < ActivityPub::Serializer
include FormattingHelper
context_extensions :atom_uri, :conversation, :sensitive, :voters_count
context_extensions :atom_uri, :conversation, :sensitive, :voters_count, :quotes
attributes :id, :type, :summary,
:in_reply_to, :published, :url,
@ -30,6 +30,11 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer
attribute :voters_count, if: :poll_and_voters_count?
attribute :quote, if: :quote?
attribute :quote, key: :_misskey_quote, if: :quote?
attribute :quote, key: :quote_uri, if: :quote?
attribute :quote_authorization, if: :quote_authorization?
def id
ActivityPub::TagManager.instance.uri_for(object)
end
@ -194,6 +199,24 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer
object.preloadable_poll&.voters_count
end
def quote?
object.quote&.present?
end
def quote_authorization?
object.quote&.approval_uri.present?
end
def quote
# TODO: handle inlining self-quotes
ActivityPub::TagManager.instance.uri_for(object.quote.quoted_status)
end
def quote_authorization
# TODO: approval of local quotes may work differently, perhaps?
object.quote.approval_uri
end
class MediaAttachmentSerializer < ActivityPub::Serializer
context_extensions :blurhash, :focal_point

View File

@ -7,7 +7,7 @@ class ActivityPub::QuoteRequestSerializer < ActivityPub::Serializer
attribute :virtual_object, key: :object
def id
object.activity_uri || [ActivityPub::TagManager.instance.uri_for(object.target_account), '#quote_requests/', object.id].join
object.activity_uri
end
def type

View File

@ -5,7 +5,7 @@ class InitialStateSerializer < ActiveModel::Serializer
attributes :meta, :compose, :accounts,
:media_attachments, :settings,
:languages
:languages, :features
attribute :critical_updates_pending, if: -> { object&.role&.can?(:view_devops) && SoftwareUpdate.check_enabled? }
@ -85,6 +85,10 @@ class InitialStateSerializer < ActiveModel::Serializer
LanguagesHelper::SUPPORTED_LOCALES.map { |(key, value)| [key, value[0], value[1]] }
end
def features
Mastodon::Feature.enabled_features
end
private
def default_meta_store

View File

@ -66,6 +66,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
update_interaction_policies!
update_poll!(allow_significant_changes: false)
queue_poll_notifications!
update_quote_approval!
update_counts!
end
end
@ -270,6 +271,23 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
end
end
# This method is only concerned with approval and skips other meaningful changes,
# as it is used instead of `update_quote!` in implicit updates
def update_quote_approval!
quote_uri = @status_parser.quote_uri
return unless quote_uri.present? && @status.quote.present?
quote = @status.quote
return if quote.quoted_status.present? && ActivityPub::TagManager.instance.uri_for(quote.quoted_status) != quote_uri
approval_uri = @status_parser.quote_approval_uri
approval_uri = nil if unsupported_uri_scheme?(approval_uri)
quote.update(approval_uri: approval_uri, state: :pending, legacy: @status_parser.legacy_quote?) if quote.approval_uri != @status_parser.quote_approval_uri
fetch_and_verify_quote!(quote, quote_uri)
end
def update_quote!
quote_uri = @status_parser.quote_uri

View File

@ -96,13 +96,11 @@ class PostStatusService < BaseService
# NOTE: for now this is only for convenience in testing, as we don't support the request flow nor serialize quotes in ActivityPub
# we only support incoming quotes so far
status.quote = Quote.new(quoted_status: @quoted_status)
status.quote.accept! if @status.account == @quoted_status.account || @quoted_status.active_mentions.exists?(mentions: { account_id: status.account_id })
# TODO: the following has yet to be implemented:
# - handle approval of local users (requires the interactionPolicy PR)
# - produce a QuoteAuthorization for quotes of local users
# - send a QuoteRequest for quotes of remote users
status.quote = Quote.create(quoted_status: @quoted_status, status: status)
if @quoted_status.local? && StatusPolicy.new(@status.account, @quoted_status).quote?
# TODO: produce a QuoteAuthorization
status.quote.accept!
end
end
def safeguard_mentions!(status)
@ -146,6 +144,7 @@ class PostStatusService < BaseService
DistributionWorker.perform_async(@status.id)
ActivityPub::DistributionWorker.perform_async(@status.id)
PollExpirationNotifyWorker.perform_at(@status.poll.expires_at, @status.poll.id) if @status.poll
ActivityPub::QuoteRequestWorker.perform_async(@status.quote.id) if @status.quote&.quoted_status.present? && !@status.quote&.quoted_status&.local?
end
def validate_media!

View File

@ -56,7 +56,7 @@
.fields-group
= f.input :date_of_birth,
as: :date_of_birth,
hint: t('simple_form.hints.user.date_of_birth', count: Setting.min_age.to_i),
hint: t('simple_form.hints.user.date_of_birth', count: Setting.min_age.to_i, domain: site_hostname),
required: true,
wrapper: :with_block_label

View File

@ -0,0 +1,22 @@
# frozen_string_literal: true
class ActivityPub::QuoteRequestWorker < ActivityPub::RawDistributionWorker
def perform(quote_id)
@quote = Quote.find(quote_id)
@account = @quote.account
distribute!
rescue ActiveRecord::RecordNotFound
true
end
protected
def inboxes
@inboxes ||= [@quote.quoted_account&.inbox_url].compact
end
def payload
@payload ||= Oj.dump(serialize_payload(@quote, ActivityPub::QuoteRequestSerializer, signer: @account))
end
end

View File

@ -17,10 +17,10 @@ class ActivityPub::StatusUpdateDistributionWorker < ActivityPub::DistributionWor
def activity
ActivityPub::ActivityPresenter.new(
id: [ActivityPub::TagManager.instance.uri_for(@status), '#updates/', @status.edited_at.to_i].join,
id: [ActivityPub::TagManager.instance.uri_for(@status), '#updates/', @options[:updated_at]&.to_datetime&.to_i || @status.edited_at.to_i].join,
type: 'Update',
actor: ActivityPub::TagManager.instance.uri_for(@status.account),
published: @status.edited_at,
published: @options[:updated_at]&.to_datetime || @status.edited_at,
to: ActivityPub::TagManager.instance.to(@status),
cc: ActivityPub::TagManager.instance.cc(@status),
virtual_object: @status

View File

@ -15,6 +15,9 @@ be:
user/invite_request:
text: Прычына
errors:
attributes:
domain:
invalid: не з’яўляецца сапраўдным даменным імем
models:
account:
attributes:
@ -37,7 +40,7 @@ be:
attributes:
account_id:
taken: ужо ў спісе
must_be_following: мусіць быць падпісаным уліковым запісам
must_be_following: мусіць быць карыстальнікам у вашых падпісках
status:
attributes:
reblog:

View File

@ -18,7 +18,7 @@ be:
link_verified_on: Права ўласнасці на гэтую спасылку праверана %{date}
nothing_here: Тут нічога няма!
pin_errors:
following: Вы павінны быць падпісаны на чалавека, якога жадаеце рэкамендаваць
following: Трэба падпісацца на чалавека, якога вы хочаце рэкамендаваць
posts:
few: Допісы
many: Допісаў
@ -28,6 +28,8 @@ be:
admin:
account_actions:
action: Выканаць дзеянне
already_silenced: Гэты ўліковы запіс ужо абмежаваны.
already_suspended: Гэты ўліковы запіс ужо прыпынены.
title: Мадэраваць %{acct}
account_moderation_notes:
create: Пакінуць нататку
@ -107,7 +109,7 @@ be:
no_role_assigned: Роля не прызначана
not_subscribed: Не падпісаны
pending: Чакае праверкі
perform_full_suspension: Выключыць
perform_full_suspension: Прыпыніць
previous_strikes: Ранейшыя скаргі
previous_strikes_description_html:
few: Гэты ўліковы запіс мае <strong>%{count}</strong> скаргі.
@ -164,7 +166,7 @@ be:
unconfirmed_email: Непацверджаны адрас эл. пошты
undo_sensitized: Прыбраць прымусовую пазнаку далікатнасці
undo_silenced: Адмяніць ліміт
undo_suspension: Разблакаваць карыстальніка
undo_suspension: Разблакіраваць карыстальніка
unsilenced_msg: З уліковага запісу %{username} зняты абмежаванні
unsubscribe: Адпісацца
unsuspended_msg: Уліковы запіс %{username} адноўлены
@ -189,7 +191,7 @@ be:
create_domain_block: Стварыць даменны блок
create_email_domain_block: Стварыць даменны блок электроннай пошты
create_ip_block: Стварыць IP правіла
create_relay: Стварыць паўтор
create_relay: Стварыць рэтранслятар
create_unavailable_domain: Стварыць недаступны Дамен
create_user_role: Стварыць ролю
demote_user: Панізіць карыстальніка
@ -201,22 +203,22 @@ be:
destroy_email_domain_block: Выдаліць даменны блок электроннай пошты
destroy_instance: Вычысціць дамен
destroy_ip_block: Выдаліць IP правіла
destroy_relay: Выдаліць паўтор
destroy_relay: Выдаліць рэтранслятар
destroy_status: Выдаліць допіс
destroy_unavailable_domain: Выдаліць недаступны дамен
destroy_user_role: Выдаліць ролю
disable_2fa_user: Адключыць двухэтапнае спраўджанне
disable_custom_emoji: Адключыць адвольныя эмодзі
disable_relay: Выключыць паўтор
disable_relay: Выключыць рэтранслятар
disable_sign_in_token_auth_user: Адключыць аўтарызацыю праз электронную пошту для карыстальніка
disable_user: Адключыць карыстальніка
enable_custom_emoji: Уключыць адвольныя эмодзі
enable_relay: Уключыць паўтор
enable_relay: Уключыць рэтранслятар
enable_sign_in_token_auth_user: Уключыць аўтарызацыю праз электронную пошту для карыстальніка
enable_user: Уключыць карыстальніка
memorialize_account: Запомніць уліковы запіс
promote_user: Павысіць правы Карыстальніка
publish_terms_of_service: Апублікаваць Умовы выкарыстаньня
publish_terms_of_service: Апублікаваць умовы выкарыстання
reject_appeal: Адхіліць абскарджанне
reject_user: Адмовіць карыстальніку
remove_avatar_user: Выдаліць аватар
@ -226,13 +228,13 @@ be:
resolve_report: Вырашыць скаргу
sensitive_account: Уліковы запіс прымусова пазначаны як далікатны
silence_account: Абмежаваць уліковы запіс
suspend_account: Выключыць уліковы запіс
suspend_account: Прыпыніць уліковы запіс
unassigned_report: Прыбраць прызначэнне скаргі
unblock_email_account: Разблакіраваць электронны адрас
unsensitive_account: Прымусовая пазнака далікатнасці прыбраная
unsilence_account: Уліковы запіс больш не абмежаваны
unsuspend_account: Аднавіць уліковы запіс
update_announcement: Абнавіць аб'яву
update_announcement: Абнавіць абяву
update_custom_emoji: Абнавіць адвольныя эмодзі
update_domain_block: Актуалізаваць блакіроўку дамена
update_ip_block: Абнавіць IP правіла
@ -254,34 +256,34 @@ be:
create_domain_block_html: "%{name} заблакіраваў дамен %{target}"
create_email_domain_block_html: "%{name} заблакіраваў дамен эл. пошты %{target}"
create_ip_block_html: "%{name} стварыў правіла для IP %{target}"
create_relay_html: "%{name} стварыў(-а) паўтор %{target}"
create_relay_html: "%{name} стварыў(-ла) рэтранслятар %{target}"
create_unavailable_domain_html: "%{name} прыпыніў дастаўку да дамена %{target}"
create_user_role_html: "%{name} зрабіў ролю %{target}"
demote_user_html: "%{name} прыбраў карыстальніка %{target}"
destroy_announcement_html: "%{name} выдаліў аб'яву %{target}"
destroy_canonical_email_block_html: "%{name} разблакіраваў эл. пошту з хэшам %{target}"
destroy_custom_emoji_html: "%{name} выдаліў(а) эмоджі %{target}"
destroy_domain_allow_html: "%{name} зняў дазвол на аб'яднанне з даменам %{target}\n"
destroy_custom_emoji_html: "%{name} выдаліў(-ла) эмодзі %{target}"
destroy_domain_allow_html: "%{name} зняў(-ла) дазвол на аб’яднанне з даменам %{target}"
destroy_domain_block_html: "%{name} разблакаваў дамен %{target}"
destroy_email_domain_block_html: "%{name} разблакіраваў дамен эл. пошты %{target}"
destroy_instance_html: "%{name} цалкам прыбраў дамен %{target}"
destroy_ip_block_html: "%{name} выдаліў правіла для IP %{target}"
destroy_relay_html: "%{name} выдаліў(-ла) паўтор %{target}"
destroy_relay_html: "%{name} выдаліў(-ла) рэтранслятар %{target}"
destroy_status_html: "%{name} выдаліў допіс %{target}"
destroy_unavailable_domain_html: "%{name} дазволіў працягнуць адпраўку на дамен %{target}"
destroy_user_role_html: "%{name} выдаліў ролю %{target}"
disable_2fa_user_html: "%{name} амяніў абавязковую двухфактарную верыфікацыю для карыстальніка %{target}"
disable_custom_emoji_html: "%{name} заблакіраваў эмодзі %{target}"
disable_relay_html: "%{name} выключыў(-ла) паўтор %{target}"
disable_relay_html: "%{name} выключыў(-ла) рэтранслятар %{target}"
disable_sign_in_token_auth_user_html: "%{name} адключыў уваход праз эл. пошту для %{target}"
disable_user_html: "%{name} адключыў уваход для карыстальніка %{target}"
enable_custom_emoji_html: "%{name} уключыў эмодзі %{target}"
enable_relay_html: "%{name} уключыў(-ла) паўтор %{target}"
enable_relay_html: "%{name} уключыў(-ла) рэтранслятар %{target}"
enable_sign_in_token_auth_user_html: "%{name} уключыў уваход праз эл. пошту для %{target}"
enable_user_html: "%{name} уключыў уваход для карыстальніка %{target}"
memorialize_account_html: Карыстальнік %{name} пераключыў уліковы запіс %{target} у старонку памяці
promote_user_html: "%{name} павысіў карыстальніка %{target}"
publish_terms_of_service_html: "%{name} апублікаваў абнаўленьне ўмоваў абслугоўваньня"
publish_terms_of_service_html: "%{name} апублікаваў(-ла) абнаўленні ва ўмовах выкарыстання"
reject_appeal_html: "%{name} адхіліў запыт на абскарджанне %{target}"
reject_user_html: "%{name} адхіліў рэгістрацыю з %{target}"
remove_avatar_user_html: "%{name} выдаліў аватар %{target}"
@ -291,13 +293,13 @@ be:
resolve_report_html: "%{name} вырашыў скаргу %{target}"
sensitive_account_html: "%{name} адзначыў медыя %{target} як далікатнае"
silence_account_html: "%{name} абмежаваў уліковы запіс %{target}"
suspend_account_html: Уліковы запіс %{target} выключаны %{name}
suspend_account_html: Уліковы запіс %{target} прыпынены %{name}
unassigned_report_html: "%{name} знял(а) прызначэнне скаргі %{target}"
unblock_email_account_html: "%{name} разблакіраваў эл. пошту %{target}"
unsensitive_account_html: "%{name} зняў адзнаку далікатнае з медыя %{target}"
unsilence_account_html: "%{name} зняў ліміт з уліковага запісу %{target}"
unsuspend_account_html: Уліковы запіс %{target} адноўлены %{name}
update_announcement_html: "%{name} абнавіў аб'яву %{target}"
update_announcement_html: "%{name} абнавіў(-ла) абяву %{target}"
update_custom_emoji_html: "%{name} абнавіў эмодзі %{target}"
update_domain_block_html: "%{name} абнавіў блакіроўку дамена для %{target}"
update_ip_block_html: "%{name} змяніў правіла для IP %{target}"
@ -311,7 +313,7 @@ be:
title: Аўдыт
unavailable_instance: "(імя дамена недаступнае)"
announcements:
destroyed_msg: Аб'ява паспяхова выдалена!
destroyed_msg: Аб’ява выдалена!
edit:
title: Рэдагаваць абвестку
empty: Не знайдзена ніводнай абвесткі
@ -325,26 +327,26 @@ be:
scheduled_msg: Аб'ява запланавана да публікацыі!
title: Аб'явы
unpublish: Зняць з публікацыі
unpublished_msg: Аб'ява паспяхова схована!
updated_msg: Аб'ява паспяхова адноўлена!
unpublished_msg: Аб’ява схавана!
updated_msg: Аб’ява абноўлена!
critical_update_pending: Чакаецца абнаўленне
custom_emojis:
assign_category: Прызначыць катэгорыю
by_domain: Дамен
copied_msg: Лакальная копія эмодзі паспяхова створана
copied_msg: Створана лакальная копія эмодзі
copy: Скапіраваць
copy_failed_msg: Немагчыма зрабіць лакальную копію гэтага эмодзі
create_new_category: Стварыць новую катэгорыю
created_msg: Эмодзі паспяхова створана!
delete: Выдаліць
destroyed_msg: Смайлік паспяхова прыбраны!
destroyed_msg: Уласнае эмодзі знішчана!
disable: Адключыць
disabled: Адключана
disabled_msg: Смайлік паспяхова адключаны
emoji: Эмодзі
enable: Уключыць
enabled: Уключана
enabled_msg: Смайлік паспяхова ўключаны
enabled_msg: Эмодзі паспяхова ўключана
image_hint: PNG або GIF да %{size}
list: Паказваць
listed: Паказваецца
@ -423,7 +425,7 @@ be:
domain: Дамен
edit: Рэдагаваць блакіраванне дамену
existing_domain_block: Вы ўжо налажылі стражэйшыя абмежаванні на %{name}.
existing_domain_block_html: Вы ўжо налажылі стражэйшыя абмежаванні на %{name}, спачатку вам неабходна <a href="%{unblock_url}">разблакаваць гэты акаўнт</a>.
existing_domain_block_html: Вы ўжо наклалі больш строгія абмежаванні на %{name}, спачатку вам трэба <a href="%{unblock_url}">разблакіраваць гэты ўліковы запіс</a>.
export: Экспарт
import: Імпарт
new:
@ -433,7 +435,7 @@ be:
desc_html: "<strong>Абмежаванне</strong> зробіць допісы людзей з гэтага дамену нябачнымі для тых, хто на іх не падпісаны. <strong>Выключэнне</strong> выдаліць усё змесціва, медыя і даныя профіляў дамену з вашага серверу. <strong>«Нічога»</strong> проста адхіліць медыя файлы."
noop: Пуста
silence: Абмежаваць
suspend: Выключыць
suspend: Прыпыніць
title: Новы блок дамену
no_domain_block_selected: Блакіроўкі даменаў не былі змененыя, таму што ні адзін з іх не быў выбраны
not_permitted: Вам забаронена выконваць гэта дзеянне
@ -478,7 +480,7 @@ be:
no_file: Файл не выбраны
export_domain_blocks:
import:
description_html: Вы збіраецеся імпартаваць спіс даменных блокаў. Калі ласка, праглядзіце гэты спіс вельмі ўважліва, асабліва калі вы асабіста не з'яўляецеся аўтарам гэтага спісу.
description_html: Вы збіраецеся імпартаваць спіс даменных блокаў. Праглядзіце гэты спіс вельмі ўважліва, асабліва калі вы асабіста не з’яўляецеся аўтарам гэтага спіса.
existing_relationships_warning: Наяўныя зносіны
private_comment_description_html: 'Каб дапамагчы вам адсочваць, адкуль паходзяць імпартаваныя блокі, імпартаваныя блокі будуць створаны з наступным прыватным каментарыем: <q>%{comment}</q>'
private_comment_template: Імпартавана з %{source} %{date}
@ -487,6 +489,26 @@ be:
new:
title: Імпарт блакіровак дамену
no_file: Файл не выбраны
fasp:
debug:
callbacks:
delete: Выдаліць
ip: IP-адрас
providers:
active: Актыўны
base_url: Базавы URL-адрас
delete: Выдаліць
edit: Рэдагаваць пастаўшчыка
finish_registration: Завяршыць рэгістрацыю
name: Назва
providers: Пастаўшчыкі
public_key_fingerprint: Лічбавы адбітак публічнага ключа
registrations:
confirm: Пацвердзіць
reject: Адхіліць
save: Захаваць
sign_in: Увайсці
title: FASP
follow_recommendations:
description_html: "<strong>Рэкамендацыі падпісак, дапамогаюць новым карыстальнікам хутка знайсці цікавы кантэнт</strong>. Калі карыстальнік недастаткова ўзаемадзейнічаў з іншымі, каб сфарміраваць персанальныя рэкамендацыі прытрымлівацца, замест гэтага рэкамендуюцца гэтыя ўліковыя запісы. Яны штодзённа пераразлічваюцца з сумесі ўліковых запісаў з самымі апошнімі ўзаемадзеяннямі і найбольшай колькасцю мясцовых падпісчыкаў для дадзенай мовы."
language: Для мовы
@ -527,7 +549,7 @@ be:
reject_media: Адхіліць мультымедыя
reject_reports: Адхіліць справаздачы
silence: Ліміт
suspend: Выключыць
suspend: Прыпыніць
policy: Палітыка
reason: Публічная прычына
title: Палітыкі кантэнту
@ -561,6 +583,11 @@ be:
all: Усе
limited: Абмежаваныя
title: Мадэрацыя
moderation_notes:
create: Дадаць нататку мадэратара
created_msg: Нататка мадэратара для экзэмпляра сервера створана!
destroyed_msg: Нататка мадэратара экзэмпляра сервера выдалена!
title: Нататкі мадэратараў
private_comment: Прыватны каментарый
public_comment: Публічны каментарый
purge: Ачысціць
@ -601,7 +628,7 @@ be:
relays:
add_new: Дадаць новы рэтранслятар
delete: Выдаліць
description_html: "<strong>Федэрацыйны рэтранслятар</strong> - гэта прамежкавы сервер, які абменьваецца вялікімі аб'ёмамі публічных паведамленняў паміж серверамі, якія падпісваюцца і публікуюць на ім. <strong>Гэта можа дапамагчы малым і сярэднім серверам выяўляць кантэнт з fediverse</strong>, для чаго лакальным карыстальнікам у адваротным выпадку трэба было б уручную сачыць за іншымі людзьмі на аддаленых серверах."
description_html: "<strong>Федэрацыйны рэтранслятар</strong> - гэта прамежкавы сервер, які абменьваецца вялікімі абёмамі публічных паведамленняў паміж серверамі, якія падпісваюцца і робяць публікацыі на ім. <strong>Гэта можа дапамагчы малым і сярэднім серверам выяўляць змесціва з fediverse</strong>, бо ў іншым выпадку лакальным карыстальнікам трэба было б уручную сачыць за іншымі людзьмі на аддаленых серверах."
disable: Адключыць
disabled: Адключана
enable: Уключыць
@ -635,11 +662,11 @@ be:
suspend_description_html: Уліковы запіс і ўсё яго змесціва будзе недаступна і ў далейшым выдалены, узаемадзеянне з ім будзе немагчыма. Магчыма адмяніць на працягу 30 дзён. Закрывае ўсе скаргі на гэты ўліковы запіс.
actions_description_html: Вырашыце, якія дзеянні распачаць, каб вырашыць гэтую скаргу. Калі вы прымеце меры пакарання ў дачыненні да ўліковага запісу, пра які паведамляецца, ім будзе адпраўлена апавяшчэнне па электроннай пошце, за выключэннем выпадкаў, калі выбрана катэгорыя <strong>Спам</strong>.
actions_description_remote_html: Вырашыце як паступіць з гэтай скаргай. Гэта паўплывае толькі на тое як <strong>ваш</strong> сервер звязваецца з аддалёным уліковым запісам і апрацоўвае яго кантэнт.
actions_no_posts: У гэтай скаргі няма зьвязаных паведамленьняў для выдаленьня
actions_no_posts: Да гэтай скаргі не прывязаны допісы да выдалення
add_to_report: Дадаць яшчэ дэталяў да скаргі
already_suspended_badges:
local: Ужо прыпынена на гэтым сэрвэры
remote: Ужо прыпынена на іх сэрвэры
local: Ужо прыпынена на гэтым серверы
remote: Ужо прыпынена на іх серверы
are_you_sure: Вы ўпэўнены?
assign_to_self: Прызначыць мне
assigned: Прызначаны мадэратар
@ -668,7 +695,7 @@ be:
delete: Выдаліць
placeholder: Апішыце, якія дзеянні былі зроблены, або любыя іншыя звязаныя абнаўленні...
title: Нататкі
notes_description_html: Праглядвайце і пакідайце нататкі іншым мадэратарам і сабе ў будучыні
notes_description_html: Праглядайце і пакідайце нататкі для іншых мадэратараў і сябе ў будучыні
processed_msg: 'Скарга #%{id} паспяхова апрацавана'
quick_actions_description_html: 'Выканайце хуткае дзеянне або пракруціце ўніз, каб убачыць змесціва, на якое пададзена скарга:'
remote_user_placeholder: аддалены карыстальнік з %{instance}
@ -738,12 +765,12 @@ be:
delete_user_data_description: Дазваляе карыстальнікам без затрымкі выдаляць даныя іншых карыстальнікаў
invite_users: Запрашэнне карыстальнікаў
invite_users_description: Дазваляе запрашаць новых людзей на сервер
manage_announcements: Кіраванне аб'явамі
manage_announcements_description: Дазваляе кіраваць аб'явамі на серверы
manage_announcements: Кіраванне абявамі
manage_announcements_description: Дазваляе кіраваць абявамі на серверы
manage_appeals: Кіраванне апеляцыямі
manage_appeals_description: Дазваляе карыстальнікам разглядаць апеляцыі на дзеянні мадэратара
manage_blocks: Кіраванне блакіроўкамі
manage_blocks_description: Дазваляе блакаваць пэўныя паштовыя правайдэры і IP адрасы
manage_blocks_description: Дазваляе блакіраваць пэўных пастаўшчыкоў паслуг электроннай пошты і IP адрасы
manage_custom_emojis: Кіраванне адвольнымі эмодзі
manage_custom_emojis_description: Дазваляе кіраваць адвольнымі эмодзі на серверы
manage_federation: Кіраваць федэрацыяй
@ -775,11 +802,14 @@ be:
title: Ролі
rules:
add_new: Дадаць правіла
add_translation: Дадаць пераклад
delete: Выдаліць
description_html: Большасць сцвярджаюць, што прачыталі ўмовы абслугоўвання і згаджаюцца з імі, але звычайна людзі не чытаюць іх да канца, пакуль не ўзнікне праблема. <strong>Таму зрабіце правілы вашага сервера простымі з першага погляду, прадставіўшы іх у выглядзе маркіраванага спісу.</strong> Старайцеся рабіць правілы кароткімі і простымі, але не разбіваць іх на шмат асобных пунктаў.
edit: Рэдагаваць правіла
empty: Правілы сервера яшчэ не вызначаны.
title: Правілы сервера
translation: Пераклад
translations: Пераклады
settings:
about:
manage_rules: Кіраваць правіламі сервера
@ -793,7 +823,7 @@ be:
preamble: Брэндынг вашага сервера адрознівае яго ад іншых сервераў у сетцы. Гэтая інфармацыя можа адлюстроўвацца ў розных асяроддзях, напрыклад, у вэб-інтэрфейсе Mastodon, уласных праграмах, у папярэднім праглядзе спасылак на іншых вэб-сайтах і ў праграмах абмену паведамленнямі і гэтак далей. Па гэтай прычыне лепш трымаць гэтую інфармацыю яснай, кароткай і сціслай.
title: Брэндынг
captcha_enabled:
desc_html: Гэта функцыянальнасць залежыць ад знешніх скрыптоў hCaptcha, што можа быць праблемай бяспекі і прыватнасці. Акрамя таго, <strong>гэта можа зрабіць працэс рэгістрацыі значна менш даступным для некаторых людзей, асабліва інвалідаў</strong>. Па гэтых прычынах, калі ласка, разгледзьце альтэрнатыўныя меры, такія як рэгістрацыя на аснове зацвярджэння або запрашэння.
desc_html: Гэта функцыянальнасць залежыць ад знешніх скрыптоў hCaptcha, што можа быць праблемай бяспекі і прыватнасці. Акрамя таго, <strong>гэта можыць зменшыць даступнасць працэсу рэгістрацыі для некаторых людзей (асабліва інвалідаў)</strong>. Па гэтых прычынах, разгледзьце альтэрнатыўныя меры, такія як рэгістрацыя на аснове зацвярджэння або запрашэння.
title: Патрабаваць ад новых карыстальнікаў рашэння CAPTCHA для пацверджання іх уліковага запісу
content_retention:
danger_zone: Небяспечная зона
@ -805,11 +835,12 @@ be:
discovery:
follow_recommendations: Выконвайце рэкамендацыі
preamble: Прадстаўленне цікавага кантэнту дапамагае прыцягнуць новых карыстальнікаў, якія могуць не ведаць нікога на Mastodon. Кантралюйце працу розных функцый выяўлення на вашым серверы.
privacy: Прыватнасць
profile_directory: Дырэкторыя профіляў
public_timelines: Публічная паслядоўнасць публікацый
publish_statistics: Апублікаваць статыстыку
title: Выяўленне
trends: Актуальныя
trends: Трэнды
domain_blocks:
all: Для ўсіх
disabled: Нікому
@ -854,7 +885,7 @@ be:
add_to_report: 'Дадаць да скаргі #%{id}'
remove_from_report: Выдаліць са справаздачы
report: Справаздача
contents: Зьмест
contents: Змест
deleted: Выдалены
favourites: Упадабаныя
history: Гісторыя версій
@ -863,7 +894,7 @@ be:
media:
title: Медыя
metadata: Метаданыя
no_history: Гэты пост не рэдагаваўся
no_history: Гэты допіс не рэдагаваўся
no_status_selected: Ніводная публікацыя не была зменена, бо ніводная не была выбрана
open: Адкрыць допіс
original_status: Зыходны допіс
@ -872,7 +903,7 @@ be:
status_changed: Допіс зменены
status_title: Допіс карыстальніка @%{name}
title: Допісы карыстальніка - @%{name}
trending: Папулярныя
trending: Трэндавае
view_publicly: Глядзець публічна
visibility: Бачнасць
with_media: З медыя
@ -890,13 +921,13 @@ be:
appeal_rejected: Абскарджанне адхілена
system_checks:
database_schema_check:
message_html: Ёсць незавершаныя міграцыі базы дадзеных. Калі ласка, запусціце іх, каб пераканацца, што дадатак паводзіць сябе належным чынам
message_html: Ёсць незавершаныя міграцыі базы даных. Запусціце іх, каб пераканацца, што праграма паводзіць сябе належным чынам
elasticsearch_health_red:
message_html: Кластар Elasticsearch нездаровы (чырвоны статус), функцыі пошуку недаступныя
elasticsearch_health_yellow:
message_html: Кластар Elasticsearch нездаровы (жоўты статус), магчыма, неабходна высветліць прычыну
elasticsearch_index_mismatch:
message_html: Супастаўленне індэксаў Elasticsearch састарэла. Калі ласка, выканайце каманду <code>tootctl search deploy --only=%{value}</code>
message_html: Супастаўленне індэксаў Elasticsearch састарэла. Выканайце каманду <code>tootctl search deploy --only=%{value}</code>
elasticsearch_preset:
action: Падрабязней у дакументацыі
message_html: Ваш кластар Elasticsearch мае больш за адзін вузел, але Mastodon не наладжаны на іх выкарыстанне.
@ -906,7 +937,7 @@ be:
elasticsearch_reset_chewy:
message_html: Ваш сістэмны індэкс Elasticsearch састарэлы з-за змены налад. Для яго абнаўлення выканайце каманду <code>tootctl search deploy --reset-chewy</code>.
elasticsearch_running_check:
message_html: Немагчыма падключыцца да Elasticsearch. Калі ласка, праверце, што ён запушчаны, або адключыце паўнатэкставы пошук
message_html: Немагчыма падключыцца да Elasticsearch. Праверце, што ён запушчаны, або адключыце пошук па ўсім тэксце
elasticsearch_version_check:
message_html: 'Несумяшчальная версія Elasticsearch: %{value}'
version_comparison: Elasticsearch %{running_version} выяўлены, але патрабуецца %{required_version}
@ -916,11 +947,11 @@ be:
sidekiq_process_check:
message_html: Не працуе працэс Sidekiq для %{value} чаргі. Калі ласка праверце вашу канфігурацыю Sidekiq
software_version_check:
action: Праверыць наяўнасьць абнаўленьняў
message_html: Даступна абнаўленьне Mastodon.
action: Праверыць наяўнасць абнаўленняў
message_html: Даступна абнаўленне Mastodon.
software_version_critical_check:
action: Прагледзець даступныя абнаўленні
message_html: Даступна крытычнае абнаўленне Mastodon, калі ласка, зрабіце абнаўленне як мага хутчэй.
message_html: Даступна крытычнае абнаўленне Mastodon, абнавіцеся як мага хутчэй.
software_version_patch_check:
action: Прагледзець даступныя абнаўленні
message_html: Даступна абнаўленне Mastodon з выпраўленнем памылак.
@ -932,13 +963,13 @@ be:
message_html: "<strong>Ваша сховішча не наладжана. Прыватнасць карыстальнікаў пад пагрозай.</strong>"
tags:
moderation:
not_trendable: Не ў трэндзе
not_trendable: Не можа трапіць у трэнды
not_usable: Непрыгодныя
pending_review: Чакае праверкі
review_requested: Патрабуюць прагледжвання
reviewed: Прагледжаныя
title: Стан
trendable: У трэндзе
trendable: Можа трапіць у трэнды
unreviewed: Непрагледжаныя
usable: Прыгодныя
name: Назва
@ -951,18 +982,26 @@ be:
title: Хэштэгі
updated_msg: Налады хэштэгаў паспяхова змененыя
terms_of_service:
back: Вернуцца да ўмоваў абслугоўваньня
changelog: Што зьмянілася
create: Выкарыстоўвайце свой уласны
current: Цякучы
back: Вернуцца да ўмоў выкарыстання
changelog: Што змянілася
create: Выкарыстоўвайце свой тэкст
current: Бягучыя
draft: Чарнавік
generate: Выкарыстаць шаблон
generates:
action: Зґенераваць
action: Згенерыраваць
history: Гісторыя
live: Дзейнічае
notify_users: Апавясціць карыстальнікаў
publish: Апублікаваць
published_on_html: Апублікавана %{date}
save_draft: Захаваць чарнавік
title: Умовы выкарыстання
title: Адміністрацыя
trends:
allow: Дазволіць
approved: Пацверджаны
confirm_allow: Вы ўпэўнены, што хочаце дазволіць выбраныя тэгі?
disallow: Забараніць
links:
allow: Дазволіць спасылка
@ -978,15 +1017,15 @@ be:
many: Абагулілі %{count} чалавек за апошні тыдзень
one: Абагуліў адзін чалавек за апошні тыдзень
other: Абагулілі %{count} чалавек за апошні тыдзень
title: Актуальныя спасылкі
title: Трэндавыя спасылкі
usage_comparison: Выкарыстоўвалася %{today} разоў сёння, у параўнанні з %{yesterday} учора
not_allowed_to_trend: Забаронена выходзіць у актуальныя
not_allowed_to_trend: Забаронена выходзіць у трэнды
only_allowed: Толькі дазволенае
pending_review: Чакае праверкі
preview_card_providers:
allowed: Спасылкі ад гэтага выдаўца не будуць у трэндзе
description_html: Спасылкі з гэтых даменаў часта абагульняюцца на вашым серверы. Спасылкі не трапяць у публічныя трэнды, калі дамен спасылкі не ўхвалены. Вашае ўхваленне (ці адхіленне) распаўсюдзіцца на субдамены.
rejected: Спасылкі ад гэтага выдаўца не будуць у трэнде
rejected: Спасылкі ад гэтага выдаўца не будуць у трэндзе
title: Выдаўцы
rejected: Адхілена
statuses:
@ -1002,7 +1041,7 @@ be:
many: Пашыраны або ўпадабаны %{friendly_count} разоў
one: Пашыраны або ўпадабаны %{friendly_count} раз
other: Пашыраны або ўпадабаны %{friendly_count} разоў
title: Актуальныя допісы
title: Трэндавыя допісы
tags:
current_score: Бягучы рэзультат %{score}
dashboard:
@ -1015,11 +1054,11 @@ be:
listable: Можа быць прапанавана
no_tag_selected: Ніводны тэг не быў зменены, бо ніводны не быў выбраны
not_listable: Не будзе прапанавана
not_trendable: Не з'явіцца ў трэндах
not_trendable: Не з’явіцца сярод трэндаў
not_usable: Немагчыма выкарыстаць
peaked_on_and_decaying: На піку %{date}, зараз спадае
title: Актуальныя хэштэгі
trendable: Можа з'явіцца сярод трэндаў
trendable: Можа зявіцца сярод трэндаў
trending_rank: 'Папулярнае #%{rank}'
usable: Магчыма выкарыстаць
usage_comparison: Выкарыстоўвалася %{today} разоў сёння, у параўнанні з %{yesterday} учора
@ -1029,7 +1068,7 @@ be:
one: Выкарыстаў адзін чалавек за апошні тыдзень
other: Выкарысталі %{count} чалавек за апошні тыдзень
title: Рэкамендацыі і трэнды
trending: Папулярныя
trending: Трэндавае
warning_presets:
add_new: Дадаць новы
delete: Выдаліць
@ -1070,7 +1109,7 @@ be:
none: папярэджанне
sensitive: пазначыць уліковы запіс як далікатны
silence: абмежаваць уліковы запіс
suspend: выключыць уліковы запіс
suspend: каб прыпыніць гэты ўліковы запіс
body: "%{target} абскарджвае рашэнне мадэратара %{action_taken_by} ад %{date}, якая была %{type}. Яны напісалі:"
next_steps: Вы можаце ўхваліць апеляцыю каб адмяніць рашэнне мадэратараў ці ігнараваць яе.
subject: "%{username} абскарджвае рашэнне мадэратараў на %{instance}"
@ -1090,12 +1129,12 @@ be:
new_trends:
body: 'Гэтыя элементы трэба праверыць, перш чым публікаваць:'
new_trending_links:
title: Папулярныя спасылкі
title: Трэндавыя спасылкі
new_trending_statuses:
title: Папулярныя допісы
title: Трэндавыя допісы
new_trending_tags:
title: Папулярныя хэштэгі
subject: Новае ў папулярным для разгляду %{instance}
title: Трэндавыя хэштэгі
subject: Новыя трэнды да прагляду %{instance}
aliases:
add_new: Стварыць псеўданім
created_msg: Створаны новы псеўданім. Цяпер вы можаце пачаць пераход са старога ўліковага запісу.
@ -1147,7 +1186,7 @@ be:
welcome_title: Вітаем, %{name}!
wrong_email_hint: Калі гэты адрас электроннай пошты памылковы, вы можаце змяніць яго ў наладах уліковага запісу.
delete_account: Выдаліць уліковы запіс
delete_account_html: Калі вы жадаеце выдаліць ваш уліковы запіс, можаце <a href="%{path}">працягнуць тут</a>. Ад вас будзе запатрабавана пацвярджэнне.
delete_account_html: Калі вы жадаеце выдаліць свой уліковы запіс, вы можаце <a href="%{path}">працягнуць тут</a>. Ад вас спатрэбіцца пацвярджэнне.
description:
prefix_invited_by_user: "@%{name} запрашае вас далучыцца да гэтага сервера ў Mastodon!"
prefix_sign_up: Зарэгістравацца ў Mastodon сёння!
@ -1166,7 +1205,7 @@ be:
or_log_in_with: Або ўвайсці з дапамогай
progress:
confirm: Пацвердзіць email
details: Вашы дадзеныя
details: Вашы даныя
review: Наш водгук
rules: Прыняць правілы
providers:
@ -1207,6 +1246,10 @@ be:
view_strikes: Праглядзець мінулыя папярэджанні для вашага ўліковага запісу
too_fast: Форма адпраўлена занадта хутка, паспрабуйце яшчэ раз.
use_security_key: Выкарыстаеце ключ бяспекі
author_attribution:
example_title: Прыклад тэксту
s_blog: Блог %{name}
title: Пазначэнне аўтарства
challenge:
confirm: Працягнуць
hint_html: "<strong>Парада:</strong> Мы не будзем запытваць ваш пароль зноўку на працягу наступнай гадзіны."
@ -1276,7 +1319,7 @@ be:
none: Папярэджанне
sensitive: Пазначэнне ўліковага запісу як далікатнага
silence: Абмежаванне ўліковага запісу
suspend: Выключэнне ўліковага запісу
suspend: Прыпыненне ўліковага запісу
your_appeal_approved: Ваша абскарджанне было ўхвалена
your_appeal_pending: Вы адправілі апеляцыю
your_appeal_rejected: Ваша абскарджанне было адхілена
@ -1284,6 +1327,10 @@ be:
basic_information: Асноўная інфармацыя
hint_html: "<strong>Наладзьце тое, што людзі будуць бачыць у вашым профілі і побач з вашымі паведамленнямі.</strong> Іншыя людзі з большай верагоднасцю будуць сачыць і ўзаемадзейнічаць з вамі, калі ў вас ёсць запоўнены профіль і фота профілю."
other: Іншае
emoji_styles:
auto: Аўтаматычны
native: Мясцовы
twemoji: Twemoji
errors:
'400': Запыт, які вы адправілі, памылковы або няправільны.
'403': У вас няма дазволу на прагляд гэтай старонкі.
@ -1398,10 +1445,10 @@ be:
other: Выберыце %{count} элементаў, якія адпавядаюць вашаму пошуку.
today: сёння
validation_errors:
few: Штосьці пакуль не зусім правільна! Калі ласка, праглядзіце %{count} памылкі ніжэй
many: Штосьці пакуль не зусім правільна! Калі ласка, праглядзіце %{count} памылак ніжэй
one: Штосьці пакуль не зусім правільна! Калі ласка, праглядзіце памылку ніжэй
other: Штосьці пакуль не зусім правільна! Калі ласка, праглядзіце %{count} памылак ніжэй
few: Штосьці тут пакуль не сыходзіцца! Праглядзіце %{count} памылкі ніжэй
many: Штосьці тут пакуль не сыходзіцца! Праглядзіце %{count} памылак ніжэй
one: Штосьці тут пакуль не сыходзіцца! Праглядзіце памылку ніжэй
other: Штосьці тут пакуль не сыходзіцца! Праглядзіце %{count} памылак ніжэй
imports:
errors:
empty: Пусты CSV файл
@ -1413,7 +1460,7 @@ be:
imported: Імпартавана
mismatched_types_warning: Здаецца, вы выбралі няправільны тып для гэтага імпарту, праверце яшчэ раз.
modes:
merge: Аб'яднаць
merge: Абяднаць
merge_long: Захаваць існуючыя запісы і дадаць новыя
overwrite: Перазапісаць
overwrite_long: Замяніць бягучыя запісы на новыя
@ -1489,7 +1536,7 @@ be:
unsubscribe:
action: Так, адпісацца
complete: Адпісаны
confirmation_html: Вы ўпэўнены, што жадаеце адмовіцца ад %{type} з Mastodon на дамене %{domain} на вашу электронную пошту %{email}? Вы заўсёды можаце паўторна падпісацца у <a href="%{settings_path}">наладах апавяшчэнняў па электроннай пошце</a>.
confirmation_html: Вы ўпэўнены, што жадаеце адмовіцца ад атрымання %{type} з Mastodon на дамене %{domain} на сваю электронную пошту %{email}? Вы заўсёды можаце паўторна падпісацца ў <a href="%{settings_path}">наладах апавяшчэнняў па электроннай пошце</a>.
emails:
notification_emails:
favourite: апавяшчэнні на пошту пра упадабанае
@ -1529,7 +1576,7 @@ be:
set_redirect: Задаць перанакіраванне
warning:
backreference_required: Спачатку трэба наладзіць зваротнае спасыланне новага ўліковага запісу на бягучы
before: 'Перш чым працягнуць, калі ласка, уважліва прачытайце гэтыя заўвагі:'
before: 'Перш чым працягнуць, уважліва прачытайце гэтыя заўвагі:'
cooldown: Пасля «пераезду» будзе перыяд чакання, на працягу якога вы не зможаце зноў «пераехаць»
disabled_account: Пасля гэтага ваш бягучы ўліковы запіс не будзе цалкам даступны. Аднак у вас будзе доступ да экспарту даных, а таксама да паўторнай актывацыі.
followers: Гэтае дзеянне будзе «пераносіць» усіх падпісчыкаў з бягучага ўліковага запісу на новы
@ -1642,9 +1689,9 @@ be:
title: Вы пакідаеце %{instance}.
relationships:
activity: Актыўнасць ул. запісу
confirm_follow_selected_followers: Вы ўпэўнены, што жадаеце падпісацца на выбраных падпісчыкаў?
confirm_remove_selected_followers: Вы ўпэўнены, што жадаеце выдаліць выбраных падпісчыкаў?
confirm_remove_selected_follows: Вы ўпэўнены, што жадаеце выдаліць выбраныя падпіскі?
confirm_follow_selected_followers: Вы ўпэўнены, што хочаце падпісацца на выбраных падпісчыкаў?
confirm_remove_selected_followers: Вы ўпэўнены, што хочаце выдаліць выбраных падпісчыкаў?
confirm_remove_selected_follows: Вы ўпэўнены, што хочаце выдаліць выбраныя падпіскі?
dormant: Занядбаны
follow_failure: Вы не можаце падпісацца на некаторыя акаўнты.
follow_selected_followers: Падпісацца на выбраных падпісчыкаў
@ -1674,6 +1721,7 @@ be:
scheduled_statuses:
over_daily_limit: Вы перавысілі ліміт ў %{limit} запланаваных на сёння допісаў
over_total_limit: Вы перавысілі ліміт ў %{limit} запланаваных допісаў
too_soon: дата публікацыі мусіць быць у будучыні
self_destruct:
lead_html: На жаль, дамен <strong>%{domain}</strong> зачыняецца назаўсёды. Калі ў вас быў уліковы запіс, вы не зможаце працягваць выкарыстоўваць яго, але вы ўсё яшчэ можаце запытаць рэзервовае капіраванне вашых даных.
title: Гэты сервер зачыняецца
@ -1789,10 +1837,14 @@ be:
in_reply_not_found: Здаецца, допіс, на які вы спрабуеце адказаць, не існуе.
over_character_limit: перавышаная колькасць сімвалаў у %{max}
pin_errors:
direct: Допісы, бачныя толькі згаданым карыстальнікам, не могуць быць замацаваныя
direct: Допісы, бачныя толькі згаданым карыстальнікам, нельга замацаваць
limit: Вы ўжо замацавалі максімальную колькасць допісаў
ownership: Немагчыма замацаваць чужы допіс
reblog: Немагчыма замацаваць пашырэнне
quote_policies:
followers: Падпісчыкі і згаданыя карыстальнікі
nobody: Толькі згаданыя карыстальнікі
public: Усе
title: '%{name}: "%{quote}"'
visibilities:
direct: Асабіста
@ -1845,7 +1897,7 @@ be:
tags:
does_not_match_previous_name: не супадае з папярэднім імям
terms_of_service:
title: Умовы абслугоўваньня
title: Умовы выкарыстання
themes:
contrast: Mastodon (высокі кантраст)
default: Mastodon (цёмная)
@ -1874,7 +1926,7 @@ be:
otp: Праграма аўтэнтыфікацыі
recovery_codes: Абнавіць коды аднаўлення
recovery_codes_regenerated: Новыя коды аднаўлення паспяхова створаныя
recovery_instructions_html: Калі раптам вы страціце доступ да вашага тэлефона, вы можаце скарыстацца адным з кодаў аднаўлення ніжэй каб аднавіць доступ да вашага ўліковага запісу. <strong>Захоўвайце іх у бяспечным месцы</strong>. Напрыклад, вы можаце раздрукаваць іх і захоўваць разам з іншымі важнымі дакументамі.
recovery_instructions_html: Калі раптам вы страціце доступ да свайго тэлефона, вы можаце скарыстаць адзін з кодаў аднаўлення ніжэй каб аднавіць доступ да свайго ўліковага запісу. <strong>Захоўвайце іх у бяспечным месцы</strong>. Напрыклад, вы можаце раздрукаваць іх і захоўваць разам з іншымі важнымі дакументамі.
webauthn: Ключы бяспекі
user_mailer:
appeal_approved:
@ -1895,10 +1947,10 @@ be:
title: Ваш архіў можна спампаваць
failed_2fa:
details: 'Вось падрабязнасці ўваходу:'
explanation: Хтосьці спрабаваў увайсці ў ваш уліковы запіс, але ўвёў няправільны другі фактар аўтэнтыфікацыі.
explanation: Хтосьці спрабаваў увайсці ў ваш уліковы запіс, але ўвёў няправільны часовы пароль.
further_actions_html: Калі гэта не вы, мы рэкамендуем неадкладна %{action}, бо ён можа быць скампраметаваны.
subject: Збой аўтэнтыфікацыі па другім фактары
title: Няўдалая аўтэнтыфікацыя па другім фактары
subject: Збой двухфактарнай аўтэнтыфікацыі
title: Двухфактарная аўтэнтыфікацыя не ўдалася
suspicious_sign_in:
change_password: змяніць свой пароль
details: 'Вось падрабязнасці ўваходу:'
@ -1906,6 +1958,9 @@ be:
further_actions_html: Калі гэта былі не вы, раім вам неадкладна %{action}, а таксама ўключыць двухфактарную аўтэнтыфікацыю, каб захаваць бяспеку вашага ўліковага запісу.
subject: У вас уліковы запіс зайшлі з новага IP-адрасу
title: Новы ўваход
terms_of_service_changed:
sign_off: Каманда %{domain}
title: Важнае абнаўленне
warning:
appeal: Падаць апеляцыю
appeal_description: "Калі вы лічыце гэта памылкай, вы можаце падаць апеляцыю \nсупрацоўнікам %{instance}."
@ -1936,7 +1991,7 @@ be:
none: Папярэджанне
sensitive: Уліковыя запісы, пазначаныя як далікатныя
silence: Уліковы запіс абмежаваны
suspend: Уліковы запіс выключаны
suspend: Уліковы запіс прыпынены
welcome:
apps_android_action: Спампаваць з Google Play
apps_ios_action: Спампваваць з App Store
@ -1968,9 +2023,9 @@ be:
many: "%{people} чалавек за апошнія 2 дні"
one: "%{people} чалавек за апошнія 2 дні"
other: "%{people} чалавека за апошнія 2 дні"
hashtags_subtitle: Даведайцеся што было папулярна ў апошнія 2 дні
hashtags_subtitle: Даведайцеся што было ў трэндзе за апошнія 2 дні
hashtags_title: Папулярныя хэштэгі
hashtags_view_more: Прагледзець іншыя папулярныя хэштэгі
hashtags_view_more: Прагледзець іншыя трэндавыя хэштэгі
post_action: Стварыць
post_step: Скажыце ўсім прывітанне з дапамогай тэксту, фатаграфій, відэа і апытанняў.
post_title: Стварыце свой першы допіс
@ -1983,7 +2038,7 @@ be:
follow_limit_reached: Вы не можаце падпісацца на большую колькасць людзей чым %{limit}
go_to_sso_account_settings: Перайдзіце ў налады ідэнтыфікацыі вашага ўліковага запісу
invalid_otp_token: Няправільны код двухфактарнай аўтэнтыфікацыі
otp_lost_help_html: Калі вы страцілі доступ да абодвух, вы можаце скарыстацца %{email}
otp_lost_help_html: Калі вы страцілі доступ да абодвух, вы можаце звязацца з намі праз %{email}
rate_limited: Занадта шмат спробаў аўтэнтыфікацыі, паспрабуйце пазней.
seamless_external_login: Вы ўвайшлі праз знешні сэрвіс, таму налады пароля і эл. пошты недаступныя.
signed_in_as: 'Увайшлі як:'

View File

@ -578,6 +578,12 @@ ca:
all: Totes
limited: Limitades
title: Moderació
moderation_notes:
create: Afegeix una nota de moderació
created_msg: S'ha creat la nota de moderació d'instància.
description_html: Mireu i deixeu notes per als altres moderadors i per a un mateix
destroyed_msg: S'ha esborrat la nota de moderació d'instància.
title: Notes de moderació
private_comment: Comentari privat
public_comment: Comentari públic
purge: Purga
@ -803,6 +809,8 @@ ca:
preamble: Proporciona informació detallada sobre com funciona, com es modera i com es financia el servidor.
rules_hint: Hi ha un àrea dedicada a les normes a les que s'espera que els teus usuaris s'hi adhereixin.
title: Quant a
allow_referrer_origin:
title: Permeteu que llocs externs vegin el vostre servidor de Mastodon com a font de trànsit
appearance:
preamble: Personalitza l'interfície web de Mastodon.
title: Aparença
@ -1339,6 +1347,10 @@ ca:
basic_information: Informació bàsica
hint_html: "<strong>Personalitza el que la gent veu en el teu perfil públic i a prop dels teus tuts..</strong> És més probable que altres persones et segueixin i interaccionin amb tu quan tens emplenat el teu perfil i amb la teva imatge."
other: Altres
emoji_styles:
auto: Automàtic
native: Nadiu
twemoji: Twemoji
errors:
'400': La sol·licitud que vas emetre no era vàlida o no era correcta.
'403': No tens permís per a veure aquesta pàgina.
@ -1474,6 +1486,28 @@ ca:
lists_html:
one: Esteu a punt de <strong>reemplaçar les vostres llistes</strong> amb contactes de <strong>%{filename}</strong>. S'afegirà <strong>%{count} compte</strong> a les noves llistes.
other: Esteu a punt de <strong>reemplaçar les vostres llistes</strong> amb contactes de <strong>%{filename}</strong>. S'afegiran fins a <strong>%{count} comptes</strong> a les noves llistes.
muting_html:
one: Esteu a punt de <strong>reemplaçar la vostra llista de comptes silenciats</strong> amb fins a <strong>%{count} compte</strong> de <strong>%{filename}</strong>.
other: Esteu a punt de <strong>reemplaçar la vostra llista de comptes silenciats</strong> amb fins a <strong>%{count} comptes</strong> de <strong>%{filename}</strong>.
preambles:
blocking_html:
one: Esteu a punt de <strong>blocar</strong> fins a <strong>%{count} compte</strong> de <strong>%{filename}</strong>.
other: Esteu a punt de <strong>blocar</strong> fins a <strong>%{count} comptes</strong> de <strong>%{filename}</strong>.
bookmarks_html:
one: Esteu a punt d'afegir fins a <strong>%{count} publicació</strong> de <strong>%{filename}</strong> als vostres <strong>marcadors</strong>.
other: Esteu a punt d'afegir fins a <strong>%{count} publicacions</strong> de <strong>%{filename}</strong> als vostres <strong>marcadors</strong>.
domain_blocking_html:
one: Esteu a punt de <strong>blocar</strong> fins a <strong>%{count} domini</strong> de <strong>%{filename}</strong>.
other: Esteu a punt de <strong>blocar</strong> fins a <strong>%{count} dominis</strong> de <strong>%{filename}</strong>.
following_html:
one: Esteu a punt de <strong>seguir</strong> fins a <strong>%{count} compte</strong> de <strong>%{filename}</strong>.
other: Esteu a punt de <strong>seguir</strong> fins a <strong>%{count} comptes</strong> de <strong>%{filename}</strong>.
lists_html:
one: Esteu a punt d'afegir <strong>%{count} compte</strong> de <strong>%{filename}</strong> a les vostres <strong>llistes</strong>. Es crearan noves llistes si no n'hi ha cap on afegir-lo.
other: Esteu a punt d'afegir <strong>%{count} comptes</strong> de <strong>%{filename}</strong> a les vostres <strong>llistes</strong>. Es crearan noves llistes si no n'hi ha cap on afegir-los.
muting_html:
one: Esteu a punt de <strong>silenciar</strong> fins a <strong>%{count} compte</strong> de <strong>%{filename}</strong>.
other: Esteu a punt de <strong>silenciar</strong> fins a <strong>%{count} comptes</strong> de <strong>%{filename}</strong>.
preface: Pots importar algunes les dades que has exportat des d'un altre servidor, com ara el llistat de les persones que estàs seguint o bloquejant.
recent_imports: Importacions recents
states:

View File

@ -653,7 +653,7 @@ da:
mark_as_sensitive_description_html: Medierne i det anmeldte indlæg markeres som sensitive, og en advarsel (strike) registreres mhp. eskalering ved evt. fremtidige overtrædelser fra samme konto.
other_description_html: Se flere muligheder for at kontrollere kontoens adfærd og tilpasse kommunikationen til den anmeldte konto.
resolve_description_html: Ingen foranstaltninger træffes mod den anmeldte konto, ingen advarsel (strike) registreres og anmeldelsen lukkes.
silence_description_html: Kontoen vil kun være synlig for følgerene eller dem, som manuelt slå den op, hvilket markant begrænser dens udbredelse. Kan altid omgøres. Lukker alle indrapporteringer af kontoen.
silence_description_html: Kontoen vil kun være synlig for dem, der allerede følger den eller manuelt slår den op, hvilket alvorligt begrænser dens rækkevidde. Kan altid omgøres. Lukker alle indrapporteringer af denne konto.
suspend_description_html: Kontoen inkl. alt indhold utilgængeliggøres og interaktion umuliggøres, og den slettes på et tidspunkt. Kan omgøres inden for 30 dage. Lukker alle indrapporteringer af kontoen.
actions_description_html: Afgør, hvilke foranstaltning, der skal træffes for at løse denne anmeldelse. Ved en straffende foranstaltning mod den anmeldte konto, fremsendes en e-mailnotifikation, undtagen når kategorien <strong>Spam</strong> er valgt.
actions_description_remote_html: Fastslå en nødvendig handling mhp. at løse denne anmeldelse. Dette vil kun påvirke <strong>din</strong> servers kommunikation med, og indholdshåndtering for, fjernkontoen.
@ -1266,8 +1266,8 @@ da:
user_privacy_agreement_html: Jeg accepterer <a href="%{privacy_policy_path}" target="_blank">fortrolighedspolitikken</a>
author_attribution:
example_title: Eksempeltekst
hint_html: Skriver du nyheder eller blogartikler uden for Mastodon? Styr, hvordan man bliver krediteret, når disse deles på Mastodon.
instructions: 'Sørg for, at denne kode er i artikelens HTML:'
hint_html: Skriver du nyheder eller blogartikler uden for Mastodon? Styr, hvordan du bliver krediteret, når de bliver delt på Mastodon.
instructions: 'Sørg for, at denne kode er i din artikels HTML:'
more_from_html: Flere fra %{name}
s_blog: "%{name}s blog"
then_instructions: Tilføj dernæst publikationsdomænenavnet i feltet nedenfor.
@ -1347,7 +1347,7 @@ da:
your_appeal_rejected: Din appel er afvist
edit_profile:
basic_information: Oplysninger
hint_html: "<strong>Tilpas hvad folk ser på din offentlige profil og ved siden af dine indlæg.</strong> Andre personer vil mere sandsynligt følge dig tilbage og interagere med dig, når du har en udfyldt profil og et profilbillede."
hint_html: "<strong>Tilpas, hvad folk ser på din offentlige profil og ved siden af dine indlæg.</strong> Andre personer er mere tilbøjelige til at følge dig tilbage og interagere med dig, når du har en udfyldt profil og et profilbillede."
other: Andre
emoji_styles:
auto: Auto
@ -1537,7 +1537,7 @@ da:
domain_blocking: Domæneblokeringsliste
following: Liste over fulgte
lists: Lister
muting: Tavsgørelsesliste
muting: Liste over skjulte
upload: Upload
invites:
delete: Deaktivér
@ -1718,11 +1718,11 @@ da:
hint_html: "<strong>Tilpas hvordan din profil og dine indlæg kan findes.</strong> En række funktioner i Mastodon kan hjælpe dig med at nå ud til et bredere publikum, hvis du aktiverer dem. Tjek indstillingerne herunder for at sikre, at de passer til dit brugsscenarie."
privacy: Privatliv
privacy_hint_html: Styr, hvor meget der ønskes synliggjort til gavn for andre. Folk finder interessante profiler og apps ved at tjekke andres følgere ud, samt se hvilke apps de sender fra, men dine præferencer ønskes muligvis ikke synliggjort.
reach: Udbredelse
reach: Rækkevidde
reach_hint_html: Indstil om du vil blive opdaget og fulgt af nye mennesker. Ønsker du, at dine indlæg skal vises på Udforsk-siden? Ønsker du, at andre skal se dig i deres følg-anbefalinger? Ønsker du at acceptere alle nye følgere automatisk, eller vil du have detaljeret kontrol over hver og en?
search: Søg
search: Søgning
search_hint_html: Indstil hvordan du vil findes. Ønsker du, at folk skal finde dig gennem hvad du har skrevet offentligt? Vil du have folk udenfor Mastodon til at finde din profil, når de søger på nettet? Vær opmærksom på, at det ikke kan garanteres at dine offentlige indlæg er udelukket fra alle søgemaskiner.
title: Fortrolighed og udbredelse
title: Fortrolighed og rækkevidde
privacy_policy:
title: Privatlivspolitik
reactions:
@ -1923,7 +1923,7 @@ da:
'7889238': 3 måneder
min_age_label: Alderstærskel
min_favs: Behold indlæg favoritmarkeret mindst
min_favs_hint: Sletter ingen dine egne indlæg, som har modtaget minimum dette antal favoritmarkeringer. Lad stå tomt for at slette indlæg uanset antal favoritmarkeringer
min_favs_hint: Sletter ingen af dine egne indlæg, som har modtaget minimum dette antal favoritmarkeringer. Lad stå tom for at slette indlæg uanset antal favoritmarkeringer
min_reblogs: Behold indlæg fremhævet mindst
min_reblogs_hint: Sletter ingen af dine egne indlæg, som er fremhævet flere end dette antal gange. Lad stå tom for at slette indlæg uanset antallet af fremhævelser
stream_entries:
@ -2095,7 +2095,7 @@ da:
verification:
extra_instructions_html: <strong>Tip:</strong> Linket på din hjemmeside kan være usynligt. Den vigtige del er <code>rel="me"</code> , som forhindrer impersonation på websteder med brugergenereret indhold. Du kan endda bruge et <code>link</code> tag i overskriften på siden i stedet for <code>a</code>, men HTML skal være tilgængelig uden at udføre JavaScript.
here_is_how: Sådan gør du
hint_html: "<strong>Bekræftelse af din identitet på Mastodon er for alle.</strong> Baseret på åbne webstandarder, nu og for evigt gratis. Alt du behøver er en personlig hjemmeside, som folk genkende dig ved. Når du linker til denne hjemmeside fra din profil, vi vil kontrollere, at hjemmesiden linker tilbage til din profil og vise en visuel indikator på det."
hint_html: "<strong>Verificering af din identitet på Mastodon er for alle.</strong> Baseret på åbne webstandarder, nu og for altid gratis. Alt, hvad du behøver, er en personlig hjemmeside, som folk kender dig fra. Når du linker til denne hjemmeside fra din profil, kontrollerer vi, at hjemmesiden linker tilbage til din profil, og viser en visuel indikator på den."
instructions_html: Kopier og indsæt koden nedenfor i HTML på din hjemmeside. Tilføj derefter adressen på din hjemmeside i et af de ekstra felter på din profil på fanen "Redigér profil" og gem ændringer.
verification: Bekræftelse
verified_links: Dine bekræftede links

View File

@ -1944,7 +1944,7 @@ de:
contrast: Mastodon (Hoher Kontrast)
default: Mastodon (Dunkel)
mastodon-light: Mastodon (Hell)
system: Automatisch (mit System synchronisieren)
system: Automatisch (wie Betriebssystem)
time:
formats:
default: "%d. %b %Y, %H:%M Uhr"

View File

@ -4,7 +4,7 @@ be:
confirmations:
confirmed: Адрас вашай электроннай пошты паспяхова пацверджаны.
send_instructions: Цягам некалькіх хвілін вы атрымаеце ліст з інструкцыямі, каб пацвердзіць вашую электронную пошту. Калі ласка, зазірніце ў папку са спамам, калі не знойдзеце ліст.
send_paranoid_instructions: Калі адрас вашай электроннай пошты існуе ў нашай базе дадзеных, цягам некалькіх хвілін вы атрымаеце ліст з інструкцыямі, каб пацвердзіць вашую электронную пошту. Калі ласка, зазірніце ў папку са спамам, калі не знойдзеце ліст.
send_paranoid_instructions: Калі адрас вашай электроннай пошты існуе ў нашай базе даных, на працягу некалькіх хвілін вы атрымаеце ліст з інструкцыямі, каб пацвердзіць вашу электронную пошту. Калі вы не знойдзеце ліст, праверце папку са спамам.
failure:
already_authenticated: Вы ўжо ўвайшлі.
inactive: Ваш уліковы запіс яшчэ не актываваны.
@ -15,25 +15,25 @@ be:
omniauth_user_creation_failure: Памылка пры стварэнні ўліковага запісу для гэтай асобы.
pending: Ваш уліковы запіс яшчэ разглядаецца.
timeout: Ваш сеанс скончыўся. Каб працягнуць, увайдзіце яшчэ раз.
unauthenticated: Вам патрэбна зайсьці альбо зарэгістравацца, каб працягнуць
unauthenticated: Каб працягнуць, вам трэба ўвайсці або зарэгістравацца.
unconfirmed: Вы павінны пацвердзіць свой адрас электроннай пошты, перш чым працягнуць
mailer:
confirmation_instructions:
action: Пацвердзіць адрас электроннай пошты
action_with_app: Пацвердзіць і вярнуцца да %{app}
explanation: Вы стварылі ўліковы запіс на %{host} з гэтым адрасам электроннай пошты. Вам спатрэбіцца ўсяго адзін клік, каб пацвердзіць яго. Калі гэта былі не вы, то проста праігнаруйце гэты ліст.
explanation_when_pending: Вы падалі заяўку на запрашэнне на %{host} з гэтым адрасам электроннай пошты. Як толькі вы пацвердзіце свой адрас электроннай пошты, мы разгледзім вашу заяўку. Вы можаце ўвайсці, каб змяніць свае дадзеныя або выдаліць свой уліковы запіс, але вы не можаце атрымаць доступ да большасці функцый, пакуль ваш уліковы запіс не будзе зацверджаны. Калі ваша заяўка будзе адхілена, вашы даныя будуць выдалены, таму ад вас не спатрэбіцца ніякіх дадатковых дзеянняў. Калі гэта былі не вы, ігнаруйце гэты ліст
explanation_when_pending: Вы падалі заяўку на запрашэнне ў %{host} з гэтага адрасу электроннай пошты. Як толькі вы пацвердзіце свой адрас электроннай пошты, мы разгледзім вашу заяўку. Вы можаце ўвайсці, каб змяніць свае даныя або выдаліць свой уліковы запіс, але вы не атрымаеце доступ да большасці функцый, пакуль ваш уліковы запіс не будзе зацверджаны. Калі ваша заяўка будзе адхілена, вашы даныя будуць выдалены, таму ад вас не спатрэбіцца ніякіх дадатковых дзеянняў. Калі гэта былі не вы, ігнаруйце гэты ліст.
extra_html: Таксама азнаёмцеся з <a href="%{terms_path}">правіламі сервера</a> і <a href="%{policy_path}">нашымі ўмовамі абслугоўвання</a>.
subject: 'Mastodon: Інструкцыі па пацвярджэнні для %{instance}'
title: Праверце адрас электроннай пошты
email_changed:
explanation: Адрас электроннай пошты для вашага ўліковага запісу будзе зменены на
extra: Калі вы не змянялі сваю электронную пошту, хутчэй за ўсё, нехта атрымаў доступ да вашага ўліковага запісу. Калі ласка, неадкладна змяніце свой пароль або звярніцеся да адміністратара сервера, калі вы заблакаваны з вашага ўліковага запісу
extra: Калі вы не змянялі сваю электронную пошту, хутчэй за ўсё, нехта атрымаў доступ да вашага ўліковага запісу. Неадкладна змяніце свой пароль або звярніцеся да адміністратара сервера, калі вы заблакіраваны са свайго ўліковага запісу.
subject: 'Mastodon: адрас электроннай пошты зменены'
title: Новы адрас электроннай пошты
password_change:
explanation: Пароль для вашага ўліковага запісу быў зменены
extra: Калі вы не змянялі свой пароль, верагодна, нехта атрымаў доступ да вашага ўліковага запісу. Калі ласка, неадкладна змяніце свой пароль або звярніцеся да адміністратара сервера, калі вы заблакаваны з вашага ўліковага запісу
extra: Калі вы не змянялі свой пароль, імаверна, нехта атрымаў доступ да вашага ўліковага запісу. Неадкладна змяніце свой пароль або звярніцеся да адміністратара сервера, калі вы заблакіраваны са свайго ўліковага запісу.
subject: 'Mastodon: пароль зменены'
title: Пароль зменены
reconfirmation_instructions:
@ -88,13 +88,13 @@ be:
success: Паспяховая аўтэнтыфікацыя з %{kind} уліковага запісу.
passwords:
no_token: Вы не можаце атрымаць доступ да гэтай старонкі не з ліста аднаўлення пароля. Калі вы ўсе ж такі перайшлі па спасылцы ў лісце аднаўлення пароля, упэўніцеся, што яна поўная.
send_instructions: Калі ваш электроны адрас існуе ў нашай базе дадзеных, вы атрымаеце спасылку для аднаўлення пароля на свой электроны адрас праз пару хвілін. Калі ласка, праверце вашу тэчку са спамам, калі вы не атрымалі такі ліст.
send_paranoid_instructions: Калі ваш электроны адрас існуе ў нашай базе дадзеных, вы атрымаеце спасылку для аднаўлення пароля на свой электроны адрас праз пару хвілін. Калі ласка, праверце вашу тэчку са спамам, калі вы не атрымалі такі ліст.
send_instructions: Калі ваш электроны адрас існуе ў нашай базе даных, вы атрымаеце спасылку для аднаўлення пароля на сваю электронную пошту праз пару хвілін. Калі вы не атрымалі гэты ліст, праверце папку са спамам.
send_paranoid_instructions: Калі ваш электроны адрас існуе ў нашай базе даных, вы атрымаеце спасылку для аднаўлення пароля на сваю электронную пошту праз пару хвілін. Калі вы не атрымалі гэты ліст, праверце папку са спамам.
updated: Ваш пароль быў паспяхова зменены. Вы ўвайшлі ў сістэму.
updated_not_active: Ваш пароль быў паспяхова зменены.
registrations:
destroyed: Пакуль! Ваш уліковы запіс быў паспяхова выдалены. Мы спадзяваемся хутка ўбачыць вас зноў.
update_needs_confirmation: Вы паспяхова абнавілі свой уліковы запіс, аднак, нам неабходна пацвердзіць ваш новы адрас электроннай пошты. Калі ласка, праверце вашу пошту і перайдзіце па спасылцы для пацверджання вашага новага адраса электроннай пошты. Праверце тэчку са спамам, калі вы не атрымалі такі ліст.
update_needs_confirmation: Вы паспяхова абнавілі свой уліковы запіс, аднак, нам неабходна пацвердзіць ваш новы адрас электроннай пошты. Праверце вашу пошту і перайдзіце па спасылцы для пацвярджэння свайго новага адраса электроннай пошты. Калі вы не атрымалі гэты ліст, праверце папку са спамам.
updated: Ваш уліковы запіс быў паспяхова абноўлены.
sessions:
already_signed_out: Выхад паспяховы.
@ -103,7 +103,7 @@ be:
unlocks:
send_instructions: Вы атрымаеце ліст з інструкцыямі па разблакаванні вашага ўліковага запісу цягам некалькіх хвілін. Праверце тэчку са спамам, калі вы не атрымалі такі ліст.
send_paranoid_instructions: Калі ваш уліковы запіс існуе, вы атрымаеце ліст з інструкцыямі па яго разблакаванні цягам некалькіх хвілін. Праверце тэчку са спамам, калі вы не атрымалі такі ліст.
unlocked: Ваш уліковы запіс быў паспяхова разблакаваны. Калі ласка, увайдзіце, каб працягнуць
unlocked: Ваш уліковы запіс быў разблакіраваны. Увайдзіце, каб працягнуць.
errors:
messages:
already_confirmed: ужо пацверджана, паспрабуйце ўвайсці

View File

@ -29,7 +29,7 @@ el:
email_changed:
explanation: 'Αλλάζεις τη διεύθυνση email για τον λογαριασμό σου στην:'
extra: Αν δεν άλλαξες εσύ το email σου, ίσως κάποιος να έχει αποκτήσει πρόσβαση στο λογαριασμό σου. Παρακαλούμε άλλαξε το συνθηματικό σου άμεσα ή επικοινώνησε με τον διαχειριστή του κόμβου σου αν έχεις κλειδωθεί απ' έξω.
subject: 'Mastodon: Αλλαγή διεύθυνσης email'
subject: 'Mastodon: Το email άλλαξε'
title: Νέα διεύθυνση email
password_change:
explanation: Το συνθηματικό του λογαριασμού σου άλλαξε.

View File

@ -74,18 +74,18 @@ vi:
subject: 'Mastodon: Xóa khóa bảo mật'
title: Một trong những khóa bảo mật của bạn vừa bị xóa
webauthn_disabled:
explanation: Xác minh bằng khóa bảo mật đã bị vô hiệu hóa đối với tài khoản của bạn.
explanation: Xác thực bằng khóa bảo mật đã bị vô hiệu hóa đối với tài khoản của bạn.
extra: Hiện tại, bạn chỉ có thể đăng nhập bằng cách sử dụng mã token được tạo bởi ứng dụng TOTP được ghép nối.
subject: 'Mastodon: Vô hiệu hóa xác thực bằng khóa bảo mật'
title: Đã vô hiệu hóa khóa bảo mật
webauthn_enabled:
explanation: Khóa bảo mật đã được bật cho tài khoản của bạn.
extra: Hiện bạn đã có thể dùng khóa bảo mật để đăng nhập.
subject: 'Mastodon: Kích hoạt xác minh bằng khóa bảo mật'
subject: 'Mastodon: Kích hoạt xác thực bằng khóa bảo mật'
title: Đã kích hoạt khóa bảo mật
omniauth_callbacks:
failure: Không thể xác minh bạn từ %{kind} bởi vì "%{reason}".
success: Xác minh tài khoản %{kind} thành công.
failure: Không thể xác thực bạn từ %{kind} bởi vì "%{reason}".
success: Xác thực tài khoản %{kind} thành công.
passwords:
no_token: Bạn chỉ có thể truy cập trang này khi nhận được email khôi phục mật khẩu. Nếu vẫn không được, vui lòng chắc chắn rằng bạn đã dùng chính xác URL được cung cấp.
send_instructions: Nếu địa chỉ email của bạn tồn tại trong cơ sở dữ liệu của chúng tôi, bạn sẽ nhận được liên kết khôi phục mật khẩu sau vài phút. Xin kiểm tra thư rác nếu như bạn không thấy email này.

View File

@ -89,7 +89,7 @@ be:
missing_param: 'Адсутнічае абавязковы параметр: %{value}.'
request_not_authorized: Запыт павінен быць аўтарызаваны. Абавязковы параметр для запыту аўтарызацыі адсутнічае або несапраўдны.
unknown: У запыце адсутнічае абавязковы параметр, уключае значэнне параметра, якое не падтрымліваецца, альбо ён сфарміраваны іншым няправільным чынам.
invalid_resource_owner: Прадстаўленыя ўліковыя дадзеныя ўладальніка рэсурсу несапраўдныя або немагчыма знайсці ўладальніка рэсурсу
invalid_resource_owner: Пададзеныя ўліковыя даныя ўладальніка рэсурсу несапраўдныя або ўладальніка рэсурсу немагчыма знайсці
invalid_scope: Запытаная вобласць абмежаванняў несапраўдная, невядомая альбо няправільная.
invalid_token:
expired: Тэрмін дзеяння токена доступу скончыўся
@ -148,7 +148,7 @@ be:
application:
title: Патрабуецца аўтарызацыя OAuth
scopes:
admin:read: чытаць усе дадзеныя на серверы
admin:read: чытаць усе даныя на серверы
admin:read:accounts: чытаць канфідэнцыйную інфармацыю ўсіх акаўнтаў
admin:read:canonical_email_blocks: чытаць канфідэнцыйную інфармацыю ўсіх кананічных блокаў электроннай пошты
admin:read:domain_allows: чытаць канфідэнцыйную інфармацыю ўсіх дазволеных даменаў

View File

@ -83,6 +83,7 @@ eu:
access_denied: Baliabidearen jabeak edo baimenaren zerbitzariak eskaera ukatu du.
credential_flow_not_configured: Baliabidearen jabearen pasahitza kredentzialen fluxuak huts egin du Doorkeeper.configure.resource_owner_from_credentials konfiguratu gabe dagoelako.
invalid_client: Bezeroaren autentifikazioak huts egin du bezero ezezaguna delako, ez delako bezero autentifikazioa txertatu, edo autentifikazio metodoa ez delako onartzen.
invalid_code_challenge_method: Kodearen erronka metodoa S256 izan behar da, arrunta ez da onartzen.
invalid_grant: Emandako baimena baliogabea da, iraungi edo indargabetu da, ez dator bat baimen-eskaeran erabilitako birbideratze URI-arekin edo beste bezero batek sortu du.
invalid_redirect_uri: Sartutako birbideratze URI-a baliogabea da.
invalid_request:

View File

@ -218,7 +218,7 @@ el:
reject_appeal: Απόρριψη Έφεσης
reject_user: Απόρριψη Χρήστη
remove_avatar_user: Αφαίρεση Άβαταρ
reopen_report: Ξανάνοιγμα Ανααφοράς
reopen_report: Ξανάνοιγμα Αναφοράς
resend_user: Επαναποστολή του email επιβεβαίωσης
reset_password_user: Επαναφορά Συνθηματικού
resolve_report: Επίλυση Αναφοράς
@ -553,8 +553,8 @@ el:
dashboard:
instance_accounts_dimension: Λογαριασμοί με τους περισσότερους ακόλουθους
instance_accounts_measure: αποθηκευμένοι λογαριασμοί
instance_followers_measure: οι ακόλουθοί μας εκεί
instance_follows_measure: οι ακόλουθοί τους εδώ
instance_followers_measure: οι ακόλουθοι μας εκεί
instance_follows_measure: οι ακόλουθοι τους εδώ
instance_languages_dimension: Κορυφαίες γλώσσες
instance_media_attachments_measure: αποθηκευμένα συνημμένα πολυμέσων
instance_reports_measure: αναφορές γι' αυτές
@ -578,6 +578,13 @@ el:
all: Όλα
limited: Περιορισμένα
title: Συντονισμός
moderation_notes:
create: Προσθήκη Σημείωσης Συντονισμού
created_msg: Επιτυχής δημιουργία σημείωσης συντονισμού οντότητας!
description_html: Δες και άφησε σημειώσεις για άλλους συντονιστές και τον μελλοντικό εαυτό σου
destroyed_msg: Η σημείωση συντονισμού οντότητας διαγράφτηκε επιτυχώς!
placeholder: Πληροφορίες σχετικά μ' αυτή την οντότητα, ενέργειες που έχουν ληφθεί ή οτιδήποτε άλλο θα σε βοηθήσει να συντονίσεις αυτή την οντότητα στο μέλλον.
title: Σημειώσεις Συντονισμού
private_comment: Ιδιωτικό σχόλιο
public_comment: Δημόσιο σχόλιο
purge: Εκκαθάριση
@ -885,7 +892,7 @@ el:
title: Πολυμέσα
metadata: Μεταδεδομένα
no_history: Αυτή η ανάρτηση δεν έχει επεξεργαστεί
no_status_selected: Καμία δημοσίευση δεν άλλαξε αφού καμία δεν ήταν επιλεγμένη
no_status_selected: Καμία ανάρτηση δεν άλλαξε αφού καμία δεν ήταν επιλεγμένη
open: Άνοιγμα ανάρτησης
original_status: Αρχική ανάρτηση
reblogs: Αναδημοσιεύσεις
@ -1045,7 +1052,7 @@ el:
confirm_disallow: Σίγουρα θες να απορρίψεις τις επιλεγμένες καταστάσεις;
confirm_disallow_account: Σίγουρα θες να απορρίψεις τους επιλεγμένους λογαριασμούς;
description_html: Αυτές είναι αναρτήσεις για τις οποίες ο διακομιστής σας γνωρίζει ότι κοινοποιούνται και αρέσουν πολύ αυτή τη περίοδο. Μπορεί να βοηθήσει νέους και χρήστες που επιστρέφουν, να βρουν περισσότερα άτομα να ακολουθήσουν. Καμία ανάρτηση δεν εμφανίζεται δημόσια μέχρι να εγκρίνεις τον συντάκτη και ο συντάκτης να επιτρέπει ο λογαριασμός του να προτείνεται και σε άλλους. Μπορείς επίσης να επιτρέψεις ή να απορρίψεις μεμονωμένες δημοσιεύσεις.
disallow: Να μην επιτρέπεται η δημοσίευση
disallow: Να μην επιτρέπεται η ανάρτηση
disallow_account: Να μην επιτρέπεται ο συντάκτης
no_status_selected: Καμία δημοφιλής ανάρτηση δεν άλλαξε αφού καμία δεν επιλέχθηκε
not_discoverable: Ο συντάκτης δεν έχει επιλέξει να είναι ανακαλύψιμος
@ -1087,7 +1094,7 @@ el:
webhooks:
add_new: Προσθήκη σημείου τερματισμού
delete: Διαγραφή
description_html: Ένα <strong>webhook</strong> επιτρέπει στο Mastodon να στείλει <strong>ειδοποιήσεις πραγματικού χρόνου</strong> σχετικά με επιλεγμένα γεγονότα στη δική σου εφαρμογή, ώστε η εφαρμογή σας να μπορεί <strong>να προκαλέσει αντιδράσεις αυτόματα</strong>.
description_html: Ένα <strong>webhook</strong> επιτρέπει στο Mastodon να στείλει <strong>ειδοποιήσεις πραγματικού χρόνου</strong> σχετικά με επιλεγμένα γεγονότα στη δική σου εφαρμογή, ώστε η εφαρμογή σου να μπορεί <strong>να προκαλέσει αντιδράσεις αυτόματα</strong>.
disable: Απενεργοποίηση
disabled: Απενεργοποιημένα
edit: Επεξεργασία σημείου τερματισμού
@ -1151,7 +1158,7 @@ el:
remove: Αποσύνδεση ψευδώνυμου
appearance:
advanced_web_interface: Προηγμένη διεπαφή ιστού
advanced_web_interface_hint: 'Αν θέλεις να χρησιμοποιήσεις ολόκληρο το πλάτος της οθόνης σου, η προηγμένη λειτουργία χρήσης σου επιτρέπει να ορίσεις πολλαπλές στύλες ώστε να βλέπεις ταυτόχρονα όση πληροφορία θέλεις: Την αρχική ροή, τις ειδοποιήσεις, την ροή συναλλαγών και όσες λίστες και ετικέτες θέλεις.'
advanced_web_interface_hint: 'Αν θέλεις να χρησιμοποιήσεις ολόκληρο το πλάτος της οθόνης σου, η προηγμένη λειτουργία χρήσης σου επιτρέπει να ορίσεις πολλαπλές στήλες ώστε να βλέπεις ταυτόχρονα όση πληροφορία θέλεις: Την αρχική ροή, τις ειδοποιήσεις, την ροή συναλλαγών και όσες λίστες και ετικέτες θέλεις.'
animations_and_accessibility: Εφέ κινήσεων και προσβασιμότητα
confirmation_dialogs: Ερωτήσεις επιβεβαίωσης
discovery: Ανακάλυψη
@ -1342,6 +1349,10 @@ el:
basic_information: Βασικές πληροφορίες
hint_html: "<strong>Τροποποίησε τί βλέπουν άτομα στο δημόσιο προφίλ σου και δίπλα στις αναρτήσεις σου.</strong> Είναι πιο πιθανό κάποιος να σε ακολουθήσει πίσω και να αλληλεπιδράσουν μαζί σου αν έχεις ολοκληρωμένο προφίλ και εικόνα προφίλ."
other: Άλλο
emoji_styles:
auto: Αυτόματο
native: Εγγενές
twemoji: Twemoji
errors:
'400': Το αίτημα ήταν άκυρο ή με λάθος μορφή.
'403': Δεν έχεις δικαίωμα πρόσβασης σε αυτή τη σελίδα.
@ -1675,7 +1686,7 @@ el:
trillion: Τρις
otp_authentication:
code_hint: Για να συνεχίσεις, γράψε τον κωδικό που δημιούργησε η εφαρμογή πιστοποίησης
description_html: Αν ενεργοποιήσεις την <strong>ταυτοποίηση δύο παραγόντων</strong> χρησιμοποιώντας εφαρμογή ταυτοποίησης, για να συνδεθείς θα πρέπει να έχεις το τηλέφωνό σου, που θα σού δημιουργήσει κλειδιά εισόδου.
description_html: Αν ενεργοποιήσεις την <strong>ταυτοποίηση δύο παραγόντων</strong> χρησιμοποιώντας εφαρμογή ταυτοποίησης, για να συνδεθείς θα πρέπει να έχεις το τηλέφωνό σου, που θα σου δημιουργήσει κλειδιά εισόδου για να τα εισάγεις.
enable: Ενεργοποίηση
instructions_html: "<strong>Σάρωσε αυτόν τον κωδικό QR με την εφαρμογή Google Authenticator ή κάποια άλλη αντίστοιχη στο τηλέφωνό σου</strong>. Από εδώ και στο εξής, η εφαρμογή θα δημιουργεί κλειδιά που θα πρέπει να εισάγεις όταν συνδέεσαι."
manual_instructions: 'Αν δεν μπορείς να σαρώσεις τον κωδικό QR και χρειάζεσαι να τον εισάγεις χειροκίνητα, ορίστε η μυστική φράση σε μορφή κειμένου:'
@ -2012,7 +2023,7 @@ el:
delete_statuses: Μερικές από τις αναρτήσεις σου έχουν βρεθεί να παραβιάζουν μία ή περισσότερες οδηγίες κοινότητας και έχουν συνεπώς αφαιρεθεί από τους συντονιστές του %{instance}.
disable: Δεν μπορείς πλέον να χρησιμοποιήσεις τον λογαριασμό σου, αλλά το προφίλ σου και άλλα δεδομένα παραμένουν άθικτα. Μπορείς να ζητήσεις ένα αντίγραφο ασφαλείας των δεδομένων σου, να αλλάξεις τις ρυθμίσεις του λογαριασμού σου ή να διαγράψεις τον λογαριασμό σου.
mark_statuses_as_sensitive: Μερικές από τις αναρτήσεις σου έχουν επισημανθεί ως ευαίσθητες από τους συντονιστές του %{instance}. Αυτό σημαίνει ότι οι άνθρωποι θα πρέπει να πατήσουν τα πολυμέσα στις αναρτήσεις πριν εμφανιστεί μια προεπισκόπηση. Μπορείς να επισημάνεις τα πολυμέσα ως ευαίσθητα όταν δημοσιεύεις στο μέλλον.
sensitive: Από δω και στο εξής, όλα τα μεταφορτωμένα αρχεία πολυμέσων σου θα επισημανθούν ως ευαίσθητα και κρυμμένα πίσω από μια προειδοποίηση -πατήστε για εμφάνιση.
sensitive: Από δω και στο εξής, όλα τα μεταφορτωμένα αρχεία πολυμέσων σου θα επισημανθούν ως ευαίσθητα και κρυμμένα πίσω από μια προειδοποίηση που πρέπει να πατηθεί.
silence: Μπορείς ακόμα να χρησιμοποιείς τον λογαριασμό σου, αλλά μόνο άτομα που σε ακολουθούν ήδη θα δουν τις αναρτήσεις σου σε αυτόν τον διακομιστή και μπορεί να αποκλειστείς από διάφορες δυνατότητες ανακάλυψης. Ωστόσο, οι άλλοι μπορούν ακόμα να σε ακολουθήσουν με μη αυτόματο τρόπο.
suspend: Δε μπορείς πλέον να χρησιμοποιήσεις τον λογαριασμό σου και το προφίλ σου και άλλα δεδομένα δεν είναι πλέον προσβάσιμα. Μπορείς ακόμα να συνδεθείς για να αιτηθείς αντίγραφο των δεδομένων σου μέχρι να αφαιρεθούν πλήρως σε περίπου 30 μέρες αλλά, θα διατηρήσουμε κάποια βασικά δεδομένα για να σε αποτρέψουμε να παρακάμψεις την αναστολή.
reason: 'Αιτιολογία:'
@ -2045,7 +2056,7 @@ el:
edit_profile_title: Εξατομίκευση του προφίλ σου
explanation: Μερικές συμβουλές για να ξεκινήσεις
feature_action: Μάθε περισσότερα
feature_audience: Το Mastodon σού παρέχει μια μοναδική δυνατότητα διαχείρισης του κοινού σου χωρίς μεσάζοντες. Το Mastodon όταν αναπτύσσεται στη δική σου υποδομή σού επιτρέπει να ακολουθείς και να ακολουθείσαι από οποιονδήποτε άλλο συνδεδεμένο διακομιστή Mastodon και κανείς δεν τον ελέγχει, εκτός από σένα.
feature_audience: Το Mastodon σου παρέχει μια μοναδική δυνατότητα διαχείρισης του κοινού σου χωρίς μεσάζοντες. Το Mastodon όταν αναπτύσσεται στη δική σου υποδομή σου επιτρέπει να ακολουθείς και να ακολουθείσαι από οποιονδήποτε άλλο συνδεδεμένο διακομιστή Mastodon και κανείς δεν τον ελέγχει, εκτός από σένα.
feature_audience_title: Χτίσε το κοινό σου με σιγουριά
feature_control: Εσύ ξέρεις καλύτερα τι θες να βλέπεις στην αρχική σου ροή. Δεν υπάρχουν αλγόριθμοι ή διαφημίσεις για να σπαταλάς το χρόνο σου. Ακολούθησε οποιονδήποτε σε οποιονδήποτε διακομιστή Mastodon από έναν λογαριασμό και δες τις αναρτήσεις τους με χρονολογική σειρά και κάνε τη δική σου γωνιά του ίντερνετ, λίγο πιο προσωπική.
feature_control_title: Διατήρησε τον έλεγχο της ροής σου

View File

@ -1873,6 +1873,7 @@ en:
edited_at_html: Edited %{date}
errors:
in_reply_not_found: The post you are trying to reply to does not appear to exist.
quoted_status_not_found: The post you are trying to quote does not appear to exist.
over_character_limit: character limit of %{max} exceeded
pin_errors:
direct: Posts that are only visible to mentioned users cannot be pinned

View File

@ -289,6 +289,7 @@ eu:
update_custom_emoji_html: "%{name} erabiltzaileak %{target} emoji-a eguneratu du"
update_domain_block_html: "%{name} erabiltzaileak %{target} domeinu-blokeoa eguneratu du"
update_ip_block_html: "%{name} erabiltzaileak %{target} IParen araua aldatu du"
update_report_html: "%{name}-k %{target} txostena eguneratu du"
update_status_html: "%{name} erabiltzaileak %{target} erabiltzailearen bidalketa eguneratu du"
update_user_role_html: "%{name} erabiltzaileak %{target} rola aldatu du"
deleted_account: ezabatu kontua
@ -307,6 +308,8 @@ eu:
new:
create: Sortu iragarpena
title: Iragarpen berria
preview:
explanation_html: 'Mezu elektronikoa <strong>%{display_count} erabiltzaileei</strong> bidaliko zaie. Testu hau gehituko zaio mezu elektronikoari:'
publish: Argitaratu
published_msg: Iragarpena ongi argitaratu da!
scheduled_for: "%{time}-rako programatuta"
@ -467,8 +470,11 @@ eu:
fasp:
debug:
callbacks:
created_at: Sortua hemen
delete: Ezabatu
ip: IP helbidea
request_body: Eskaeraren edukia
title: Atzera-deiak araztu
providers:
active: Aktibo
base_url: Oinarrizko URL-a
@ -689,6 +695,7 @@ eu:
delete_data_html: "<strong>@%{acct}</strong> kontuaren profila eta edukia, gaurtik hasita, 30 egunez ezabatu, ez bada bitartean kontua berraktibatzen"
preview_preamble_html: "<strong>@%{acct}</strong> kontuak ondorengo edukia duen abisu bat jasoko du:"
record_strike_html: "<strong>@%{acct}</strong> kontuak eginiko eraso bat erregistratu, kontu honek etorkizunean egin ditzakeen erasoen aurrean erabakiak hartzen laguntzeko"
send_email_html: Bidali abisu-mezu elektroniko bat <strong>@%{acct}</strong>-ri
warning_placeholder: Moderazio-ekintzarako aukerazkoak diren arrazoiketa gehigarriak.
target_origin: Salatutako kontuaren jatorria
title: Salaketak
@ -822,6 +829,7 @@ eu:
destroyed_msg: Guneko igoera ongi ezabatu da!
software_updates:
critical_update: Kritikoa — mesedez, eguneratu azkar
description: Gomendagarria da Mastodon instalazioa eguneratuta mantentzea azken konponketa eta funtzioez baliatzeko. Gainera, batzuetan ezinbestekoa da Mastodon garaiz eguneratzea segurtasun arazoak saihesteko. Arrazoi hauengatik, Mastodonek 30 minuturo eguneratzeak egiaztatzen ditu, eta zure posta elektroniko bidezko jakinarazpenen lehentasunen arabera jakinaraziko dizu.
documentation_link: Informazio gehiago
release_notes: Bertsio oharrak
title: Eguneraketak eskuragarri
@ -872,6 +880,8 @@ eu:
system_checks:
database_schema_check:
message_html: Aplikatu gabeko datu-basearen migrazioak daude. Exekutatu aplikazioak esperotako portaera izan dezan
elasticsearch_analysis_index_mismatch:
message_html: Elasticsearch indize-analizatzailearen ezarpenak zaharkituta daude. Mesedez, exekutatu <code>tootctl search deploy --only-mapping --only=%{value}</code>
elasticsearch_health_red:
message_html: Elasticsearch-en klusterra ez dago osasuntsu (egoera gorria), bilaketa-eginbideak ez daude erabilgarri
elasticsearch_health_yellow:
@ -912,6 +922,7 @@ eu:
message_html: "<strong>Zure objektuen biltegiratzea ez dago ongi konfiguratua. Zure erabiltzaileen pribatutasuna arriskuan dago.</strong>"
tags:
moderation:
not_trendable: Ez dago modan
not_usable: Ez erabilgarri
pending_review: Berrikusketaren zain
reviewed: Berrikusita
@ -928,12 +939,17 @@ eu:
title: Traolak
updated_msg: Traola-ezarpenak ongi eguneratu dira
terms_of_service:
back: Zerbitzuaren baldintzetara itzuli
changelog: Zer aldatu da
create: Erabili zeurea
current: Oraingoa
draft: Zirriborroa
generate: Txantiloila erabili
generates:
action: Sortu
chance_to_review_html: "<strong>Sortutako zerbitzu-baldintzak ez dira automatikoki argitaratuko.</strong> Emaitzak berrikusteko aukera izango duzu. Mesedez, bete beharrezko xehetasunak aurrera egiteko."
explanation_html: Zerbitzu-baldintzen txantiloia informazio-helburuetarako soilik da, eta ez da gai bati buruzko aholku juridikotzat hartu behar. Mesedez, kontsultatu zure aholkulari juridikoa zure egoerari eta galdera juridiko zehatzei buruz.
going_live_on_html: Argitaratua, indarrean %{date}
history: Historia
live: Zuzenean
publish: Argitaratu
@ -1087,6 +1103,7 @@ eu:
sensitive_content: Eduki hunkigarria
application_mailer:
salutation: "%{name},"
settings: 'Posta elektronikoaren lehentasunak aldatu: %{link}'
unsubscribe: Kendu harpidetza
view: 'Ikusi:'
view_profile: Ikusi profila
@ -1156,6 +1173,7 @@ eu:
setup:
email_below_hint_html: Begiratu zure spameko karpetan, edo eskatu beste bat. Zure helbide elektronikoa zuzen dezakezu oker badago.
link_not_received: Ez duzu estekarik jaso?
new_confirmation_instructions_sent: Minutu gutxiren buruan baieztapen-esteka duen mezu elektroniko bat jasoko duzu!
title: Begiratu zure sarrera-ontzia
sign_in:
preamble_html: Zure <strong>%{domain}-(e)ko</strong> egiaztagiriekin saioa hasi. Zure kontua beste zerbitzari batean badago, ezin izango duzu hemen saioa hasi.
@ -1166,6 +1184,7 @@ eu:
status:
account_status: Kontuaren egoera
functional: Zure kontua guztiz erabilgarri dago.
pending: Gure taldea zure eskaera berrikusten ari da. Honek denbora pixka bat beharko du. Mezu elektroniko bat jasoko duzu zure eskaera onartzen bada.
redirecting_to: Zure kontua ez dago aktibo orain %{acct} kontura birbideratzen duelako.
self_destruct: "%{domain} domeinua itxiko denez, konturako sarbide mugatua soilik izango duzu."
view_strikes: Ikusi zure kontuaren aurkako neurriak
@ -1433,6 +1452,9 @@ eu:
unsubscribe:
action: Bai, kendu harpidetza
complete: Harpidetza kenduta
emails:
notification_emails:
follow: jarraitu jakinarazpen-mezu elektronikoak
title: Kendu harpidetza
media_attachments:
validations:
@ -1774,6 +1796,8 @@ eu:
does_not_match_previous_name: ez dator aurreko izenarekin bat
terms_of_service:
title: Erabilera baldintzak
terms_of_service_interstitial:
future_preamble_html: Gure zerbitzu-baldintzetan aldaketa batzuk egiten ari gara, eta <strong>%{date}</strong>-tik aurrera jarriko dira indarrean. Eguneratutako baldintzak berrikustea gomendatzen dizugu.
themes:
contrast: Mastodon (Kontraste altua)
default: Mastodon (Iluna)
@ -1805,6 +1829,8 @@ eu:
recovery_instructions_html: Zure telefonora sarbidea galtzen baduzu, beheko berreskuratze kode bat erabili dezakezu kontura berriro sartu ahal izateko. <strong>Gore barreskuratze kodeak toki seguruan</strong>. Adibidez inprimatu eta dokumentu garrantzitsuekin batera gorde.
webauthn: Segurtasun gakoak
user_mailer:
announcement_published:
title: "%{domain} zerbitzuaren iragarpena"
appeal_approved:
action: Kontuaren ezarpenak
explanation: "%{strike_date}(e)an zure kontuari ezarritako neurriaren aurka %{appeal_date}(e)an jarri zenuen apelazioa onartu da. Zure kontua egoera onean dago berriro."

View File

@ -1851,6 +1851,8 @@ fr-CA:
limit: Vous avez déjà épinglé le nombre maximum de messages
ownership: Vous ne pouvez pas épingler un message ne vous appartenant pas
reblog: Un partage ne peut pas être épinglé
quote_policies:
followers: Abonné·e·s et utilisateur·trice·s mentionné·e·s
title: "%{name}: « %{quote} »"
visibilities:
direct: Direct
@ -1904,6 +1906,8 @@ fr-CA:
does_not_match_previous_name: ne correspond pas au nom précédent
terms_of_service:
title: Conditions d'utilisation
terms_of_service_interstitial:
title: Les conditions d'utilisation de %{domain} ont changées
themes:
contrast: Mastodon (Contraste élevé)
default: Mastodon (Sombre)

View File

@ -1851,6 +1851,8 @@ fr:
limit: Vous avez déjà épinglé le nombre maximum de messages
ownership: Vous ne pouvez pas épingler un message ne vous appartenant pas
reblog: Un partage ne peut pas être épinglé
quote_policies:
followers: Abonné·e·s et utilisateur·trice·s mentionné·e·s
title: "%{name}: « %{quote} »"
visibilities:
direct: Direct
@ -1904,6 +1906,8 @@ fr:
does_not_match_previous_name: ne correspond pas au nom précédent
terms_of_service:
title: Conditions d'utilisation
terms_of_service_interstitial:
title: Les conditions d'utilisation de %{domain} ont changées
themes:
contrast: Mastodon (Contraste élevé)
default: Mastodon (Sombre)

View File

@ -1406,6 +1406,10 @@ ga:
basic_information: Eolas bunúsach
hint_html: "<strong>Saincheap a bhfeiceann daoine ar do phróifíl phoiblí agus in aice le do phostálacha.</strong> Is dóichí go leanfaidh daoine eile ar ais tú agus go n-idirghníomhóidh siad leat nuair a bhíonn próifíl líonta agus pictiúr próifíle agat."
other: Eile
emoji_styles:
auto: Uath
native: Dúchasach
twemoji: Twemoji
errors:
'400': Bhí an t-iarratas a chuir tú isteach neamhbhailí nó míchumtha.
'403': Níl cead agat an leathanach seo a fheiceáil.

View File

@ -1349,6 +1349,10 @@ hu:
basic_information: Általános információk
hint_html: "<strong>Tedd egyedivé, mi látnak mások a profilodon és a bejegyzéseid mellett.</strong> Mások nagyobb eséllyel követnek vissza és lépnek veled kapcsolatba, ha van kitöltött profilod és profilképed."
other: Egyéb
emoji_styles:
auto: Automatikus
native: Natív
twemoji: Twemoji
errors:
'400': A küldött kérés érvénytelen vagy hibás volt.
'403': Nincs jogosultságod az oldal megtekintéséhez.

View File

@ -1351,6 +1351,10 @@ it:
basic_information: Informazioni di base
hint_html: "<strong>Personalizza ciò che le persone vedono sul tuo profilo pubblico e accanto ai tuoi post.</strong> È più probabile che altre persone ti seguano e interagiscano con te quando hai un profilo compilato e un'immagine del profilo."
other: Altro
emoji_styles:
auto: Automatico
native: Nativo
twemoji: Twemoji
errors:
'400': La richiesta che hai inviato non è valida o non è corretta.
'403': Non sei autorizzato a visualizzare questa pagina.

View File

@ -186,6 +186,7 @@ lad:
create_domain_block: Kriya bloko de domeno
create_email_domain_block: Kriya bloko de domeno de posta
create_ip_block: Kriya regla de IP
create_relay: Kriya relevo
create_unavailable_domain: Kriya domeno no desponivle
create_user_role: Kriya rolo
demote_user: Degrada utilizador
@ -197,6 +198,7 @@ lad:
destroy_email_domain_block: Efasa bloko de domeno de posta
destroy_instance: Efasa domeno
destroy_ip_block: Efasa regla de IP
destroy_relay: Efasa relevo
destroy_status: Efasa publikasyon
destroy_unavailable_domain: Efasa domeno no desponivle
destroy_user_role: Efasa rolo
@ -205,6 +207,7 @@ lad:
disable_sign_in_token_auth_user: Inkapasita la autentifikasyon por token de posta elektronika para el utilizador
disable_user: Inkapasita utilizador
enable_custom_emoji: Kapasita emoji personalizados
enable_relay: Aktiva relevo
enable_sign_in_token_auth_user: Kapasita la autentifikasyon por token de posta para el utilizador
enable_user: Kapasita utilizador
memorialize_account: Transforma en kuento komemorativo
@ -229,6 +232,7 @@ lad:
update_custom_emoji: Aktualiza emoji personalizado
update_domain_block: Aktualiza bloko de domeno
update_ip_block: Aktualiza regla de IP
update_report: Aktualiza raporto
update_status: Aktualiza publikasyon
update_user_role: Aktualiza rolo
actions:
@ -466,10 +470,13 @@ lad:
fasp:
debug:
callbacks:
created_at: Kriyado en
delete: Efasa
ip: Adreso IP
providers:
active: Aktivo
delete: Efasa
finish_registration: Finaliza enrejistrasyon
name: Nombre
registrations:
confirm: Konfirma
@ -542,6 +549,12 @@ lad:
all: Todos
limited: Limitado
title: Moderasyon
moderation_notes:
create: Adjusta nota de moderasyon
created_msg: Nota de moderasyon de sirvidor kriyada kon sukseso!
description_html: Ve i desha notas a otros moderadores i a tu yo futuro
destroyed_msg: Nota de moderasyon de sirvidor efasada kon sukseso!
title: Notas de moderasyon
private_comment: Komento privado
public_comment: Komento publiko
purge: Purga
@ -748,6 +761,7 @@ lad:
title: Rolos
rules:
add_new: Adjusta regla
add_translation: Adjusta traduksyon
delete: Efasa
description_html: Aunke la majorita afirma aver meldado i estar de akodro kon los terminos de servisyo, la djente normalmente no los melda asta dempues de ke surja algun problema. <strong>Az ke sea mas kolay ver las normas de tu sirvidor de un vistazo estipulándolas en una lista de puntos.</strong> Aprova ke kada norma sea corta i kolay, ama sin estar divididas en munchos puntos.
edit: Edita regla
@ -920,6 +934,9 @@ lad:
updated_msg: Konfigurasyon de etiketas aktualizada kon sukseso
terms_of_service:
changelog: Ke troko
current: Aktual
generates:
action: Djenera
history: Istorya
live: En bivo
publish: Publika
@ -1245,6 +1262,10 @@ lad:
basic_information: Enformasyon bazika
hint_html: "<strong>Personaliza lo ke la djente ve en tu profil publiko i kon tus publikasyones.</strong> Es mas probavle ke otras personas te sigan i enteraktuen kontigo kuando kompletas tu profil i foto."
other: Otros
emoji_styles:
auto: Otomatiko
native: Nativo
twemoji: Twemoji
errors:
'400': La solisitasyon ke enviates no fue valida o fue malformada.
'403': No tienes permiso para ver esta pajina.

View File

@ -405,9 +405,69 @@ nan:
remove_all_data: Tse ē tī lí ê服侍器內底kā tuì tsit ê域名ê口座來ê所有內容、媒體kap個人資料lóng thâi掉。
stop_communication: Lí ê服侍器ē停止kap hia ê服侍器聯絡。
title: 確認封鎖域名 %{domain}
undo_relationships: Tse ē取消任何ê佇in ê服侍器ê口座kap lí ê之間ê跟tuè關係。
created_msg: 當leh封鎖網域
destroyed_msg: 已經取消封鎖域名
domain: 域名
edit: 編輯域名封鎖
existing_domain_block: Lí已經kā %{name} 下koh khah嚴ê限制。
existing_domain_block_html: Lí已經kā %{name} 下koh khah嚴ê限制lí著先<a href="%{unblock_url}">解除封鎖</a>。
export: 輸出
import: 輸入
new:
create: 加添封鎖
hint: 封鎖域名bē當擋口座記錄受加添佇資料庫m̄-kú ē 自動自尾kàu頭kā hia ê口座使用指定ê管理方式。
severity:
desc_html: "<strong>限制</strong>ē kā hit ê域名ê口座所送ê PO文設做kan-ta跟tuè伊ê tsiah通看見。<strong>中止權限</strong>ē thâi掉tī lí ê 服侍器內底所有tuì hit ê域名ê口座來ê內容、媒體kap個人資料。Nā kan-ta beh拒絕媒體檔案請用<strong>無</strong>。"
noop:
silence: 限制
suspend: 中止權限
title: 新ê域名封鎖
no_domain_block_selected: 因為無揀任何域名封鎖所以lóng無改變
not_permitted: Lí無允准行tsit ê動作
obfuscate: Kā域名舞bē清
obfuscate_hint: Nā beh啟用廣告域名列單ê限制tiō tī列單kā域名ê部份舞buē清。
private_comment: 私人評論
private_comment_hint: 請評論關係tsit ê域名ê制限hōo管理員做內部ê路用。
public_comment: 公開ê評論
public_comment_hint: 請為一般大眾評論關係tsit ê域名ê制限若beh啟用廣告域名列單ê限制。
reject_media: 拒絕媒體檔案
reject_media_hint: Thâi掉本地tiông ê媒體檔案mā bē koh kā任何tuì hia來ê載落去。Hām中止權限無tī-tāi
reject_reports: 拒絕檢舉
reject_reports_hint: 忽略ta̍k ê tuì tsit ê域名來ê檢舉hām中止權限無tī-tāi。
undo: 取消域名封鎖
view: 檢視域名封鎖
email_domain_blocks:
add_new: 加新ê
allow_registrations_with_approval: 許可了後允准註冊
attempts_over_week:
other: 頂禮拜lóng總有 %{count} pái試註冊
created_msg: 成功封鎖電子phue域名
delete: Thâi掉
dns:
types:
mx: MX記錄
domain: 域名
new:
create: 加添域名
resolve: 解析域名
title: 封鎖新ê電子phue網域
no_email_domain_block_selected: 因為無揀任何電子phue域名封鎖所以lóng無改變
not_permitted: 無允准
resolved_through_html: 通過 %{domain} 解析
title: 封鎖ê電子phue網域
export_domain_allows:
new:
title: 輸入允准ê域名
no_file: Iáu bē揀檔案
export_domain_blocks:
import:
description_html: Lí teh-beh輸入封鎖域名ê列單。請koh kā tsit ê列單斟酌檢查特別是lí無家tī編tsit ê列單ê時。
existing_relationships_warning: 有ê跟tuè關係
private_comment_description_html: 為著幫tsān lí追蹤輸入ê封鎖tuì toh來輸入ê封鎖ē kap下kha ê私人評論sann-kap加添<q>%{comment}</q>
private_comment_template: 佇 %{date} tuì %{source} 輸入
title: 輸入域名封鎖
invalid_domain_block: 因為下kha ê錯誤làng過tsi̍t ê以上ê域名封鎖:%{error}
instances:
dashboard:
instance_languages_dimension: Tsia̍p用ê語言

View File

@ -583,7 +583,7 @@ nl:
created_msg: Aanmaken van servermoderatie-opmerking geslaagd!
description_html: Opmerkingen bekijken, en voor jezelf en andere moderatoren achterlaten
destroyed_msg: Verwijderen van servermoderatie-opmerking geslaagd!
placeholder: Informatie over deze server, genomen acties of iets anders die jou kunnen helpen om deze server in de toekomst te moderen.
placeholder: Informatie over deze server, genomen acties of iets anders die jou kunnen helpen om deze server in de toekomst te modereren.
title: Moderatie-opmerkingen
private_comment: Privé-opmerking
public_comment: Openbare opmerking

View File

@ -4,7 +4,7 @@ ru:
about_mastodon_html: 'Социальная сеть будущего: никакой рекламы или слежки со стороны корпораций, этичный дизайн и децентрализация! С Mastodon ваши данные находятся только под вашим контролем!'
contact_missing: Не указано
contact_unavailable: N/A
hosted_on: Сервер Mastodon на домене %{domain}
hosted_on: Сервер Mastodon на сайте %{domain}
title: О проекте
accounts:
followers:

View File

@ -149,13 +149,6 @@ ar:
min_age: لا يجوز أن يكون دون السن الأدنى الذي تقتضيه قوانين الدولة.
user:
chosen_languages: إن تم اختيارها، فلن تظهر على الخيوط العامة إلّا الرسائل المنشورة في تلك اللغات
date_of_birth:
few: عليك أن تكون أكبر من %{count} سنة لاستخدام ماستادون. لن نحفظ هذه المعلومة.
many: عليك أن تكون أكبر من %{count} سنة لاستخدام ماستادون. لن نحفظ هذه المعلومة.
one: عليك أن تكون أكبر من %{count} سنة لاستخدام ماستادون. لن نحفظ هذه المعلومة.
other: عليك أن تكون أكبر من %{count} سنة لاستخدام ماستادون. لن نحفظ هذه المعلومة.
two: عليك أن تكون أكبر من %{count} سنة لاستخدام ماستادون. لن نحفظ هذه المعلومة.
zero: عليك أن تكون أكبر من %{count} سنة لاستخدام ماستادون. لن نحفظ هذه المعلومة.
role: الدور يتحكم في أذونات المستخدم.
user_role:
color: اللون الذي سيتم استخدامه للوظيفه في جميع وحدات واجهة المستخدم، كـ RGB بتنسيق hex

View File

@ -7,7 +7,7 @@ be:
display_name: Ваша поўнае імя або ваш псеўданім.
fields: Ваша хатняя старонка, займеннікі, узрост, усё, што заўгодна.
indexable: Вашыя публічныя допісы могуць з'яўляцца ў рэзультатах пошуку Mastodon. Людзі, якія ўзаемадзейнічалі з вашымі допісамі, усё роўна маюць магчымасць іх знаходзіць.
note: 'Вы можаце @згадаць іншых людзей або выкарыстоўваць #хэштэгі.'
note: 'Вы можаце @згадваць іншых людзей або выкарыстоўваць #хэштэгі.'
show_collections: Людзі змогуць праглядаць спіс вашых падпісак і падпісчыкаў. Людзі, на якіх вы падпісаны ў любым выпадку будуць бачыць, што вы іх чытаеце.
account_alias:
acct: Прызначце карыстальнік@дамен уліковага запісу з якога вы хочаце пераехаць
@ -30,10 +30,10 @@ be:
warning_preset_id: Неабавязкова. Вы можаце дадаць уласны тэкст напрыканцы шаблону
announcement:
all_day: Калі пазначана, будуць паказаны толькі даты з пазначанага прамежку часу
ends_at: Неабавязкова. Аб'ява будзе аўтаматычна знята ў пэўны час
scheduled_at: Пакіньце пустым, каб апублікаваць аб'яву імаверна
starts_at: Неабавязкова. На выпадак, калі ваша аб'ява прывязана да пэўнага перыяду часу
text: Вы можаце карыстацца сінтаксісам допісаў. Калі ласка, улічвайце месца, якое аб'ява зойме на экране карыстальніка
ends_at: Неабавязкова. Абява будзе аўтаматычна знята ў пэўны час
scheduled_at: Пакіньце пустым, каб апублікаваць аб’яву адразу
starts_at: Неабавязкова. На выпадак, калі ваша абява прывязана да пэўнага перыяду часу
text: Вы можаце карыстацца сінтаксісам допісаў. Улічвайце месца, якое абява зойме на экране карыстальніка
appeal:
text: Вы можаце абскардзіць рашэнне толькі адзін раз
defaults:
@ -41,7 +41,7 @@ be:
avatar: WEBP, PNG, GIF ці JPG. Не больш за %{size}. Будзе сціснуты да памеру %{dimensions}} пікселяў
bot: Паведаміць іншым, што гэты ўліковы запіс у асноўным выконвае аўтаматычныя дзеянні і можа не кантралявацца
context: Адзін ці некалькі кантэкстаў, да якіх трэба прымяніць фільтр
current_password: У мэтах бяспекі, калі ласка, увядзіце пароль бягучага ўліковага запісу
current_password: У мэтах бяспекі, увядзіце пароль бягучага ўліковага запісу
current_username: Каб пацвердзіць, увядзіце, калі ласка імя карыстальніка бягучага ўліковага запісу
digest: Будзе даслана толькі пасля доўгага перыяду неактыўнасці і толькі калі вы атрымалі асабістыя паведамленні падчас вашай адсутнасці
email: Пацвярджэнне будзе выслана па электроннай пошце
@ -51,13 +51,14 @@ be:
locale: Мова карыстальніцкага інтэрфейсу, электронных паведамленняў і апавяшчэнняў
password: Не менш за 8 сімвалаў
phrase: Параўнанне адбудзецца нягледзячы на рэгістр тэксту і папярэджанні аб змесціве допісу
scopes: Якімі API праграм будзе дазволена карыстацца. Калі вы абярэце найвышэйшы ўзровень, не трэба абіраць асобныя.
scopes: Абярыце, якімі API праграма зможа карыстацца. Выбар дазволу найвышэйшага ўзроўню ўключае ў сябе дазволу астатніх узроўняў.
setting_aggregate_reblogs: Не паказваць новыя пашырэнні для допісаў, якія пашырылі нядаўна (закранае толькі нядаўнія пашырэнні)
setting_always_send_emails: Звычайна лісты з апавяшчэннямі не будуць дасылацца, калі вы актыўна карыстаецеся Mastodon
setting_default_sensitive: Далікатныя медыя прадвызначана схаваныя. Іх можна адкрыць адзіным клікам
setting_display_media_default: Хаваць медыя пазначаныя як далікатныя
setting_display_media_hide_all: Заўсёды хаваць медыя
setting_display_media_show_all: Заўсёды паказваць медыя
setting_emoji_style: Як паказваць эмодзі. "Аўтаматычны" будзе намагацца выкарыстоўваць мясцовыя эмодзі, але для састарэлых браўзераў — Twemoji.
setting_use_blurhash: Градыенты заснаваны на колерах схаваных выяў, але размываюць дэталі
setting_use_pending_items: Схаваць абнаўленні стужкі за клікам замест аўтаматычнага пракручвання стужкі
username: Вы можаце выкарыстоўваць літары, лічбы і падкрэсліванне
@ -80,19 +81,19 @@ be:
backups_retention_period: Карыстальнікі могуць ствараць архівы сваіх допісаў для наступнай запампоўкі. Пры станоўчай колькасці дзён гэтыя архівы будуць аўтаматычна выдаляцца са сховішча пасля заканчэння названай колькасці дзён.
bootstrap_timeline_accounts: Гэтыя ўліковыя запісы будуць замацаваны ў топе рэкамендацый для новых карыстальнікаў.
closed_registrations_message: Паказваецца, калі рэгістрацыя закрытая
content_cache_retention_period: Усе допісы з іншых сервераў (уключаючы пашырэнні і адказы) будуць выдаленыя праз паказаную колькасць дзён, незалежна ад таго, як лакальны карыстальнік узаемадзейнічаў з гэтымі допісамі. Гэта датычыцца і тых допісаў, якія лакальны карыстальнік пазначыў у закладкі або ўпадабанае. Прыватныя згадкі паміж карыстальнікамі з розных інстанс таксама будуць страчаныя і не змогуць быць адноўлены. Выкарыстанне гэтай налады прызначана для асобнікаў спецыяльнага прызначэння і парушае многія чаканні карыстальнікаў пры выкарыстанні ў агульных мэтах.
content_cache_retention_period: Усе допісы з іншых сервераў (разам з пашырэннямі і адказамі) будуць выдалены праз паказаную колькасць дзён, незалежна ад таго, як лакальны карыстальнік узаемадзейнічаў з гэтымі допісамі. Гэта датычыцца і тых допісаў, якія лакальны карыстальнік пазначыў у закладкі або ўпадабанае. Прыватныя згадванні паміж карыстальнікамі з розных экзэмпляраў сервераў таксама будуць страчаны і іх нельга будзе аднавіць. Выкарыстанне гэтай налады прызначана для экзэмпляраў сервераў спецыяльнага прызначэння і парушае многія чаканні карыстальнікаў пры выкарыстанні ў агульных мэтах.
custom_css: Вы можаце прымяняць карыстальніцкія стылі ў вэб-версіі Mastodon.
favicon: WEBP, PNG, GIF ці JPG. Замяняе прадвызначаны favicon Mastodon на ўласны значок.
mascot: Замяняе ілюстрацыю ў пашыраным вэб-інтэрфейсе.
media_cache_retention_period: Медыяфайлы з допісаў, зробленых выдаленымі карыстальнікамі, кэшыруюцца на вашым серверы. Пры станоўчым значэнні медыяфайлы будуць выдалены праз пазначаную колькасць дзён. Калі медыядадзеныя будуць запытаны пасля выдалення, яны будуць загружаны паўторна, калі зыходны кантэнт усё яшчэ даступны. У сувязі з абмежаваннямі на частату абнаўлення відарысаў іншых сайтаў, рэкамендуецца ўсталяваць значэнне не менш за 14 дзён, інакш відарысы не будуць загружацца па запыце раней за гэты тэрмін.
peers_api_enabled: Спіс даменных імён, з якімі сутыкнуўся гэты сервер у федэсвеце. Дадзеныя аб тым, ці знаходзіцеся вы з пэўным серверам у федэрацыі, не ўключаныя, ёсць толькі тое, што ваш сервер ведае пра гэта. Гэта выкарыстоўваецца сэрвісамі, якія збіраюць статыстыку па федэрацыі ў агульным сэнсе.
media_cache_retention_period: Медыяфайлы з допісаў, зробленых выдаленымі карыстальнікамі, кэшыруюцца на вашым серверы. Пры станоўчым значэнні медыяфайлы будуць выдалены праз пазначаную колькасць дзён. Калі медыяданыя будуць запытаны пасля выдалення, яны будуць спампаваны зноў, калі зыходнае змесціва усё яшчэ даступнае. У сувязі з абмежаваннямі на частату абнаўлення картак перадпрагляду іншых сайтаў, рэкамендуецца ўсталяваць значэнне не менш за 14 дзён, інакш гэтыя карткі не будуць абнаўляцца па запыце раней за гэты тэрмін.
peers_api_enabled: Спіс даменных імён, з якімі сутыкнуўся гэты сервер у fediverse. Даныя пра тое, ці знаходзіцеся вы з дадзеным серверам у федэрацыі, не ўключаны. Уключаны толькі даныя пра тое, што ваш сервер ведае пра іншыя серверы. Гэта выкарыстоўваецца сэрвісамі, якія збіраюць статыстыку па федэрацыі ў агульным сэнсе.
profile_directory: Дырэкторыя профіляў змяшчае спіс усіх карыстальнікаў, якія вырашылі быць бачнымі.
require_invite_text: Калі рэгістрацыя патрабуе ручнога пацвержання, зрабіце поле "Чаму вы хочаце далучыцца?" абавязковым
site_contact_email: Як людзі могуць звязацца з вамі па юрыдычных запытах або пытаннях падтрымкі.
site_contact_username: Як людзі могуць звязацца з вамі на Mastodon.
site_extended_description: Любая дадатковая інфармацыя, якая можа быць карыснай наведвальнікам ды вашым карыстальнікам. Можна карыстацца сінтаксісам Markdown каб структураваць тэкст.
site_short_description: Кароткае апісанне, каб дапамагчы адназначна ідэнтыфікаваць ваш сервер. Хто яго падтрымлівае, для каго ён?
site_terms: Апішыце ўласную палітыку прыватнасці альбо пакіньце поле пустым, калі хочаце скарыстацца прадвызначанай. Можна карыстацца сінтаксісам Markdown каб структураваць тэкст.
site_terms: Апішыце ўласную палітыку прыватнасці альбо пакіньце поле пустым, калі хочаце выкарыстоўваць прадвызначаную. Можна карыстацца сінтаксісам Markdown для структуравання тэксту.
site_title: Як людзі могуць звяртацца да вашага серверу акрамя яго даменнага імя.
status_page_url: URL старонкі, дзе людзі могуць бачыць стан гэтага сервера падчас збою
theme: Тэма, што бачаць новыя карыстальнікі ды наведвальнікі, якія выйшлі.
@ -127,6 +128,8 @@ be:
show_application: Вы ў любым выпадку зможаце ўбачыць, якая праграма апублікавала ваш допіс.
tag:
name: Вы можаце змяняць толькі рэгістр літар, напрыклад для таго, каб падвысіць чытабельнасць
terms_of_service:
text: Тэкст можна структураваць з дапамогай сінтаксісу Markdown.
user:
chosen_languages: У публічных стужках будуць паказвацца допісы толькі на тых мовах, якія вы пазначыце
user_role:
@ -207,6 +210,7 @@ be:
setting_boost_modal: Паказваць акно пацвярджэння перад пашырэннем
setting_default_language: Мова допісаў
setting_default_privacy: Прыватнасць допісаў
setting_default_quote_policy: Хто можа цытаваць
setting_default_sensitive: Заўсёды пазначаць кантэнт як далікатны
setting_delete_modal: Паказваць акно пацвярджэння перад выдаленнем допісу
setting_disable_hover_cards: Адключыць перадпрагляд профілю пры навядзенні
@ -215,13 +219,14 @@ be:
setting_display_media_default: Перадвызначана
setting_display_media_hide_all: Схаваць усё
setting_display_media_show_all: Паказаць усё
setting_emoji_style: Стыль эмодзі
setting_expand_spoilers: Заўжды разгортваць допісы з папярэджаннем аб змесціве
setting_hide_network: Схаваць вашы сувязі
setting_reduce_motion: Памяншэнне руху ў анімацыях
setting_system_font_ui: Выкарыстоўваць прадвызначаны сістэмны шрыфт
setting_theme: Тэма сайта
setting_trends: Паказваць трэнды дня
setting_unfollow_modal: Паказваць акно пацвярджэння перад адпіскай
setting_unfollow_modal: Паказваць акно пацвярджэння перад адпісваннем
setting_use_blurhash: Паказваць каляровыя градыенты замест схаваных медыя
setting_use_pending_items: Павольны рэжым
severity: Узровень
@ -276,7 +281,7 @@ be:
invite:
comment: Каментар
invite_request:
text: Чаму вы жадаеце далучыцца?
text: Чаму вы хочаце далучыцца?
ip_block:
comment: Каментар
ip: IP
@ -313,10 +318,18 @@ be:
name: Хэштэг
trendable: Дазволіць паказ гэтага хэштэга ў трэндах
usable: Дазволіць допісам выкарыстоўваць гэты хэштэг лакальна
terms_of_service:
changelog: Што змянілася?
text: Умовы выкарыстання
terms_of_service_generator:
domain: Дамэн
choice_of_law: Выбар заканадаўства
domain: Дамен
jurisdiction: Юрысдыкцыя
min_age: Мінімальны ўзрост
user:
date_of_birth_1i: Дзень
date_of_birth_2i: Месяц
date_of_birth_3i: Год
role: Роля
time_zone: Часавы пояс
user_role:

View File

@ -148,9 +148,6 @@ bg:
min_age: Не трябва да е под изискваната минимална възраст от закона на юрисдикцията ви.
user:
chosen_languages: Само публикации на отметнатите езици ще се показват в публичните часови оси
date_of_birth:
one: Трябва да се уверим, че сте поне на %{count}, за да употребявате Mastodon. Няма да съхраняваме това.
other: Трябва да се уверим, че сте поне на %{count}, за да употребявате Mastodon. Няма да съхраняваме това.
role: Ролята управлява какви позволения има потребителят.
user_role:
color: Цветът, използван за ролите в потребителския интерфейс, като RGB в шестнадесетичен формат

View File

@ -61,6 +61,7 @@ ca:
setting_display_media_default: Amaga el contingut gràfic marcat com a sensible
setting_display_media_hide_all: Oculta sempre tot el contingut multimèdia
setting_display_media_show_all: Mostra sempre el contingut gràfic
setting_emoji_style: Com mostrar els emojis. "Automàtic" provarà de fer servir els emojis nadius, però revertirà a twemojis en els navegadors antics.
setting_system_scrollbars_ui: S'aplica només als navegadors d'escriptori basats en Safari i Chrome
setting_use_blurhash: Els degradats es basen en els colors de les imatges ocultes, però n'enfosqueixen els detalls
setting_use_pending_items: Amaga les actualitzacions de la línia de temps després de fer un clic, en lloc de desplaçar-les automàticament
@ -148,9 +149,6 @@ ca:
min_age: No hauria de ser inferior a l'edat mínima exigida per la llei de la vostra jurisdicció.
user:
chosen_languages: Quan estigui marcat, només es mostraran els tuts de les llengües seleccionades en les línies de temps públiques
date_of_birth:
one: Ens hem d'assegurar que teniu com a mínim %{count} any per a fer servir Mastodon. No ho desarem.
other: Ens hem d'assegurar que teniu com a mínim %{count} anys per a fer servir Mastodon. No ho desarem.
role: El rol controla quins permisos té l'usuari.
user_role:
color: Color que s'usarà per al rol a tota la interfície d'usuari, com a RGB en format hexadecimal
@ -240,6 +238,7 @@ ca:
setting_display_media_default: Per defecte
setting_display_media_hide_all: Amaga-ho tot
setting_display_media_show_all: Mostra-ho tot
setting_emoji_style: Estil d'emojis
setting_expand_spoilers: Desplega sempre els tuts marcats amb advertències de contingut
setting_hide_network: Amaga la teva xarxa
setting_missing_alt_text_modal: Mostra un diàleg de confirmació abans de publicar contingut sense text alternatiu

View File

@ -150,11 +150,6 @@ cs:
min_age: Neměla by být pod minimálním věkem požadovaným zákony vaší jurisdikce.
user:
chosen_languages: Po zaškrtnutí budou ve veřejných časových osách zobrazeny pouze příspěvky ve zvolených jazycích
date_of_birth:
few: Musíme se ujistit, že je Vám alespoň %{count}, abyste mohli používat Mastodon. Nebudeme to ukládat.
many: Musíme se ujistit, že je Vám alespoň %{count} let, abyste mohli používat Mastodon. Nebudeme to ukládat.
one: Musíme se ujistit, že je Vám alespoň %{count} rok, abyste mohli používat Mastodon. Nebudeme to ukládat.
other: Musíme se ujistit, že je Vám alespoň %{count} let, abyste mohli používat Mastodon. Nebudeme to ukládat.
role: Role určuje, která oprávnění uživatel má.
user_role:
color: Barva, která má být použita pro roli v celém UI, jako RGB v hex formátu

View File

@ -149,13 +149,6 @@ cy:
min_age: Ni ddylai fod yn is na'r isafswm oedran sy'n ofynnol gan gyfreithiau eich awdurdodaeth.
user:
chosen_languages: Wedi eu dewis, dim ond tŵtiau yn yr ieithoedd hyn bydd yn cael eu harddangos mewn ffrydiau cyhoeddus
date_of_birth:
few: Mae'n rhai i ni wneud yn siŵr eich bod o leiaf yn %{count} i ddefnyddio Mastodon. Fyddwn ni ddim yn cadw hwn.
many: Mae'n rhai i ni wneud yn siŵr eich bod o leiaf yn %{count} i ddefnyddio Mastodon. Fyddwn ni ddim yn cadw hwn.
one: Mae'n rhai i ni wneud yn siŵr eich bod o leiaf yn %{count} i ddefnyddio Mastodon. Fyddwn ni ddim yn cadw hwn.
other: Mae'n rhai i ni wneud yn siŵr eich bod o leiaf yn %{count} i ddefnyddio Mastodon. Fyddwn ni ddim yn cadw hwn.
two: Mae'n rhai i ni wneud yn siŵr eich bod o leiaf yn %{count} i ddefnyddio Mastodon. Fyddwn ni ddim yn cadw hwn.
zero: Gwnewch yn siŵr eich bod o leiaf yn %{count} i ddefnyddio Mastodon. Fyddwn ni ddim yn cadw hwn.
role: Mae'r rôl yn rheoli pa ganiatâd sydd gan y defnyddiwr.
user_role:
color: Lliw i'w ddefnyddio ar gyfer y rôl drwy'r UI, fel RGB mewn fformat hecs

View File

@ -61,7 +61,7 @@ da:
setting_display_media_default: Skjul medier med sensitiv-markering
setting_display_media_hide_all: Skjul altid medier
setting_display_media_show_all: Vis altid medier
setting_emoji_style: Hvordan emojis skal vises. "Auto" vil forsøge at bruge indbyggede emojis, men skifter tilbage til Twemoji for ældre browsere.
setting_emoji_style: Hvordan emojis skal vises. "Auto" vil forsøge at bruge indbyggede emojis, men skifter tilbage til Twemoji i ældre webbrowsere.
setting_system_scrollbars_ui: Gælder kun for computerwebbrowsere baseret på Safari og Chrome
setting_use_blurhash: Gradienter er baseret på de skjulte grafikelementers farver, men slører alle detaljer
setting_use_pending_items: Skjul tidslinjeopdateringer bag et klik i stedet for brug af auto-feedrulning
@ -150,9 +150,6 @@ da:
min_age: Bør ikke være under den iht. lovgivningen i det aktuelle retsområde krævede minimumsalder.
user:
chosen_languages: Når markeret, vil kun indlæg på de valgte sprog fremgå på offentlige tidslinjer
date_of_birth:
one: Vi er nødt til at sikre, at man er fyldt %{count} for at bruge Mastodon. Denne information gemmes ikke.
other: Vi er nødt til at sikre, at man er fyldt %{count} for at bruge Mastodon. Denne information gemmes ikke.
role: Rollen styrer, hvilke tilladelser brugeren er tildelt.
user_role:
color: Farven, i RGB hex-format, der skal bruges til rollen i hele UI'en

View File

@ -61,7 +61,7 @@ de:
setting_display_media_default: Medien mit Inhaltswarnung ausblenden
setting_display_media_hide_all: Medien immer ausblenden
setting_display_media_show_all: Medien mit Inhaltswarnung immer anzeigen
setting_emoji_style: Darstellung von Emojis. „Automatisch“ verwendet native Emojis, für ältere Browser jedoch Twemoji.
setting_emoji_style: 'Wie Emojis dargestellt werden: „Automatisch“ verwendet native Emojis, für veraltete Browser wird jedoch Twemoji verwendet.'
setting_system_scrollbars_ui: Betrifft nur Desktop-Browser, die auf Chrome oder Safari basieren
setting_use_blurhash: Der Farbverlauf basiert auf den Farben der ausgeblendeten Medien, verschleiert aber jegliche Details
setting_use_pending_items: Neue Beiträge hinter einem Klick verstecken, anstatt automatisch zu scrollen
@ -150,9 +150,6 @@ de:
min_age: Sollte nicht unter dem gesetzlich vorgeschriebenen Mindestalter liegen.
user:
chosen_languages: Wenn du hier eine oder mehrere Sprachen auswählst, werden ausschließlich Beiträge in diesen Sprachen in deinen öffentlichen Timelines angezeigt
date_of_birth:
one: Wir müssen sicherstellen, dass du mindestens %{count} Jahre alt bist, um Mastodon nutzen zu können. Wir werden diese Information nicht aufbewahren.
other: Wir müssen sicherstellen, dass du mindestens %{count} Jahre alt bist, um Mastodon nutzen zu können. Wir werden diese Information nicht aufbewahren.
role: Die Rolle bestimmt, welche Berechtigungen das Konto hat.
user_role:
color: Farbe, die für diese Rolle in der gesamten Benutzerschnittstelle verwendet wird, als RGB im Hexadezimalsystem
@ -248,7 +245,7 @@ de:
setting_missing_alt_text_modal: Bestätigungsdialog anzeigen, bevor Medien ohne Bildbeschreibung veröffentlicht werden
setting_reduce_motion: Bewegung in Animationen verringern
setting_system_font_ui: Standardschriftart des Browsers verwenden
setting_system_scrollbars_ui: Bildlaufleiste des Systems verwenden
setting_system_scrollbars_ui: Bildlaufleiste des Betriebssystems verwenden
setting_theme: Design
setting_trends: Heutige Trends anzeigen
setting_unfollow_modal: Bestätigungsdialog beim Entfolgen eines Profils anzeigen

View File

@ -61,6 +61,7 @@ el:
setting_display_media_default: Απόκρυψη ευαίσθητων πολυμέσων
setting_display_media_hide_all: Μόνιμη απόκρυψη όλων των πολυμέσων
setting_display_media_show_all: Πάντα εμφάνιση πολυμέσων
setting_emoji_style: Πώς να εμφανίσετε emojis. Το "Αυτόματο" θα προσπαθήσει να χρησιμοποιήσει εγγενή emoji, αλλά πέφτει πίσω στο Twemoji για προγράμματα περιήγησης παλαιού τύπου.
setting_system_scrollbars_ui: Ισχύει μόνο για προγράμματα περιήγησης υπολογιστή με βάση το Safari και το Chrome
setting_use_blurhash: Οι χρωματισμοί βασίζονται στα χρώματα του κρυμμένου πολυμέσου αλλά θολώνουν τις λεπτομέρειες
setting_use_pending_items: Εμφάνιση ενημερώσεων ροής μετά από κλικ αντί για αυτόματη κύλισή τους
@ -74,7 +75,7 @@ el:
featured_tag:
name: 'Εδώ είναι μερικά από τα hashtags που χρησιμοποιήσατε περισσότερο πρόσφατα:'
filters:
action: Επιλέξτε ποια ενέργεια θα εκτελεστεί όταν μια δημοσίευση ταιριάζει με το φίλτρο
action: Επιλέξτε ποια ενέργεια θα εκτελεστεί όταν μια ανάρτηση ταιριάζει με το φίλτρο
actions:
blur: Απόκρυψη πολυμέσων πίσω από μια προειδοποίηση, χωρίς να κρύβεται το ίδιο το κείμενο
hide: Πλήρης αποκρυψη του φιλτραρισμένου περιεχομένου, συμπεριφέρεται σαν να μην υπήρχε
@ -149,9 +150,6 @@ el:
min_age: Δεν πρέπει να είναι κάτω από την ελάχιστη ηλικία που απαιτείται από τους νόμους της δικαιοδοσίας σας.
user:
chosen_languages: Όταν ενεργοποιηθεί, στη δημόσια ροή θα εμφανίζονται τουτ μόνο από τις επιλεγμένες γλώσσες
date_of_birth:
one: Πρέπει να βεβαιωθούμε ότι είσαι τουλάχιστον %{count} για να χρησιμοποιήσεις το Mastodon. Δε θα το αποθηκεύσουμε.
other: Πρέπει να βεβαιωθούμε ότι είσαι τουλάχιστον %{count} για να χρησιμοποιήσεις το Mastodon. Δε θα το αποθηκεύσουμε.
role: Ο ρόλος ελέγχει ποια δικαιώματα έχει ο χρήστης.
user_role:
color: Το χρώμα που θα χρησιμοποιηθεί για το ρόλο σε ολόκληρη τη διεπαφή, ως RGB σε δεκαεξαδική μορφή
@ -241,9 +239,10 @@ el:
setting_display_media_default: Προκαθορισμένο
setting_display_media_hide_all: Απόκρυψη όλων
setting_display_media_show_all: Εμφάνιση όλων
setting_emoji_style: Στυλ Emoji
setting_expand_spoilers: Μόνιμη ανάπτυξη των τουτ με προειδοποίηση περιεχομένου
setting_hide_network: Κρύψε τις διασυνδέσεις σου
setting_missing_alt_text_modal: Εμφάνιση διαλόγου επιβεβαίωσης πριν από την δημοσίευση πολυμέσων χωρίς alt κείμενο
setting_missing_alt_text_modal: Εμφάνιση διαλόγου επιβεβαίωσης πριν από τη δημοσίευση πολυμέσων χωρίς εναλλακτικό κείμενο
setting_reduce_motion: Μείωση κίνησης κινουμένων στοιχείων
setting_system_font_ui: Χρήση της προεπιλεγμένης γραμματοσειράς του συστήματος
setting_system_scrollbars_ui: Χρήση προκαθορισμένης γραμμής κύλισης του συστήματος
@ -318,12 +317,12 @@ el:
notification_emails:
appeal: Κάποιος κάνει έφεση σε απόφαση συντονιστή
digest: Αποστολή συνοπτικών email
favourite: Αποστολή email όταν κάποιος σημειώνει ως αγαπημένη τη δημοσίευσή σου
follow: Αποστολή email όταν κάποιος σε ακολουθεί
follow_request: Αποστολή email όταν κάποιος ζητάει να σε ακολουθήσει
mention: Αποστολή email όταν κάποιος σε αναφέρει
pending_account: Αποστολή email όταν υπάρχει νέος λογαριασμός για επιθεώρηση
reblog: Αποστολή email όταν κάποιος προωθεί τη δημοσίευση σου
favourite: Κάποιος αγάπησε την ανάρτηση σου
follow: Κάποιος σε ακολούθησε
follow_request: Κάποιος ζήτησε να σε ακολουθήσει
mention: Κάποιος σε επισήμανε
pending_account: Νέος λογαριασμός χρειάζεται αναθεώρηση
reblog: Κάποιος ενίσχυσε την ανάρτηση σου
report: Υποβλήθηκε νέα αναφορά
software_updates:
all: Ειδοποίηση για όλες τις ενημερώσεις

View File

@ -151,8 +151,8 @@ en-GB:
user:
chosen_languages: When checked, only posts in selected languages will be displayed in public timelines
date_of_birth:
one: We have to make sure you're at least %{count} to use Mastodon. We won't store this.
other: We have to make sure you're at least %{count} to use Mastodon. We won't store this.
one: We have to make sure you're at least %{count} to use %{domain}. We won't store this.
other: We have to make sure you're at least %{count} to use %{domain}. We won't store this.
role: The role controls which permissions the user has.
user_role:
color: Color to be used for the role throughout the UI, as RGB in hex format

View File

@ -151,8 +151,8 @@ en:
user:
chosen_languages: When checked, only posts in selected languages will be displayed in public timelines
date_of_birth:
one: We have to make sure you're at least %{count} to use Mastodon. We won't store this.
other: We have to make sure you're at least %{count} to use Mastodon. We won't store this.
one: We have to make sure you're at least %{count} to use %{domain}. We won't store this.
other: We have to make sure you're at least %{count} to use %{domain}. We won't store this.
role: The role controls which permissions the user has.
user_role:
color: Color to be used for the role throughout the UI, as RGB in hex format

View File

@ -150,9 +150,6 @@ es-AR:
min_age: No debería estar por debajo de la edad mínima requerida por las leyes de su jurisdicción.
user:
chosen_languages: Cuando estén marcados, sólo se mostrarán los mensajes en los idiomas seleccionados en las líneas temporales públicas
date_of_birth:
one: Tenemos que asegurarnos de que al menos tenés %{count} años de edad para usar Mastodon. No almacenaremos esta información.
other: Tenemos que asegurarnos de que al menos tenés %{count} años de edad para usar Mastodon. No almacenaremos esta información.
role: El rol controla qué permisos tiene el usuario.
user_role:
color: Color que se utilizará para el rol a lo largo de la interface de usuario, como RGB en formato hexadecimal

View File

@ -150,9 +150,6 @@ es-MX:
min_age: No debe ser menor de la edad mínima exigida por las leyes de su jurisdicción.
user:
chosen_languages: Cuando se marca, solo se mostrarán las publicaciones en los idiomas seleccionados en las líneas de tiempo públicas
date_of_birth:
one: Necesitamos asegurarnos de que tengas al menos %{count} para usar Mastodon. No guardaremos esta información.
other: Necesitamos asegurarnos de que tengas al menos %{count} para usar Mastodon. No guardaremos esta información.
role: El rol controla qué permisos tiene el usuario.
user_role:
color: Color que se usará para el rol en toda la interfaz de usuario, como RGB en formato hexadecimal

View File

@ -150,9 +150,6 @@ es:
min_age: No debería estar por debajo de la edad mínima requerida por las leyes de su jurisdicción.
user:
chosen_languages: Cuando se marca, solo se mostrarán las publicaciones en los idiomas seleccionados en las líneas de tiempo públicas
date_of_birth:
one: Tenemos que asegurarnos de que tienes al menos %{count} años para usar Mastodon. No guardaremos este dato.
other: Tenemos que asegurarnos de que tienes al menos %{count} años para usar Mastodon. No guardaremos este dato.
role: El rol controla qué permisos tiene el usuario.
user_role:
color: Color que se utilizará para el rol a lo largo de la interfaz de usuario, como RGB en formato hexadecimal

View File

@ -264,6 +264,7 @@ eu:
favicon: Gune-ikurra
mascot: Maskota pertsonalizatua (zaharkitua)
media_cache_retention_period: Multimediaren cachea atxikitzeko epea
min_age: Gutxieneko adin-eskakizuna
peers_api_enabled: Argitaratu aurkitutako zerbitzarien zerrenda APIan
profile_directory: Gaitu profil-direktorioa
registrations_mode: Nork eman dezake izena

View File

@ -149,9 +149,6 @@ fa:
min_age: نباید کم‌تر از کمینهٔ زمان لازم از سوی قوانین حقوقیتان باشد.
user:
chosen_languages: اگر انتخاب کنید، تنها نوشته‌هایی که به زبان‌های برگزیدهٔ شما نوشته شده‌اند در فهرست نوشته‌های عمومی نشان داده می‌شوند
date_of_birth:
one: برای استفاده از ماستودون باید مطمئن شویم کمینه %{count} سال را دارید. این مورد را ذخیره نخواهیم کرد.
other: برای استفاده از ماستودون باید مطمئن شویم کمینه %{count} سال را دارید. این مورد را ذخیره نخواهیم کرد.
role: نقش کنترل می کند که کاربر چه مجوزهایی دارد.
user_role:
color: رنگی که برای نقش در سرتاسر UI استفاده می شود، به عنوان RGB در قالب هگز

View File

@ -148,9 +148,6 @@ fi:
min_age: Ei pidä alittaa lainkäyttöalueesi lakien vaatimaa vähimmäisikää.
user:
chosen_languages: Jos valitset kieliä oheisesta luettelosta, vain niidenkieliset julkaisut näkyvät sinulle julkisilla aikajanoilla
date_of_birth:
one: Meidän on varmistettava, että olet vähintään %{count}, jotta voi käyttää Mastodonia. Emme tallenna tätä.
other: Meidän on varmistettava, että olet vähintään %{count}, jotta voi käyttää Mastodonia. Emme tallenna tätä.
role: Rooli määrää, millaiset käyttöoikeudet käyttäjällä on.
user_role:
color: Väri, jota käytetään roolille kaikkialla käyttöliittymässä, RGB-heksadesimaalimuodossa

View File

@ -150,9 +150,6 @@ fo:
min_age: Eigur ikki at vera undir lægsta aldri, sum lógirnar í tínum rættarøki krevja.
user:
chosen_languages: Tá hetta er valt, verða einans postar í valdum málum vístir á almennum tíðarlinjum
date_of_birth:
one: Vit mugu tryggja okkum, at tú er í minsta lagi %{count} fyri at brúka Mastodon. Vit goyma ikki hesar upplýsingar.
other: Vit mugu tryggja okkum, at tú er í minsta lagi %{count} fyri at brúka Mastodon. Vit goyma ikki hesar upplýsingar.
role: Leikluturin stýrir hvørji rættindi, brúkarin hevur.
user_role:
color: Litur, sum leikluturin hevur í øllum brúkaramarkamótinum, sum RGB og upplýst sum sekstandatal

View File

@ -150,9 +150,6 @@ fy:
min_age: Mei net leger wêze as de minimale fereaske leeftiid neffens de wetten fan jo jurisdiksje.
user:
chosen_languages: Allinnich berjochten yn de selektearre talen wurde op de iepenbiere tiidline toand
date_of_birth:
one: Wy moatte derfoar soargje dat jo op syn minst %{count} binne om Mastodon te brûken. Dit wurdt net bewarre.
other: Wy moatte derfoar soargje dat jo op syn minst %{count} binne om Mastodon te brûken. Dit wurdt net bewarre.
role: De rol bepaalt hokker rjochten in brûker hat.
user_role:
color: Kleur dyt brûkt wurdt foar de rol yn de UI, as RGB yn heksadesimaal formaat

View File

@ -61,6 +61,7 @@ ga:
setting_display_media_default: Folaigh meáin atá marcáilte mar íogair
setting_display_media_hide_all: Folaigh meáin i gcónaí
setting_display_media_show_all: Taispeáin meáin i gcónaí
setting_emoji_style: Conas emojis a thaispeáint. Déanfaidh "Auto" iarracht emoji dúchasacha a úsáid, ach titeann sé ar ais go Twemoji le haghaidh seanbhrabhsálaithe.
setting_system_scrollbars_ui: Ní bhaineann sé ach le brabhsálaithe deisce bunaithe ar Safari agus Chrome
setting_use_blurhash: Tá grádáin bunaithe ar dhathanna na n-amharcanna ceilte ach cuireann siad salach ar aon mhionsonraí
setting_use_pending_items: Folaigh nuashonruithe amlíne taobh thiar de chlic seachas an fotha a scrollú go huathoibríoch
@ -149,12 +150,6 @@ ga:
min_age: Níor chóir go mbeidís faoi bhun na haoise íosta a éilíonn dlíthe do dhlínse.
user:
chosen_languages: Nuair a dhéantar iad a sheiceáil, ní thaispeánfar ach postálacha i dteangacha roghnaithe in amlínte poiblí
date_of_birth:
few: Caithfimid a chinntiú go bhfuil tú %{count} ar a laghad chun Mastodon a úsáid. Ní stórálfaimid é seo.
many: Caithfimid a chinntiú go bhfuil tú %{count} ar a laghad chun Mastodon a úsáid. Ní stórálfaimid é seo.
one: Caithfimid a chinntiú go bhfuil tú %{count} ar a laghad chun Mastodon a úsáid. Ní stórálfaimid é seo.
other: Caithfimid a chinntiú go bhfuil tú %{count} ar a laghad chun Mastodon a úsáid. Ní stórálfaimid é seo.
two: Caithfimid a chinntiú go bhfuil tú %{count} ar a laghad chun Mastodon a úsáid. Ní stórálfaimid é seo.
role: Rialaíonn an ról na ceadanna atá ag an úsáideoir.
user_role:
color: Dath le húsáid don ról ar fud an Chomhéadain, mar RGB i bhformáid heicsidheachúlach
@ -244,6 +239,7 @@ ga:
setting_display_media_default: Réamhshocrú
setting_display_media_hide_all: Cuir uile i bhfolach
setting_display_media_show_all: Taispeáin uile
setting_emoji_style: Stíl Emoji
setting_expand_spoilers: Méadaigh postálacha atá marcáilte le rabhaidh inneachair i gcónaí
setting_hide_network: Folaigh do ghraf sóisialta
setting_missing_alt_text_modal: Taispeáin dialóg deimhnithe sula bpostálann tú meán gan alt téacs

View File

@ -149,11 +149,6 @@ gd:
min_age: Cha bu chòir seo a bhith fon aois as lugha a dhiarras laghain an t-uachdranais laghail agad.
user:
chosen_languages: Nuair a bhios cromag ris, cha nochd ach postaichean sna cànain a thagh thu air loidhnichean-ama poblach
date_of_birth:
few: Feumaidh sinn dèanamh cinnteach gu bheil thu %{count} bliadhnaichean a dhaois air a char as lugha mus cleachd thu Mastodon. Cha chlàraich sinn seo.
one: Feumaidh sinn dèanamh cinnteach gu bheil thu %{count} bhliadhna a dhaois air a char as lugha mus cleachd thu Mastodon. Cha chlàraich sinn seo.
other: Feumaidh sinn dèanamh cinnteach gu bheil thu %{count} bliadhna a dhaois air a char as lugha mus cleachd thu Mastodon. Cha chlàraich sinn seo.
two: Feumaidh sinn dèanamh cinnteach gu bheil thu %{count} bhliadhna a dhaois air a char as lugha mus cleachd thu Mastodon. Cha chlàraich sinn seo.
role: Stiùiridh an dreuchd dè na ceadan a bhios aig cleachdaiche.
user_role:
color: An datha a bhios air an dreuchd air feadh na h-eadar-aghaidh, na RGB san fhòrmat sia-dheicheach

View File

@ -150,9 +150,6 @@ gl:
min_age: Non debería ser inferior á idade mínima requerida polas leis da túa xurisdición.
user:
chosen_languages: Se ten marca, só as publicacións nos idiomas seleccionados serán mostrados en cronoloxías públicas
date_of_birth:
one: Temos que confirmar que tes %{count} anos polo menos para usar Mastodon. Non gardamos este dato.
other: Temos que confirmar que tes %{count} anos polo menos para usar Mastodon. Non gardamos este dato.
role: Os roles establecen os permisos que ten a usuaria.
user_role:
color: Cor que se usará para o rol a través da IU, como RGB en formato hex

View File

@ -150,11 +150,6 @@ he:
min_age: על הערך להיות לפחות בגיל המינימלי הדרוש בחוק באיזור השיפוט שלך.
user:
chosen_languages: אם פעיל, רק הודעות בשפות הנבחרות יוצגו לפידים הפומביים
date_of_birth:
many: עלינו לוודא שגילך לפחות %{count} כדי להשתמש במסטודון. המידע לא ישמר אצלנו.
one: עלינו לוודא שגילך לפחות %{count} כדי להשתמש במסטודון. המידע לא ישמר אצלנו.
other: עלינו לוודא שגילך לפחות %{count} כדי להשתמש במסטודון. המידע לא ישמר אצלנו.
two: עלינו לוודא שגילך לפחות %{count} כדי להשתמש במסטודון. המידע לא ישמר אצלנו.
role: התפקיד שולט על אילו הרשאות יש למשתמש.
user_role:
color: צבע לתפקיד בממשק המשתמש, כ RGB בפורמט הקסדצימלי

View File

@ -61,6 +61,7 @@ hu:
setting_display_media_default: Kényes tartalomnak jelölt média elrejtése
setting_display_media_hide_all: Média elrejtése mindig
setting_display_media_show_all: Média megjelenítése mindig
setting_emoji_style: Az emodzsik megjelenítési módja. Az „Automatikus” megpróbálja a natív emodzsikat használni, de az örökölt böngészők esetén a Twemojira vált vissza.
setting_system_scrollbars_ui: Csak Chrome és Safari alapú asztali böngészőkre vonatkozik
setting_use_blurhash: A kihomályosítás az eredeti képből történik, de minden részletet elrejt
setting_use_pending_items: Idővonal frissítése csak kattintásra automatikus görgetés helyett
@ -149,9 +150,6 @@ hu:
min_age: Nem lehet a joghatóság által meghatározott minimális kor alatt.
user:
chosen_languages: Ha aktív, csak a kiválasztott nyelvű bejegyzések jelennek majd meg a nyilvános idővonalon
date_of_birth:
one: Ahhoz, hogy a Mastodont használd, meg kell győződnünk arról, hogy legalább %{count} éves vagy. Ezt nem tároljuk.
other: Ahhoz, hogy a Mastodont használd, meg kell győződnünk arról, hogy legalább %{count} éves vagy. Ezt nem tároljuk.
role: A szerep szabályozza, hogy a felhasználó milyen jogosultságokkal rendelkezik.
user_role:
color: A szerephez használandó szín mindenhol a felhasználói felületen, hexa RGB formátumban
@ -241,6 +239,7 @@ hu:
setting_display_media_default: Alapértelmezés
setting_display_media_hide_all: Mindent elrejt
setting_display_media_show_all: Mindent mutat
setting_emoji_style: Emodzsistílus
setting_expand_spoilers: Tartalmi figyelmeztetéssel ellátott bejegyzések automatikus kinyitása
setting_hide_network: Hálózatod elrejtése
setting_missing_alt_text_modal: Megerősítési párbeszédablak megjelenítése a helyettesítő szöveg nélküli média közzététele előtt

Some files were not shown because too many files have changed in this diff Show More