Merge pull request #3526 from glitch-soc/glitch-soc/merge-upstream
Merge upstream issues up to b48f907b20e2c9909665a484041845697d26f17c
This commit is contained in:
commit
21c95ddbe4
4
.github/workflows/build-container-image.yml
vendored
4
.github/workflows/build-container-image.yml
vendored
@ -35,7 +35,7 @@ jobs:
|
||||
- linux/arm64
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Prepare
|
||||
env:
|
||||
@ -120,7 +120,7 @@ jobs:
|
||||
PUSH_TO_IMAGES: ${{ inputs.push_to_images }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Download digests
|
||||
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
|
||||
|
||||
2
.github/workflows/build-push-pr.yml
vendored
2
.github/workflows/build-push-pr.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
||||
steps:
|
||||
# Repository needs to be cloned so `git rev-parse` below works
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
- id: version_vars
|
||||
run: |
|
||||
echo mastodon_version_metadata=pr-${{ github.event.pull_request.number }}-$(git rev-parse --short ${{github.event.pull_request.head.sha}}) >> $GITHUB_OUTPUT
|
||||
|
||||
2
.github/workflows/build-releases.yml
vendored
2
.github/workflows/build-releases.yml
vendored
@ -16,7 +16,7 @@ jobs:
|
||||
steps:
|
||||
# Repository needs to be cloned to list branches
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
||||
2
.github/workflows/bundler-audit.yml
vendored
2
.github/workflows/bundler-audit.yml
vendored
@ -29,7 +29,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Set up Ruby
|
||||
uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1
|
||||
|
||||
4
.github/workflows/check-i18n.yml
vendored
4
.github/workflows/check-i18n.yml
vendored
@ -22,7 +22,7 @@ jobs:
|
||||
timeout-minutes: 15
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Set up Ruby environment
|
||||
uses: ./.github/actions/setup-ruby
|
||||
@ -39,7 +39,7 @@ jobs:
|
||||
run: bin/i18n-tasks check-normalized
|
||||
|
||||
- name: Check for unused strings
|
||||
run: bin/i18n-tasks unused
|
||||
run: bin/i18n-tasks unused -l en
|
||||
|
||||
- name: Check for missing strings in English YML
|
||||
run: |
|
||||
|
||||
4
.github/workflows/chromatic.yml
vendored
4
.github/workflows/chromatic.yml
vendored
@ -17,7 +17,7 @@ jobs:
|
||||
changed: ${{ steps.filter.outputs.src }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@ -44,7 +44,7 @@ jobs:
|
||||
if: github.repository == 'mastodon/mastodon' && needs.pathcheck.outputs.changed == 'true'
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
||||
2
.github/workflows/codeql.yml
vendored
2
.github/workflows/codeql.yml
vendored
@ -32,7 +32,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
|
||||
@ -13,7 +13,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Increase Git http.postBuffer
|
||||
# This is needed due to a bug in Ubuntu's cURL version?
|
||||
|
||||
2
.github/workflows/crowdin-download.yml
vendored
2
.github/workflows/crowdin-download.yml
vendored
@ -15,7 +15,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Increase Git http.postBuffer
|
||||
# This is needed due to a bug in Ubuntu's cURL version?
|
||||
|
||||
2
.github/workflows/crowdin-upload.yml
vendored
2
.github/workflows/crowdin-upload.yml
vendored
@ -23,7 +23,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: crowdin action
|
||||
uses: crowdin/github-action@8868a33591d21088edfc398968173a3b98d51706 # v2
|
||||
|
||||
2
.github/workflows/format-check.yml
vendored
2
.github/workflows/format-check.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Set up Javascript environment
|
||||
uses: ./.github/actions/setup-javascript
|
||||
|
||||
2
.github/workflows/lint-css.yml
vendored
2
.github/workflows/lint-css.yml
vendored
@ -31,7 +31,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Set up Javascript environment
|
||||
uses: ./.github/actions/setup-javascript
|
||||
|
||||
2
.github/workflows/lint-haml.yml
vendored
2
.github/workflows/lint-haml.yml
vendored
@ -32,7 +32,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Set up Ruby
|
||||
uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1
|
||||
|
||||
2
.github/workflows/lint-js.yml
vendored
2
.github/workflows/lint-js.yml
vendored
@ -37,7 +37,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Set up Javascript environment
|
||||
uses: ./.github/actions/setup-javascript
|
||||
|
||||
2
.github/workflows/lint-ruby.yml
vendored
2
.github/workflows/lint-ruby.yml
vendored
@ -34,7 +34,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Set up Ruby
|
||||
uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1
|
||||
|
||||
2
.github/workflows/test-js.yml
vendored
2
.github/workflows/test-js.yml
vendored
@ -35,7 +35,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Set up Javascript environment
|
||||
uses: ./.github/actions/setup-javascript
|
||||
|
||||
2
.github/workflows/test-migrations.yml
vendored
2
.github/workflows/test-migrations.yml
vendored
@ -73,7 +73,7 @@ jobs:
|
||||
BUNDLE_RETRY: 3
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Set up Ruby environment
|
||||
uses: ./.github/actions/setup-ruby
|
||||
|
||||
10
.github/workflows/test-ruby.yml
vendored
10
.github/workflows/test-ruby.yml
vendored
@ -33,7 +33,7 @@ jobs:
|
||||
SECRET_KEY_BASE_DUMMY: 1
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- name: Set up Ruby environment
|
||||
uses: ./.github/actions/setup-ruby
|
||||
@ -130,7 +130,7 @@ jobs:
|
||||
- '3.4'
|
||||
- '.ruby-version'
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
|
||||
with:
|
||||
@ -169,7 +169,7 @@ jobs:
|
||||
|
||||
- name: Upload coverage reports to Codecov
|
||||
if: matrix.ruby-version == '.ruby-version'
|
||||
uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6
|
||||
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v6
|
||||
with:
|
||||
files: coverage/lcov/*.lcov
|
||||
env:
|
||||
@ -225,7 +225,7 @@ jobs:
|
||||
- '.ruby-version'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
|
||||
with:
|
||||
@ -364,7 +364,7 @@ jobs:
|
||||
search-image: opensearchproject/opensearch:2
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||
|
||||
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
|
||||
with:
|
||||
|
||||
@ -210,7 +210,7 @@ GEM
|
||||
activerecord (>= 7.0, < 9.0)
|
||||
docile (1.4.1)
|
||||
domain_name (0.6.20240107)
|
||||
doorkeeper (5.9.1)
|
||||
doorkeeper (5.9.2)
|
||||
railties (>= 5)
|
||||
dotenv (3.2.0)
|
||||
drb (2.2.3)
|
||||
@ -778,15 +778,16 @@ GEM
|
||||
lint_roller (~> 1.1)
|
||||
rubocop (>= 1.75.0, < 2.0)
|
||||
rubocop-ast (>= 1.47.1, < 2.0)
|
||||
rubocop-rails (2.35.3)
|
||||
rubocop-rails (2.35.4)
|
||||
activesupport (>= 4.2.0)
|
||||
lint_roller (~> 1.1)
|
||||
rack (>= 1.1)
|
||||
rubocop (>= 1.75.0, < 2.0)
|
||||
rubocop-ast (>= 1.44.0, < 2.0)
|
||||
rubocop-rspec (3.9.0)
|
||||
rubocop-rspec (3.10.2)
|
||||
lint_roller (~> 1.1)
|
||||
rubocop (~> 1.81)
|
||||
regexp_parser (>= 2.0)
|
||||
rubocop (~> 1.86, >= 1.86.2)
|
||||
rubocop-rspec_rails (2.32.0)
|
||||
lint_roller (~> 1.1)
|
||||
rubocop (~> 1.72, >= 1.72.1)
|
||||
|
||||
@ -0,0 +1,36 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Admin::EmailSubscriptions::AccountsController < Admin::BaseController
|
||||
before_action :require_enabled!
|
||||
before_action :set_account
|
||||
|
||||
def show
|
||||
authorize :email_subscription, :show?
|
||||
@email_subscriptions_count = EmailSubscription.where(account: @account).count
|
||||
@email_subscriptions = EmailSubscription.where(account: @account).page(params[:page])
|
||||
end
|
||||
|
||||
def enable
|
||||
authorize :email_subscription, :enable?
|
||||
@account.user.settings['email_subscriptions'] = true
|
||||
@account.user.save!
|
||||
redirect_to admin_email_subscriptions_account_path(@account.id)
|
||||
end
|
||||
|
||||
def disable
|
||||
authorize :email_subscription, :disable?
|
||||
@account.user.settings['email_subscriptions'] = false
|
||||
@account.user.save!
|
||||
redirect_to admin_email_subscriptions_account_path(@account.id)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def require_enabled!
|
||||
raise ActionController::RoutingError, 'Feature disabled' unless Rails.application.config.x.email_subscriptions
|
||||
end
|
||||
|
||||
def set_account
|
||||
@account = Account.find(params[:id])
|
||||
end
|
||||
end
|
||||
@ -1,6 +1,8 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Admin::EmailSubscriptionsController < Admin::BaseController
|
||||
before_action :set_email_subscription, only: :destroy
|
||||
|
||||
def index
|
||||
authorize :email_subscription, :index?
|
||||
|
||||
@ -9,6 +11,12 @@ class Admin::EmailSubscriptionsController < Admin::BaseController
|
||||
@accounts = Account.local.where.associated(:email_subscriptions).includes(:user)
|
||||
end
|
||||
|
||||
def destroy
|
||||
authorize :email_subscription, :destroy?
|
||||
@email_subscription.destroy!
|
||||
redirect_to admin_email_subscriptions_account_path(@email_subscription.account_id)
|
||||
end
|
||||
|
||||
def disable
|
||||
authorize :email_subscription, :disable?
|
||||
Setting.email_subscriptions = false
|
||||
@ -20,4 +28,10 @@ class Admin::EmailSubscriptionsController < Admin::BaseController
|
||||
Admin::EmailSubscriptionsPurgeWorker.perform_async
|
||||
redirect_to admin_email_subscriptions_path, notice: I18n.t('admin.email_subscriptions.purged_msg')
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_email_subscription
|
||||
@email_subscription = EmailSubscription.find(params[:id])
|
||||
end
|
||||
end
|
||||
|
||||
@ -100,4 +100,8 @@ class Api::BaseController < ApplicationController
|
||||
def respond_with_error(code)
|
||||
render json: { error: Rack::Utils::HTTP_STATUS_CODES[code] }, status: code
|
||||
end
|
||||
|
||||
def alpha_path?
|
||||
request.path.starts_with?('/api/v1_alpha')
|
||||
end
|
||||
end
|
||||
|
||||
@ -2,6 +2,9 @@
|
||||
|
||||
class Api::V1::CollectionItemsController < Api::BaseController
|
||||
include Authorization
|
||||
include DeprecationConcern
|
||||
|
||||
deprecate_api '2026-06-10', if: :alpha_path?
|
||||
|
||||
before_action -> { doorkeeper_authorize! :write, :'write:collections' }
|
||||
|
||||
|
||||
@ -2,13 +2,17 @@
|
||||
|
||||
class Api::V1::CollectionsController < Api::BaseController
|
||||
include Authorization
|
||||
include DeprecationConcern
|
||||
|
||||
DEFAULT_COLLECTIONS_LIMIT = 40
|
||||
MAX_COLLECTIONS_LIMIT = 100
|
||||
|
||||
rescue_from ActiveRecord::RecordInvalid, Mastodon::ValidationError do |e|
|
||||
render json: { error: ValidationErrorFormatter.new(e).as_json }, status: 422
|
||||
end
|
||||
|
||||
deprecate_api '2026-06-10', if: :alpha_path?
|
||||
|
||||
before_action -> { authorize_if_got_token! :read, :'read:collections' }, only: [:index, :show]
|
||||
before_action -> { doorkeeper_authorize! :write, :'write:collections' }, only: [:create, :update, :destroy]
|
||||
|
||||
@ -73,7 +77,7 @@ class Api::V1::CollectionsController < Api::BaseController
|
||||
.with_tag
|
||||
.order(created_at: :desc)
|
||||
.offset(offset_param)
|
||||
.limit(limit_param(DEFAULT_COLLECTIONS_LIMIT))
|
||||
.limit(limit_param(DEFAULT_COLLECTIONS_LIMIT, MAX_COLLECTIONS_LIMIT))
|
||||
@collections = @collections.discoverable unless @account == current_account
|
||||
end
|
||||
|
||||
|
||||
@ -31,7 +31,8 @@ class Api::V1::Notifications::PoliciesController < Api::BaseController
|
||||
:filter_not_following,
|
||||
:filter_not_followers,
|
||||
:filter_new_accounts,
|
||||
:filter_private_mentions
|
||||
:filter_private_mentions,
|
||||
:filter_bots
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
@ -32,7 +32,8 @@ class Api::V2::Notifications::PoliciesController < Api::BaseController
|
||||
:for_not_followers,
|
||||
:for_new_accounts,
|
||||
:for_private_mentions,
|
||||
:for_limited_accounts
|
||||
:for_limited_accounts,
|
||||
:for_bots
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
13
app/controllers/auth/acceptances_controller.rb
Normal file
13
app/controllers/auth/acceptances_controller.rb
Normal file
@ -0,0 +1,13 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Auth::AcceptancesController < ApplicationController
|
||||
def create
|
||||
redirect_to new_user_registration_path(registration_params)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def registration_params
|
||||
params.permit(:accept, :invite_code).compact_blank
|
||||
end
|
||||
end
|
||||
@ -67,6 +67,10 @@ module SettingsHelper
|
||||
)
|
||||
end
|
||||
|
||||
def time_zone_options
|
||||
ActiveSupport::TimeZone.all.map { |tz| ["(GMT#{tz.now.formatted_offset}) #{tz.name}", tz.tzinfo.name] }
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def links_for_featured_tags(tags)
|
||||
|
||||
@ -181,6 +181,8 @@ async function loaded() {
|
||||
|
||||
truncateRuleHints();
|
||||
|
||||
applyRailsA11yPatches();
|
||||
|
||||
const reactComponents = document.querySelectorAll('[data-component]');
|
||||
|
||||
if (reactComponents.length > 0) {
|
||||
@ -515,6 +517,88 @@ on('click', '.rules-list button', ({ target }) => {
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Patch accessibility issues caused by Ruby Gems that
|
||||
* don't produce accessible markup (simple-forms & simple-navigation)
|
||||
*/
|
||||
function applyRailsA11yPatches() {
|
||||
/**
|
||||
* Mark current navigation item with aria-current
|
||||
*/
|
||||
const activeNavLink = document.querySelector(
|
||||
'.simple-navigation-active-leaf a.selected',
|
||||
);
|
||||
activeNavLink?.setAttribute('aria-current', 'page');
|
||||
|
||||
/**
|
||||
* Hides the asterisk added to labels of required form fields
|
||||
* from assistive tech. (Those fields already have the `required` attribute)
|
||||
*/
|
||||
document
|
||||
.querySelectorAll<HTMLElement>('.simple_form label.required abbr')
|
||||
.forEach((element) => {
|
||||
element.setAttribute('aria-hidden', 'true');
|
||||
});
|
||||
|
||||
/**
|
||||
* Associate form field hints with their inputs via aria-describedby
|
||||
*/
|
||||
document
|
||||
.querySelectorAll<HTMLDivElement>('.simple_form .field_with_hint')
|
||||
.forEach((field) => {
|
||||
const inputs = field.querySelectorAll<
|
||||
HTMLInputElement | HTMLTextAreaElement
|
||||
>("input[type='text'], input[type='checkbox'], textarea");
|
||||
|
||||
const hint = field.querySelector<HTMLDivElement>('.hint');
|
||||
|
||||
// Bail out if there are more than one input as
|
||||
// the association can't be safely made.
|
||||
if (inputs.length !== 1 || !inputs[0] || !hint) {
|
||||
return;
|
||||
}
|
||||
|
||||
const input = inputs[0];
|
||||
const inputId = input.getAttribute('id');
|
||||
const hintId = `${inputId}_hint`;
|
||||
|
||||
input.setAttribute('aria-describedby', hintId);
|
||||
hint.setAttribute('id', hintId);
|
||||
});
|
||||
|
||||
/**
|
||||
* Add fieldset-like group labels ("legends") to the date-of-birth selector
|
||||
* and groups of radio buttons
|
||||
*/
|
||||
const groups = document.querySelectorAll<HTMLDivElement>(
|
||||
'.simple_form .date_of_birth, .simple_form .input.with_label.radio_buttons',
|
||||
);
|
||||
groups.forEach((groupWrapper) => {
|
||||
// This is the element serving as the label of the group.
|
||||
const groupLabel = groupWrapper.querySelector<HTMLLabelElement>('label');
|
||||
const labelWithId =
|
||||
groupWrapper.querySelector<HTMLLabelElement>('label[for]');
|
||||
const groupHint = groupWrapper.querySelector<HTMLDivElement>('.hint');
|
||||
|
||||
// We need a unique ID to generate the aria associations. If `groupLabel`
|
||||
// doesn't have one, we just take the first label with a `for` attribute
|
||||
// that we can find, which is fine because we'll modify it before use.
|
||||
const inputId =
|
||||
groupLabel?.getAttribute('for') ?? labelWithId?.getAttribute('for');
|
||||
const labelId = `${inputId}_label`;
|
||||
const hintId = `${inputId}_hint`;
|
||||
|
||||
groupLabel?.setAttribute('id', labelId);
|
||||
groupHint?.setAttribute('id', hintId);
|
||||
|
||||
groupWrapper.setAttribute('role', 'group');
|
||||
groupWrapper.setAttribute('aria-labelledby', labelId);
|
||||
if (groupHint) {
|
||||
groupWrapper.setAttribute('aria-describedby', hintId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function main() {
|
||||
ready(loaded).catch((error: unknown) => {
|
||||
console.error(error);
|
||||
|
||||
@ -8,6 +8,7 @@ export interface NotificationPolicyJSON {
|
||||
for_new_accounts: NotificationPolicyValue;
|
||||
for_private_mentions: NotificationPolicyValue;
|
||||
for_limited_accounts: NotificationPolicyValue;
|
||||
for_bots: NotificationPolicyValue;
|
||||
summary: {
|
||||
pending_requests_count: number;
|
||||
pending_notifications_count: number;
|
||||
|
||||
@ -53,6 +53,7 @@ export const Alert: React.FC<{
|
||||
className='notification-bar__action'
|
||||
onClick={onActionClick}
|
||||
type='button'
|
||||
aria-hidden='true'
|
||||
>
|
||||
{action}
|
||||
</button>
|
||||
|
||||
@ -11,6 +11,7 @@ import type {
|
||||
} from 'flavours/glitch/models/alert';
|
||||
import { useAppSelector, useAppDispatch } from 'flavours/glitch/store';
|
||||
|
||||
import { A11yLiveRegion } from './a11y_live_region';
|
||||
import { Alert } from './alert';
|
||||
|
||||
const formatIfNeeded = (
|
||||
@ -75,12 +76,8 @@ const TimedAlert: React.FC<{
|
||||
export const AlertsController: React.FC = () => {
|
||||
const alerts = useAppSelector((state) => state.alerts);
|
||||
|
||||
if (alerts.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='notification-list'>
|
||||
<A11yLiveRegion className='notification-list'>
|
||||
{alerts.map((alert, idx) => (
|
||||
<TimedAlert
|
||||
key={alert.key}
|
||||
@ -88,6 +85,6 @@ export const AlertsController: React.FC = () => {
|
||||
dismissAfter={5000 + idx * 1000}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
</A11yLiveRegion>
|
||||
);
|
||||
};
|
||||
|
||||
@ -34,6 +34,15 @@ export const Default: Story = {
|
||||
},
|
||||
};
|
||||
|
||||
export const NoTitle: Story = {
|
||||
args: {
|
||||
title: '',
|
||||
primaryLabel: '',
|
||||
secondaryLabel: '',
|
||||
onClose: undefined,
|
||||
},
|
||||
};
|
||||
|
||||
export const NoIcon: Story = {
|
||||
args: {
|
||||
icon: false,
|
||||
@ -56,11 +65,11 @@ export const OnlyText: Story = {
|
||||
},
|
||||
};
|
||||
|
||||
// export const Subtle: Story = {
|
||||
// args: {
|
||||
// variant: 'subtle',
|
||||
// },
|
||||
// };
|
||||
export const Subtle: Story = {
|
||||
args: {
|
||||
variant: 'subtle',
|
||||
},
|
||||
};
|
||||
|
||||
export const Feature: Story = {
|
||||
args: {
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
color: var(--color-text-primary);
|
||||
border-radius: 12px;
|
||||
font-size: 15px;
|
||||
line-height: 1.3333;
|
||||
}
|
||||
|
||||
.icon {
|
||||
@ -14,7 +15,7 @@
|
||||
border-radius: 9999px;
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
margin-top: -2px;
|
||||
margin-block: -2px;
|
||||
}
|
||||
|
||||
.content,
|
||||
@ -46,7 +47,7 @@
|
||||
|
||||
h3 {
|
||||
font-weight: 500;
|
||||
margin-bottom: 5px;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -152,7 +152,7 @@ export const ColumnHeader: React.FC<Props> = ({
|
||||
active,
|
||||
});
|
||||
|
||||
const buttonClassName = classNames('column-header', {
|
||||
const headingClassName = classNames('column-header', {
|
||||
active,
|
||||
});
|
||||
|
||||
@ -276,44 +276,42 @@ export const ColumnHeader: React.FC<Props> = ({
|
||||
</>
|
||||
);
|
||||
|
||||
const HeadingElement = hasTitle ? 'h1' : 'div';
|
||||
const titleClassNames = classNames('column-header__title', {
|
||||
'column-header__title--with-back-button': !!backButton,
|
||||
});
|
||||
|
||||
const component = (
|
||||
<div className={wrapperClassName}>
|
||||
<HeadingElement className={buttonClassName}>
|
||||
<div className={headingClassName}>
|
||||
{backButton}
|
||||
{hasTitle && (
|
||||
<>
|
||||
{backButton}
|
||||
|
||||
{onClick && (
|
||||
<h1 className='column-header__title-wrapper'>
|
||||
{onClick ? (
|
||||
<button
|
||||
onClick={handleTitleClick}
|
||||
className='column-header__title'
|
||||
className={titleClassNames}
|
||||
type='button'
|
||||
id={getColumnSkipLinkId(columnIndex)}
|
||||
>
|
||||
{titleContents}
|
||||
</button>
|
||||
)}
|
||||
{!onClick && (
|
||||
) : (
|
||||
<span
|
||||
className='column-header__title'
|
||||
className={titleClassNames}
|
||||
tabIndex={-1}
|
||||
id={getColumnSkipLinkId(columnIndex)}
|
||||
>
|
||||
{titleContents}
|
||||
</span>
|
||||
)}
|
||||
</>
|
||||
</h1>
|
||||
)}
|
||||
|
||||
{!hasTitle && backButton}
|
||||
|
||||
<div className='column-header__buttons'>
|
||||
{extraButton}
|
||||
{collapseButton}
|
||||
</div>
|
||||
</HeadingElement>
|
||||
</div>
|
||||
|
||||
<div
|
||||
className={collapsibleClassName}
|
||||
|
||||
@ -181,6 +181,8 @@ async function loaded() {
|
||||
|
||||
truncateRuleHints();
|
||||
|
||||
applyRailsA11yPatches();
|
||||
|
||||
const reactComponents = document.querySelectorAll('[data-component]');
|
||||
|
||||
if (reactComponents.length > 0) {
|
||||
@ -515,6 +517,88 @@ on('click', '.rules-list button', ({ target }) => {
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Patch accessibility issues caused by Ruby Gems that
|
||||
* don't produce accessible markup (simple-forms & simple-navigation)
|
||||
*/
|
||||
function applyRailsA11yPatches() {
|
||||
/**
|
||||
* Mark current navigation item with aria-current
|
||||
*/
|
||||
const activeNavLink = document.querySelector(
|
||||
'.simple-navigation-active-leaf a.selected',
|
||||
);
|
||||
activeNavLink?.setAttribute('aria-current', 'page');
|
||||
|
||||
/**
|
||||
* Hides the asterisk added to labels of required form fields
|
||||
* from assistive tech. (Those fields already have the `required` attribute)
|
||||
*/
|
||||
document
|
||||
.querySelectorAll<HTMLElement>('.simple_form label.required abbr')
|
||||
.forEach((element) => {
|
||||
element.setAttribute('aria-hidden', 'true');
|
||||
});
|
||||
|
||||
/**
|
||||
* Associate form field hints with their inputs via aria-describedby
|
||||
*/
|
||||
document
|
||||
.querySelectorAll<HTMLDivElement>('.simple_form .field_with_hint')
|
||||
.forEach((field) => {
|
||||
const inputs = field.querySelectorAll<
|
||||
HTMLInputElement | HTMLTextAreaElement
|
||||
>("input[type='text'], input[type='checkbox'], textarea");
|
||||
|
||||
const hint = field.querySelector<HTMLDivElement>('.hint');
|
||||
|
||||
// Bail out if there are more than one input as
|
||||
// the association can't be safely made.
|
||||
if (inputs.length !== 1 || !inputs[0] || !hint) {
|
||||
return;
|
||||
}
|
||||
|
||||
const input = inputs[0];
|
||||
const inputId = input.getAttribute('id');
|
||||
const hintId = `${inputId}_hint`;
|
||||
|
||||
input.setAttribute('aria-describedby', hintId);
|
||||
hint.setAttribute('id', hintId);
|
||||
});
|
||||
|
||||
/**
|
||||
* Add fieldset-like group labels ("legends") to the date-of-birth selector
|
||||
* and groups of radio buttons
|
||||
*/
|
||||
const groups = document.querySelectorAll<HTMLDivElement>(
|
||||
'.simple_form .date_of_birth, .simple_form .input.with_label.radio_buttons',
|
||||
);
|
||||
groups.forEach((groupWrapper) => {
|
||||
// This is the element serving as the label of the group.
|
||||
const groupLabel = groupWrapper.querySelector<HTMLLabelElement>('label');
|
||||
const labelWithId =
|
||||
groupWrapper.querySelector<HTMLLabelElement>('label[for]');
|
||||
const groupHint = groupWrapper.querySelector<HTMLDivElement>('.hint');
|
||||
|
||||
// We need a unique ID to generate the aria associations. If `groupLabel`
|
||||
// doesn't have one, we just take the first label with a `for` attribute
|
||||
// that we can find, which is fine because we'll modify it before use.
|
||||
const inputId =
|
||||
groupLabel?.getAttribute('for') ?? labelWithId?.getAttribute('for');
|
||||
const labelId = `${inputId}_label`;
|
||||
const hintId = `${inputId}_hint`;
|
||||
|
||||
groupLabel?.setAttribute('id', labelId);
|
||||
groupHint?.setAttribute('id', hintId);
|
||||
|
||||
groupWrapper.setAttribute('role', 'group');
|
||||
groupWrapper.setAttribute('aria-labelledby', labelId);
|
||||
if (groupHint) {
|
||||
groupWrapper.setAttribute('aria-describedby', hintId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function main() {
|
||||
ready(loaded).catch((error: unknown) => {
|
||||
console.error(error);
|
||||
|
||||
@ -54,7 +54,8 @@ const messages = defineMessages({
|
||||
},
|
||||
});
|
||||
|
||||
const MAX_LENGTH = 1500;
|
||||
// TODO: use `description_limit` from the `/api/v2/instance` response
|
||||
const MAX_LENGTH = 10000;
|
||||
|
||||
type FocalPoint = [number, number];
|
||||
|
||||
|
||||
@ -88,6 +88,13 @@ export const PolicyControls: React.FC = () => {
|
||||
[dispatch],
|
||||
);
|
||||
|
||||
const handleFilterBots = useCallback(
|
||||
(value: string) => {
|
||||
changeFilter(dispatch, 'for_bots', value);
|
||||
},
|
||||
[dispatch],
|
||||
);
|
||||
|
||||
if (!notificationPolicy) return null;
|
||||
|
||||
const options = [
|
||||
@ -209,6 +216,24 @@ export const PolicyControls: React.FC = () => {
|
||||
/>
|
||||
}
|
||||
/>
|
||||
|
||||
<SelectWithLabel
|
||||
value={notificationPolicy.for_bots}
|
||||
onChange={handleFilterBots}
|
||||
options={options}
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_bots_title'
|
||||
defaultMessage='Bots'
|
||||
/>
|
||||
}
|
||||
hint={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_bots_hint'
|
||||
defaultMessage='Accounts marked as automated'
|
||||
/>
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
|
||||
@ -48,6 +48,9 @@ export const IgnoreNotificationsModal = ({ filterType }) => {
|
||||
case 'for_limited_accounts':
|
||||
title = <FormattedMessage id='ignore_notifications_modal.limited_accounts_title' defaultMessage='Ignore notifications from moderated accounts?' />;
|
||||
break;
|
||||
case 'for_bots':
|
||||
title = <FormattedMessage id='ignore_notifications_modal.bots_title' defaultMessage='Ignore notifications from bots?' />;
|
||||
break;
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@ -456,6 +456,7 @@ $content-width: 840px;
|
||||
color: var(--color-text-primary);
|
||||
border-radius: 12px;
|
||||
font-size: 15px;
|
||||
line-height: 1.3333;
|
||||
margin-bottom: 30px;
|
||||
|
||||
.icon {
|
||||
@ -463,10 +464,26 @@ $content-width: 840px;
|
||||
border-radius: 9999px;
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
margin-top: -2px;
|
||||
margin-block: -2px;
|
||||
background-color: var(--color-bg-brand-soft);
|
||||
}
|
||||
|
||||
&.variantWarning {
|
||||
background-color: var(--color-bg-warning-softest);
|
||||
|
||||
.icon {
|
||||
background-color: var(--color-bg-warning-soft);
|
||||
}
|
||||
}
|
||||
|
||||
&.variantError {
|
||||
background-color: var(--color-bg-error-softest);
|
||||
|
||||
.icon {
|
||||
background-color: var(--color-bg-error-soft);
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@ -485,7 +502,7 @@ $content-width: 840px;
|
||||
|
||||
.title {
|
||||
font-weight: 600;
|
||||
margin-bottom: 8px;
|
||||
margin-bottom: 6px;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
@ -2466,4 +2483,46 @@ a.sparkline {
|
||||
background: var(--color-bg-success-softest);
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
|
||||
&.positive {
|
||||
background: var(--color-bg-success-softest);
|
||||
}
|
||||
|
||||
&.negative {
|
||||
background: var(--color-bg-error-softest);
|
||||
}
|
||||
}
|
||||
|
||||
.metadata {
|
||||
display: flex;
|
||||
gap: 40px;
|
||||
margin: 16px 0;
|
||||
|
||||
& > div {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-size: 13px;
|
||||
color: var(--color-text-secondary);
|
||||
}
|
||||
|
||||
dd {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
line-height: 22.4px;
|
||||
|
||||
.status-badge {
|
||||
box-sizing: border-box;
|
||||
padding: 4px;
|
||||
font-size: inherit;
|
||||
height: 24px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4727,10 +4727,16 @@ a.status-card {
|
||||
z-index: 2;
|
||||
outline: 0;
|
||||
|
||||
&__title-wrapper {
|
||||
display: flex;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
&__title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
flex-grow: 1;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
padding: 13px;
|
||||
@ -4742,7 +4748,10 @@ a.status-card {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
flex: 1;
|
||||
|
||||
&--with-back-button {
|
||||
padding-inline-start: 0;
|
||||
}
|
||||
|
||||
&:focus-visible {
|
||||
outline: var(--outline-focus-default);
|
||||
@ -4753,10 +4762,6 @@ a.status-card {
|
||||
}
|
||||
}
|
||||
|
||||
.column-header__back-button + &__title {
|
||||
padding-inline-start: 0;
|
||||
}
|
||||
|
||||
.column-header__back-button {
|
||||
flex: 1;
|
||||
color: var(--color-text-brand);
|
||||
@ -10179,6 +10184,10 @@ noscript {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.notification-bar {
|
||||
|
||||
@ -501,6 +501,8 @@ code {
|
||||
|
||||
input[type='radio'] {
|
||||
accent-color: var(--color-text-brand);
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
@ -534,6 +536,8 @@ code {
|
||||
label.checkbox {
|
||||
input[type='checkbox'] {
|
||||
accent-color: var(--color-text-brand);
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -129,6 +129,10 @@
|
||||
color: var(--color-text-primary);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.status-badge {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.batch-table {
|
||||
@ -194,6 +198,12 @@ a.table-action-link {
|
||||
justify-content: center;
|
||||
padding: 4px;
|
||||
aspect-ratio: 1;
|
||||
|
||||
&.table-icon-link--danger {
|
||||
border-radius: 8px;
|
||||
border: 1px solid var(--color-border-primary);
|
||||
color: var(--color-text-error);
|
||||
}
|
||||
}
|
||||
|
||||
.batch-table {
|
||||
|
||||
@ -8,6 +8,7 @@ export interface NotificationPolicyJSON {
|
||||
for_new_accounts: NotificationPolicyValue;
|
||||
for_private_mentions: NotificationPolicyValue;
|
||||
for_limited_accounts: NotificationPolicyValue;
|
||||
for_bots: NotificationPolicyValue;
|
||||
summary: {
|
||||
pending_requests_count: number;
|
||||
pending_notifications_count: number;
|
||||
|
||||
@ -53,6 +53,7 @@ export const Alert: React.FC<{
|
||||
className='notification-bar__action'
|
||||
onClick={onActionClick}
|
||||
type='button'
|
||||
aria-hidden='true'
|
||||
>
|
||||
{action}
|
||||
</button>
|
||||
|
||||
@ -11,6 +11,7 @@ import type {
|
||||
} from 'mastodon/models/alert';
|
||||
import { useAppSelector, useAppDispatch } from 'mastodon/store';
|
||||
|
||||
import { A11yLiveRegion } from './a11y_live_region';
|
||||
import { Alert } from './alert';
|
||||
|
||||
const formatIfNeeded = (
|
||||
@ -75,12 +76,8 @@ const TimedAlert: React.FC<{
|
||||
export const AlertsController: React.FC = () => {
|
||||
const alerts = useAppSelector((state) => state.alerts);
|
||||
|
||||
if (alerts.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='notification-list'>
|
||||
<A11yLiveRegion className='notification-list'>
|
||||
{alerts.map((alert, idx) => (
|
||||
<TimedAlert
|
||||
key={alert.key}
|
||||
@ -88,6 +85,6 @@ export const AlertsController: React.FC = () => {
|
||||
dismissAfter={5000 + idx * 1000}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
</A11yLiveRegion>
|
||||
);
|
||||
};
|
||||
|
||||
@ -34,6 +34,15 @@ export const Default: Story = {
|
||||
},
|
||||
};
|
||||
|
||||
export const NoTitle: Story = {
|
||||
args: {
|
||||
title: '',
|
||||
primaryLabel: '',
|
||||
secondaryLabel: '',
|
||||
onClose: undefined,
|
||||
},
|
||||
};
|
||||
|
||||
export const NoIcon: Story = {
|
||||
args: {
|
||||
icon: false,
|
||||
@ -56,11 +65,11 @@ export const OnlyText: Story = {
|
||||
},
|
||||
};
|
||||
|
||||
// export const Subtle: Story = {
|
||||
// args: {
|
||||
// variant: 'subtle',
|
||||
// },
|
||||
// };
|
||||
export const Subtle: Story = {
|
||||
args: {
|
||||
variant: 'subtle',
|
||||
},
|
||||
};
|
||||
|
||||
export const Feature: Story = {
|
||||
args: {
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
color: var(--color-text-primary);
|
||||
border-radius: 12px;
|
||||
font-size: 15px;
|
||||
line-height: 1.3333;
|
||||
}
|
||||
|
||||
.icon {
|
||||
@ -14,7 +15,7 @@
|
||||
border-radius: 9999px;
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
margin-top: -2px;
|
||||
margin-block: -2px;
|
||||
}
|
||||
|
||||
.content,
|
||||
@ -46,7 +47,7 @@
|
||||
|
||||
h3 {
|
||||
font-weight: 500;
|
||||
margin-bottom: 5px;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -152,7 +152,7 @@ export const ColumnHeader: React.FC<Props> = ({
|
||||
active,
|
||||
});
|
||||
|
||||
const buttonClassName = classNames('column-header', {
|
||||
const headingClassName = classNames('column-header', {
|
||||
active,
|
||||
});
|
||||
|
||||
@ -276,44 +276,42 @@ export const ColumnHeader: React.FC<Props> = ({
|
||||
</>
|
||||
);
|
||||
|
||||
const HeadingElement = hasTitle ? 'h1' : 'div';
|
||||
const titleClassNames = classNames('column-header__title', {
|
||||
'column-header__title--with-back-button': !!backButton,
|
||||
});
|
||||
|
||||
const component = (
|
||||
<div className={wrapperClassName}>
|
||||
<HeadingElement className={buttonClassName}>
|
||||
<div className={headingClassName}>
|
||||
{backButton}
|
||||
{hasTitle && (
|
||||
<>
|
||||
{backButton}
|
||||
|
||||
{onClick && (
|
||||
<h1 className='column-header__title-wrapper'>
|
||||
{onClick ? (
|
||||
<button
|
||||
onClick={handleTitleClick}
|
||||
className='column-header__title'
|
||||
className={titleClassNames}
|
||||
type='button'
|
||||
id={getColumnSkipLinkId(columnIndex)}
|
||||
>
|
||||
{titleContents}
|
||||
</button>
|
||||
)}
|
||||
{!onClick && (
|
||||
) : (
|
||||
<span
|
||||
className='column-header__title'
|
||||
className={titleClassNames}
|
||||
tabIndex={-1}
|
||||
id={getColumnSkipLinkId(columnIndex)}
|
||||
>
|
||||
{titleContents}
|
||||
</span>
|
||||
)}
|
||||
</>
|
||||
</h1>
|
||||
)}
|
||||
|
||||
{!hasTitle && backButton}
|
||||
|
||||
<div className='column-header__buttons'>
|
||||
{extraButton}
|
||||
{collapseButton}
|
||||
</div>
|
||||
</HeadingElement>
|
||||
</div>
|
||||
|
||||
<div
|
||||
className={collapsibleClassName}
|
||||
|
||||
@ -54,7 +54,8 @@ const messages = defineMessages({
|
||||
},
|
||||
});
|
||||
|
||||
const MAX_LENGTH = 1500;
|
||||
// TODO: use `description_limit` from the `/api/v2/instance` response
|
||||
const MAX_LENGTH = 10000;
|
||||
|
||||
type FocalPoint = [number, number];
|
||||
|
||||
|
||||
@ -88,6 +88,13 @@ export const PolicyControls: React.FC = () => {
|
||||
[dispatch],
|
||||
);
|
||||
|
||||
const handleFilterBots = useCallback(
|
||||
(value: string) => {
|
||||
changeFilter(dispatch, 'for_bots', value);
|
||||
},
|
||||
[dispatch],
|
||||
);
|
||||
|
||||
if (!notificationPolicy) return null;
|
||||
|
||||
const options = [
|
||||
@ -209,6 +216,24 @@ export const PolicyControls: React.FC = () => {
|
||||
/>
|
||||
}
|
||||
/>
|
||||
|
||||
<SelectWithLabel
|
||||
value={notificationPolicy.for_bots}
|
||||
onChange={handleFilterBots}
|
||||
options={options}
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_bots_title'
|
||||
defaultMessage='Bots'
|
||||
/>
|
||||
}
|
||||
hint={
|
||||
<FormattedMessage
|
||||
id='notifications.policy.filter_bots_hint'
|
||||
defaultMessage='Accounts marked as automated'
|
||||
/>
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
|
||||
@ -48,6 +48,9 @@ export const IgnoreNotificationsModal = ({ filterType }) => {
|
||||
case 'for_limited_accounts':
|
||||
title = <FormattedMessage id='ignore_notifications_modal.limited_accounts_title' defaultMessage='Ignore notifications from moderated accounts?' />;
|
||||
break;
|
||||
case 'for_bots':
|
||||
title = <FormattedMessage id='ignore_notifications_modal.bots_title' defaultMessage='Ignore notifications from bots?' />;
|
||||
break;
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@ -761,7 +761,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "لعرض أو إخفاء النص مِن وراء التحذير",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "لعرض/إخفاء الوسائط",
|
||||
"keyboard_shortcuts.toot": "للشروع في تحرير منشور جديد",
|
||||
"keyboard_shortcuts.translate": "لترجمة منشور",
|
||||
"keyboard_shortcuts.unfocus": "لإلغاء التركيز على حقل النص أو نافذة البحث",
|
||||
"keyboard_shortcuts.up": "للانتقال إلى أعلى القائمة",
|
||||
"learn_more_link.got_it": "مفهوم",
|
||||
|
||||
@ -535,7 +535,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "CW arxasındakı mətni göstər/gizlət",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Medianı göstər/gizlət",
|
||||
"keyboard_shortcuts.toot": "Yeni bir göndəriş başlat",
|
||||
"keyboard_shortcuts.translate": "bir göndərişi tərcümə etmək üçün",
|
||||
"keyboard_shortcuts.unfocus": "Fokusu göndəriş yazma xanasından/axtarışdan götür",
|
||||
"keyboard_shortcuts.up": "Siyahıda yuxarı daşı",
|
||||
"learn_more_link.got_it": "Anladım",
|
||||
|
||||
@ -846,7 +846,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Паказаць/схаваць медыя",
|
||||
"keyboard_shortcuts.toot": "Стварыць новы допіс",
|
||||
"keyboard_shortcuts.top": "Перайсці да вяршыні спіса",
|
||||
"keyboard_shortcuts.translate": "каб перакласці допіс",
|
||||
"keyboard_shortcuts.translate": "Перакласці допіс",
|
||||
"keyboard_shortcuts.unfocus": "Расфакусіраваць тэкставую вобласць/пошукавы радок",
|
||||
"keyboard_shortcuts.up": "Перамясціцца ўверх па спісе",
|
||||
"learn_more_link.got_it": "Зразумеў(-ла)",
|
||||
|
||||
@ -452,7 +452,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "Показване/скриване на текст зад предупреждение на съдържание",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Показване/скриване на мултимедията",
|
||||
"keyboard_shortcuts.toot": "Начало на нова публикация",
|
||||
"keyboard_shortcuts.translate": "за превод на публикация",
|
||||
"keyboard_shortcuts.unfocus": "Разфокусиране на текстовото поле за съставяне/търсене",
|
||||
"keyboard_shortcuts.up": "Преместване нагоре в списъка",
|
||||
"learn_more_link.got_it": "Разбрах",
|
||||
|
||||
@ -432,7 +432,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "da guzhat/ziguzhat an desten a-dreñv CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "da guzhat/ziguzhat ur media",
|
||||
"keyboard_shortcuts.toot": "Kregiñ gant un embannadur nevez",
|
||||
"keyboard_shortcuts.translate": "da dreiñ un embannadur",
|
||||
"keyboard_shortcuts.unfocus": "Difokus an dachenn testenn/klask",
|
||||
"keyboard_shortcuts.up": "Pignat er roll",
|
||||
"learn_more_link.got_it": "Mat eo",
|
||||
|
||||
@ -547,7 +547,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Mostra/amaga contingut",
|
||||
"keyboard_shortcuts.toot": "Escriu un nou tut",
|
||||
"keyboard_shortcuts.top": "Mou al capdamunt de la llista",
|
||||
"keyboard_shortcuts.translate": "per a traduir una publicació",
|
||||
"keyboard_shortcuts.unfocus": "Descentra l'àrea de composició de text/cerca",
|
||||
"keyboard_shortcuts.up": "Apuja a la llista",
|
||||
"learn_more_link.got_it": "Entesos",
|
||||
|
||||
@ -607,7 +607,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Zobrazit/skrýt média",
|
||||
"keyboard_shortcuts.toot": "Začít nový příspěvek",
|
||||
"keyboard_shortcuts.top": "Přesunout na začátek seznamu",
|
||||
"keyboard_shortcuts.translate": "k přeložení příspěvku",
|
||||
"keyboard_shortcuts.unfocus": "Zrušit zaměření na nový příspěvek/hledání",
|
||||
"keyboard_shortcuts.up": "Posunout v seznamu nahoru",
|
||||
"learn_more_link.got_it": "Rozumím",
|
||||
|
||||
@ -828,7 +828,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Dangos/cuddio cyfryngau",
|
||||
"keyboard_shortcuts.toot": "Dechrau post newydd",
|
||||
"keyboard_shortcuts.top": "Symud i frig y rhestr",
|
||||
"keyboard_shortcuts.translate": "i gyfieithu postiad",
|
||||
"keyboard_shortcuts.unfocus": "Dad-ffocysu ardal cyfansoddi testun/chwilio",
|
||||
"keyboard_shortcuts.up": "Symud yn uwch yn y rhestr",
|
||||
"learn_more_link.got_it": "Iawn",
|
||||
|
||||
@ -846,7 +846,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Vis/skjul medier",
|
||||
"keyboard_shortcuts.toot": "Påbegynd nyt indlæg",
|
||||
"keyboard_shortcuts.top": "Flyt til toppen af listen",
|
||||
"keyboard_shortcuts.translate": "for at oversætte et indlæg",
|
||||
"keyboard_shortcuts.translate": "Oversæt et indlæg",
|
||||
"keyboard_shortcuts.unfocus": "Fjern fokus fra tekstskrivningsområde/søgning",
|
||||
"keyboard_shortcuts.up": "Flyt opad på listen",
|
||||
"learn_more_link.got_it": "Forstået",
|
||||
|
||||
@ -846,7 +846,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Εμφάνιση/απόκρυψη πολυμέσων",
|
||||
"keyboard_shortcuts.toot": "Δημιουργία νέας ανάρτησης",
|
||||
"keyboard_shortcuts.top": "Μετακίνηση στην κορυφή της λίστας",
|
||||
"keyboard_shortcuts.translate": "για να μεταφραστεί μια ανάρτηση",
|
||||
"keyboard_shortcuts.translate": "Μετάφραση μιας ανάρτησης",
|
||||
"keyboard_shortcuts.unfocus": "Αποεστίαση του πεδίου σύνθεσης/αναζήτησης",
|
||||
"keyboard_shortcuts.up": "Μετακίνηση προς τα πάνω στη λίστα",
|
||||
"learn_more_link.got_it": "Το κατάλαβα",
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
"about.blocks": "Moderated servers",
|
||||
"about.contact": "Contact:",
|
||||
"about.default_locale": "Default",
|
||||
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon GmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Reason not available",
|
||||
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the Fediverse. These are the exceptions that have been made on this particular server.",
|
||||
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
|
||||
@ -85,6 +86,7 @@
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "Media",
|
||||
"account.mention": "Mention @{name}",
|
||||
"account.menu.add_to_collection": "Add to collection…",
|
||||
"account.menu.add_to_list": "Add to list…",
|
||||
"account.menu.block": "Block account",
|
||||
"account.menu.block_domain": "Block {domain}",
|
||||
@ -365,10 +367,13 @@
|
||||
"collection.share_modal.share_via_system": "Share to…",
|
||||
"collection.share_modal.title": "Share collection",
|
||||
"collection.share_modal.title_new": "Share your new collection!",
|
||||
"collection.share_template_other": "Check out this cool collection:",
|
||||
"collection.share_template_own": "Check out my new collection:",
|
||||
"collections.account_count": "{count, plural, one {# account} other {# accounts}}",
|
||||
"collections.accounts.empty_description": "Add up to {count} accounts",
|
||||
"collections.accounts.empty_editor_title": "No one is in this collection yet",
|
||||
"collections.accounts.empty_title": "This collection is empty",
|
||||
"collections.add_to_collection": "Add {name} to collections",
|
||||
"collections.block_collection_owner": "Block account",
|
||||
"collections.by_account": "by {account_handle}",
|
||||
"collections.collection_description": "Description",
|
||||
@ -391,6 +396,7 @@
|
||||
"collections.detail.loading": "Loading collection…",
|
||||
"collections.detail.revoke_inclusion": "Remove me",
|
||||
"collections.detail.sensitive_content": "Sensitive content",
|
||||
"collections.detail.sensitive_note": "The description and accounts may not be suitable for all viewers.",
|
||||
"collections.detail.share": "Share this collection",
|
||||
"collections.detail.you_are_in_this_collection": "You're featured in this collection",
|
||||
"collections.edit_details": "Edit details",
|
||||
@ -421,6 +427,11 @@
|
||||
"collections.search_accounts_max_reached": "You have added the maximum number of accounts",
|
||||
"collections.sensitive": "Sensitive",
|
||||
"collections.share_short": "Share",
|
||||
"collections.sort_alphabetical": "Alphabetical",
|
||||
"collections.sort_by": "Sort by:",
|
||||
"collections.sort_date_added": "Date added",
|
||||
"collections.sort_last_active": "Last active",
|
||||
"collections.sort_most_followers": "Most followers",
|
||||
"collections.suggestions.can_not_add": "Can’t be added",
|
||||
"collections.suggestions.can_not_add_desc": "These accounts may have opted out of discovery, or they might be on a server that doesn’t support collections.",
|
||||
"collections.suggestions.must_follow": "Must follow first",
|
||||
@ -573,6 +584,12 @@
|
||||
"copy_icon_button.copy_this_text": "Copy link to clipboard",
|
||||
"copypaste.copied": "Copied",
|
||||
"copypaste.copy_to_clipboard": "Copy to clipboard",
|
||||
"custom_homepage.about": "About",
|
||||
"custom_homepage.about_this_server": "About this server",
|
||||
"custom_homepage.administered_by": "Administered by",
|
||||
"custom_homepage.contact": "Contact:",
|
||||
"custom_homepage.latest_activity": "Latest activity",
|
||||
"custom_homepage.these_are_the_latest_posts": "These are the latest 40 posts from accounts on this server.",
|
||||
"directory.federated": "From known fediverse",
|
||||
"directory.local": "From {domain} only",
|
||||
"directory.new_arrivals": "New arrivals",
|
||||
@ -629,7 +646,9 @@
|
||||
"empty_column.account_unavailable": "Profile unavailable",
|
||||
"empty_column.blocks": "You haven't blocked any users yet.",
|
||||
"empty_column.bookmarked_statuses": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.",
|
||||
"empty_column.collections": "{acct} has not created any collections yet.",
|
||||
"empty_column.collections.featured_in": "You have not been added to any collections yet.",
|
||||
"empty_column.collections.featured_in_undiscoverable": "In order for people to add you to collections, you need to allow featuring in discovery experiences from <link>Preferences > Privacy and reach</link>",
|
||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
||||
"empty_column.direct": "You don't have any private mentions yet. When you send or receive one, it will show up here.",
|
||||
"empty_column.disabled_feed": "This feed has been disabled by your server administrators.",
|
||||
@ -801,6 +820,12 @@
|
||||
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
|
||||
"keyboard_shortcuts.home": "Open home timeline",
|
||||
"keyboard_shortcuts.hotkey": "Hotkey",
|
||||
"keyboard_shortcuts.keys.alt": "Alt",
|
||||
"keyboard_shortcuts.keys.backspace": "Backspace",
|
||||
"keyboard_shortcuts.keys.enter": "Enter",
|
||||
"keyboard_shortcuts.keys.esc": "Esc",
|
||||
"keyboard_shortcuts.keys.page_down": "Page Down",
|
||||
"keyboard_shortcuts.keys.page_up": "Page Up",
|
||||
"keyboard_shortcuts.legend": "to display this legend",
|
||||
"keyboard_shortcuts.load_more": "Focus \"Load more\" button",
|
||||
"keyboard_shortcuts.local": "to open local timeline",
|
||||
@ -821,7 +846,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Show/hide media",
|
||||
"keyboard_shortcuts.toot": "to start a brand new post",
|
||||
"keyboard_shortcuts.top": "Move to top of list",
|
||||
"keyboard_shortcuts.translate": "to translate a post",
|
||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "Move up in the list",
|
||||
"learn_more_link.got_it": "Got it",
|
||||
@ -832,6 +856,7 @@
|
||||
"lightbox.zoom_in": "Zoom to actual size",
|
||||
"lightbox.zoom_out": "Zoom to fit",
|
||||
"limited_account_hint.action": "Show profile anyway",
|
||||
"limited_account_hint.title": "This profile or server has been hidden by the moderators of {domain}.",
|
||||
"link_preview.author": "By {name}",
|
||||
"link_preview.more_from_author": "More from {name}",
|
||||
"link_preview.shares": "{count, plural, one {{counter} post} other {{counter} posts}}",
|
||||
@ -893,6 +918,7 @@
|
||||
"navigation_bar.live_feed_local": "Live feed (local)",
|
||||
"navigation_bar.live_feed_public": "Live feed (public)",
|
||||
"navigation_bar.logout": "Logout",
|
||||
"navigation_bar.main": "Main",
|
||||
"navigation_bar.moderation": "Moderation",
|
||||
"navigation_bar.more": "More",
|
||||
"navigation_bar.mutes": "Muted users",
|
||||
@ -978,6 +1004,7 @@
|
||||
"notifications.column_settings.admin.report": "New reports:",
|
||||
"notifications.column_settings.admin.sign_up": "New sign-ups:",
|
||||
"notifications.column_settings.alert": "Desktop notifications",
|
||||
"notifications.column_settings.collections": "Collections:",
|
||||
"notifications.column_settings.favourite": "Favourites:",
|
||||
"notifications.column_settings.filter_bar.advanced": "Display all categories",
|
||||
"notifications.column_settings.filter_bar.category": "Quick filter bar",
|
||||
@ -997,6 +1024,7 @@
|
||||
"notifications.column_settings.update": "Edits:",
|
||||
"notifications.filter.all": "All",
|
||||
"notifications.filter.boosts": "Boosts",
|
||||
"notifications.filter.collections": "Collections",
|
||||
"notifications.filter.favourites": "Favourites",
|
||||
"notifications.filter.follows": "Follows",
|
||||
"notifications.filter.mentions": "Mentions",
|
||||
@ -1170,6 +1198,7 @@
|
||||
"search_popout.user": "user",
|
||||
"search_results.accounts": "Profiles",
|
||||
"search_results.all": "All",
|
||||
"search_results.collections": "Collections",
|
||||
"search_results.hashtags": "Hashtags",
|
||||
"search_results.no_results": "No results.",
|
||||
"search_results.no_search_yet": "Try searching for posts, profiles, or hashtags.",
|
||||
@ -1290,6 +1319,7 @@
|
||||
"tabs_bar.menu": "Menu",
|
||||
"tabs_bar.notifications": "Notifications",
|
||||
"tabs_bar.publish": "New Post",
|
||||
"tabs_bar.quick_links": "Quick links",
|
||||
"tabs_bar.search": "Search",
|
||||
"tag.remove": "Remove",
|
||||
"terms_of_service.effective_as_of": "Effective as of {date}",
|
||||
|
||||
@ -780,6 +780,7 @@
|
||||
"home.pending_critical_update.link": "See updates",
|
||||
"home.pending_critical_update.title": "Critical security update available!",
|
||||
"home.show_announcements": "Show announcements",
|
||||
"ignore_notifications_modal.bots_title": "Ignore notifications from bots?",
|
||||
"ignore_notifications_modal.disclaimer": "Mastodon cannot inform users that you've ignored their notifications. Ignoring notifications will not stop the messages themselves from being sent.",
|
||||
"ignore_notifications_modal.filter_instead": "Filter instead",
|
||||
"ignore_notifications_modal.filter_to_act_users": "You'll still be able to accept, reject, or report users",
|
||||
@ -846,7 +847,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Show/hide media",
|
||||
"keyboard_shortcuts.toot": "Start a new post",
|
||||
"keyboard_shortcuts.top": "Move to top of list",
|
||||
"keyboard_shortcuts.translate": "to translate a post",
|
||||
"keyboard_shortcuts.translate": "Translate a post",
|
||||
"keyboard_shortcuts.unfocus": "Unfocus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "Move up in the list",
|
||||
"learn_more_link.got_it": "Got it",
|
||||
@ -1042,6 +1043,8 @@
|
||||
"notifications.policy.drop": "Ignore",
|
||||
"notifications.policy.drop_hint": "Send to the void, never to be seen again",
|
||||
"notifications.policy.filter": "Filter",
|
||||
"notifications.policy.filter_bots_hint": "Accounts marked as automated",
|
||||
"notifications.policy.filter_bots_title": "Bots",
|
||||
"notifications.policy.filter_hint": "Send to filtered notifications inbox",
|
||||
"notifications.policy.filter_limited_accounts_hint": "Limited by server moderators",
|
||||
"notifications.policy.filter_limited_accounts_title": "Moderated accounts",
|
||||
|
||||
@ -466,7 +466,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "Montri/kaŝi tekston malantaŭ CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Montri/kaŝi vidaŭdaĵojn",
|
||||
"keyboard_shortcuts.toot": "Komencu novan afiŝon",
|
||||
"keyboard_shortcuts.translate": "Traduki afiŝon",
|
||||
"keyboard_shortcuts.unfocus": "Senfokusigi verki tekstareon/serĉon",
|
||||
"keyboard_shortcuts.up": "Movu supren en la listo",
|
||||
"learn_more_link.got_it": "Komprenite",
|
||||
|
||||
@ -846,7 +846,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Mostrar/ocultar medios",
|
||||
"keyboard_shortcuts.toot": "Comenzar un mensaje nuevo",
|
||||
"keyboard_shortcuts.top": "Mover al principio de la lista",
|
||||
"keyboard_shortcuts.translate": "para traducir un mensaje",
|
||||
"keyboard_shortcuts.translate": "Traducir una publicación",
|
||||
"keyboard_shortcuts.unfocus": "Quitar el foco del área de texto de redacción o de búsqueda",
|
||||
"keyboard_shortcuts.up": "Subir en la lista",
|
||||
"learn_more_link.got_it": "Entendido",
|
||||
|
||||
@ -646,7 +646,7 @@
|
||||
"empty_column.account_unavailable": "Perfil no disponible",
|
||||
"empty_column.blocks": "Aún no has bloqueado a ningún usuario.",
|
||||
"empty_column.bookmarked_statuses": "Aún no tienes ninguna publicación guardada como marcador. Cuando guardes una, se mostrará aquí.",
|
||||
"empty_column.collections": "{acct} aún no ha creado ninguna colección.",
|
||||
"empty_column.collections": "{acct} todavía no ha creado ninguna colección.",
|
||||
"empty_column.collections.featured_in": "Aún no te han añadido a ninguna colección.",
|
||||
"empty_column.collections.featured_in_undiscoverable": "Para que los usuarios puedan añadirte a sus colecciones, debes habilitar la opción de aparecer en las experiencias de descubrimiento desde <link>Preferencias > Privacidad y alcance</link>",
|
||||
"empty_column.community": "La cronología local está vacía. ¡Escribe algo públicamente para ponerla en marcha!",
|
||||
@ -821,7 +821,7 @@
|
||||
"keyboard_shortcuts.home": "Abrir cronología principal",
|
||||
"keyboard_shortcuts.hotkey": "Tecla de acceso rápido",
|
||||
"keyboard_shortcuts.keys.alt": "Alt",
|
||||
"keyboard_shortcuts.keys.backspace": "Retroceso",
|
||||
"keyboard_shortcuts.keys.backspace": "Espacio",
|
||||
"keyboard_shortcuts.keys.enter": "Enter",
|
||||
"keyboard_shortcuts.keys.esc": "Escape",
|
||||
"keyboard_shortcuts.keys.page_down": "Re Pág",
|
||||
@ -846,7 +846,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Mostrar/ocultar multimedia",
|
||||
"keyboard_shortcuts.toot": "Comenzar una nueva publicación",
|
||||
"keyboard_shortcuts.top": "Mover al principio de la lista",
|
||||
"keyboard_shortcuts.translate": "para traducir una publicación",
|
||||
"keyboard_shortcuts.translate": "Traducir una publicación",
|
||||
"keyboard_shortcuts.unfocus": "Desenfocar área de redacción/búsqueda",
|
||||
"keyboard_shortcuts.up": "Ascender en la lista",
|
||||
"learn_more_link.got_it": "Entendido",
|
||||
|
||||
@ -846,7 +846,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Mostrar/ocultar multimedia",
|
||||
"keyboard_shortcuts.toot": "Comenzar una nueva publicación",
|
||||
"keyboard_shortcuts.top": "Mover al principio de la lista",
|
||||
"keyboard_shortcuts.translate": "para traducir una publicación",
|
||||
"keyboard_shortcuts.translate": "Traducir una publicación",
|
||||
"keyboard_shortcuts.unfocus": "Quitar el foco de la caja de redacción/búsqueda",
|
||||
"keyboard_shortcuts.up": "Moverse hacia arriba en la lista",
|
||||
"learn_more_link.got_it": "Entendido",
|
||||
|
||||
@ -838,7 +838,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Näita/peida meediat",
|
||||
"keyboard_shortcuts.toot": "Alusta uut postitust",
|
||||
"keyboard_shortcuts.top": "Tõsta loendi algusesse",
|
||||
"keyboard_shortcuts.translate": "postituse tõlkimiseks",
|
||||
"keyboard_shortcuts.unfocus": "Fookus tekstialalt/otsingult ära",
|
||||
"keyboard_shortcuts.up": "Liigu loetelus üles",
|
||||
"learn_more_link.got_it": "Sain aru",
|
||||
|
||||
@ -515,7 +515,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "multimedia erakutsi/ezkutatzeko",
|
||||
"keyboard_shortcuts.toot": "Hasi bidalketa berri bat",
|
||||
"keyboard_shortcuts.top": "Mugitu zerrendaren hasierara",
|
||||
"keyboard_shortcuts.translate": "bidalketa itzultzeko",
|
||||
"keyboard_shortcuts.unfocus": "testua konposatzeko area / bilaketatik fokua kentzea",
|
||||
"keyboard_shortcuts.up": "zerrendan gora mugitzea",
|
||||
"learn_more_link.got_it": "Ulertuta",
|
||||
|
||||
@ -821,7 +821,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "نمایش/نهفتن رسانه",
|
||||
"keyboard_shortcuts.toot": "شروع یک فرستهٔ جدید",
|
||||
"keyboard_shortcuts.top": "جابهجایی به بالای سیاهه",
|
||||
"keyboard_shortcuts.translate": "برای ترجمه یک پست",
|
||||
"keyboard_shortcuts.unfocus": "برداشتن تمرکز از ناحیهٔ نوشتن یا جستوجو",
|
||||
"keyboard_shortcuts.up": "بالا بردن در سیاهه",
|
||||
"learn_more_link.got_it": "متوجه شدم",
|
||||
|
||||
@ -919,6 +919,7 @@
|
||||
"navigation_bar.live_feed_local": "Livesyöte (paikallinen)",
|
||||
"navigation_bar.live_feed_public": "Livesyöte (julkinen)",
|
||||
"navigation_bar.logout": "Kirjaudu ulos",
|
||||
"navigation_bar.main": "Pääosio",
|
||||
"navigation_bar.moderation": "Moderointi",
|
||||
"navigation_bar.more": "Lisää",
|
||||
"navigation_bar.mutes": "Mykistetyt käyttäjät",
|
||||
|
||||
@ -650,7 +650,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Vís ella fjal innihald",
|
||||
"keyboard_shortcuts.toot": "Byrja nýggjan post",
|
||||
"keyboard_shortcuts.top": "Flyt til ovast á listanum",
|
||||
"keyboard_shortcuts.translate": "at umseta ein post",
|
||||
"keyboard_shortcuts.unfocus": "Tak skrivi-/leiti-økið úr miðdeplinum",
|
||||
"keyboard_shortcuts.up": "Flyt upp á listanum",
|
||||
"learn_more_link.got_it": "Eg skilji",
|
||||
|
||||
@ -846,7 +846,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Afficher/cacher médias",
|
||||
"keyboard_shortcuts.toot": "Commencer un nouveau message",
|
||||
"keyboard_shortcuts.top": "Mettre en tête de liste",
|
||||
"keyboard_shortcuts.translate": "traduire un message",
|
||||
"keyboard_shortcuts.translate": "Traduire un message",
|
||||
"keyboard_shortcuts.unfocus": "Ne plus se concentrer sur la zone de rédaction/barre de recherche",
|
||||
"keyboard_shortcuts.up": "Monter dans la liste",
|
||||
"learn_more_link.got_it": "Compris",
|
||||
|
||||
@ -846,7 +846,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Afficher/cacher les médias",
|
||||
"keyboard_shortcuts.toot": "Commencer un nouveau message",
|
||||
"keyboard_shortcuts.top": "Mettre en tête de liste",
|
||||
"keyboard_shortcuts.translate": "traduire un message",
|
||||
"keyboard_shortcuts.translate": "Traduire un message",
|
||||
"keyboard_shortcuts.unfocus": "Quitter la zone de rédaction/barre de recherche",
|
||||
"keyboard_shortcuts.up": "Monter dans la liste",
|
||||
"learn_more_link.got_it": "Compris",
|
||||
|
||||
@ -433,7 +433,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "Tekst efter CW-fjild ferstopje/toane",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Media ferstopje/toane",
|
||||
"keyboard_shortcuts.toot": "Nij berjocht skriuwe",
|
||||
"keyboard_shortcuts.translate": "om in berjocht oer te setten",
|
||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "Nei boppe yn list ferpleatse",
|
||||
"lightbox.close": "Slute",
|
||||
|
||||
@ -846,7 +846,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Taispeáin / cuir i bhfolach meáin",
|
||||
"keyboard_shortcuts.toot": "Cuir tús le postáil nua",
|
||||
"keyboard_shortcuts.top": "Bog go barr an liosta",
|
||||
"keyboard_shortcuts.translate": "post a aistriú",
|
||||
"keyboard_shortcuts.translate": "Aistrigh post",
|
||||
"keyboard_shortcuts.unfocus": "Unfocus cum textarea/search",
|
||||
"keyboard_shortcuts.up": "Bog suas ar an liosta",
|
||||
"learn_more_link.got_it": "Tuigim é",
|
||||
|
||||
@ -812,7 +812,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Seall/Falaich na meadhanan",
|
||||
"keyboard_shortcuts.toot": "Tòisich air post ùr",
|
||||
"keyboard_shortcuts.top": "Gluais gu bàrr na liosta",
|
||||
"keyboard_shortcuts.translate": "airson post eadar-theangachadh",
|
||||
"keyboard_shortcuts.unfocus": "Thoir am fòcas far raon teacsa an sgrìobhaidh/an luirg",
|
||||
"keyboard_shortcuts.up": "Gluais suas air an liosta",
|
||||
"learn_more_link.got_it": "Tha mi agaibh",
|
||||
|
||||
@ -846,7 +846,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Para amosar/agochar contido multimedia",
|
||||
"keyboard_shortcuts.toot": "Para escribir unha nova publicación",
|
||||
"keyboard_shortcuts.top": "Mover arriba de todo",
|
||||
"keyboard_shortcuts.translate": "para traducir unha publicación",
|
||||
"keyboard_shortcuts.unfocus": "Para deixar de destacar a área de escritura/procura",
|
||||
"keyboard_shortcuts.up": "Para mover cara arriba na listaxe",
|
||||
"learn_more_link.got_it": "Entendo",
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
"about.blocks": "שרתים תחת פיקוח תוכן",
|
||||
"about.contact": "יצירת קשר:",
|
||||
"about.default_locale": "ברירת המחדל",
|
||||
"about.disclaimer": "מסטודון היא תוכנת קוד פתוח חינמית וסימן מסחרי של Mastodon GmbH.",
|
||||
"about.domain_blocks.no_reason_available": "הסיבה אינה זמינה",
|
||||
"about.domain_blocks.preamble": "ככלל מסטודון מאפשרת לך לצפות בתוכן ולתקשר עם משתמשים מכל שרת בפדיברס. אלו הם היוצאים מן הכלל שהוגדרו עבור השרת המסוים הזה.",
|
||||
"about.domain_blocks.silenced.explanation": "ככלל פרופילים ותוכן משרת זה לא יוצגו, אלא אם חיפשת אותם באופן מפורש או בחרת להשתתף בו על ידי מעקב.",
|
||||
@ -645,6 +646,7 @@
|
||||
"empty_column.account_unavailable": "פרופיל לא זמין",
|
||||
"empty_column.blocks": "עדיין לא חסמתם משתמשים אחרים.",
|
||||
"empty_column.bookmarked_statuses": "אין עדיין הודעות שחיבבת. כשתחבב את הראשונה, היא תופיע כאן.",
|
||||
"empty_column.collections": "{acct} עוד לא יצרו אוספים.",
|
||||
"empty_column.collections.featured_in": "עוד לא הוסיפו אותך לאף אוסף.",
|
||||
"empty_column.collections.featured_in_undiscoverable": "כדי שאחרים יוכלו להוסיפך לאוספים, עליך לאפשר להופיע ב\"תגליות\" תחת <link>העדפות > פרטיות ומידת חשיפה</link>",
|
||||
"empty_column.community": "פיד השרת המקומי ריק. יש לפרסם משהו כדי שדברים יתרחילו להתגלגל!",
|
||||
@ -818,6 +820,12 @@
|
||||
"keyboard_shortcuts.heading": "מקשי קיצור במקלדת",
|
||||
"keyboard_shortcuts.home": "פתיחת ציר זמן אישי",
|
||||
"keyboard_shortcuts.hotkey": "מקש קיצור",
|
||||
"keyboard_shortcuts.keys.alt": "Alt",
|
||||
"keyboard_shortcuts.keys.backspace": "מחיקה אחורה",
|
||||
"keyboard_shortcuts.keys.enter": "Enter",
|
||||
"keyboard_shortcuts.keys.esc": "Esc",
|
||||
"keyboard_shortcuts.keys.page_down": "Page Down",
|
||||
"keyboard_shortcuts.keys.page_up": "דיפדוף מעלה",
|
||||
"keyboard_shortcuts.legend": "הצגת מקרא",
|
||||
"keyboard_shortcuts.load_more": "התמקדות בכפתור \"טען עוד\"",
|
||||
"keyboard_shortcuts.local": "פתיחת ציר זמן קהילתי",
|
||||
@ -838,7 +846,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "הצגת/הסתרת מדיה",
|
||||
"keyboard_shortcuts.toot": "להתחיל חיצרוץ חדש",
|
||||
"keyboard_shortcuts.top": "העברה לראש הרשימה",
|
||||
"keyboard_shortcuts.translate": "לתרגם הודעה",
|
||||
"keyboard_shortcuts.unfocus": "לצאת מתיבת חיבור/חיפוש",
|
||||
"keyboard_shortcuts.up": "לנוע במעלה הרשימה",
|
||||
"learn_more_link.got_it": "הבנתי",
|
||||
@ -1191,6 +1198,7 @@
|
||||
"search_popout.user": "משתמש(ת)",
|
||||
"search_results.accounts": "פרופילים",
|
||||
"search_results.all": "כל התוצאות",
|
||||
"search_results.collections": "אוספים",
|
||||
"search_results.hashtags": "תגיות",
|
||||
"search_results.no_results": "אין תוצאות.",
|
||||
"search_results.no_search_yet": "נסו לחפש אחר הודעות, פרופילי משתמשים או תגיות.",
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
"about.blocks": "Moderált kiszolgálók",
|
||||
"about.contact": "Kapcsolat:",
|
||||
"about.default_locale": "Alapértelmezett",
|
||||
"about.disclaimer": "A Mastodon szabad és nyílt forráskódú szoftver, a Mastodon GmbH védjegye.",
|
||||
"about.domain_blocks.no_reason_available": "Nem áll rendelkezésre indoklás",
|
||||
"about.domain_blocks.preamble": "A Mastodon általában mindenféle tartalomcserét és interakciót lehetővé tesz bármelyik másik kiszolgálóval a födiverzumban. Ezek azok a kivételek, amelyek a mi kiszolgálónkon érvényben vannak.",
|
||||
"about.domain_blocks.silenced.explanation": "Általában nem fogsz profilokat és tartalmat látni erről a kiszolgálóról, hacsak közvetlenül fel nem keresed vagy követed.",
|
||||
@ -645,6 +646,7 @@
|
||||
"empty_column.account_unavailable": "A profil nem érhető el",
|
||||
"empty_column.blocks": "Még senkit sem tiltottál le.",
|
||||
"empty_column.bookmarked_statuses": "Még nincs egyetlen könyvjelzőzött bejegyzésed sem. Ha könyvjelzőzöl egyet, itt fog megjelenni.",
|
||||
"empty_column.collections": "{acct} még nem hozott létre gyűjteményt.",
|
||||
"empty_column.collections.featured_in": "Még nem adtak hozzá egyetlen gyűjteményhez sem.",
|
||||
"empty_column.collections.featured_in_undiscoverable": "Hogy mások hozzáadhassanak gyűjteményekhez, engedélyezned kell a kiemelést a felfedezési élményekben a <link>Beállítások > Adatvédelem és elérés</link> alatt",
|
||||
"empty_column.community": "A helyi idővonal üres. Tégy közzé valamit nyilvánosan, hogy elindítsd az eseményeket!",
|
||||
@ -818,6 +820,12 @@
|
||||
"keyboard_shortcuts.heading": "Gyorsbillentyűk",
|
||||
"keyboard_shortcuts.home": "Saját idővonal megnyitása",
|
||||
"keyboard_shortcuts.hotkey": "Gyorsbillentyű",
|
||||
"keyboard_shortcuts.keys.alt": "Alt",
|
||||
"keyboard_shortcuts.keys.backspace": "Backspace",
|
||||
"keyboard_shortcuts.keys.enter": "Enter",
|
||||
"keyboard_shortcuts.keys.esc": "Esc",
|
||||
"keyboard_shortcuts.keys.page_down": "Page Down",
|
||||
"keyboard_shortcuts.keys.page_up": "Page Up",
|
||||
"keyboard_shortcuts.legend": "Jelmagyarázat megjelenítése",
|
||||
"keyboard_shortcuts.load_more": "Fókuszálás a „Több betöltése” gombra",
|
||||
"keyboard_shortcuts.local": "Helyi idővonal megnyitása",
|
||||
@ -1191,6 +1199,7 @@
|
||||
"search_popout.user": "felhasználó",
|
||||
"search_results.accounts": "Profilok",
|
||||
"search_results.all": "Összes",
|
||||
"search_results.collections": "Gyűjtemények",
|
||||
"search_results.hashtags": "Hashtagek",
|
||||
"search_results.no_results": "Nincs találat.",
|
||||
"search_results.no_search_yet": "Próbálj meg bejegyzések, profilok vagy címkék után keresni.",
|
||||
|
||||
@ -471,7 +471,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "Monstrar/celar texto detra advertimento de contento",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Monstrar/celar multimedia",
|
||||
"keyboard_shortcuts.toot": "Initiar un nove message",
|
||||
"keyboard_shortcuts.translate": "a traducer un message",
|
||||
"keyboard_shortcuts.unfocus": "Disfocalisar le area de composition de texto/de recerca",
|
||||
"keyboard_shortcuts.up": "Displaciar in alto in le lista",
|
||||
"learn_more_link.got_it": "Comprendite",
|
||||
|
||||
@ -514,7 +514,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Montrar/celar audvidaji",
|
||||
"keyboard_shortcuts.toot": "to start a brand new toot",
|
||||
"keyboard_shortcuts.translate": "por tradukar mesajo",
|
||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "to move up in the list",
|
||||
"lightbox.close": "Klozar",
|
||||
|
||||
@ -646,6 +646,7 @@
|
||||
"empty_column.account_unavailable": "Notandasnið ekki tiltækt",
|
||||
"empty_column.blocks": "Þú hefur ekki ennþá útilokað neina notendur.",
|
||||
"empty_column.bookmarked_statuses": "Þú ert ekki ennþá með neinar bókamerktar færslur. Þegar þú bókamerkir færslu, mun það birtast hér.",
|
||||
"empty_column.collections": "{acct} hefur enn ekki útbúið nein söfn.",
|
||||
"empty_column.collections.featured_in": "Þér hefur enn ekki verið bætt við nein söfn.",
|
||||
"empty_column.collections.featured_in_undiscoverable": "Til þess að fólk geti bætt þér í söfn þá þarftu að leyfa að þú komir upp í leitum, en það er gert í <link>Kjörstillingar > Gagnaleynd og útbreiðsla</link>",
|
||||
"empty_column.community": "Staðværa tímalínan er tóm. Skrifaðu eitthvað opinberlega til að láta boltann fara að rúlla!",
|
||||
@ -819,6 +820,12 @@
|
||||
"keyboard_shortcuts.heading": "Flýtileiðir á lyklaborði",
|
||||
"keyboard_shortcuts.home": "Opna heimatímalínu",
|
||||
"keyboard_shortcuts.hotkey": "Flýtilykill",
|
||||
"keyboard_shortcuts.keys.alt": "Alt",
|
||||
"keyboard_shortcuts.keys.backspace": "Baklykill",
|
||||
"keyboard_shortcuts.keys.enter": "Enter",
|
||||
"keyboard_shortcuts.keys.esc": "Esc",
|
||||
"keyboard_shortcuts.keys.page_down": "Síða niður",
|
||||
"keyboard_shortcuts.keys.page_up": "Síða upp",
|
||||
"keyboard_shortcuts.legend": "Birta þessa skýringu",
|
||||
"keyboard_shortcuts.load_more": "Gera \"Hlaða inn meiru\"-hnappinn virkan",
|
||||
"keyboard_shortcuts.local": "Opna staðværa tímalínu",
|
||||
@ -839,7 +846,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Birta/fela myndir",
|
||||
"keyboard_shortcuts.toot": "Byrja nýja færslu",
|
||||
"keyboard_shortcuts.top": "Færa efst á listann",
|
||||
"keyboard_shortcuts.translate": "að þýða færslu",
|
||||
"keyboard_shortcuts.translate": "Þýða færslu",
|
||||
"keyboard_shortcuts.unfocus": "Taka virkni úr textainnsetningarreit eða leit",
|
||||
"keyboard_shortcuts.up": "Fara ofar í listanum",
|
||||
"learn_more_link.got_it": "Náði því",
|
||||
@ -1192,6 +1199,7 @@
|
||||
"search_popout.user": "notandi",
|
||||
"search_results.accounts": "Notendasnið",
|
||||
"search_results.all": "Allt",
|
||||
"search_results.collections": "Söfn",
|
||||
"search_results.hashtags": "Myllumerki",
|
||||
"search_results.no_results": "Engar niðurstöður.",
|
||||
"search_results.no_search_yet": "Prófaðu að leita að færslum, notendum eða myllumerkjum.",
|
||||
|
||||
@ -646,6 +646,7 @@
|
||||
"empty_column.account_unavailable": "Profilo non disponibile",
|
||||
"empty_column.blocks": "Non hai ancora bloccato alcun utente.",
|
||||
"empty_column.bookmarked_statuses": "Non hai ancora salvato nei segnalibri alcun post. Quando lo farai, apparirà qui.",
|
||||
"empty_column.collections": "{acct} non ha ancora creato alcuna collezione.",
|
||||
"empty_column.collections.featured_in": "Non sei ancora stato/a aggiunto/a ad alcuna collezione.",
|
||||
"empty_column.collections.featured_in_undiscoverable": "Affinché le persone possano aggiungerti alle collezioni, è necessario consentire che il profilo sia visibile nelle esperienze di scoperta tramite <link>Preferenze > Privacy e visibilità</link>",
|
||||
"empty_column.community": "La cronologia locale è vuota. Scrivi qualcosa pubblicamente per dare inizio alla festa!",
|
||||
@ -819,6 +820,12 @@
|
||||
"keyboard_shortcuts.heading": "Scorciatoie da tastiera",
|
||||
"keyboard_shortcuts.home": "Apre la cronologia domestica",
|
||||
"keyboard_shortcuts.hotkey": "Tasto di scelta rapida",
|
||||
"keyboard_shortcuts.keys.alt": "Alt",
|
||||
"keyboard_shortcuts.keys.backspace": "Spazio",
|
||||
"keyboard_shortcuts.keys.enter": "Invio",
|
||||
"keyboard_shortcuts.keys.esc": "Esc",
|
||||
"keyboard_shortcuts.keys.page_down": "Pagina giù",
|
||||
"keyboard_shortcuts.keys.page_up": "Pagina su",
|
||||
"keyboard_shortcuts.legend": "Mostra questa legenda",
|
||||
"keyboard_shortcuts.load_more": "Evidenzia il pulsante \"Carica altro\"",
|
||||
"keyboard_shortcuts.local": "Apre la cronologia locale",
|
||||
@ -839,7 +846,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Mostra/Nasconde media",
|
||||
"keyboard_shortcuts.toot": "Crea un nuovo post",
|
||||
"keyboard_shortcuts.top": "Sposta all'inizio della lista",
|
||||
"keyboard_shortcuts.translate": "Traduce un post",
|
||||
"keyboard_shortcuts.translate": "Traduci un post",
|
||||
"keyboard_shortcuts.unfocus": "Rimuove il focus sull'area di composizione testuale/ricerca",
|
||||
"keyboard_shortcuts.up": "Scorre in su nell'elenco",
|
||||
"learn_more_link.got_it": "Ho capito",
|
||||
@ -1192,6 +1199,7 @@
|
||||
"search_popout.user": "utente",
|
||||
"search_results.accounts": "Profili",
|
||||
"search_results.all": "Tutto",
|
||||
"search_results.collections": "Collezioni",
|
||||
"search_results.hashtags": "Hashtag",
|
||||
"search_results.no_results": "Nessun risultato.",
|
||||
"search_results.no_search_yet": "Prova a cercare post, profili o hashtag.",
|
||||
|
||||
@ -533,7 +533,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "CWで隠れた文を見る/隠す",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "非表示のメディアを見る/隠す",
|
||||
"keyboard_shortcuts.toot": "新規投稿",
|
||||
"keyboard_shortcuts.translate": "投稿を翻訳する",
|
||||
"keyboard_shortcuts.unfocus": "投稿の入力欄・検索欄から離れる",
|
||||
"keyboard_shortcuts.up": "カラム内一つ上に移動",
|
||||
"learn_more_link.got_it": "了解",
|
||||
|
||||
@ -592,7 +592,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "i uskan/tuffra n uḍris deffir CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "i teskent/tuffra n yimidyaten",
|
||||
"keyboard_shortcuts.toot": "i wakken attebdud tajewwaqt tamaynut",
|
||||
"keyboard_shortcuts.translate": "i usuqel n tsuffeɣt",
|
||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "i tulin ɣer d asawen n tebdart",
|
||||
"learn_more_link.got_it": "Gziɣ-t",
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
"about.blocks": "제한된 서버들",
|
||||
"about.contact": "연락처:",
|
||||
"about.default_locale": "기본",
|
||||
"about.disclaimer": "Mastodon은 자유 오픈소스 소프트웨어이며, Mastodon GmbH의 상표입니다.",
|
||||
"about.domain_blocks.no_reason_available": "사유를 밝히지 않음",
|
||||
"about.domain_blocks.preamble": "마스토돈은 일반적으로 연합우주에 있는 어떤 서버의 사용자와도 게시물을 보고 응답을 할 수 있도록 허용합니다. 다음 항목들은 특정한 서버에 대해 만들어 진 예외사항입니다.",
|
||||
"about.domain_blocks.silenced.explanation": "명시적으로 찾아보거나 팔로우를 하기 전까지는, 이 서버에 있는 프로필이나 게시물 등을 일반적으로 볼 수 없습니다.",
|
||||
@ -41,6 +42,8 @@
|
||||
"account.familiar_followers_two": "{name1}, {name2} 님이 팔로우함",
|
||||
"account.featured": "추천",
|
||||
"account.featured.accounts": "프로필",
|
||||
"account.featured.collections": "컬렉션",
|
||||
"account.featured.new_collection": "새 컬렉션",
|
||||
"account.field_overflow": "내용 전체 보기",
|
||||
"account.filters.all": "모든 활동",
|
||||
"account.filters.boosts_toggle": "부스트 보기",
|
||||
@ -66,17 +69,31 @@
|
||||
"account.go_to_profile": "프로필로 이동",
|
||||
"account.hide_reblogs": "@{name}의 부스트를 숨기기",
|
||||
"account.in_memoriam": "고인의 계정입니다.",
|
||||
"account.join_modal.day": "일",
|
||||
"account.join_modal.me": "{server}에 가입한 날",
|
||||
"account.join_modal.me_anniversary": "연합기념일을 축하합니다! {server}에 가입한 날은",
|
||||
"account.join_modal.me_today": "내가 {server}에 처음 온 날입니다!",
|
||||
"account.join_modal.other": "{name}이 {server}에 가입한 날",
|
||||
"account.join_modal.other_today": "{name} 님이 {server}에 처음 온 날입니다!",
|
||||
"account.join_modal.share.celebrate": "기념 게시물 공유",
|
||||
"account.join_modal.share.intro": "소개 게시물 공유",
|
||||
"account.join_modal.share.welcome": "환영 게시물 공유",
|
||||
"account.join_modal.years": "{number, plural, other {년}}",
|
||||
"account.joined_short": "가입",
|
||||
"account.languages": "구독한 언어 변경",
|
||||
"account.last_active": "최근 활동",
|
||||
"account.link_verified_on": "{date}에 이 링크의 소유권이 확인 됨",
|
||||
"account.locked_info": "이 계정의 프라이버시 설정은 잠금으로 설정되어 있습니다. 계정 소유자가 수동으로 팔로워를 승인합니다.",
|
||||
"account.media": "미디어",
|
||||
"account.mention": "@{name} 님에게 멘션",
|
||||
"account.menu.add_to_collection": "컬렉션에 추가…",
|
||||
"account.menu.add_to_list": "리스트에 추가…",
|
||||
"account.menu.block": "계정 차단",
|
||||
"account.menu.block_domain": "{domain} 차단",
|
||||
"account.menu.copied": "계정 링크를 복사했습니다",
|
||||
"account.menu.copy": "링크 복사하기",
|
||||
"account.menu.direct": "개인 멘션",
|
||||
"account.menu.hide_reblogs": "타임라인에서 부스트 숨기기",
|
||||
"account.menu.mention": "멘션",
|
||||
"account.menu.mute": "계정 뮤트",
|
||||
"account.menu.note.description": "나에게만 보입니다",
|
||||
@ -84,17 +101,35 @@
|
||||
"account.menu.remove_follower": "팔로워 제거",
|
||||
"account.menu.report": "계정 신고",
|
||||
"account.menu.share": "공유하기…",
|
||||
"account.menu.show_reblogs": "타임라인에 부스트 보여주기",
|
||||
"account.menu.unblock": "차단 해제",
|
||||
"account.menu.unblock_domain": "{domain} 차단 해제",
|
||||
"account.menu.unmute": "뮤트 해제",
|
||||
"account.moved_to": "{name} 님은 자신의 새 계정이 다음과 같다고 표시했습니다:",
|
||||
"account.mute": "@{name} 뮤트",
|
||||
"account.mute_notifications_short": "알림 뮤트",
|
||||
"account.mute_short": "뮤트",
|
||||
"account.muted": "뮤트됨",
|
||||
"account.mutual": "서로 팔로우",
|
||||
"account.name.copy": "핸들 복사",
|
||||
"account.name.help.domain": "{domain}은 사용자의 프로필과 게시물을 호스트하는 서버입니다.",
|
||||
"account.name.help.domain_self": "{domain}은 내 프로필과 게시물을 호스트하는 서버입니다.",
|
||||
"account.name.help.footer": "다른 이메일 제공자를 사용하는 사람에게 이메일을 보낼 수 있듯이, 다른 마스토돈 서버에 있는 사람들과 소통할 수 있으며 다른 페디버스 앱의 누구와도 소통할 수 있습니다.",
|
||||
"account.name.help.header": "핸들은 이메일과 비슷합니다",
|
||||
"account.name.help.username": "{username}은 해당 서버에 있는 이 계정의 사용자명입니다. 다른 서버에 있는 누군가는 같은 사용자명을 사용할 수도 있습니다.",
|
||||
"account.name.help.username_self": "{username}은 내 사용자명입니다. 다른 서버에 있는 누군가는 같은 사용자명을 사용할 수도 있습니다.",
|
||||
"account.name_info": "이것은 무엇을 의미하나요?",
|
||||
"account.no_bio": "제공된 설명이 없습니다.",
|
||||
"account.node_modal.callout": "개인 메모는 나에게만 보입니다.",
|
||||
"account.node_modal.edit_title": "개인 메모 편집",
|
||||
"account.node_modal.error_unknown": "메모를 저장할 수 없습니다",
|
||||
"account.node_modal.field_label": "개인 노트",
|
||||
"account.node_modal.save": "저장",
|
||||
"account.node_modal.title": "개인 메모 추가",
|
||||
"account.note.edit_button": "편집",
|
||||
"account.note.title": "개인 메모 (나에게만 보입니다)",
|
||||
"account.open_original_page": "원본 페이지 열기",
|
||||
"account.pending": "대기 중",
|
||||
"account.posts": "게시물",
|
||||
"account.remove_from_followers": "팔로워에서 {name} 제거",
|
||||
"account.report": "@{name} 신고",
|
||||
@ -102,6 +137,8 @@
|
||||
"account.share": "@{name}의 프로필 공유",
|
||||
"account.show_reblogs": "@{name}의 부스트 보기",
|
||||
"account.statuses_counter": "{count, plural, other {게시물 {counter}개}}",
|
||||
"account.timeline.pinned": "고정됨",
|
||||
"account.timeline.pinned.view_all": "고정된 게시물 모두 보기",
|
||||
"account.unblock": "차단 해제",
|
||||
"account.unblock_domain": "도메인 {domain} 차단 해제",
|
||||
"account.unblock_domain_short": "차단 해제",
|
||||
@ -111,11 +148,114 @@
|
||||
"account.unmute": "@{name} 뮤트 해제",
|
||||
"account.unmute_notifications_short": "알림 뮤트 해제",
|
||||
"account.unmute_short": "뮤트 해제",
|
||||
"account_edit.advanced_settings.bot_hint": "이 계정이 대부분 자동으로 작업을 수행하고 잘 확인하지 않는다는 것을 알립니다",
|
||||
"account_edit.advanced_settings.bot_label": "자동화된 계정",
|
||||
"account_edit.advanced_settings.title": "고급 설정",
|
||||
"account_edit.bio.add_label": "자기소개 추가",
|
||||
"account_edit.bio.edit_label": "자기소개 편집",
|
||||
"account_edit.bio.placeholder": "다른 사람들이 나를 알아볼 수 있도록 짧은 소개를 추가하세요.",
|
||||
"account_edit.bio.title": "자기소개",
|
||||
"account_edit.bio_modal.add_title": "자기소개 추가",
|
||||
"account_edit.bio_modal.edit_title": "자기소개 편집",
|
||||
"account_edit.column_button": "완료",
|
||||
"account_edit.column_title": "프로필 편집",
|
||||
"account_edit.custom_fields.add_label": "필드 추가",
|
||||
"account_edit.custom_fields.edit_label": "필드 편집",
|
||||
"account_edit.custom_fields.placeholder": "내 호칭, 외부 링크, 혹은 공유하기를 원하는 무엇이든지 추가하세요.",
|
||||
"account_edit.custom_fields.reorder_button": "필드 순서 변경",
|
||||
"account_edit.custom_fields.tip_content": "내가 소유한 웹사이트 링크를 추가하여 마스토돈 계정의 신뢰도를 손쉽게 높일 수 있습니다.",
|
||||
"account_edit.custom_fields.tip_title": "팁: 인증된 링크 추가",
|
||||
"account_edit.custom_fields.title": "사용자 정의 필드",
|
||||
"account_edit.custom_fields.verified_hint": "어떻게 인증된 링크를 추가하나요?",
|
||||
"account_edit.display_name.add_label": "표시되는 이름 추가",
|
||||
"account_edit.display_name.edit_label": "표시되는 이름 수정",
|
||||
"account_edit.display_name.placeholder": "표시되는 이름은 내 프로필과 타임라인에서 나타날 내 이름입니다.",
|
||||
"account_edit.display_name.title": "표시되는 이름",
|
||||
"account_edit.featured_hashtags.edit_label": "해시태그 추가",
|
||||
"account_edit.featured_hashtags.placeholder": "내가 좋아하는 주제를 다른 사람들이 쉽게 찾아보고 접근할 수 있도록 해보세요.",
|
||||
"account_edit.featured_hashtags.title": "추천 해시태그",
|
||||
"account_edit.field_actions.delete": "필드 삭제",
|
||||
"account_edit.field_actions.edit": "필드 편집",
|
||||
"account_edit.field_delete_modal.confirm": "정말로 이 커스텀 필드를 삭제할까요? 이 작업은 되돌릴 수 없습니다.",
|
||||
"account_edit.field_delete_modal.delete_button": "삭제",
|
||||
"account_edit.field_delete_modal.title": "사용자 지정 필드를 삭제할까요?",
|
||||
"account_edit.field_edit_modal.add_title": "사용자 지정 필드 추가",
|
||||
"account_edit.field_edit_modal.discard_confirm": "저장 안함",
|
||||
"account_edit.field_edit_modal.discard_message": "저장되지 않은 변경사항이 있습니다. 정말로 폐기하시겠습니까?",
|
||||
"account_edit.field_edit_modal.edit_title": "사용자 지정 필드 편집",
|
||||
"account_edit.field_edit_modal.length_warning": "추천하는 글자수 제한을 초과했습니다. 모바일 사용자는 내 프로필 전체를 볼 수 없을 수도 있습니다.",
|
||||
"account_edit.field_edit_modal.link_emoji_warning": "커스텀 에모지와 url을 섞어 사용하는 것을 권장하지 않습니다. 둘 다 포함된 커스텀 필드는 사용자 혼동을 막기 위해 링크 대신 텍스트로만 보여질 것입니다.",
|
||||
"account_edit.field_edit_modal.name_hint": "예시: \"개인 웹사이트\"",
|
||||
"account_edit.field_edit_modal.name_label": "라벨",
|
||||
"account_edit.field_edit_modal.url_warning": "링크를 추가하려면 {protocol}을 앞에 추가하세요.",
|
||||
"account_edit.field_edit_modal.value_hint": "예시: \"https://example.me\"",
|
||||
"account_edit.field_edit_modal.value_label": "내용",
|
||||
"account_edit.field_reorder_modal.drag_cancel": "드래그가 취소되었습니다. 필드 {item}은 이동되지 않았습니다.",
|
||||
"account_edit.field_reorder_modal.drag_end": "\"{item}\" 필드가 드랍되었습니다.",
|
||||
"account_edit.field_reorder_modal.drag_instructions": "커스텀 필드를 재정렬하려면 스페이스나 엔터를 누르세요. 드래그 하는 동안 방향키를 이용해 위아래로 이동할 수 있습니다. 스페이스나 엔터를 다시 눌러 새 위치에 놓거나 ESC를 이용해 취소할 수 있습니다.",
|
||||
"account_edit.field_reorder_modal.drag_move": "\"{item}\" 필드가 이동되었습니다.",
|
||||
"account_edit.field_reorder_modal.drag_over": "필드 \"{item}\"가 \"{over}\" 위로 옮겨졌습니다.",
|
||||
"account_edit.field_reorder_modal.drag_start": "\"{item}\" 필드를 집었습니다.",
|
||||
"account_edit.field_reorder_modal.handle_label": "\"{item}\" 필드 드래그",
|
||||
"account_edit.field_reorder_modal.title": "필드 순서 바꾸기",
|
||||
"account_edit.image_alt_modal.add_title": "대체 텍스트 추가",
|
||||
"account_edit.image_alt_modal.details_content": "이렇게 하세요:<ul> <li>사진의 나를 설명하세요</li> <li>3인칭을 사용하세요(예: \"나\" 대신 \"철수\")</li> <li>간결하게 – 보통 몇 마디면 충분합니다</li> </ul> 하지 마세요: <ul> <li>\"사진\" 같은 단어를 쓰지 마세요 – 스크린 리더에게 중복된 정보를 전달합니다</li> </ul> 예시: <ul><li>\"철수가 초록 셔츠를 입고 안경을 쓰고 있음\"</li> </ul>",
|
||||
"account_edit.image_alt_modal.details_title": "팁: 프로필 사진을 위한 대체텍스트",
|
||||
"account_edit.image_alt_modal.edit_title": "대체 텍스트 편집",
|
||||
"account_edit.image_alt_modal.text_hint": "대체 텍스트는 스크린 리더를 쓰는 사용자가 내 컨텐츠를 이해하는데 도움이 됩니다.",
|
||||
"account_edit.image_alt_modal.text_label": "대체 텍스트",
|
||||
"account_edit.image_delete_modal.confirm": "이 이미지를 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.",
|
||||
"account_edit.image_delete_modal.delete_button": "삭제",
|
||||
"account_edit.image_delete_modal.title": "이미지를 삭제할까요?",
|
||||
"account_edit.image_edit.add_button": "이미지 추가",
|
||||
"account_edit.image_edit.alt_add_button": "대체 텍스트 추가",
|
||||
"account_edit.image_edit.alt_edit_button": "대체 텍스트 수정",
|
||||
"account_edit.image_edit.remove_button": "이미지 삭제",
|
||||
"account_edit.image_edit.replace_button": "이미지 변경",
|
||||
"account_edit.item_list.delete": "{name} 삭제",
|
||||
"account_edit.item_list.edit": "{name} 편집",
|
||||
"account_edit.name_modal.add_title": "표시되는 이름 추가",
|
||||
"account_edit.name_modal.edit_title": "표시되는 이름 수정",
|
||||
"account_edit.profile_tab.button_label": "사용자 지정",
|
||||
"account_edit.profile_tab.hint.description": "이 설정은 공식 앱을 사용하는 {server} 사용자가 보는 내용을 설정하지만 다른 서버나 서드파티 앱 사용자에게는 다르게 나타날 수 있습니다.",
|
||||
"account_edit.profile_tab.hint.title": "환경에 따라 다르게 보일 수 있습니다",
|
||||
"account_edit.profile_tab.show_featured.description": "'추천'은 다른 계정을 소개할 수 있는 선택적인 탭입니다.",
|
||||
"account_edit.profile_tab.show_featured.title": "'추천' 탭 표시",
|
||||
"account_edit.profile_tab.show_media.description": "'미디어' 탭은 이미지나 비디오가 들어간 게시물을 보여주는 선택적인 탭입니다.",
|
||||
"account_edit.profile_tab.show_media.title": "'미디어' 탭 표시",
|
||||
"account_edit.profile_tab.show_media_replies.description": "활성화 하면 미디어 탭은 내 게시물과 다른 사람에게 한 답글을 모두 보여줍니다.",
|
||||
"account_edit.profile_tab.show_media_replies.title": "'미디어' 탭에 답글 포함",
|
||||
"account_edit.profile_tab.show_relations.title": "팔로워와 팔로잉 표시",
|
||||
"account_edit.profile_tab.subtitle": "내 프로필이 어떻게 보여질지를 원하는대로 꾸며보세요.",
|
||||
"account_edit.profile_tab.title": "프로필 표시 설정",
|
||||
"account_edit.save": "저장",
|
||||
"account_edit.upload_modal.back": "뒤로가기",
|
||||
"account_edit.upload_modal.done": "완료",
|
||||
"account_edit.upload_modal.next": "다음",
|
||||
"account_edit.upload_modal.step_crop.zoom": "줌",
|
||||
"account_edit.upload_modal.step_upload.button": "파일 탐색",
|
||||
"account_edit.upload_modal.step_upload.dragging": "드롭하여 업로드",
|
||||
"account_edit.upload_modal.step_upload.header": "이미지 선택",
|
||||
"account_edit.upload_modal.step_upload.hint": "WEBP, PNG, GIF 또는 JPG 형식으로 {limit}MB까지.{br}이미지는 {width}*{height}픽셀로 크기가 변경됩니다.",
|
||||
"account_edit.upload_modal.title_add.avatar": "프로필 사진 추가",
|
||||
"account_edit.upload_modal.title_add.header": "커버 사진 추가",
|
||||
"account_edit.upload_modal.title_replace.avatar": "프로필 사진 바꾸기",
|
||||
"account_edit.upload_modal.title_replace.header": "커버 사진 바꾸기",
|
||||
"account_edit.verified_modal.details": "개인 웹사이트를 인증하여 마스토돈 프로필의 신뢰도를 높여보세요. 이렇게 동작합니다:",
|
||||
"account_edit.verified_modal.invisible_link.details": "링크를 헤더에 추가하세요. 중요한 것은 사용자 컨텐츠를 통해 도용하는 것을 막는 rel=\"me\" 부분입니다. {tag} 대신 링크 태그를 헤더에 넣을 수도 있습니다. 하지만 HTML 코드는 자바스크립트 실행 없이 접근이 가능해야 합니다.",
|
||||
"account_edit.verified_modal.invisible_link.summary": "링크를 안 보이게 할 수 있나요?",
|
||||
"account_edit.verified_modal.step1.header": "아래 HTML 코드를 복사하여 웹사이트 헤더에 붙여넣으세요",
|
||||
"account_edit.verified_modal.step2.details": "이미 커스텀 필드에 웹사이트를 추가했다면 다시 인증을 실행하기 위해 삭제하고 다시 추가해야 합니다.",
|
||||
"account_edit.verified_modal.step2.header": "웹사이트를 커스텀 필드로 추가하세요",
|
||||
"account_edit.verified_modal.title": "인증된 링크 추가하는 방법",
|
||||
"account_edit_tags.add_tag": "#{tagName} 추가",
|
||||
"account_edit_tags.column_title": "태그 편집",
|
||||
"account_edit_tags.max_tags_reached": "추천 해시태그 최대 개수를 초과합니다.",
|
||||
"account_edit_tags.search_placeholder": "해시태그를 입력하세요…",
|
||||
"account_edit_tags.suggestions": "제안:",
|
||||
"account_edit_tags.tag_status_count": "{count, plural, other {# 게시물}}",
|
||||
"account_list.hidden_notice": "나에게만 보입니다. 남들에게 이 목록을 보여주려면 <link>{page} > {modal} > {field}</link>에서 설정하세요.",
|
||||
"account_list.total": "{total, plural, other {#}} 계정",
|
||||
"admin.dashboard.daily_retention": "가입 후 일별 사용자 유지율",
|
||||
"admin.dashboard.monthly_retention": "가입 후 월별 사용자 유지율",
|
||||
"admin.dashboard.retention.average": "평균",
|
||||
@ -169,12 +309,15 @@
|
||||
"annual_report.summary.archetype.title_self": "당신의 특성",
|
||||
"annual_report.summary.close": "닫기",
|
||||
"annual_report.summary.copy_link": "링크 복사하기",
|
||||
"annual_report.summary.followers.new_followers": "{count, plural, other {새 팔로워}}",
|
||||
"annual_report.summary.highlighted_post.boost_count": "이 게시물은 {count, plural,other {# 번}} 부스트되었습니다.",
|
||||
"annual_report.summary.highlighted_post.favourite_count": "이 게시물은 {count, plural,other {# 번}} 마음에 들었습니다.",
|
||||
"annual_report.summary.highlighted_post.reply_count": "이 게시물은 {count, plural, other {# 개}}의 답글을 받았습니다.",
|
||||
"annual_report.summary.highlighted_post.title": "가장 인기있는 게시물",
|
||||
"annual_report.summary.most_used_app.most_used_app": "가장 많이 사용한 앱",
|
||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "가장 많이 사용한 해시태그",
|
||||
"annual_report.summary.most_used_hashtag.used_count": "{count, plural, other {#개의 게시물}}에서 이 해시태그를 사용했습니다.",
|
||||
"annual_report.summary.most_used_hashtag.used_count_public": "{name} 님은 이 해시태그를 {count, plural,other {# 개의 게시물}}에서 사용했습니다.",
|
||||
"annual_report.summary.new_posts.new_posts": "새 게시물",
|
||||
"annual_report.summary.percentile.text": "<topLabel>{domain} 사용자의 상위</topLabel><percentage></percentage><bottomLabel>입니다.</bottomLabel>",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "종부세는 안 걷을게요",
|
||||
@ -183,11 +326,15 @@
|
||||
"annual_report.summary.share_on_mastodon": "마스토돈에 공유하기",
|
||||
"attachments_list.unprocessed": "(처리 안 됨)",
|
||||
"audio.hide": "소리 숨기기",
|
||||
"block_modal.no_collections": "서로를 컬렉션에 추가할 수 없습니다. 이미 존재하는 경우 해당 컬렉션에서 삭제됩니다.",
|
||||
"block_modal.remote_users_caveat": "우리는 {domain} 서버가 당신의 결정을 존중해 주길 부탁할 것입니다. 하지만 몇몇 서버는 차단을 다르게 취급할 수 있기 때문에 규정이 준수되는 것을 보장할 수는 없습니다. 공개 게시물은 로그인 하지 않은 사용자들에게 여전히 보여질 수 있습니다.",
|
||||
"block_modal.show_less": "간략히 보기",
|
||||
"block_modal.show_more": "더 보기",
|
||||
"block_modal.they_cant_mention": "서로 멘션하거나, 팔로우하거나, 인용할 수 없습니다.",
|
||||
"block_modal.they_cant_see_posts": "상대방이 내 컨텐츠를 볼 수 없게 되며 나도 상대방의 컨텐츠를 볼 수 없게 됩니다.",
|
||||
"block_modal.they_will_know": "자신이 차단 당했다는 사실을 확인할 수 있습니다.",
|
||||
"block_modal.title": "사용자를 차단할까요?",
|
||||
"block_modal.you_wont_see_mentions": "해당 사용자를 멘션한 다른 사용자의 게시물을 보지 않게 됩니다.",
|
||||
"boost_modal.combo": "다음엔 {combo}를 눌러서 이 과정을 건너뛸 수 있습니다",
|
||||
"boost_modal.reblog": "게시물을 부스트할까요?",
|
||||
"boost_modal.undo_reblog": "게시물을 부스트 취소할까요?",
|
||||
@ -203,21 +350,98 @@
|
||||
"bundle_modal_error.close": "닫기",
|
||||
"bundle_modal_error.message": "화면을 불러오는 동안 오류가 발생했습니다.",
|
||||
"bundle_modal_error.retry": "다시 시도",
|
||||
"callout.dismiss": "무시",
|
||||
"carousel.current": "<sr>페이지</sr> {current, number} / {max, number}",
|
||||
"carousel.slide": "{max, number} 중 {current, number} 페이지",
|
||||
"character_counter.recommended": "{currentLength}/{maxLength} 권장 글자",
|
||||
"character_counter.required": "{currentLength}/{maxLength} 글자",
|
||||
"closed_registrations.other_server_instructions": "마스토돈은 분산화 되어 있기 때문에, 다른 서버에서 계정을 만들더라도 이 서버와 상호작용 할 수 있습니다.",
|
||||
"closed_registrations_modal.description": "{domain}은 현재 가입이 불가능합니다. 하지만 마스토돈을 이용하기 위해 꼭 {domain}을 사용할 필요는 없다는 사실을 인지해 두세요.",
|
||||
"closed_registrations_modal.find_another_server": "다른 서버 찾기",
|
||||
"closed_registrations_modal.preamble": "마스토돈은 분산화 되어 있습니다, 그렇기 때문에 어디에서 계정을 생성하든, 이 서버에 있는 누구와도 팔로우와 상호작용을 할 수 있습니다. 심지어는 스스로 서버를 만드는 것도 가능합니다!",
|
||||
"closed_registrations_modal.title": "마스토돈에서 가입",
|
||||
"collection.share_modal.share_link_label": "링크 공유",
|
||||
"collection.share_modal.share_via_post": "마스토돈에 게시",
|
||||
"collection.share_modal.share_via_system": "공유…",
|
||||
"collection.share_modal.title": "컬렉션 공유",
|
||||
"collection.share_modal.title_new": "새 컬렉션을 공유하세요!",
|
||||
"collection.share_template_other": "이 엄청난 컬렉션을 확인해보세요:",
|
||||
"collection.share_template_own": "내 새로운 컬렉션을 확인해보세요:",
|
||||
"collections.account_count": "{count, plural, other {# 계정}}",
|
||||
"collections.accounts.empty_description": "최대 {count} 개의 계정 추가",
|
||||
"collections.accounts.empty_editor_title": "이 컬렉션엔 아직 아무도 없습니다",
|
||||
"collections.accounts.empty_title": "이 컬렉션은 비어 있습니다",
|
||||
"collections.add_to_collection": "컬렉션에 {name} 님 추가",
|
||||
"collections.block_collection_owner": "계정 차단",
|
||||
"collections.by_account": "{account_handle} 작성",
|
||||
"collections.collection_description": "설명",
|
||||
"collections.collection_topic": "화제",
|
||||
"collections.collection_language": "언어",
|
||||
"collections.collection_language_none": "없음",
|
||||
"collections.collection_name": "이름",
|
||||
"collections.collection_topic": "주제",
|
||||
"collections.confirm_account_removal": "정말로 이 계정을 컬렉션에서 제거할까요?",
|
||||
"collections.content_warning": "열람 주의",
|
||||
"collections.continue": "계속",
|
||||
"collections.copy_link": "링크 복사",
|
||||
"collections.copy_link_confirmation": "컬렉션 링크를 복사했습니다",
|
||||
"collections.create.accounts_title": "누구를 이 컬렉션에서 추천할까요?",
|
||||
"collections.create.basic_details_title": "기본 정보",
|
||||
"collections.create.steps": "{step}/{total} 단계",
|
||||
"collections.create_collection": "컬렉션 만들기",
|
||||
"collections.delete_collection": "컬렉션 지우기",
|
||||
"collections.description_length_hint": "100 글자 제한",
|
||||
"collections.detail.author_added_you_on_date": "{author} 님이 {date}에 나를 추가했습니다",
|
||||
"collections.detail.loading": "컬렉션 로딩…",
|
||||
"collections.detail.revoke_inclusion": "나를 제거하기",
|
||||
"collections.detail.sensitive_content": "민감한 컨텐츠",
|
||||
"collections.detail.sensitive_note": "정보와 계정들이 모든 사용자가 보기에 적합하지 않을 수 있습니다.",
|
||||
"collections.detail.share": "이 컬렉션 공유",
|
||||
"collections.detail.you_are_in_this_collection": "이 컬렉션에 추천되었습니다",
|
||||
"collections.edit_details": "세부 정보 편집",
|
||||
"collections.error_loading_collections": "컬렉션을 로딩하는 도중 에러가 발생하였습니다.",
|
||||
"collections.hidden_accounts_description": "{count, plural, other {사용자를}} 뮤트하거나 차단했습니다",
|
||||
"collections.hidden_accounts_link": "{count, plural, other {#개의 숨겨진 계정}}",
|
||||
"collections.hints.accounts_counter": "계정 {count}/{max}개",
|
||||
"collections.last_updated_at": "마지막 업데이트: {date}",
|
||||
"collections.list.collections_with_count": "{count, plural, other {컬렉션 #개}}",
|
||||
"collections.list.created_by_author": "{name} 님이 생성함",
|
||||
"collections.list.created_by_you": "내가 생성함",
|
||||
"collections.list.featuring_you": "나를 추천",
|
||||
"collections.manage_accounts": "계정 관리하기",
|
||||
"collections.mark_as_sensitive": "민감함으로 설정",
|
||||
"collections.mark_as_sensitive_hint": "열람 주의문구 뒤에 이 컬렉션의 설명과 계정을 숨깁니다. 컬렉션의 이름은 항상 보여집니다.",
|
||||
"collections.maximum_collection_count_description": "이 서버는 {count} 개의 컬렉션 생성을 허용합니다.",
|
||||
"collections.maximum_collection_count_reached": "컬렉션의 최대 개수에 도달하였습니다",
|
||||
"collections.name_length_hint": "40 글자 제한",
|
||||
"collections.new_collection": "새 컬렉션",
|
||||
"collections.pending_accounts.message": "해당 사용자나 서버의 응답을 기다리고 있는 경우 대기중으로 나타날 수 있습니다. 대기중인 계정은 나만 볼 수 있습니다.",
|
||||
"collections.pending_accounts.title": "왜 대기중인 계정이 있나요?",
|
||||
"collections.remove_account": "제거",
|
||||
"collections.report_collection": "이 컬렉션 신고",
|
||||
"collections.revoke_collection_inclusion": "이 컬렉션에서 나를 제거",
|
||||
"collections.revoke_inclusion.confirmation": "\"{collection}\"에서 내가 제거되었습니다",
|
||||
"collections.revoke_inclusion.error": "오류가 발생했습니다. 나중에 다시 시도하세요.",
|
||||
"collections.search_accounts_label": "추가할 계정 검색",
|
||||
"collections.search_accounts_max_reached": "이미 너무 많은 계정을 추가했습니다",
|
||||
"collections.sensitive": "민감함",
|
||||
"collections.share_short": "공유",
|
||||
"collections.sort_alphabetical": "가나다순",
|
||||
"collections.sort_by": "정렬:",
|
||||
"collections.sort_date_added": "추가된 날짜",
|
||||
"collections.sort_last_active": "최근 활동",
|
||||
"collections.sort_most_followers": "팔로워 많은순",
|
||||
"collections.suggestions.can_not_add": "추가할 수 없음",
|
||||
"collections.suggestions.must_follow": "먼저 팔로우해야합니다",
|
||||
"collections.topic_hint": "이 컬렉션의 주제가 무엇인지 다른 사용자들이 이해할 수 있도록 해시태그를 추가하세요.",
|
||||
"collections.topic_special_chars_hint": "특수문자는 저장할 때 삭제됩니다",
|
||||
"collections.unlisted_collections_description": "내 프로필에 나타나지 않습니다. 링크를 가진 누구나 볼 수 있습니다.",
|
||||
"collections.unlisted_collections_with_count": "미등재된 컬렉션 ({count})",
|
||||
"collections.view_collection": "컬렉션 보기",
|
||||
"collections.visibility_public": "공개",
|
||||
"collections.visibility_public_hint": "검색 결과나 추천이 등장하는 다른 곳에 나타날 수 있습니다.",
|
||||
"collections.visibility_title": "공개범위",
|
||||
"collections.visibility_unlisted": "미등재",
|
||||
"collections.visibility_unlisted_hint": "링크를 가진 모두에게 보여집니다. 검색이나 추천에서 제외됩니다.",
|
||||
"column.about": "정보",
|
||||
"column.blocks": "차단한 사용자",
|
||||
"column.bookmarks": "북마크",
|
||||
@ -237,8 +461,10 @@
|
||||
"column.lists": "리스트",
|
||||
"column.mutes": "뮤트한 사용자",
|
||||
"column.notifications": "알림",
|
||||
"column.other_collections": "{name} 님의 컬렉션",
|
||||
"column.pins": "고정된 게시물",
|
||||
"column.public": "연합 타임라인",
|
||||
"column.your_collections": "내 컬렉션",
|
||||
"column_back_button.label": "돌아가기",
|
||||
"column_header.hide_settings": "설정 숨기기",
|
||||
"column_header.moveLeft_settings": "컬럼을 왼쪽으로 이동",
|
||||
@ -247,7 +473,11 @@
|
||||
"column_header.show_settings": "설정 보이기",
|
||||
"column_header.unpin": "고정 해제",
|
||||
"column_search.cancel": "취소",
|
||||
"combobox.close_results": "결과 닫기",
|
||||
"combobox.loading": "불러오는 중",
|
||||
"combobox.no_results_found": "검색 결과가 없습니다",
|
||||
"combobox.open_results": "결과 열기",
|
||||
"combobox.results_available": "{count, plural, other {#개의 추천}}이 사용 가능합니다. 위 아래 방향키를 사용하여 이동하고 엔터키로 선택하세요.",
|
||||
"community.column_settings.local_only": "로컬만",
|
||||
"community.column_settings.media_only": "미디어만",
|
||||
"community.column_settings.remote_only": "원격지만",
|
||||
@ -281,6 +511,9 @@
|
||||
"confirmations.delete.confirm": "삭제",
|
||||
"confirmations.delete.message": "정말로 이 게시물을 삭제하시겠습니까?",
|
||||
"confirmations.delete.title": "게시물을 삭제할까요?",
|
||||
"confirmations.delete_collection.confirm": "삭제",
|
||||
"confirmations.delete_collection.message": "이 작업은 되돌릴 수 없습니다.",
|
||||
"confirmations.delete_collection.title": "\"{name}\"을 삭제할까요?",
|
||||
"confirmations.delete_list.confirm": "삭제",
|
||||
"confirmations.delete_list.message": "정말로 이 리스트를 영구적으로 삭제하시겠습니까?",
|
||||
"confirmations.delete_list.title": "리스트를 삭제할까요?",
|
||||
@ -296,6 +529,10 @@
|
||||
"confirmations.follow_to_list.confirm": "팔로우하고 리스트에 추가",
|
||||
"confirmations.follow_to_list.message": "리스트에 추가하려면 {name} 님을 팔로우해야 합니다.",
|
||||
"confirmations.follow_to_list.title": "팔로우할까요?",
|
||||
"confirmations.hide_featured_tab.confirm": "탭 숨기기",
|
||||
"confirmations.hide_featured_tab.intro": "언제든지 <i>프로필 수정 > 프로필 탭 설정</i>에서 변경할 수 있습니다.",
|
||||
"confirmations.hide_featured_tab.message": "{serverName}과 마스토돈 최신 버전을 사용하는 다른 서버에서 탭을 숨깁니다. 다른 환경에선 다르게 보일 수 있습니다.",
|
||||
"confirmations.hide_featured_tab.title": "\"추천\" 탭을 제거할까요?",
|
||||
"confirmations.logout.confirm": "로그아웃",
|
||||
"confirmations.logout.message": "정말로 로그아웃 하시겠습니까?",
|
||||
"confirmations.logout.title": "로그아웃 할까요?",
|
||||
@ -319,6 +556,9 @@
|
||||
"confirmations.remove_from_followers.confirm": "팔로워 제거",
|
||||
"confirmations.remove_from_followers.message": "{name} 님이 나를 팔로우하지 않게 됩니다. 계속할까요?",
|
||||
"confirmations.remove_from_followers.title": "팔로워를 제거할까요?",
|
||||
"confirmations.revoke_collection_inclusion.confirm": "나를 제거하기",
|
||||
"confirmations.revoke_collection_inclusion.message": "이 작업은 영구적이며 큐레이터는 나를 앞으로 다시 추가할 수 없습니다.",
|
||||
"confirmations.revoke_collection_inclusion.title": "나를 이 컬렉션에서 제거할까요?",
|
||||
"confirmations.revoke_quote.confirm": "게시물 삭제",
|
||||
"confirmations.revoke_quote.message": "이 작업은 되돌릴 수 없습니다.",
|
||||
"confirmations.revoke_quote.title": "게시물을 지울까요?",
|
||||
@ -331,13 +571,21 @@
|
||||
"content_warning.hide": "게시물 숨기기",
|
||||
"content_warning.show": "무시하고 보기",
|
||||
"content_warning.show_more": "더 보기",
|
||||
"content_warning.show_short": "보기",
|
||||
"conversation.delete": "대화 삭제",
|
||||
"conversation.mark_as_read": "읽은 상태로 표시",
|
||||
"conversation.open": "대화 보기",
|
||||
"conversation.with": "{names} 님과",
|
||||
"copy_icon_button.copied": "클립보드에 복사됨",
|
||||
"copy_icon_button.copy_this_text": "클립보드에 링크 복사",
|
||||
"copypaste.copied": "복사됨",
|
||||
"copypaste.copy_to_clipboard": "클립보드에 복사",
|
||||
"custom_homepage.about": "정보",
|
||||
"custom_homepage.about_this_server": "이 서버에 대해",
|
||||
"custom_homepage.administered_by": "관리자",
|
||||
"custom_homepage.contact": "연락처:",
|
||||
"custom_homepage.latest_activity": "최근 활동",
|
||||
"custom_homepage.these_are_the_latest_posts": "이것은 이 서버에 있는 계정들의 최근 40개의 게시물입니다.",
|
||||
"directory.federated": "알려진 연합우주로부터",
|
||||
"directory.local": "{domain}에서만",
|
||||
"directory.new_arrivals": "새로운 사람들",
|
||||
@ -357,6 +605,11 @@
|
||||
"domain_block_modal.you_will_lose_relationships": "이 서버의 팔로워와 팔로우를 모두 잃게 됩니다.",
|
||||
"domain_block_modal.you_wont_see_posts": "이 서버 사용자의 게시물이나 알림을 보지 않게 됩니다.",
|
||||
"dropdown.empty": "옵션 선택",
|
||||
"email_subscriptions.email": "이메일",
|
||||
"email_subscriptions.form.action": "구독",
|
||||
"email_subscriptions.submitted.title": "한 단계 더",
|
||||
"email_subscriptions.validation.email.blocked": "차단된 이메일 공급자",
|
||||
"email_subscriptions.validation.email.invalid": "이메일 주소가 올바르지 않습니다",
|
||||
"embed.instructions": "아래 코드를 복사하여 이 게시물을 사용자님의 웹사이트에 임베드하세요.",
|
||||
"embed.preview": "이렇게 표시됩니다:",
|
||||
"emoji_button.activity": "활동",
|
||||
@ -374,12 +627,21 @@
|
||||
"emoji_button.search_results": "검색 결과",
|
||||
"emoji_button.symbols": "기호",
|
||||
"emoji_button.travel": "여행과 장소",
|
||||
"empty_column.account_featured.other": "{acct} 님은 아직 아무 것도 추천하지 않았습니다.",
|
||||
"empty_column.account_featured_self.no_collections_button": "컬렉션 생성",
|
||||
"empty_column.account_featured_self.no_collections_hide_tab": "대신 탭 숨기기",
|
||||
"empty_column.account_featured_self.showcase_accounts": "좋아하는 계정을 남들에게 소개하세요",
|
||||
"empty_column.account_featured_self.showcase_accounts_desc": "컬렉션은 다른 사람들이 페디버스에서 더 많은 것을 발견할 수 있도록 선별된 계정 목록입니다.",
|
||||
"empty_column.account_featured_unknown.other": "이 계정은 아직 아무 것도 추천하지 않았습니다.",
|
||||
"empty_column.account_hides_collections": "이 사용자는 이 정보를 사용할 수 없도록 설정했습니다",
|
||||
"empty_column.account_suspended": "계정 정지됨",
|
||||
"empty_column.account_timeline": "이곳에는 게시물이 없습니다!",
|
||||
"empty_column.account_unavailable": "프로필 사용 불가",
|
||||
"empty_column.blocks": "아직 아무도 차단하지 않았습니다.",
|
||||
"empty_column.bookmarked_statuses": "아직 북마크에 저장한 게시물이 없습니다. 게시물을 북마크 지정하면 여기에 나타납니다.",
|
||||
"empty_column.collections": "{acct} 님은 아직 컬렉션을 생성하지 않았습니다.",
|
||||
"empty_column.collections.featured_in": "아직 어떤 컬렉션에도 추가되지 않았습니다.",
|
||||
"empty_column.collections.featured_in_undiscoverable": "사람들이 나를 컬렉션에 추가하려면 그 전에 <link>설정 > 개인정보와 도달</link>에서 나를 발견하기 기능에서 추천하도록 허용해야 합니다",
|
||||
"empty_column.community": "로컬 타임라인에 아무것도 없습니다. 아무거나 적어 보세요!",
|
||||
"empty_column.direct": "개인 멘션이 없습니다. 보내거나 받으면 여기에 표시됩니다.",
|
||||
"empty_column.disabled_feed": "이 피드는 서버 관리자에 의해 비활성화되었습니다.",
|
||||
@ -396,6 +658,7 @@
|
||||
"empty_column.notification_requests": "깔끔합니다! 여기엔 아무 것도 없습니다. 알림을 받게 되면 설정에 따라 여기에 나타나게 됩니다.",
|
||||
"empty_column.notifications": "아직 알림이 없습니다. 다른 사람들이 당신에게 반응했을 때, 여기에서 볼 수 있습니다.",
|
||||
"empty_column.public": "여기엔 아직 아무 것도 없습니다! 공개적으로 무언가 포스팅하거나, 다른 서버의 사용자를 팔로우 해서 채워보세요",
|
||||
"empty_state.no_results": "결과 없음",
|
||||
"error.no_hashtag_feed_access": "이 해시태그를 확인하고 팔로우하려면 가입 또는 로그인하세요.",
|
||||
"error.unexpected_crash.explanation": "버그 혹은 브라우저 호환성 문제로 이 페이지를 불러올 수 없습니다.",
|
||||
"error.unexpected_crash.explanation_addons": "이 페이지를 불러올 수 없습니다. 브라우저 확장 프로그램이나 자동 번역 도구로 인해 발생된 오류일 수 있습니다.",
|
||||
@ -411,6 +674,11 @@
|
||||
"featured_carousel.current": "<sr>게시물</sr> {current, number} / {max, number}",
|
||||
"featured_carousel.header": "{count, plural, other {고정된 게시물}}",
|
||||
"featured_carousel.slide": "{max, number} 중 {current, number} 번째 게시물",
|
||||
"featured_tags.more_items": "+{count}",
|
||||
"featured_tags.suggestions": "최근에 {items}에 대해 게시했습니다. 이것들을 추천 해시태그에 추가할까요?",
|
||||
"featured_tags.suggestions.add": "추가",
|
||||
"featured_tags.suggestions.added": "언제든지 <link>프로필 수정 > 추천 해시태그</link>에서 추천 해시태그를 관리할 수 있습니다.",
|
||||
"featured_tags.suggestions.dismiss": "괜찮습니다",
|
||||
"filter_modal.added.context_mismatch_explanation": "이 필터 카테고리는 당신이 이 게시물에 접근한 문맥에 적용되지 않습니다. 만약 이 문맥에서도 필터되길 원한다면, 필터를 수정해야 합니다.",
|
||||
"filter_modal.added.context_mismatch_title": "문맥 불일치!",
|
||||
"filter_modal.added.expired_explanation": "이 필터 카테고리는 만료되었습니다, 적용하려면 만료 일자를 변경할 필요가 있습니다.",
|
||||
@ -452,6 +720,9 @@
|
||||
"follow_suggestions.view_all": "모두 보기",
|
||||
"follow_suggestions.who_to_follow": "팔로우할 만한 사람",
|
||||
"followed_tags": "팔로우 중인 해시태그",
|
||||
"followers.title": "{name} 님을 팔로우합니다",
|
||||
"following.hide_other_following": "이 사용자는 팔로우 중인 다른 사용자 목록을 보여주지 않기로 했습니다",
|
||||
"following.title": "{name} 님이 팔로우",
|
||||
"footer.about": "정보",
|
||||
"footer.about_mastodon": "마스토돈 정보",
|
||||
"footer.about_server": "{domain} 소개",
|
||||
@ -463,6 +734,8 @@
|
||||
"footer.source_code": "소스코드 보기",
|
||||
"footer.status": "상태",
|
||||
"footer.terms_of_service": "이용 약관",
|
||||
"form_error.blank": "필드는 공백으로 둘 수 없습니다.",
|
||||
"form_field.optional": "(선택사항)",
|
||||
"getting_started.heading": "시작하기",
|
||||
"hashtag.admin_moderation": "#{name}에 대한 중재화면 열기",
|
||||
"hashtag.browse": "#{hashtag}의 게시물 둘러보기",
|
||||
@ -513,6 +786,7 @@
|
||||
"info_button.label": "도움말",
|
||||
"info_button.what_is_alt_text": "<h1>대체 텍스트가 무엇인가요?</h1> <p>대체 텍스트는 저시력자, 낮은 인터넷 대역폭 사용자, 더 자세한 문맥을 위해 이미지에 대한 설명을 제공하는 것입니다.</p> <p>깔끔하고 간결하고 객관적인 대체 텍스트를 작성해 모두가 이해하기 쉽게 만들고 접근성이 높아질 수 있습니다.</p><ul><li>중요한 요소에 중점을 두세요</li> <li>이미지 안의 글자를 요약하세요</li> <li>정형화된 문장 구조를 사용하세요</li> <li>중복된 정보를 피하세요</li> <li>복잡한 시각자료(도표나 지도 같은)에선 추세와 주요 결과에 중점을 두세요</li> </ul>",
|
||||
"interaction_modal.action": "{name} 님의 게시물과 상호작용하려면 이용 중인 마스토돈 서버 계정으로 로그인하세요.",
|
||||
"interaction_modal.action_follow": "{name} 님을 팔로우하려면 사용중인 마스토돈 서버 계정으로 로그인해야 합니다.",
|
||||
"interaction_modal.go": "이동",
|
||||
"interaction_modal.no_account_yet": "아직 계정이 없나요?",
|
||||
"interaction_modal.on_another_server": "다른 서버에",
|
||||
@ -528,14 +802,22 @@
|
||||
"keyboard_shortcuts.column": "해당 컬럼에 포커스",
|
||||
"keyboard_shortcuts.compose": "작성창에 포커스",
|
||||
"keyboard_shortcuts.description": "설명",
|
||||
"keyboard_shortcuts.direct": "개인 멘션 컬럼 열기",
|
||||
"keyboard_shortcuts.down": "리스트에서 아래로 이동",
|
||||
"keyboard_shortcuts.enter": "게시물 열기",
|
||||
"keyboard_shortcuts.explore": "유행 타임라인 열기",
|
||||
"keyboard_shortcuts.favourite": "게시물 좋아요",
|
||||
"keyboard_shortcuts.favourites": "좋아요 목록 열기",
|
||||
"keyboard_shortcuts.federated": "연합 타임라인 열기",
|
||||
"keyboard_shortcuts.heading": "키보드 단축키",
|
||||
"keyboard_shortcuts.home": "홈 타임라인 열기",
|
||||
"keyboard_shortcuts.hotkey": "핫키",
|
||||
"keyboard_shortcuts.keys.alt": "Alt",
|
||||
"keyboard_shortcuts.keys.backspace": "백스페이스",
|
||||
"keyboard_shortcuts.keys.enter": "엔터",
|
||||
"keyboard_shortcuts.keys.esc": "ESC",
|
||||
"keyboard_shortcuts.keys.page_down": "페이지 다운",
|
||||
"keyboard_shortcuts.keys.page_up": "페이지 업",
|
||||
"keyboard_shortcuts.legend": "이 개요 표시",
|
||||
"keyboard_shortcuts.load_more": "\"더 보기\" 버튼에 포커스",
|
||||
"keyboard_shortcuts.local": "로컬 타임라인 열기",
|
||||
@ -556,7 +838,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "미디어 보이기/숨기기",
|
||||
"keyboard_shortcuts.toot": "새 게시물 작성",
|
||||
"keyboard_shortcuts.top": "목록의 최상단으로 이동",
|
||||
"keyboard_shortcuts.translate": "게시물 번역",
|
||||
"keyboard_shortcuts.unfocus": "작성창에서 포커스 해제",
|
||||
"keyboard_shortcuts.up": "리스트에서 위로 이동",
|
||||
"learn_more_link.got_it": "확인",
|
||||
@ -567,6 +848,7 @@
|
||||
"lightbox.zoom_in": "실제 크기에 맞춰 보기",
|
||||
"lightbox.zoom_out": "화면 크기에 맞춰 보기",
|
||||
"limited_account_hint.action": "그래도 프로필 보기",
|
||||
"limited_account_hint.title": "이 프로필 또는 서버는 {domain}의 중재자에 의해 숨겨졌습니다.",
|
||||
"link_preview.author": "{name}",
|
||||
"link_preview.more_from_author": "{name} 프로필 보기",
|
||||
"link_preview.shares": "{count, plural, other {{counter} 개의 게시물}}",
|
||||
@ -615,6 +897,7 @@
|
||||
"navigation_bar.automated_deletion": "게시물 자동 삭제",
|
||||
"navigation_bar.blocks": "차단한 사용자",
|
||||
"navigation_bar.bookmarks": "북마크",
|
||||
"navigation_bar.collections": "컬렉션",
|
||||
"navigation_bar.direct": "개인 멘션",
|
||||
"navigation_bar.domain_blocks": "차단한 도메인",
|
||||
"navigation_bar.favourites": "좋아요",
|
||||
@ -627,6 +910,7 @@
|
||||
"navigation_bar.live_feed_local": "라이브 피드 (로컬)",
|
||||
"navigation_bar.live_feed_public": "라이브 피드 (공개)",
|
||||
"navigation_bar.logout": "로그아웃",
|
||||
"navigation_bar.main": "메인",
|
||||
"navigation_bar.moderation": "중재",
|
||||
"navigation_bar.more": "더 보기",
|
||||
"navigation_bar.mutes": "뮤트한 사용자",
|
||||
@ -640,6 +924,7 @@
|
||||
"navigation_panel.expand_followed_tags": "팔로우 중인 해시태그 메뉴 펼치기",
|
||||
"navigation_panel.expand_lists": "리스트 메뉴 펼치기",
|
||||
"not_signed_in_indicator.not_signed_in": "이 정보에 접근하려면 로그인을 해야 합니다.",
|
||||
"notification.added_to_collection": "{name} 님이 나를 컬렉션에 추가했습니다",
|
||||
"notification.admin.report": "{name} 님이 {target}를 신고했습니다",
|
||||
"notification.admin.report_account": "{name} 님이 {target}의 게시물 {count, plural, other {# 개}}를 {category} 사유로 신고했습니다",
|
||||
"notification.admin.report_account_other": "{name} 님이 {target}의 게시물 {count, plural, other {# 개}}를 신고했습니다",
|
||||
@ -649,6 +934,7 @@
|
||||
"notification.admin.sign_up.name_and_others": "{name} 외 {count, plural, other {# 명}}이 가입했습니다",
|
||||
"notification.annual_report.message": "{year} #Wrapstodon 이 기다리고 있습니다! 올 해 마스토돈에서 있었던 최고의 순간과 기억들을 열어보세요!",
|
||||
"notification.annual_report.view": "#Wrapstodon 보기",
|
||||
"notification.collection_update": "{name} 님이 내가 있는 컬렉션을 수정했습니다",
|
||||
"notification.favourite": "{name} 님이 내 게시물을 좋아합니다",
|
||||
"notification.favourite.name_and_others_with_link": "{name} 외 <a>{count, plural, other {# 명}}</a>이 내 게시물을 좋아합니다",
|
||||
"notification.favourite_pm": "{name} 님이 내 개인 멘션을 마음에 들어합니다",
|
||||
@ -710,6 +996,7 @@
|
||||
"notifications.column_settings.admin.report": "새 신고:",
|
||||
"notifications.column_settings.admin.sign_up": "새로운 가입:",
|
||||
"notifications.column_settings.alert": "데스크탑 알림",
|
||||
"notifications.column_settings.collections": "컬렉션:",
|
||||
"notifications.column_settings.favourite": "좋아요:",
|
||||
"notifications.column_settings.filter_bar.advanced": "모든 범주 표시",
|
||||
"notifications.column_settings.filter_bar.category": "빠른 필터 막대",
|
||||
@ -729,6 +1016,7 @@
|
||||
"notifications.column_settings.update": "수정내역:",
|
||||
"notifications.filter.all": "모두",
|
||||
"notifications.filter.boosts": "부스트",
|
||||
"notifications.filter.collections": "컬렉션",
|
||||
"notifications.filter.favourites": "좋아요",
|
||||
"notifications.filter.follows": "팔로우",
|
||||
"notifications.filter.mentions": "멘션",
|
||||
@ -762,12 +1050,14 @@
|
||||
"notifications_permission_banner.title": "아무것도 놓치지 마세요",
|
||||
"onboarding.follows.back": "뒤로가기",
|
||||
"onboarding.follows.empty": "안타깝지만 아직은 아무 것도 보여드릴 수 없습니다. 검색을 이용하거나 둘러보기 페이지에서 팔로우 할 사람을 찾을 수 있습니다. 아니면 잠시 후에 다시 시도하세요.",
|
||||
"onboarding.follows.next": "다음: 프로필 설정",
|
||||
"onboarding.follows.search": "검색",
|
||||
"onboarding.follows.title": "사람들을 팔로우하기",
|
||||
"onboarding.profile.discoverable": "내 프로필을 발견 가능하도록 설정",
|
||||
"onboarding.profile.discoverable_hint": "마스토돈의 발견하기 기능에 참여하면 게시물이 검색 결과와 유행 란에 표시될 수 있고, 비슷한 관심사를 가진 사람들에게 자신의 프로필이 추천될 수 있습니다.",
|
||||
"onboarding.profile.display_name": "표시되는 이름",
|
||||
"onboarding.profile.display_name_hint": "진짜 이름 또는 재미난 이름…",
|
||||
"onboarding.profile.finish": "완료",
|
||||
"onboarding.profile.note": "자기소개",
|
||||
"onboarding.profile.note_hint": "남을 @mention 하거나 #hashtag 태그를 달 수 있습니다…",
|
||||
"onboarding.profile.title": "프로필 설정",
|
||||
@ -839,6 +1129,7 @@
|
||||
"report.category.title_account": "프로필",
|
||||
"report.category.title_status": "게시물",
|
||||
"report.close": "완료",
|
||||
"report.collection_comment": "이 컬렉션을 신고하려는 이유가 무엇인가요?",
|
||||
"report.comment.title": "우리가 더 알아야 할 내용이 있나요?",
|
||||
"report.forward": "{target}에 전달",
|
||||
"report.forward_hint": "이 계정은 다른 서버에 있습니다. 익명화 된 사본을 해당 서버에도 전송할까요?",
|
||||
@ -860,6 +1151,8 @@
|
||||
"report.rules.title": "어떤 규칙을 위반했나요?",
|
||||
"report.statuses.subtitle": "해당하는 사항을 모두 선택",
|
||||
"report.statuses.title": "이 신고에 대해서 더 참고해야 할 게시물이 있나요?",
|
||||
"report.submission_error": "신고를 제출할 수 없습니다",
|
||||
"report.submission_error_details": "네트워크 연결을 확인하고 다시 시도해주세요.",
|
||||
"report.submit": "신고하기",
|
||||
"report.target": "{target} 신고하기",
|
||||
"report.thanks.take_action": "마스토돈에서 나에게 보이는 것을 조절하기 위한 몇 가지 선택사항들이 존재합니다:",
|
||||
@ -897,6 +1190,7 @@
|
||||
"search_popout.user": "사용자",
|
||||
"search_results.accounts": "프로필",
|
||||
"search_results.all": "전부",
|
||||
"search_results.collections": "컬렉션",
|
||||
"search_results.hashtags": "해시태그",
|
||||
"search_results.no_results": "결과가 없습니다.",
|
||||
"search_results.no_search_yet": "게시물, 프로필, 해시태그를 검색해보세요.",
|
||||
@ -907,12 +1201,15 @@
|
||||
"server_banner.active_users": "활성 사용자",
|
||||
"server_banner.administered_by": "관리자:",
|
||||
"server_banner.is_one_of_many": "{domain}은 페디버스를 통해 참여할 수 있는 많은 마스토돈 서버들 중 하나입니다",
|
||||
"server_banner.more_about_this_server": "이 서버에 대한 더 많은 정보",
|
||||
"server_banner.server_stats": "서버 통계:",
|
||||
"sign_in_banner.create_account": "계정 생성",
|
||||
"sign_in_banner.follow_anyone": "페디버스를 통해 누구든지 팔로우하고 시간순으로 게시물을 받아보세요. 알고리즘도, 광고도, 클릭을 유도하는 것들도 없습니다.",
|
||||
"sign_in_banner.mastodon_is": "마스토돈은 무엇이 일어나는지 받아보는 가장 좋은 수단입니다.",
|
||||
"sign_in_banner.sign_in": "로그인",
|
||||
"sign_in_banner.sso_redirect": "로그인 또는 가입하기",
|
||||
"skip_links.hotkey": "<span>단축키</span> {hotkey}",
|
||||
"skip_links.skip_to_content": "주 내용으로 건너뛰기",
|
||||
"status.admin_account": "@{name}에 대한 중재 화면 열기",
|
||||
"status.admin_domain": "{domain}에 대한 중재 화면 열기",
|
||||
"status.admin_status": "중재 화면에서 이 게시물 열기",
|
||||
@ -1013,7 +1310,9 @@
|
||||
"tabs_bar.menu": "메뉴",
|
||||
"tabs_bar.notifications": "알림",
|
||||
"tabs_bar.publish": "새 게시물",
|
||||
"tabs_bar.quick_links": "빠른 링크",
|
||||
"tabs_bar.search": "검색",
|
||||
"tag.remove": "제거",
|
||||
"terms_of_service.effective_as_of": "{date}부터 적용됨",
|
||||
"terms_of_service.title": "이용 약관",
|
||||
"terms_of_service.upcoming_changes_on": "{date}에 예정된 변경사항",
|
||||
|
||||
@ -478,7 +478,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "Amostra/eskonde teksto detras de avertensya de kontenido (CW)",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Amostra/eskonde multimedia",
|
||||
"keyboard_shortcuts.toot": "Eskrive mueva publikasyon",
|
||||
"keyboard_shortcuts.translate": "para trezladar una puvlikasyon",
|
||||
"keyboard_shortcuts.unfocus": "No enfoka en el area de eskrivir/bushkeda",
|
||||
"keyboard_shortcuts.up": "Move verso arriva en la lista",
|
||||
"learn_more_link.got_it": "Entyendo",
|
||||
|
||||
@ -508,7 +508,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Rodyti / slėpti mediją",
|
||||
"keyboard_shortcuts.toot": "Pradėti naują įrašą",
|
||||
"keyboard_shortcuts.top": "Perkelti į sąrašo viršų",
|
||||
"keyboard_shortcuts.translate": "išversti įrašą",
|
||||
"keyboard_shortcuts.unfocus": "Nebefokusuoti rengykles teksto sritį / paiešką",
|
||||
"keyboard_shortcuts.up": "Perkelti į viršų sąraše",
|
||||
"learn_more_link.got_it": "Supratau",
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
"about.blocks": "Moderētie serveri",
|
||||
"about.contact": "Kontakts:",
|
||||
"about.default_locale": "Noklusējums",
|
||||
"about.disclaimer": "Mastodon ir brīva, atvērtā pirmkoda programmatūra un Mastodon GmbH prečzīme.",
|
||||
"about.domain_blocks.no_reason_available": "Iemesls nav norādīts",
|
||||
"about.domain_blocks.preamble": "Mastodon parasti ļauj apskatīt saturu un mijiedarboties ar lietotājiem no jebkura cita fediversa servera. Šie ir izņēmumi, kas veikti tieši šajā serverī.",
|
||||
"about.domain_blocks.silenced.explanation": "Parasti tu neredzēsi profilus un saturu no šī servera, ja vien tu nepārprotami izvēlēsies to pārskatīt vai sekot.",
|
||||
@ -14,6 +15,7 @@
|
||||
"about.rules": "Servera noteikumi",
|
||||
"account.account_note_header": "Personīga piezīme",
|
||||
"account.activity": "Darbības",
|
||||
"account.add_note": "Pievienot personīgu piezīmi",
|
||||
"account.add_or_remove_from_list": "Pievienot vai Noņemt no sarakstiem",
|
||||
"account.badges.admin": "Pārvaldītājs",
|
||||
"account.badges.blocked": "Liegts",
|
||||
@ -30,6 +32,7 @@
|
||||
"account.copy": "Ievietot saiti uz profilu starpliktuvē",
|
||||
"account.direct": "Pieminēt @{name} privāti",
|
||||
"account.disable_notifications": "Pārtraukt man paziņot, kad @{name} izveido ierakstu",
|
||||
"account.edit_note": "Labot personīgu piezīmi",
|
||||
"account.edit_profile": "Labot profilu",
|
||||
"account.edit_profile_short": "Labot",
|
||||
"account.enable_notifications": "Paziņot man, kad @{name} izveido ierakstu",
|
||||
@ -71,7 +74,7 @@
|
||||
"account.joined_short": "Pievienojās",
|
||||
"account.languages": "Mainīt abonētās valodas",
|
||||
"account.link_verified_on": "Šīs saites piederība tika pārbaudīta {date}",
|
||||
"account.locked_info": "Šī konta privātuma statuss ir slēgts. Īpašnieks izskatīs, kurš viņam drīkst sekot.",
|
||||
"account.locked_info": "Šī konta privātuma stāvoklis ir iestatīts kā slēgts. Īpašnieks izvērtē, kurš viņam drīkst sekot.",
|
||||
"account.media": "Multivide",
|
||||
"account.mention": "Pieminēt @{name}",
|
||||
"account.menu.add_to_list": "Pievienot sarakstam…",
|
||||
@ -139,6 +142,7 @@
|
||||
"account_edit.upload_modal.title_add.header": "Pievienot titullapas fotoattēlu",
|
||||
"account_edit.upload_modal.title_replace.avatar": "Nomainīt profila fotoattēlu",
|
||||
"account_edit.upload_modal.title_replace.header": "Nomainīt titullapas fotoattēlu",
|
||||
"account_edit.verified_modal.invisible_link.summary": "Kā saiti padarīt neredzamu?",
|
||||
"account_edit_tags.suggestions": "Ieteikumi:",
|
||||
"admin.dashboard.daily_retention": "Lietotāju saglabāšanas rādītājs dienā pēc reģistrēšanās",
|
||||
"admin.dashboard.monthly_retention": "Lietotāju saglabāšanas rādītājs mēnesī pēc reģistrēšanās",
|
||||
@ -299,7 +303,7 @@
|
||||
"confirmations.missing_alt_text.title": "Pievienot aprakstošo tekstu?",
|
||||
"confirmations.mute.confirm": "Apklusināt",
|
||||
"confirmations.private_quote_notify.cancel": "Atgriezties pie labošanas",
|
||||
"confirmations.private_quote_notify.confirm": "Publicēt ierakstu",
|
||||
"confirmations.private_quote_notify.confirm": "Ievietot ierakstu",
|
||||
"confirmations.private_quote_notify.do_not_show_again": "Nerādīt vairāk šo paziņojumu",
|
||||
"confirmations.private_quote_notify.title": "Dalīties ar sekotājiem un pieminētajiem lietotājiem?",
|
||||
"confirmations.quiet_post_quote_info.got_it": "Sapratu",
|
||||
@ -426,6 +430,7 @@
|
||||
"follow_suggestions.view_all": "Skatīt visu",
|
||||
"follow_suggestions.who_to_follow": "Kam sekot",
|
||||
"followed_tags": "Sekojamie tēmturi",
|
||||
"followers.hide_other_followers": "Šis lietotājs izvēlējās nepadarīt savus citus sekotājus redzamus",
|
||||
"footer.about": "Par",
|
||||
"footer.about_this_server": "Par",
|
||||
"footer.directory": "Profilu direktorija",
|
||||
@ -433,7 +438,7 @@
|
||||
"footer.keyboard_shortcuts": "Īsinājumtaustiņi",
|
||||
"footer.privacy_policy": "Privātuma politika",
|
||||
"footer.source_code": "Skatīt pirmkodu",
|
||||
"footer.status": "Statuss",
|
||||
"footer.status": "Stāvoklis",
|
||||
"footer.terms_of_service": "Pakalpojuma noteikumi",
|
||||
"getting_started.heading": "Darba sākšana",
|
||||
"hashtag.admin_moderation": "Atvērt #{name} satura pārraudzības saskarni",
|
||||
@ -514,7 +519,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "Rādīt/slēpt tekstu aiz satura brīdinājuma",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Rādīt/slēpt multividi",
|
||||
"keyboard_shortcuts.toot": "Uzsākt jaunu ierakstu",
|
||||
"keyboard_shortcuts.translate": "tulkot ierakstu",
|
||||
"keyboard_shortcuts.unfocus": "Atfokusēt veidojamā teksta/meklēšanas lauku",
|
||||
"keyboard_shortcuts.up": "Pārvietoties augšup sarakstā",
|
||||
"learn_more_link.got_it": "Sapratu",
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
"about.blocks": "Siū 管制 ê 服侍器",
|
||||
"about.contact": "聯絡方法:",
|
||||
"about.default_locale": "預設",
|
||||
"about.disclaimer": "Mastodon是自由、開放原始碼ê軟體,mā是Mastodon GmbH ê商標。",
|
||||
"about.domain_blocks.no_reason_available": "原因bē-tàng用",
|
||||
"about.domain_blocks.preamble": "Mastodon一般ē允准lí看別ê fediverse 服侍器來ê聯絡人kap hām用者交流。Tsiah ê 是本服侍器建立ê例外。",
|
||||
"about.domain_blocks.silenced.explanation": "Lí一般buē-tàng tuì tsit ê服侍器看用戶ê紹介kap內容,除非lí明白tshiau-tshuē á是跟tuè伊。",
|
||||
@ -645,6 +646,7 @@
|
||||
"empty_column.account_unavailable": "個人資料bē當看",
|
||||
"empty_column.blocks": "Lí iáu無封鎖任何用者。",
|
||||
"empty_column.bookmarked_statuses": "Lí iáu無加添任何冊籤。Nā是lí加添冊籤,伊ē佇tsia顯示。",
|
||||
"empty_column.collections": "{acct} iáu bē建立任何收藏。",
|
||||
"empty_column.collections.featured_in": "Lí iáu buē加添kàu任何收藏。",
|
||||
"empty_column.collections.featured_in_undiscoverable": "若beh予lâng kā lí加入去收藏,lí需要kàu<link>偏愛ê設定 > 隱私kap資訊ê及至</link>佇探索經驗允准推薦",
|
||||
"empty_column.community": "本站時間線是空ê。緊來公開PO文oh!",
|
||||
@ -818,6 +820,12 @@
|
||||
"keyboard_shortcuts.heading": "鍵盤ê快速key",
|
||||
"keyboard_shortcuts.home": "Phah開tshù ê時間線",
|
||||
"keyboard_shortcuts.hotkey": "快速key",
|
||||
"keyboard_shortcuts.keys.alt": "Alt",
|
||||
"keyboard_shortcuts.keys.backspace": "Backspace",
|
||||
"keyboard_shortcuts.keys.enter": "Enter",
|
||||
"keyboard_shortcuts.keys.esc": "ESC",
|
||||
"keyboard_shortcuts.keys.page_down": "Page Down",
|
||||
"keyboard_shortcuts.keys.page_up": "Page Up",
|
||||
"keyboard_shortcuts.legend": "顯示tsit篇說明",
|
||||
"keyboard_shortcuts.load_more": "Kā焦點suá kàu「載入其他」ê鈕仔",
|
||||
"keyboard_shortcuts.local": "Phah開本站ê時間線",
|
||||
@ -838,7 +846,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "顯示/tshàng媒體",
|
||||
"keyboard_shortcuts.toot": "PO新PO文",
|
||||
"keyboard_shortcuts.top": "Súa kàu列單ê頭",
|
||||
"keyboard_shortcuts.translate": "kā PO文翻譯",
|
||||
"keyboard_shortcuts.unfocus": "離開輸入框仔/tshiau-tshuē格仔",
|
||||
"keyboard_shortcuts.up": "佇列單內kā suá khah面頂",
|
||||
"learn_more_link.got_it": "知矣",
|
||||
@ -849,6 +856,7 @@
|
||||
"lightbox.zoom_in": "Tshūn-kiu kàu實際ê sài-suh",
|
||||
"lightbox.zoom_out": "Tshūn-kiu kàu適當ê sài-suh",
|
||||
"limited_account_hint.action": "一直顯示個人資料",
|
||||
"limited_account_hint.title": "Tsit ê 個人資料iah是服侍器予 {domain} ê管理員tshàng起來ah。",
|
||||
"link_preview.author": "Tuì {name}",
|
||||
"link_preview.more_from_author": "看 {name} ê其他內容",
|
||||
"link_preview.shares": "{count, plural, one {{counter} 篇} other {{counter} 篇}}PO文",
|
||||
@ -1190,6 +1198,7 @@
|
||||
"search_popout.user": "用者",
|
||||
"search_results.accounts": "個人資料",
|
||||
"search_results.all": "全部",
|
||||
"search_results.collections": "收藏",
|
||||
"search_results.hashtags": "Hashtag",
|
||||
"search_results.no_results": "無結果。",
|
||||
"search_results.no_search_yet": "請試tshiau-tshuē PO文、個人資料á是hashtag。",
|
||||
|
||||
@ -846,7 +846,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Media tonen/verbergen",
|
||||
"keyboard_shortcuts.toot": "Nieuw bericht schrijven",
|
||||
"keyboard_shortcuts.top": "Naar het begin van de lijst verplaatsen",
|
||||
"keyboard_shortcuts.translate": "om een bericht te vertalen",
|
||||
"keyboard_shortcuts.translate": "Een bericht vertalen",
|
||||
"keyboard_shortcuts.unfocus": "Tekst- en zoekveld ontfocussen",
|
||||
"keyboard_shortcuts.up": "Naar boven in de lijst bewegen",
|
||||
"learn_more_link.got_it": "Begrepen",
|
||||
|
||||
@ -646,6 +646,7 @@
|
||||
"empty_column.account_unavailable": "Profil ikkje tilgjengeleg",
|
||||
"empty_column.blocks": "Du har ikkje blokkert nokon enno.",
|
||||
"empty_column.bookmarked_statuses": "Du har ikkje lagra noko bokmerke enno. Når du set bokmerke på eit innlegg, dukkar det opp her.",
|
||||
"empty_column.collections": "{acct} har ikkje laga nokon samlingar enno.",
|
||||
"empty_column.collections.featured_in": "Du er ikkje lagt til i nokon samlingar enno.",
|
||||
"empty_column.collections.featured_in_undiscoverable": "For at folk skal kunna leggja deg til i samlingar, må du gje dei løyve til å oppdaga deg i <link>Innstillingar > Personvern og rekkjevidd</link>",
|
||||
"empty_column.community": "Den lokale tidslina er tom. Skriv noko offentleg å få ballen til å rulle!",
|
||||
@ -819,6 +820,12 @@
|
||||
"keyboard_shortcuts.heading": "Snøggtastar",
|
||||
"keyboard_shortcuts.home": "Opne heimetidslina",
|
||||
"keyboard_shortcuts.hotkey": "Snøggtast",
|
||||
"keyboard_shortcuts.keys.alt": "Alt",
|
||||
"keyboard_shortcuts.keys.backspace": "Rettetast",
|
||||
"keyboard_shortcuts.keys.enter": "Enter",
|
||||
"keyboard_shortcuts.keys.esc": "Esc",
|
||||
"keyboard_shortcuts.keys.page_down": "Page Down",
|
||||
"keyboard_shortcuts.keys.page_up": "Page Up",
|
||||
"keyboard_shortcuts.legend": "Vis denne forklaringa",
|
||||
"keyboard_shortcuts.load_more": "Fokuser på «Last meir»-knappen",
|
||||
"keyboard_shortcuts.local": "Opne lokal tidsline",
|
||||
@ -839,7 +846,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Vis/gøym media",
|
||||
"keyboard_shortcuts.toot": "Lag nytt tut",
|
||||
"keyboard_shortcuts.top": "Flytt til toppen av lista",
|
||||
"keyboard_shortcuts.translate": "å omsetje eit innlegg",
|
||||
"keyboard_shortcuts.unfocus": "for å fokusere vekk skrive-/søkefeltet",
|
||||
"keyboard_shortcuts.up": "Flytt opp på lista",
|
||||
"learn_more_link.got_it": "Forstått",
|
||||
@ -1192,6 +1198,7 @@
|
||||
"search_popout.user": "brukar",
|
||||
"search_results.accounts": "Profiler",
|
||||
"search_results.all": "Alt",
|
||||
"search_results.collections": "Samlingar",
|
||||
"search_results.hashtags": "Emneknaggar",
|
||||
"search_results.no_results": "Ingen resultat.",
|
||||
"search_results.no_search_yet": "Prøv å søkja etter innlegg, profilar eller emneknaggar.",
|
||||
|
||||
@ -518,7 +518,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "Vis/skjul tekst bak innholdsvarsel",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Vis/skjul media",
|
||||
"keyboard_shortcuts.toot": "Start et nytt innlegg",
|
||||
"keyboard_shortcuts.translate": "for å oversette et innlegg",
|
||||
"keyboard_shortcuts.unfocus": "Fjern fokus fra komponerings-/søkefeltet",
|
||||
"keyboard_shortcuts.up": "Flytt oppover i listen",
|
||||
"lightbox.close": "Lukk",
|
||||
|
||||
@ -407,7 +407,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "ਮੀਡੀਆ ਦਿਖਾਉਣ/ਲੁਕਾਉਣ ਲਈ",
|
||||
"keyboard_shortcuts.toot": "ਨਵੀਂ ਪੋਸਟ ਸ਼ੁਰੂ ਕਰੋ",
|
||||
"keyboard_shortcuts.translate": "ਪੋਸਟ ਨੂੰ ਅਨੁਵਾਦ ਕਰਨ ਲਈ",
|
||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "ਸੂਚੀ ਵਿੱਚ ਉੱਤੇ ਭੇਜੋ",
|
||||
"learn_more_link.got_it": "ਸਮਝ ਗਏ",
|
||||
|
||||
@ -68,8 +68,12 @@
|
||||
"account.go_to_profile": "Przejdź do profilu",
|
||||
"account.hide_reblogs": "Ukryj podbicia od @{name}",
|
||||
"account.in_memoriam": "Ku pamięci.",
|
||||
"account.join_modal.me": "Dołączyłeś(aś) na {server}",
|
||||
"account.join_modal.me_today": "To Twój pierwszy dzień na {server}!",
|
||||
"account.join_modal.other": "{name} dołączył(a) na {server}",
|
||||
"account.joined_short": "Dołączył(a)",
|
||||
"account.languages": "Zmień subskrybowane języki",
|
||||
"account.last_active": "Ostatnia aktywność",
|
||||
"account.link_verified_on": "Własność tego odnośnika została potwierdzona {date}",
|
||||
"account.locked_info": "To konto jest prywatne. Właściciel ręcznie wybiera kto może go obserwować.",
|
||||
"account.media": "Multimedia",
|
||||
@ -98,6 +102,13 @@
|
||||
"account.mute_short": "Wycisz",
|
||||
"account.muted": "Wyciszony",
|
||||
"account.mutual": "Obserwujecie się wzajemnie",
|
||||
"account.name.copy": "Kopiuj odnośnik",
|
||||
"account.name.help.domain": "{domain} to serwer, na którym znajduje się profil i wpisy tego użytkownika.",
|
||||
"account.name.help.domain_self": "{domain} to Twój serwer, na którym znajduje się Twój profil i wpisy.",
|
||||
"account.name.help.footer": "Tak samo jak możesz wysyłać e-maile do osób korzystających z różnych dostawców poczty, możesz wchodzić w interakcje z osobami na innych serwerach Mastodona oraz z każdym, kto korzysta z innych aplikacji Fediwersum.",
|
||||
"account.name.help.header": "Identyfikator jest jak adres e-mail",
|
||||
"account.name.help.username": "{username} to nazwa użytkownika tego konta na jego serwerze. Ktoś na innym serwerze może mieć taką samą nazwę użytkownika.",
|
||||
"account.name.help.username_self": "{username} to Twoja nazwa użytkownika na tym serwerze. Ktoś na innym serwerze może mieć taką samą nazwę użytkownika.",
|
||||
"account.name_info": "Co to oznacza?",
|
||||
"account.no_bio": "Brak opisu.",
|
||||
"account.node_modal.callout": "Osobiste notatki są widoczne tylko dla Ciebie.",
|
||||
@ -157,7 +168,7 @@
|
||||
"account_edit.field_actions.edit": "Edytuj pole",
|
||||
"account_edit.field_delete_modal.confirm": "Czy na pewno chcesz usunąć to pole niestandardowe? Tej czynności nie można cofnąć.",
|
||||
"account_edit.field_delete_modal.delete_button": "Usuń",
|
||||
"account_edit.field_delete_modal.title": "Usuń pole niestandardowe ",
|
||||
"account_edit.field_delete_modal.title": "Usuń pole niestandardowe?",
|
||||
"account_edit.field_edit_modal.add_title": "Dodaj pole niestandardowe",
|
||||
"account_edit.field_edit_modal.discard_confirm": "Odrzuć",
|
||||
"account_edit.field_edit_modal.discard_message": "Masz niezapisane zmiany. Czy na pewno chcesz je odrzucić?",
|
||||
@ -173,6 +184,7 @@
|
||||
"account_edit.image_edit.alt_edit_button": "Dodaj tekst alternatywny",
|
||||
"account_edit.image_edit.remove_button": "Usuń obraz",
|
||||
"account_edit.image_edit.replace_button": "Zastąp obraz",
|
||||
"account_edit.item_list.delete": "Usuń {name}",
|
||||
"account_edit.profile_tab.button_label": "Dostosuj",
|
||||
"account_edit.profile_tab.hint.description": "Te ustawienia wpływają na to, co użytkownicy widzą na {server} w oficjalnych aplikacjach, ale mogą nie obowiązywać na innych serwerach i w aplikacjach zewnętrznych.",
|
||||
"account_edit.profile_tab.hint.title": "Wyświetlanie może się różnić",
|
||||
@ -191,6 +203,15 @@
|
||||
"account_edit.upload_modal.done": "Gotowe",
|
||||
"account_edit.upload_modal.next": "Następne",
|
||||
"account_edit.upload_modal.step_crop.zoom": "Powiększenie",
|
||||
"account_edit.upload_modal.step_upload.button": "Wybierz pliki",
|
||||
"account_edit.upload_modal.step_upload.header": "Wybierz obraz",
|
||||
"account_edit.upload_modal.step_upload.hint": "WEBP, PNG, GIF lub JPG, maksymalnie {limit} MB.{br}Obraz zostanie przeskalowany do {width}x{height} px.",
|
||||
"account_edit.upload_modal.title_add.avatar": "Dodaj zdjęcie profilowe",
|
||||
"account_edit.upload_modal.title_add.header": "Dodaj zdjęcie nagłówka",
|
||||
"account_edit.upload_modal.title_replace.avatar": "Zmień zdjęcie profilowe",
|
||||
"account_edit.upload_modal.title_replace.header": "Zmień zdjęcie nagłówka",
|
||||
"account_edit_tags.add_tag": "Dodaj #{tagName}",
|
||||
"account_edit_tags.search_placeholder": "Dodaj hashtag...",
|
||||
"admin.dashboard.daily_retention": "Wskaźnik utrzymania użytkowników według dni od rejestracji",
|
||||
"admin.dashboard.monthly_retention": "Wskaźnik utrzymania użytkowników według miesięcy od rejestracji",
|
||||
"admin.dashboard.retention.average": "Średnia",
|
||||
@ -238,6 +259,8 @@
|
||||
"annual_report.summary.close": "Zamknij",
|
||||
"annual_report.summary.copy_link": "Skopiuj adres",
|
||||
"annual_report.summary.followers.new_followers": "{count, plural, one {{counter} obserwujący} few {{counter} obserwujących} many {{counter} obserwujących} other {{counter} obserwujących}}",
|
||||
"annual_report.summary.highlighted_post.favourite_count": "Ten post został polubiony {count, plural, one {raz} few {# razy} many {# razy} other {# razy}}.",
|
||||
"annual_report.summary.highlighted_post.reply_count": "Ten post ma {count, plural, one {jedną odpowiedź} few {# odpowiedzi} many {# odpowiedzi} other {# odpowiedzi}}.",
|
||||
"annual_report.summary.most_used_app.most_used_app": "najczęściej używana aplikacja",
|
||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "najczęściej używany hashtag",
|
||||
"annual_report.summary.new_posts.new_posts": "nowe wpisy",
|
||||
@ -274,6 +297,7 @@
|
||||
"closed_registrations_modal.preamble": "Mastodon jest zdecentralizowany, więc bez względu na to, gdzie się zarejestrujesz, będziesz w stanie obserwować i wchodzić w interakcje z innymi osobami na tym serwerze. Możesz nawet uruchomić własny serwer!",
|
||||
"closed_registrations_modal.title": "Rejestracja na Mastodonie",
|
||||
"collections.last_updated_at": "Ostatnia aktualizacja: {date}",
|
||||
"collections.remove_account": "Usuń",
|
||||
"column.about": "O serwerze",
|
||||
"column.blocks": "Zablokowani",
|
||||
"column.bookmarks": "Zakładki",
|
||||
@ -430,6 +454,7 @@
|
||||
"emoji_button.search_results": "Wyniki wyszukiwania",
|
||||
"emoji_button.symbols": "Symbole",
|
||||
"emoji_button.travel": "Podróże i miejsca",
|
||||
"empty_column.account_featured_self.no_collections_button": "Stwórz kolekcję",
|
||||
"empty_column.account_hides_collections": "Ta osoba postanowiła nie udostępniać tych informacji",
|
||||
"empty_column.account_suspended": "Konto zawieszone",
|
||||
"empty_column.account_timeline": "Brak wpisów!",
|
||||
@ -611,7 +636,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "Pokaż lub ukryj tekst z ostrzeżeniem",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Pokaż lub ukryj multimedia",
|
||||
"keyboard_shortcuts.toot": "Stwórz nowy wpis",
|
||||
"keyboard_shortcuts.translate": "aby przetłumaczyć wpis",
|
||||
"keyboard_shortcuts.unfocus": "Opuść pole tekstowe",
|
||||
"keyboard_shortcuts.up": "Przesuń w górę na liście",
|
||||
"learn_more_link.got_it": "Rozumiem",
|
||||
|
||||
@ -846,7 +846,7 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar mídia",
|
||||
"keyboard_shortcuts.toot": "Começar nova publicação",
|
||||
"keyboard_shortcuts.top": "Mover para o topo da lista",
|
||||
"keyboard_shortcuts.translate": "para traduzir uma publicação",
|
||||
"keyboard_shortcuts.translate": "Traduzir uma publicação",
|
||||
"keyboard_shortcuts.unfocus": "Desfocar da área de composição/busca",
|
||||
"keyboard_shortcuts.up": "mover para cima",
|
||||
"learn_more_link.got_it": "Entendido",
|
||||
|
||||
@ -788,7 +788,6 @@
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Mostrar / Ocultar media",
|
||||
"keyboard_shortcuts.toot": "criar uma nova publicação",
|
||||
"keyboard_shortcuts.top": "Mover para o topo da lista",
|
||||
"keyboard_shortcuts.translate": "traduzir uma publicação",
|
||||
"keyboard_shortcuts.unfocus": "remover o foco da área de texto / pesquisa",
|
||||
"keyboard_shortcuts.up": "mover para cima na lista",
|
||||
"learn_more_link.got_it": "Entendido",
|
||||
|
||||
@ -757,7 +757,6 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "показать/скрыть текст за предупреждением",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "показать/скрыть медиа",
|
||||
"keyboard_shortcuts.toot": "начать писать новый пост",
|
||||
"keyboard_shortcuts.translate": "перевести пост",
|
||||
"keyboard_shortcuts.unfocus": "убрать фокус с поля ввода/поиска",
|
||||
"keyboard_shortcuts.up": "вверх по списку",
|
||||
"learn_more_link.got_it": "Понятно",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user