Merge branch 'glitch-soc' into develop

# Conflicts:
#	app/javascript/mastodon/features/ui/components/navigation_panel.jsx
#	app/javascript/mastodon/initial_state.js
#	app/serializers/initial_state_serializer.rb
#	config/initializers/chewy.rb
#	config/locales/en.yml
#	config/locales/ja.yml
develop
Jeremy Kescher 3 months ago
commit 009251a17d
No known key found for this signature in database
GPG Key ID: 80A419A7A613DFA4

@ -70,7 +70,7 @@ services:
hard: -1 hard: -1
libretranslate: libretranslate:
image: libretranslate/libretranslate:v1.5.4 image: libretranslate/libretranslate:v1.5.5
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- lt-data:/home/libretranslate/.local - lt-data:/home/libretranslate/.local

@ -23,7 +23,7 @@ runs:
shell: bash shell: bash
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3 - uses: actions/cache@v4
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
with: with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} path: ${{ steps.yarn-cache-dir-path.outputs.dir }}

@ -53,7 +53,7 @@ jobs:
# Create or update the pull request # Create or update the pull request
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@v5.0.2 uses: peter-evans/create-pull-request@v6.0.0
with: with:
commit-message: 'New Crowdin translations' commit-message: 'New Crowdin translations'
title: 'New Crowdin Translations (automated)' title: 'New Crowdin Translations (automated)'

@ -139,7 +139,7 @@ jobs:
- name: Upload coverage reports to Codecov - name: Upload coverage reports to Codecov
if: matrix.ruby-version == '.ruby-version' if: matrix.ruby-version == '.ruby-version'
uses: codecov/codecov-action@v3 uses: codecov/codecov-action@v4
with: with:
files: coverage/lcov/mastodon.lcov files: coverage/lcov/mastodon.lcov
@ -224,7 +224,7 @@ jobs:
if: failure() if: failure()
with: with:
name: e2e-screenshots name: e2e-screenshots
path: tmp/screenshots/ path: tmp/capybara/
test-search: test-search:
name: Elastic Search integration testing name: Elastic Search integration testing
@ -328,4 +328,4 @@ jobs:
if: failure() if: failure()
with: with:
name: test-search-screenshots name: test-search-screenshots
path: tmp/screenshots/ path: tmp/capybara/

@ -1,4 +1 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
yarn lint-staged yarn lint-staged

@ -96,13 +96,6 @@ Rails/FilePath:
Rails/HttpStatus: Rails/HttpStatus:
EnforcedStyle: numeric EnforcedStyle: numeric
# Reason: Allowed in `tootctl` CLI code and in boot ENV checker
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsexit
Rails/Exit:
Exclude:
- 'config/boot.rb'
- 'lib/mastodon/cli/*.rb'
# Reason: Conflicts with `Lint/UselessMethodDefinition` for inherited controller actions # Reason: Conflicts with `Lint/UselessMethodDefinition` for inherited controller actions
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railslexicallyscopedactionfilter # https://docs.rubocop.org/rubocop-rails/cops_rails.html#railslexicallyscopedactionfilter
Rails/LexicallyScopedActionFilter: Rails/LexicallyScopedActionFilter:
@ -135,6 +128,11 @@ Rails/UnusedIgnoredColumns:
Rails/NegateInclude: Rails/NegateInclude:
Enabled: false Enabled: false
# Reason: Enforce default limit, but allow some elements to span lines
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecexamplelength
RSpec/ExampleLength:
CountAsOne: ['array', 'heredoc', 'method_call']
# Reason: Deprecated cop, will be removed in 3.0, replaced by SpecFilePathFormat # Reason: Deprecated cop, will be removed in 3.0, replaced by SpecFilePathFormat
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecfilepath # https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecfilepath
RSpec/FilePath: RSpec/FilePath:
@ -175,6 +173,15 @@ Style/ClassAndModuleChildren:
Style/Documentation: Style/Documentation:
Enabled: false Enabled: false
# Reason: Route redirects are not token-formatted and must be skipped
# https://docs.rubocop.org/rubocop/cops_style.html#styleformatstringtoken
Style/FormatStringToken:
inherit_mode:
merge:
- AllowedMethods # The rubocop-rails config adds `redirect`
AllowedMethods:
- redirect_with_vary
# Reason: Enforce modern Ruby style # Reason: Enforce modern Ruby style
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax # https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax
Style/HashSyntax: Style/HashSyntax:
@ -203,11 +210,6 @@ Style/RedundantBegin:
Style/RescueStandardError: Style/RescueStandardError:
EnforcedStyle: implicit EnforcedStyle: implicit
# Reason: Simplify some spec layouts
# https://docs.rubocop.org/rubocop/cops_style.html#stylesemicolon
Style/Semicolon:
AllowAsExpressionSeparator: true
# Reason: Originally disabled for CodeClimate, and no config consensus has been found # Reason: Originally disabled for CodeClimate, and no config consensus has been found
# https://docs.rubocop.org/rubocop/cops_style.html#stylesymbolarray # https://docs.rubocop.org/rubocop/cops_style.html#stylesymbolarray
Style/SymbolArray: Style/SymbolArray:

@ -36,10 +36,10 @@ Metrics/PerceivedComplexity:
# Configuration parameters: CountAsOne. # Configuration parameters: CountAsOne.
RSpec/ExampleLength: RSpec/ExampleLength:
Max: 22 Max: 20 # Override default of 5
RSpec/MultipleExpectations: RSpec/MultipleExpectations:
Max: 8 Max: 7
# Configuration parameters: AllowSubject. # Configuration parameters: AllowSubject.
RSpec/MultipleMemoizedHelpers: RSpec/MultipleMemoizedHelpers:

@ -125,12 +125,6 @@ group :test do
# Used to mock environment variables # Used to mock environment variables
gem 'climate_control' gem 'climate_control'
# Generating fake data for specs
gem 'faker', '~> 3.2'
# Generate test objects for specs
gem 'fabrication', '~> 2.30'
# Add back helpers functions removed in Rails 5.1 # Add back helpers functions removed in Rails 5.1
gem 'rails-controller-testing', '~> 1.0' gem 'rails-controller-testing', '~> 1.0'
@ -182,6 +176,12 @@ group :development, :test do
# Interactive Debugging tools # Interactive Debugging tools
gem 'debug', '~> 1.8' gem 'debug', '~> 1.8'
# Generate fake data values
gem 'faker', '~> 3.2'
# Generate factory objects
gem 'fabrication', '~> 2.30'
# Profiling tools # Profiling tools
gem 'memory_profiler', require: false gem 'memory_profiler', require: false
gem 'ruby-prof', require: false gem 'ruby-prof', require: false

@ -793,7 +793,7 @@ GEM
webfinger (1.2.0) webfinger (1.2.0)
activesupport activesupport
httpclient (>= 2.4) httpclient (>= 2.4)
webmock (3.21.2) webmock (3.22.0)
addressable (>= 2.8.0) addressable (>= 2.8.0)
crack (>= 0.3.2) crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0) hashdiff (>= 0.4.0, < 2.0.0)

@ -62,11 +62,10 @@ class ActivityPub::InboxesController < ActivityPub::BaseController
return if raw_params.blank? || ENV['DISABLE_FOLLOWERS_SYNCHRONIZATION'] == 'true' || signed_request_account.nil? return if raw_params.blank? || ENV['DISABLE_FOLLOWERS_SYNCHRONIZATION'] == 'true' || signed_request_account.nil?
# Re-using the syntax for signature parameters # Re-using the syntax for signature parameters
tree = SignatureParamsParser.new.parse(raw_params) params = SignatureParser.parse(raw_params)
params = SignatureParamsTransformer.new.apply(tree)
ActivityPub::PrepareFollowersSynchronizationService.new.call(signed_request_account, params) ActivityPub::PrepareFollowersSynchronizationService.new.call(signed_request_account, params)
rescue Parslet::ParseFailed rescue SignatureParser::ParsingError
Rails.logger.warn 'Error parsing Collection-Synchronization header' Rails.logger.warn 'Error parsing Collection-Synchronization header'
end end

@ -35,6 +35,7 @@ class Api::V1::Admin::ReportsController < Api::BaseController
def update def update
authorize @report, :update? authorize @report, :update?
@report.update!(report_params) @report.update!(report_params)
log_action :update, @report
render json: @report, serializer: REST::Admin::ReportSerializer render json: @report, serializer: REST::Admin::ReportSerializer
end end

@ -72,13 +72,9 @@ class Api::V1::StatusesController < Api::BaseController
with_rate_limit: true with_rate_limit: true
) )
render json: @status, serializer: @status.is_a?(ScheduledStatus) ? REST::ScheduledStatusSerializer : REST::StatusSerializer render json: @status, serializer: serializer_for_status
rescue PostStatusService::UnexpectedMentionsError => e rescue PostStatusService::UnexpectedMentionsError => e
unexpected_accounts = ActiveModel::Serializer::CollectionSerializer.new( render json: unexpected_accounts_error_json(e), status: 422
e.accounts,
serializer: REST::AccountSerializer
)
render json: { error: e.message, unexpected_accounts: unexpected_accounts }, status: 422
end end
def update def update
@ -158,6 +154,21 @@ class Api::V1::StatusesController < Api::BaseController
) )
end end
def serializer_for_status
@status.is_a?(ScheduledStatus) ? REST::ScheduledStatusSerializer : REST::StatusSerializer
end
def unexpected_accounts_error_json(error)
{
error: error.message,
unexpected_accounts: serialized_accounts(error.accounts),
}
end
def serialized_accounts(accounts)
ActiveModel::Serializer::CollectionSerializer.new(accounts, serializer: REST::AccountSerializer)
end
def pagination_params(core_params) def pagination_params(core_params)
params.slice(:limit).permit(:limit).merge(core_params) params.slice(:limit).permit(:limit).merge(core_params)
end end

@ -188,7 +188,9 @@ class Auth::SessionsController < Devise::SessionsController
) )
# Only send a notification email every hour at most # Only send a notification email every hour at most
return if redis.set("2fa_failure_notification:#{user.id}", '1', ex: 1.hour, get: true).present? return if redis.get("2fa_failure_notification:#{user.id}").present?
redis.set("2fa_failure_notification:#{user.id}", '1', ex: 1.hour)
UserMailer.failed_2fa(user, request.remote_ip, request.user_agent, Time.now.utc).deliver_later! UserMailer.failed_2fa(user, request.remote_ip, request.user_agent, Time.now.utc).deliver_later!
end end

@ -12,39 +12,6 @@ module SignatureVerification
class SignatureVerificationError < StandardError; end class SignatureVerificationError < StandardError; end
class SignatureParamsParser < Parslet::Parser
rule(:token) { match("[0-9a-zA-Z!#$%&'*+.^_`|~-]").repeat(1).as(:token) }
rule(:quoted_string) { str('"') >> (qdtext | quoted_pair).repeat.as(:quoted_string) >> str('"') }
# qdtext and quoted_pair are not exactly according to spec but meh
rule(:qdtext) { match('[^\\\\"]') }
rule(:quoted_pair) { str('\\') >> any }
rule(:bws) { match('\s').repeat }
rule(:param) { (token.as(:key) >> bws >> str('=') >> bws >> (token | quoted_string).as(:value)).as(:param) }
rule(:comma) { bws >> str(',') >> bws }
# Old versions of node-http-signature add an incorrect "Signature " prefix to the header
rule(:buggy_prefix) { str('Signature ') }
rule(:params) { buggy_prefix.maybe >> (param >> (comma >> param).repeat).as(:params) }
root(:params)
end
class SignatureParamsTransformer < Parslet::Transform
rule(params: subtree(:param)) do
(param.is_a?(Array) ? param : [param]).each_with_object({}) { |(key, value), hash| hash[key] = value }
end
rule(param: { key: simple(:key), value: simple(:val) }) do
[key, val]
end
rule(quoted_string: simple(:string)) do
string.to_s
end
rule(token: simple(:string)) do
string.to_s
end
end
def require_account_signature! def require_account_signature!
render json: signature_verification_failure_reason, status: signature_verification_failure_code unless signed_request_account render json: signature_verification_failure_reason, status: signature_verification_failure_code unless signed_request_account
end end
@ -135,12 +102,8 @@ module SignatureVerification
end end
def signature_params def signature_params
@signature_params ||= begin @signature_params ||= SignatureParser.parse(request.headers['Signature'])
raw_signature = request.headers['Signature'] rescue SignatureParser::ParsingError
tree = SignatureParamsParser.new.parse(raw_signature)
SignatureParamsTransformer.new.apply(tree)
end
rescue Parslet::ParseFailed
raise SignatureVerificationError, 'Error parsing signature parameters' raise SignatureVerificationError, 'Error parsing signature parameters'
end end

@ -16,6 +16,6 @@ class CustomCssController < ActionController::Base # rubocop:disable Rails/Appli
helper_method :custom_css_styles helper_method :custom_css_styles
def set_user_roles def set_user_roles
@user_roles = UserRole.where(highlighted: true).where.not(color: [nil, '']) @user_roles = UserRole.providing_styles
end end
end end

@ -1,27 +1,26 @@
# frozen_string_literal: true # frozen_string_literal: true
class IntentsController < ApplicationController class IntentsController < ApplicationController
before_action :check_uri EXPECTED_SCHEME = 'web+mastodon'
before_action :handle_invalid_uri, unless: :valid_uri?
rescue_from Addressable::URI::InvalidURIError, with: :handle_invalid_uri rescue_from Addressable::URI::InvalidURIError, with: :handle_invalid_uri
def show def show
if uri.scheme == 'web+mastodon' case uri.host
case uri.host when 'follow'
when 'follow' redirect_to authorize_interaction_path(uri: uri.query_values['uri'].delete_prefix('acct:'))
return redirect_to authorize_interaction_path(uri: uri.query_values['uri'].delete_prefix('acct:')) when 'share'
when 'share' redirect_to share_path(text: uri.query_values['text'])
return redirect_to share_path(text: uri.query_values['text']) else
end handle_invalid_uri
end end
not_found
end end
private private
def check_uri def valid_uri?
not_found if uri.blank? uri.present? && uri.scheme == EXPECTED_SCHEME
end end
def handle_invalid_uri def handle_invalid_uri

@ -15,9 +15,20 @@ module ReactComponentHelper
div_tag_with_data(data) div_tag_with_data(data)
end end
def serialized_media_attachments(media_attachments)
media_attachments.map { |attachment| serialized_attachment(attachment) }
end
private private
def div_tag_with_data(data) def div_tag_with_data(data)
content_tag(:div, nil, data: data) content_tag(:div, nil, data: data)
end end
def serialized_attachment(attachment)
ActiveModelSerializers::SerializableResource.new(
attachment,
serializer: REST::MediaAttachmentSerializer
).as_json
end
end end

@ -144,6 +144,10 @@ Rails.delegate(document, '#form_admin_settings_enable_bootstrap_timeline_account
const onChangeRegistrationMode = (target) => { const onChangeRegistrationMode = (target) => {
const enabled = target.value === 'approved'; const enabled = target.value === 'approved';
[].forEach.call(document.querySelectorAll('.form_admin_settings_registrations_mode .warning-hint'), (warning_hint) => {
warning_hint.style.display = target.value === 'open' ? 'inline' : 'none';
});
[].forEach.call(document.querySelectorAll('#form_admin_settings_require_invite_text'), (input) => { [].forEach.call(document.querySelectorAll('#form_admin_settings_require_invite_text'), (input) => {
input.disabled = !enabled; input.disabled = !enabled;
if (enabled) { if (enabled) {

@ -54,12 +54,5 @@ export const dismissSuggestion = accountId => (dispatch, getState) => {
id: accountId, id: accountId,
}); });
api(getState).delete(`/api/v1/suggestions/${accountId}`).then(() => { api(getState).delete(`/api/v1/suggestions/${accountId}`).catch(() => {});
dispatch(fetchSuggestionsRequest());
api(getState).get('/api/v2/suggestions').then(response => {
dispatch(importFetchedAccounts(response.data.map(x => x.account)));
dispatch(fetchSuggestionsSuccess(response.data));
}).catch(error => dispatch(fetchSuggestionsFail(error)));
}).catch(() => {});
}; };

@ -22,6 +22,10 @@ export const TIMELINE_DISCONNECT = 'TIMELINE_DISCONNECT';
export const TIMELINE_CONNECT = 'TIMELINE_CONNECT'; export const TIMELINE_CONNECT = 'TIMELINE_CONNECT';
export const TIMELINE_MARK_AS_PARTIAL = 'TIMELINE_MARK_AS_PARTIAL'; export const TIMELINE_MARK_AS_PARTIAL = 'TIMELINE_MARK_AS_PARTIAL';
export const TIMELINE_INSERT = 'TIMELINE_INSERT';
export const TIMELINE_SUGGESTIONS = 'inline-follow-suggestions';
export const TIMELINE_GAP = null;
export const loadPending = timeline => ({ export const loadPending = timeline => ({
type: TIMELINE_LOAD_PENDING, type: TIMELINE_LOAD_PENDING,
@ -123,9 +127,19 @@ export function expandTimeline(timelineId, path, params = {}, done = noOp) {
api(getState).get(path, { params }).then(response => { api(getState).get(path, { params }).then(response => {
const next = getLinks(response).refs.find(link => link.rel === 'next'); const next = getLinks(response).refs.find(link => link.rel === 'next');
dispatch(importFetchedStatuses(response.data)); dispatch(importFetchedStatuses(response.data));
dispatch(expandTimelineSuccess(timelineId, response.data, next ? next.uri : null, response.status === 206, isLoadingRecent, isLoadingMore, isLoadingRecent && preferPendingItems)); dispatch(expandTimelineSuccess(timelineId, response.data, next ? next.uri : null, response.status === 206, isLoadingRecent, isLoadingMore, isLoadingRecent && preferPendingItems));
if (timelineId === 'home' && !isLoadingMore && !isLoadingRecent) {
const now = new Date();
const fittingIndex = response.data.findIndex(status => now - (new Date(status.created_at)) > 4 * 3600 * 1000);
if (fittingIndex !== -1) {
dispatch(insertIntoTimeline(timelineId, TIMELINE_SUGGESTIONS, Math.max(1, fittingIndex)));
}
}
if (timelineId === 'home') { if (timelineId === 'home') {
dispatch(submitMarkers()); dispatch(submitMarkers());
} }
@ -233,3 +247,10 @@ export const markAsPartial = timeline => ({
type: TIMELINE_MARK_AS_PARTIAL, type: TIMELINE_MARK_AS_PARTIAL,
timeline, timeline,
}); });
export const insertIntoTimeline = (timeline, key, index) => ({
type: TIMELINE_INSERT,
timeline,
index,
key,
});

@ -124,7 +124,7 @@ class ReportReasonSelector extends PureComponent {
api().put(`/api/v1/admin/reports/${id}`, { api().put(`/api/v1/admin/reports/${id}`, {
category, category,
rule_ids, rule_ids: category === 'violation' ? rule_ids : [],
}).catch(err => { }).catch(err => {
console.error(err); console.error(err);
}); });

@ -5,7 +5,9 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { debounce } from 'lodash'; import { debounce } from 'lodash';
import { TIMELINE_GAP, TIMELINE_SUGGESTIONS } from 'flavours/glitch/actions/timelines';
import RegenerationIndicator from 'flavours/glitch/components/regeneration_indicator'; import RegenerationIndicator from 'flavours/glitch/components/regeneration_indicator';
import { InlineFollowSuggestions } from 'flavours/glitch/features/home_timeline/components/inline_follow_suggestions';
import StatusContainer from '../containers/status_container'; import StatusContainer from '../containers/status_container';
@ -92,24 +94,37 @@ export default class StatusList extends ImmutablePureComponent {
} }
let scrollableContent = (isLoading || statusIds.size > 0) ? ( let scrollableContent = (isLoading || statusIds.size > 0) ? (
statusIds.map((statusId, index) => statusId === null ? ( statusIds.map((statusId, index) => {
<LoadGap switch(statusId) {
key={'gap:' + statusIds.get(index + 1)} case TIMELINE_SUGGESTIONS:
disabled={isLoading} return (
maxId={index > 0 ? statusIds.get(index - 1) : null} <InlineFollowSuggestions
onClick={onLoadMore} key='inline-follow-suggestions'
/> />
) : ( );
<StatusContainer case TIMELINE_GAP:
key={statusId} return (
id={statusId} <LoadGap
onMoveUp={this.handleMoveUp} key={'gap:' + statusIds.get(index + 1)}
onMoveDown={this.handleMoveDown} disabled={isLoading}
contextType={timelineId} maxId={index > 0 ? statusIds.get(index - 1) : null}
scrollKey={this.props.scrollKey} onClick={onLoadMore}
withCounters={this.props.withCounters} />
/> );
)) default:
return (
<StatusContainer
key={statusId}
id={statusId}
onMoveUp={this.handleMoveUp}
onMoveDown={this.handleMoveDown}
contextType={timelineId}
scrollKey={this.props.scrollKey}
withCounters={this.props.withCounters}
/>
);
}
})
) : null; ) : null;
if (scrollableContent && featuredStatusIds) { if (scrollableContent && featuredStatusIds) {

@ -15,7 +15,6 @@ import { WithOptionalRouterPropTypes, withOptionalRouter } from 'flavours/glitch
import AutosuggestInput from '../../../components/autosuggest_input'; import AutosuggestInput from '../../../components/autosuggest_input';
import AutosuggestTextarea from '../../../components/autosuggest_textarea'; import AutosuggestTextarea from '../../../components/autosuggest_textarea';
import { Button } from '../../../components/button'; import { Button } from '../../../components/button';
import { maxChars } from '../../../initial_state';
import EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container'; import EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container';
import LanguageDropdown from '../containers/language_dropdown_container'; import LanguageDropdown from '../containers/language_dropdown_container';
import PollButtonContainer from '../containers/poll_button_container'; import PollButtonContainer from '../containers/poll_button_container';
@ -81,6 +80,7 @@ class ComposeForm extends ImmutablePureComponent {
isInReply: PropTypes.bool, isInReply: PropTypes.bool,
singleColumn: PropTypes.bool, singleColumn: PropTypes.bool,
lang: PropTypes.string, lang: PropTypes.string,
maxChars: PropTypes.number,
...WithOptionalRouterPropTypes ...WithOptionalRouterPropTypes
}; };
@ -116,7 +116,7 @@ class ComposeForm extends ImmutablePureComponent {
}; };
canSubmit = () => { canSubmit = () => {
const { isSubmitting, isChangingUpload, isUploading, anyMedia } = this.props; const { isSubmitting, isChangingUpload, isUploading, anyMedia, maxChars } = this.props;
const fulltext = this.getFulltextForCharacterCounting(); const fulltext = this.getFulltextForCharacterCounting();
const isOnlyWhitespace = fulltext.length !== 0 && fulltext.trim().length === 0; const isOnlyWhitespace = fulltext.length !== 0 && fulltext.trim().length === 0;
@ -250,7 +250,7 @@ class ComposeForm extends ImmutablePureComponent {
}; };
render () { render () {
const { intl, onPaste, autoFocus, withoutNavigation } = this.props; const { intl, onPaste, autoFocus, withoutNavigation, maxChars } = this.props;
const { highlighted } = this.state; const { highlighted } = this.state;
const disabled = this.props.isSubmitting; const disabled = this.props.isSubmitting;

@ -2,6 +2,9 @@ import { useCallback } from 'react';
import { useIntl, defineMessages } from 'react-intl'; import { useIntl, defineMessages } from 'react-intl';
import SmallCodeIcon from '@/material-icons/400-20px/code.svg?react';
import SmallDescriptionIcon from '@/material-icons/400-20px/description.svg?react';
import SmallMarkdownIcon from '@/material-icons/400-20px/markdown.svg?react';
import CodeIcon from '@/material-icons/400-24px/code.svg?react'; import CodeIcon from '@/material-icons/400-24px/code.svg?react';
import DescriptionIcon from '@/material-icons/400-24px/description.svg?react'; import DescriptionIcon from '@/material-icons/400-24px/description.svg?react';
import MarkdownIcon from '@/material-icons/400-24px/markdown.svg?react'; import MarkdownIcon from '@/material-icons/400-24px/markdown.svg?react';
@ -48,9 +51,9 @@ export const ContentTypeButton = () => {
}[contentType]; }[contentType];
const iconComponent = { const iconComponent = {
'text/plain': DescriptionIcon, 'text/plain': SmallDescriptionIcon,
'text/markdown': MarkdownIcon, 'text/markdown': SmallMarkdownIcon,
'text/html': CodeIcon, 'text/html': SmallCodeIcon,
}[contentType]; }[contentType];
return ( return (

@ -10,7 +10,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import { supportsPassiveEvents } from 'detect-passive-events'; import { supportsPassiveEvents } from 'detect-passive-events';
import Overlay from 'react-overlays/Overlay'; import Overlay from 'react-overlays/Overlay';
import MoodIcon from '@/material-icons/400-24px/mood.svg?react'; import MoodIcon from '@/material-icons/400-20px/mood.svg?react';
import { IconButton } from 'flavours/glitch/components/icon_button'; import { IconButton } from 'flavours/glitch/components/icon_button';
import { useSystemEmojiFont } from 'flavours/glitch/initial_state'; import { useSystemEmojiFont } from 'flavours/glitch/initial_state';
import { assetHost } from 'flavours/glitch/utils/config'; import { assetHost } from 'flavours/glitch/utils/config';
@ -165,6 +165,7 @@ class EmojiPickerMenuImpl extends PureComponent {
intl: PropTypes.object.isRequired, intl: PropTypes.object.isRequired,
skinTone: PropTypes.number.isRequired, skinTone: PropTypes.number.isRequired,
onSkinTone: PropTypes.func.isRequired, onSkinTone: PropTypes.func.isRequired,
pickerButtonRef: PropTypes.func.isRequired
}; };
static defaultProps = { static defaultProps = {
@ -179,7 +180,7 @@ class EmojiPickerMenuImpl extends PureComponent {
}; };
handleDocumentClick = e => { handleDocumentClick = e => {
if (this.node && !this.node.contains(e.target)) { if (this.node && !this.node.contains(e.target) && !this.props.pickerButtonRef.contains(e.target)) {
this.props.onClose(); this.props.onClose();
} }
}; };
@ -234,6 +235,7 @@ class EmojiPickerMenuImpl extends PureComponent {
emoji.native = emoji.colons; emoji.native = emoji.colons;
} }
if (!(event.ctrlKey || event.metaKey)) { if (!(event.ctrlKey || event.metaKey)) {
this.props.onClose(); this.props.onClose();
} }
this.props.onPick(emoji); this.props.onPick(emoji);
@ -409,6 +411,7 @@ class EmojiPickerDropdown extends PureComponent {
onSkinTone={onSkinTone} onSkinTone={onSkinTone}
skinTone={skinTone} skinTone={skinTone}
frequentlyUsedEmojis={frequentlyUsedEmojis} frequentlyUsedEmojis={frequentlyUsedEmojis}
pickerButtonRef={this.target}
/> />
</div> </div>
</div> </div>

@ -2,6 +2,8 @@ import { useCallback } from 'react';
import { useIntl, defineMessages } from 'react-intl'; import { useIntl, defineMessages } from 'react-intl';
import SmallShareIcon from '@/material-icons/400-20px/share.svg?react';
import SmallShareOffIcon from '@/material-icons/400-20px/share_off.svg?react';
import ShareIcon from '@/material-icons/400-24px/share.svg?react'; import ShareIcon from '@/material-icons/400-24px/share.svg?react';
import ShareOffIcon from '@/material-icons/400-24px/share_off.svg?react'; import ShareOffIcon from '@/material-icons/400-24px/share_off.svg?react';
import { changeComposeAdvancedOption } from 'flavours/glitch/actions/compose'; import { changeComposeAdvancedOption } from 'flavours/glitch/actions/compose';
@ -37,7 +39,7 @@ export const FederationButton = () => {
<DropdownIconButton <DropdownIconButton
disabled={isEditing} disabled={isEditing}
icon={do_not_federate ? 'link-slash' : 'link'} icon={do_not_federate ? 'link-slash' : 'link'}
iconComponent={do_not_federate ? ShareOffIcon : ShareIcon} iconComponent={do_not_federate ? SmallShareOffIcon : SmallShareIcon}
onChange={handleChange} onChange={handleChange}
options={options} options={options}
title={intl.formatMessage(messages.change_federation_settings)} title={intl.formatMessage(messages.change_federation_settings)}

@ -3,7 +3,7 @@ import { PureComponent } from 'react';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import BarChart4BarsIcon from '@/material-icons/400-24px/bar_chart_4_bars.svg?react'; import BarChart4BarsIcon from '@/material-icons/400-20px/bar_chart_4_bars.svg?react';
import { IconButton } from '../../../components/icon_button'; import { IconButton } from '../../../components/icon_button';

@ -19,8 +19,6 @@ import { pollLimits } from 'flavours/glitch/initial_state';
const messages = defineMessages({ const messages = defineMessages({
option_placeholder: { id: 'compose_form.poll.option_placeholder', defaultMessage: 'Option {number}' }, option_placeholder: { id: 'compose_form.poll.option_placeholder', defaultMessage: 'Option {number}' },
add_option: { id: 'compose_form.poll.add_option', defaultMessage: 'Add option' },
remove_option: { id: 'compose_form.poll.remove_option', defaultMessage: 'Remove this option' },
duration: { id: 'compose_form.poll.duration', defaultMessage: 'Poll length' }, duration: { id: 'compose_form.poll.duration', defaultMessage: 'Poll length' },
type: { id: 'compose_form.poll.type', defaultMessage: 'Style' }, type: { id: 'compose_form.poll.type', defaultMessage: 'Style' },
switchToMultiple: { id: 'compose_form.poll.switch_to_multiple', defaultMessage: 'Change poll to allow multiple choices' }, switchToMultiple: { id: 'compose_form.poll.switch_to_multiple', defaultMessage: 'Change poll to allow multiple choices' },

@ -2,7 +2,7 @@ import { useCallback } from 'react';
import { useIntl, defineMessages } from 'react-intl'; import { useIntl, defineMessages } from 'react-intl';
import QuickreplyIcon from '@/material-icons/400-24px/quickreply.svg?react'; import QuickreplyIcon from '@/material-icons/400-20px/quickreply.svg?react';
import { changeComposeAdvancedOption } from 'flavours/glitch/actions/compose'; import { changeComposeAdvancedOption } from 'flavours/glitch/actions/compose';
import { IconButton } from 'flavours/glitch/components/icon_button'; import { IconButton } from 'flavours/glitch/components/icon_button';
import { useAppSelector, useAppDispatch } from 'flavours/glitch/store'; import { useAppSelector, useAppDispatch } from 'flavours/glitch/store';

@ -9,7 +9,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import spring from 'react-motion/lib/spring'; import spring from 'react-motion/lib/spring';
import CloseIcon from '@/material-icons/400-24px/close.svg?react'; import CloseIcon from '@/material-icons/400-20px/close.svg?react';
import EditIcon from '@/material-icons/400-24px/edit.svg?react'; import EditIcon from '@/material-icons/400-24px/edit.svg?react';
import WarningIcon from '@/material-icons/400-24px/warning.svg?react'; import WarningIcon from '@/material-icons/400-24px/warning.svg?react';
import { Blurhash } from 'flavours/glitch/components/blurhash'; import { Blurhash } from 'flavours/glitch/components/blurhash';

@ -6,7 +6,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PhotoLibraryIcon from '@/material-icons/400-24px/photo_library.svg?react'; import PhotoLibraryIcon from '@/material-icons/400-20px/photo_library.svg?react';
import { IconButton } from 'flavours/glitch/components/icon_button'; import { IconButton } from 'flavours/glitch/components/icon_button';
const messages = defineMessages({ const messages = defineMessages({
@ -65,6 +65,7 @@ class UploadButton extends ImmutablePureComponent {
key={resetFileKey} key={resetFileKey}
ref={this.setRef} ref={this.setRef}
type='file' type='file'
name='file-upload-input'
multiple multiple
accept={acceptContentTypes.toArray().join(',')} accept={acceptContentTypes.toArray().join(',')}
onChange={this.handleChange} onChange={this.handleChange}

@ -73,6 +73,7 @@ const mapStateToProps = state => ({
sideArm: sideArmPrivacy(state), sideArm: sideArmPrivacy(state),
media: state.getIn(['compose', 'media_attachments']), media: state.getIn(['compose', 'media_attachments']),
mediaDescriptionConfirmation: state.getIn(['local_settings', 'confirm_missing_media_description']), mediaDescriptionConfirmation: state.getIn(['local_settings', 'confirm_missing_media_description']),
maxChars: state.getIn(['server', 'server', 'configuration', 'statuses', 'max_characters'], 500),
}); });
const mapDispatchToProps = (dispatch, { intl }) => ({ const mapDispatchToProps = (dispatch, { intl }) => ({

@ -2,7 +2,7 @@ import { injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import WarningIcon from '@/material-icons/400-24px/warning.svg?react'; import WarningIcon from '@/material-icons/400-20px/warning.svg?react';
import { IconButton } from 'flavours/glitch/components/icon_button'; import { IconButton } from 'flavours/glitch/components/icon_button';
import { changeComposeSpoilerness } from '../../../actions/compose'; import { changeComposeSpoilerness } from '../../../actions/compose';

@ -1,46 +0,0 @@
import { FormattedMessage } from 'react-intl';
import { Link } from 'react-router-dom';
import background from '@/images/friends-cropped.png';
import { DismissableBanner } from 'flavours/glitch/components/dismissable_banner';
export const ExplorePrompt = () => (
<DismissableBanner id='home.explore_prompt'>
<img
src={background}
alt=''
className='dismissable-banner__background-image'
/>
<h1>
<FormattedMessage
id='home.explore_prompt.title'
defaultMessage='This is your home base within Mastodon.'
/>
</h1>
<p>
<FormattedMessage
id='home.explore_prompt.body'
defaultMessage="Your home feed will have a mix of posts from the hashtags you've chosen to follow, the people you've chosen to follow, and the posts they boost. If that feels too quiet, you may want to:"
/>
</p>
<div className='dismissable-banner__message__wrapper'>
<div className='dismissable-banner__message__actions'>
<Link to='/explore' className='button'>
<FormattedMessage
id='home.actions.go_to_explore'
defaultMessage="See what's trending"
/>
</Link>
<Link to='/explore/suggestions' className='button button-tertiary'>
<FormattedMessage
id='home.actions.go_to_suggestions'
defaultMessage='Find people to follow'
/>
</Link>
</div>
</div>
</DismissableBanner>
);

@ -0,0 +1,218 @@
import PropTypes from 'prop-types';
import { useEffect, useCallback, useRef, useState } from 'react';
import { FormattedMessage, useIntl, defineMessages } from 'react-intl';
import { Link } from 'react-router-dom';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { useDispatch, useSelector } from 'react-redux';
import ChevronLeftIcon from '@/material-icons/400-24px/chevron_left.svg?react';
import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react';
import CloseIcon from '@/material-icons/400-24px/close.svg?react';
import InfoIcon from '@/material-icons/400-24px/info.svg?react';
import { followAccount, unfollowAccount } from 'flavours/glitch/actions/accounts';
import { changeSetting } from 'flavours/glitch/actions/settings';
import { fetchSuggestions, dismissSuggestion } from 'flavours/glitch/actions/suggestions';
import { Avatar } from 'flavours/glitch/components/avatar';
import { Button } from 'flavours/glitch/components/button';
import { DisplayName } from 'flavours/glitch/components/display_name';
import { Icon } from 'flavours/glitch/components/icon';
import { IconButton } from 'flavours/glitch/components/icon_button';
import { VerifiedBadge } from 'flavours/glitch/components/verified_badge';
import { domain } from 'flavours/glitch/initial_state';
const messages = defineMessages({
follow: { id: 'account.follow', defaultMessage: 'Follow' },
unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
previous: { id: 'lightbox.previous', defaultMessage: 'Previous' },
next: { id: 'lightbox.next', defaultMessage: 'Next' },
dismiss: { id: 'follow_suggestions.dismiss', defaultMessage: "Don't show again" },
friendsOfFriendsHint: { id: 'follow_suggestions.hints.friends_of_friends', defaultMessage: 'This profile is popular among the people you follow.' },
similarToRecentlyFollowedHint: { id: 'follow_suggestions.hints.similar_to_recently_followed', defaultMessage: 'This profile is similar to the profiles you have most recently followed.' },
featuredHint: { id: 'follow_suggestions.hints.featured', defaultMessage: 'This profile has been hand-picked by the {domain} team.' },
mostFollowedHint: { id: 'follow_suggestions.hints.most_followed', defaultMessage: 'This profile is one of the most followed on {domain}.'},
mostInteractionsHint: { id: 'follow_suggestions.hints.most_interactions', defaultMessage: 'This profile has been recently getting a lot of attention on {domain}.' },
});
const Source = ({ id }) => {
const intl = useIntl();
let label, hint;
switch (id) {
case 'friends_of_friends':
hint = intl.formatMessage(messages.friendsOfFriendsHint);
label = <FormattedMessage id='follow_suggestions.personalized_suggestion' defaultMessage='Personalized suggestion' />;
break;
case 'similar_to_recently_followed':
hint = intl.formatMessage(messages.similarToRecentlyFollowedHint);
label = <FormattedMessage id='follow_suggestions.personalized_suggestion' defaultMessage='Personalized suggestion' />;
break;
case 'featured':
hint = intl.formatMessage(messages.featuredHint, { domain });
label = <FormattedMessage id='follow_suggestions.curated_suggestion' defaultMessage='Staff pick' />;
break;
case 'most_followed':
hint = intl.formatMessage(messages.mostFollowedHint, { domain });
label = <FormattedMessage id='follow_suggestions.popular_suggestion' defaultMessage='Popular suggestion' />;
break;
case 'most_interactions':
hint = intl.formatMessage(messages.mostInteractionsHint, { domain });
label = <FormattedMessage id='follow_suggestions.popular_suggestion' defaultMessage='Popular suggestion' />;
break;
}
return (
<div className='inline-follow-suggestions__body__scrollable__card__text-stack__source' title={hint}>
<Icon icon={InfoIcon} />
{label}
</div>
);
};
Source.propTypes = {
id: PropTypes.oneOf(['friends_of_friends', 'similar_to_recently_followed', 'featured', 'most_followed', 'most_interactions']),
};
const Card = ({ id, sources }) => {
const intl = useIntl();
const account = useSelector(state => state.getIn(['accounts', id]));
const relationship = useSelector(state => state.getIn(['relationships', id]));
const firstVerifiedField = account.get('fields').find(item => !!item.get('verified_at'));
const dispatch = useDispatch();
const following = relationship?.get('following') ?? relationship?.get('requested');
const handleFollow = useCallback(() => {
if (following) {
dispatch(unfollowAccount(id));
} else {
dispatch(followAccount(id));
}
}, [id, following, dispatch]);
const handleDismiss = useCallback(() => {
dispatch(dismissSuggestion(id));
}, [id, dispatch]);
return (
<div className='inline-follow-suggestions__body__scrollable__card'>
<IconButton iconComponent={CloseIcon} onClick={handleDismiss} title={intl.formatMessage(messages.dismiss)} />
<div className='inline-follow-suggestions__body__scrollable__card__avatar'>
<Link to={`/@${account.get('acct')}`}><Avatar account={account} size={72} /></Link>
</div>
<div className='inline-follow-suggestions__body__scrollable__card__text-stack'>
<Link to={`/@${account.get('acct')}`}><DisplayName account={account} /></Link>
{firstVerifiedField ? <VerifiedBadge link={firstVerifiedField.get('value')} /> : <Source id={sources.get(0)} />}
</div>
<Button text={intl.formatMessage(following ? messages.unfollow : messages.follow)} secondary={following} onClick={handleFollow} />
</div>
);
};
Card.propTypes = {
id: PropTypes.string.isRequired,
sources: ImmutablePropTypes.list,
};
const DISMISSIBLE_ID = 'home/follow-suggestions';
export const InlineFollowSuggestions = ({ hidden }) => {
const intl = useIntl();
const dispatch = useDispatch();
const suggestions = useSelector(state => state.getIn(['suggestions', 'items']));
const isLoading = useSelector(state => state.getIn(['suggestions', 'isLoading']));
const dismissed = useSelector(state => state.getIn(['settings', 'dismissed_banners', DISMISSIBLE_ID]));
const bodyRef = useRef();
const [canScrollLeft, setCanScrollLeft] = useState(false);
const [canScrollRight, setCanScrollRight] = useState(true);
useEffect(() => {
dispatch(fetchSuggestions());
}, [dispatch]);
useEffect(() => {
if (!bodyRef.current) {
return;
}
setCanScrollLeft(bodyRef.current.scrollLeft > 0);
setCanScrollRight((bodyRef.current.scrollLeft + bodyRef.current.clientWidth) < bodyRef.current.scrollWidth);
}, [setCanScrollRight, setCanScrollLeft, bodyRef, suggestions]);
const handleLeftNav = useCallback(() => {
bodyRef.current.scrollLeft -= 200;
}, [bodyRef]);
const handleRightNav = useCallback(() => {
bodyRef.current.scrollLeft += 200;
}, [bodyRef]);
const handleScroll = useCallback(() => {
if (!bodyRef.current) {
return;
}
setCanScrollLeft(bodyRef.current.scrollLeft > 0);
setCanScrollRight((bodyRef.current.scrollLeft + bodyRef.current.clientWidth) < bodyRef.current.scrollWidth);
}, [setCanScrollRight, setCanScrollLeft, bodyRef]);
const handleDismiss = useCallback(() => {
dispatch(changeSetting(['dismissed_banners', DISMISSIBLE_ID], true));
}, [dispatch]);
if (dismissed || (!isLoading && suggestions.isEmpty())) {
return null;
}
if (hidden) {
return (
<div className='inline-follow-suggestions' />
);
}
return (
<div className='inline-follow-suggestions'>
<div className='inline-follow-suggestions__header'>
<h3><FormattedMessage id='follow_suggestions.who_to_follow' defaultMessage='Who to follow' /></h3>
<div className='inline-follow-suggestions__header__actions'>
<button className='link-button' onClick={handleDismiss}><FormattedMessage id='follow_suggestions.dismiss' defaultMessage="Don't show again" /></button>
<Link to='/explore/suggestions' className='link-button'><FormattedMessage id='follow_suggestions.view_all' defaultMessage='View all' /></Link>
</div>
</div>
<div className='inline-follow-suggestions__body'>
<div className='inline-follow-suggestions__body__scrollable' ref={bodyRef} onScroll={handleScroll}>
{suggestions.map(suggestion => (
<Card
key={suggestion.get('account')}
id={suggestion.get('account')}
sources={suggestion.get('sources')}
/>
))}
</div>
{canScrollLeft && (
<button className='inline-follow-suggestions__body__scroll-button left' onClick={handleLeftNav} aria-label={intl.formatMessage(messages.previous)}>
<div className='inline-follow-suggestions__body__scroll-button__icon'><Icon icon={ChevronLeftIcon} /></div>
</button>
)}
{canScrollRight && (
<button className='inline-follow-suggestions__body__scroll-button right' onClick={handleRightNav} aria-label={intl.formatMessage(messages.next)}>
<div className='inline-follow-suggestions__body__scroll-button__icon'><Icon icon={ChevronRightIcon} /></div>
</button>
)}
</div>
</div>
);
};
InlineFollowSuggestions.propTypes = {
hidden: PropTypes.bool,
};

@ -6,8 +6,6 @@ import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import classNames from 'classnames'; import classNames from 'classnames';
import { Helmet } from 'react-helmet'; import { Helmet } from 'react-helmet';
import { createSelector } from '@reduxjs/toolkit';
import { List as ImmutableList } from 'immutable';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
@ -17,7 +15,7 @@ import { fetchAnnouncements, toggleShowAnnouncements } from 'flavours/glitch/act
import { IconWithBadge } from 'flavours/glitch/components/icon_with_badge'; import { IconWithBadge } from 'flavours/glitch/components/icon_with_badge';
import { NotSignedInIndicator } from 'flavours/glitch/components/not_signed_in_indicator'; import { NotSignedInIndicator } from 'flavours/glitch/components/not_signed_in_indicator';
import AnnouncementsContainer from 'flavours/glitch/features/getting_started/containers/announcements_container'; import AnnouncementsContainer from 'flavours/glitch/features/getting_started/containers/announcements_container';
import { me, criticalUpdatesPending } from 'flavours/glitch/initial_state'; import { criticalUpdatesPending } from 'flavours/glitch/initial_state';
import { addColumn, removeColumn, moveColumn } from '../../actions/columns'; import { addColumn, removeColumn, moveColumn } from '../../actions/columns';
import { expandHomeTimeline } from '../../actions/timelines'; import { expandHomeTimeline } from '../../actions/timelines';
@ -27,7 +25,6 @@ import StatusListContainer from '../ui/containers/status_list_container';
import { ColumnSettings } from './components/column_settings'; import { ColumnSettings } from './components/column_settings';
import { CriticalUpdateBanner } from './components/critical_update_banner'; import { CriticalUpdateBanner } from './components/critical_update_banner';
import { ExplorePrompt } from './components/explore_prompt';
const messages = defineMessages({ const messages = defineMessages({
title: { id: 'column.home', defaultMessage: 'Home' }, title: { id: 'column.home', defaultMessage: 'Home' },
@ -35,51 +32,12 @@ const messages = defineMessages({
hide_announcements: { id: 'home.hide_announcements', defaultMessage: 'Hide announcements' }, hide_announcements: { id: 'home.hide_announcements', defaultMessage: 'Hide announcements' },
}); });
const getHomeFeedSpeed = createSelector([
state => state.getIn(['timelines', 'home', 'items'], ImmutableList()),
state => state.getIn(['timelines', 'home', 'pendingItems'], ImmutableList()),
state => state.get('statuses'),
], (statusIds, pendingStatusIds, statusMap) => {
const recentStatusIds = pendingStatusIds.concat(statusIds);
const statuses = recentStatusIds.filter(id => id !== null).map(id => statusMap.get(id)).filter(status => status?.get('account') !== me).take(20);
if (statuses.isEmpty()) {
return {
gap: 0,
newest: new Date(0),
};
}
const datetimes = statuses.map(status => status.get('created_at', 0));
const oldest = new Date(datetimes.min());
const newest = new Date(datetimes.max());
const averageGap = (newest - oldest) / (1000 * (statuses.size + 1)); // Average gap between posts on first page in seconds
return {
gap: averageGap,
newest,
};
});
const homeTooSlow = createSelector([
state => state.getIn(['timelines', 'home', 'isLoading']),
state => state.getIn(['timelines', 'home', 'isPartial']),
getHomeFeedSpeed,
], (isLoading, isPartial, speed) =>
!isLoading && !isPartial // Only if the home feed has finished loading
&& (
(speed.gap > (30 * 60) // If the average gap between posts is more than 30 minutes
|| (Date.now() - speed.newest) > (1000 * 3600)) // If the most recent post is from over an hour ago
)
);
const mapStateToProps = state => ({ const mapStateToProps = state => ({
hasUnread: state.getIn(['timelines', 'home', 'unread']) > 0, hasUnread: state.getIn(['timelines', 'home', 'unread']) > 0,
isPartial: state.getIn(['timelines', 'home', 'isPartial']), isPartial: state.getIn(['timelines', 'home', 'isPartial']),
hasAnnouncements: !state.getIn(['announcements', 'items']).isEmpty(), hasAnnouncements: !state.getIn(['announcements', 'items']).isEmpty(),
unreadAnnouncements: state.getIn(['announcements', 'items']).count(item => !item.get('read')), unreadAnnouncements: state.getIn(['announcements', 'items']).count(item => !item.get('read')),
showAnnouncements: state.getIn(['announcements', 'show']), showAnnouncements: state.getIn(['announcements', 'show']),
tooSlow: homeTooSlow(state),
regex: state.getIn(['settings', 'home', 'regex', 'body']), regex: state.getIn(['settings', 'home', 'regex', 'body']),
}); });
@ -99,7 +57,6 @@ class HomeTimeline extends PureComponent {
hasAnnouncements: PropTypes.bool, hasAnnouncements: PropTypes.bool,
unreadAnnouncements: PropTypes.number, unreadAnnouncements: PropTypes.number,
showAnnouncements: PropTypes.bool, showAnnouncements: PropTypes.bool,
tooSlow: PropTypes.bool,
regex: PropTypes.string, regex: PropTypes.string,
}; };
@ -170,7 +127,7 @@ class HomeTimeline extends PureComponent {
}; };
render () { render () {
const { intl, hasUnread, columnId, multiColumn, tooSlow, hasAnnouncements, unreadAnnouncements, showAnnouncements } = this.props; const { intl, hasUnread, columnId, multiColumn, hasAnnouncements, unreadAnnouncements, showAnnouncements } = this.props;
const pinned = !!columnId; const pinned = !!columnId;
const { signedIn } = this.context.identity; const { signedIn } = this.context.identity;
const banners = []; const banners = [];
@ -194,10 +151,6 @@ class HomeTimeline extends PureComponent {
banners.push(<CriticalUpdateBanner key='critical-update-banner' />); banners.push(<CriticalUpdateBanner key='critical-update-banner' />);
} }
if (tooSlow) {
banners.push(<ExplorePrompt key='explore-prompt' />);
}
return ( return (
<Column bindToDocument={!multiColumn} ref={this.setRef} label={intl.formatMessage(messages.title)}> <Column bindToDocument={!multiColumn} ref={this.setRef} label={intl.formatMessage(messages.title)}>
<ColumnHeader <ColumnHeader

@ -28,7 +28,7 @@ const makeGetStatusIds = (pending = false) => createSelector([
getRegex, getRegex,
], (columnSettings, statusIds, statuses, regex) => { ], (columnSettings, statusIds, statuses, regex) => {
return statusIds.filter(id => { return statusIds.filter(id => {
if (id === null) return true; if (id === null || id === 'inline-follow-suggestions') return true;
const statusForId = statuses.get(id); const statusForId = statuses.get(id);
let showStatus = true; let showStatus = true;

@ -483,7 +483,7 @@ class UI extends PureComponent {
handleHotkeyNew = e => { handleHotkeyNew = e => {
e.preventDefault(); e.preventDefault();
const element = this.node.querySelector('.compose-form__autosuggest-wrapper textarea'); const element = this.node.querySelector('.autosuggest-textarea__textarea');
if (element) { if (element) {
element.focus(); element.focus();

@ -77,7 +77,6 @@ export const hasMultiColumnPath = initialPath === '/'
* @property {boolean=} critical_updates_pending * @property {boolean=} critical_updates_pending
* @property {InitialStateMeta} meta * @property {InitialStateMeta} meta
* @property {object} local_settings * @property {object} local_settings
* @property {number} max_toot_chars
* @property {number} max_feed_hashtags * @property {number} max_feed_hashtags
* @property {PollLimits} poll_limits * @property {PollLimits} poll_limits
* @property {number} max_reactions * @property {number} max_reactions
@ -144,7 +143,6 @@ export const statusPageUrl = getMeta('status_page_url');
export const sso_redirect = getMeta('sso_redirect'); export const sso_redirect = getMeta('sso_redirect');
// Glitch-soc-specific settings // Glitch-soc-specific settings
export const maxChars = (initialState && initialState.max_toot_chars) || 500;
export const maxFeedHashtags = (initialState && initialState.max_feed_hashtags) || 4; export const maxFeedHashtags = (initialState && initialState.max_feed_hashtags) || 4;
export const favouriteModal = getMeta('favourite_modal'); export const favouriteModal = getMeta('favourite_modal');
export const pollLimits = (initialState && initialState.poll_limits); export const pollLimits = (initialState && initialState.poll_limits);

@ -398,8 +398,8 @@ export default function compose(state = initialState, action) {
map.set('spoiler', !state.get('spoiler')); map.set('spoiler', !state.get('spoiler'));
map.set('idempotencyKey', uuid()); map.set('idempotencyKey', uuid());
if (!state.get('sensitive') && state.get('media_attachments').size >= 1) { if (state.get('media_attachments').size >= 1 && !state.get('default_sensitive')) {
map.set('sensitive', true); map.set('sensitive', !state.get('spoiler'));
} }
}); });
case COMPOSE_SPOILER_TEXT_CHANGE: case COMPOSE_SPOILER_TEXT_CHANGE:

@ -117,7 +117,7 @@ const initialState = ImmutableMap({
dismissed_banners: ImmutableMap({ dismissed_banners: ImmutableMap({
'public_timeline': false, 'public_timeline': false,
'community_timeline': false, 'community_timeline': false,
'home.explore_prompt': false, 'home/follow-suggestions': false,
'explore/links': false, 'explore/links': false,
'explore/statuses': false, 'explore/statuses': false,
'explore/tags': false, 'explore/tags': false,

@ -28,12 +28,12 @@ export default function suggestionsReducer(state = initialState, action) {
case SUGGESTIONS_FETCH_FAIL: case SUGGESTIONS_FETCH_FAIL:
return state.set('isLoading', false); return state.set('isLoading', false);
case SUGGESTIONS_DISMISS: case SUGGESTIONS_DISMISS:
return state.update('items', list => list.filterNot(x => x.account === action.id)); return state.update('items', list => list.filterNot(x => x.get('account') === action.id));
case blockAccountSuccess.type: case blockAccountSuccess.type:
case muteAccountSuccess.type: case muteAccountSuccess.type:
return state.update('items', list => list.filterNot(x => x.account === action.payload.relationship.id)); return state.update('items', list => list.filterNot(x => x.get('account') === action.payload.relationship.id));
case blockDomainSuccess.type: case blockDomainSuccess.type:
return state.update('items', list => list.filterNot(x => action.payload.accounts.includes(x.account))); return state.update('items', list => list.filterNot(x => action.payload.accounts.includes(x.get('account'))));
default: default:
return state; return state;
} }

@ -17,6 +17,9 @@ import {
TIMELINE_DISCONNECT, TIMELINE_DISCONNECT,
TIMELINE_LOAD_PENDING, TIMELINE_LOAD_PENDING,
TIMELINE_MARK_AS_PARTIAL, TIMELINE_MARK_AS_PARTIAL,
TIMELINE_INSERT,
TIMELINE_GAP,
TIMELINE_SUGGESTIONS,
} from '../actions/timelines'; } from '../actions/timelines';
import { compareId } from '../compare_id'; import { compareId } from '../compare_id';
@ -32,6 +35,8 @@ const initialTimeline = ImmutableMap({
items: ImmutableList(), items: ImmutableList(),
}); });
const isPlaceholder = value => value === TIMELINE_GAP || value === TIMELINE_SUGGESTIONS;
const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, isLoadingRecent, usePendingItems) => { const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, isLoadingRecent, usePendingItems) => {
// This method is pretty tricky because: // This method is pretty tricky because:
// - existing items in the timeline might be out of order // - existing items in the timeline might be out of order
@ -63,20 +68,20 @@ const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, is
// First, find the furthest (if properly sorted, oldest) item in the timeline that is // First, find the furthest (if properly sorted, oldest) item in the timeline that is
// newer than the oldest fetched one, as it's most likely that it delimits the gap. // newer than the oldest fetched one, as it's most likely that it delimits the gap.
// Start the gap *after* that item. // Start the gap *after* that item.
const lastIndex = oldIds.findLastIndex(id => id !== null && compareId(id, newIds.last()) >= 0) + 1; const lastIndex = oldIds.findLastIndex(id => !isPlaceholder(id) && compareId(id, newIds.last()) >= 0) + 1;
// Then, try to find the furthest (if properly sorted, oldest) item in the timeline that // Then, try to find the furthest (if properly sorted, oldest) item in the timeline that
// is newer than the most recent fetched one, as it delimits a section comprised of only // is newer than the most recent fetched one, as it delimits a section comprised of only
// items older or within `newIds` (or that were deleted from the server, so should be removed // items older or within `newIds` (or that were deleted from the server, so should be removed
// anyway). // anyway).
// Stop the gap *after* that item. // Stop the gap *after* that item.
const firstIndex = oldIds.take(lastIndex).findLastIndex(id => id !== null && compareId(id, newIds.first()) > 0) + 1; const firstIndex = oldIds.take(lastIndex).findLastIndex(id => !isPlaceholder(id) && compareId(id, newIds.first()) > 0) + 1;
let insertedIds = ImmutableOrderedSet(newIds).withMutations(insertedIds => { let insertedIds = ImmutableOrderedSet(newIds).withMutations(insertedIds => {
// It is possible, though unlikely, that the slice we are replacing contains items older // It is possible, though unlikely, that the slice we are replacing contains items older
// than the elements we got from the API. Get them and add them back at the back of the // than the elements we got from the API. Get them and add them back at the back of the
// slice. // slice.
const olderIds = oldIds.slice(firstIndex, lastIndex).filter(id => id !== null && compareId(id, newIds.last()) < 0); const olderIds = oldIds.slice(firstIndex, lastIndex).filter(id => !isPlaceholder(id) && compareId(id, newIds.last()) < 0);
insertedIds.union(olderIds); insertedIds.union(olderIds);
// Make sure we aren't inserting duplicates // Make sure we aren't inserting duplicates
@ -84,8 +89,8 @@ const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, is
}).toList(); }).toList();
// Finally, insert a gap marker if the data is marked as partial by the server // Finally, insert a gap marker if the data is marked as partial by the server
if (isPartial && (firstIndex === 0 || oldIds.get(firstIndex - 1) !== null)) { if (isPartial && (firstIndex === 0 || oldIds.get(firstIndex - 1) !== TIMELINE_GAP)) {
insertedIds = insertedIds.unshift(null); insertedIds = insertedIds.unshift(TIMELINE_GAP);
} }
return oldIds.take(firstIndex).concat( return oldIds.take(firstIndex).concat(
@ -184,7 +189,7 @@ const reconnectTimeline = (state, usePendingItems) => {
} }
return state.withMutations(mMap => { return state.withMutations(mMap => {
mMap.update(usePendingItems ? 'pendingItems' : 'items', items => items.first() ? items.unshift(null) : items); mMap.update(usePendingItems ? 'pendingItems' : 'items', items => items.first() ? items.unshift(TIMELINE_GAP) : items);
mMap.set('online', true); mMap.set('online', true);
}); });
}; };
@ -219,7 +224,7 @@ export default function timelines(state = initialState, action) {
return state.update( return state.update(
action.timeline, action.timeline,
initialTimeline, initialTimeline,
map => map.set('online', false).update(action.usePendingItems ? 'pendingItems' : 'items', items => items.first() ? items.unshift(null) : items), map => map.set('online', false).update(action.usePendingItems ? 'pendingItems' : 'items', items => items.first() ? items.unshift(TIMELINE_GAP) : items),
); );
case TIMELINE_MARK_AS_PARTIAL: case TIMELINE_MARK_AS_PARTIAL:
return state.update( return state.update(
@ -227,6 +232,18 @@ export default function timelines(state = initialState, action) {
initialTimeline, initialTimeline,
map => map.set('isPartial', true).set('items', ImmutableList()).set('pendingItems', ImmutableList()).set('unread', 0), map => map.set('isPartial', true).set('items', ImmutableList()).set('pendingItems', ImmutableList()).set('unread', 0),
); );
case TIMELINE_INSERT:
return state.update(
action.timeline,
initialTimeline,
map => map.update('items', ImmutableList(), list => {
if (!list.includes(action.key)) {
return list.insert(action.index, action.key);
}
return list;
})
);
default: default:
return state; return state;
} }

@ -669,12 +669,12 @@ body > [data-popper-placement] {
} }
.icon-button.compose-form__upload__delete { .icon-button.compose-form__upload__delete {
padding: 3px; padding: 2px;
border-radius: 50%; border-radius: 50%;
.icon { .icon {
width: 18px; width: 20px;
height: 18px; height: 20px;
} }
} }
@ -769,12 +769,12 @@ body > [data-popper-placement] {
} }
.icon-button { .icon-button {
padding: 3px; padding: 2px;
} }
.icon-button .icon { .icon-button .icon {
width: 18px; width: 20px;
height: 18px; height: 20px;
} }
} }
@ -5108,43 +5108,6 @@ a.status-card {
animation: heartbeat 1.5s ease-in-out infinite both; animation: heartbeat 1.5s ease-in-out infinite both;
} }
@keyframes shake-bottom {
0%,
100% {
transform: rotate(0deg);
transform-origin: 50% 100%;
}
10% {
transform: rotate(2deg);
}
20%,
40%,
60% {
transform: rotate(-4deg);
}
30%,
50%,
70% {
transform: rotate(4deg);
}
80% {
transform: rotate(-2deg);
}
90% {
transform: rotate(2deg);
}
}
.no-reduce-motion .shake-bottom {
transform-origin: 50% 100%;
animation: shake-bottom 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955) 2s 2 both;
}
.emoji-picker-dropdown__menu { .emoji-picker-dropdown__menu {
position: relative; position: relative;
margin-top: 5px; margin-top: 5px;
@ -5862,20 +5825,6 @@ a.status-card {
} }
} }
.search-results__hashtag {
display: block;
padding: 10px;
color: $secondary-text-color;
text-decoration: none;
&:hover,
&:active,
&:focus {
color: lighten($secondary-text-color, 4%);
text-decoration: underline;
}
}
.search-results__info { .search-results__info {
padding: 20px; padding: 20px;
color: $darker-text-color; color: $darker-text-color;
@ -5903,6 +5852,8 @@ a.status-card {
inset-inline-start: 0; inset-inline-start: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
max-width: 100vw;
max-height: 100vh;
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -10061,3 +10012,204 @@ noscript {
padding: 0; padding: 0;
} }
} }
.inline-follow-suggestions {
display: flex;
flex-direction: column;
gap: 12px;
padding: 16px 0;
padding-bottom: 0;
border-bottom: 1px solid mix($ui-base-color, $ui-highlight-color, 75%);
background: mix($ui-base-color, $ui-highlight-color, 95%);
&__header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 16px;
h3 {
font-size: 15px;
line-height: 22px;
font-weight: 500;
}
&__actions {
display: flex;
align-items: center;
gap: 24px;
}
.link-button {
font-size: 13px;
font-weight: 500;
}
}
&__body {
position: relative;
&__scroll-button {
position: absolute;
height: 100%;
background: transparent;
border: none;
cursor: pointer;
top: 0;
color: $primary-text-color;
opacity: 0.5;
&.left {
left: 0;
}
&.right {
right: 0;
}
&__icon {
border-radius: 50%;
background: $ui-highlight-color;
display: flex;
align-items: center;
justify-content: center;
aspect-ratio: 1;
padding: 8px;
.icon {
width: 24px;
height: 24px;
}
}
&:hover,
&:focus,
&:active {
opacity: 1;
.inline-follow-suggestions__body__scroll-button__icon {
background: lighten($ui-highlight-color, 4%);
}
}
}
&__scrollable {
display: flex;
flex-wrap: nowrap;
gap: 16px;
padding: 16px;
scroll-snap-type: x mandatory;
scroll-padding: 16px;
scroll-behavior: smooth;
overflow-x: scroll;
&__card {
background: darken($ui-base-color, 4%);
border: 1px solid lighten($ui-base-color, 8%);
border-radius: 4px;
display: flex;
flex-direction: column;
gap: 12px;
align-items: center;
padding: 12px;
scroll-snap-align: start;
flex: 0 0 auto;
width: 200px;
box-sizing: border-box;
position: relative;
a {
text-decoration: none;
}
& > .icon-button {
position: absolute;
inset-inline-end: 8px;
top: 8px;
opacity: 0.75;
}
&__avatar {
height: 48px;
display: flex;
a {
display: flex;
text-decoration: none;
}
}
.account__avatar {
flex-shrink: 0;
align-self: flex-end;
border: 1px solid lighten($ui-base-color, 8%);
background-color: $ui-base-color;
}
&__text-stack {
display: flex;
flex-direction: column;
gap: 4px;
align-items: center;
max-width: 100%;
a {
max-width: 100%;
}
&__source {
display: inline-flex;
align-items: center;
color: $dark-text-color;
gap: 4px;
overflow: hidden;
white-space: nowrap;
cursor: help;
> span {
overflow: hidden;
text-overflow: ellipsis;
}
.icon {
width: 16px;
height: 16px;
}
}
}
.display-name {
display: flex;
flex-direction: column;
gap: 4px;
align-items: center;
& > * {
max-width: 100%;
}
&__html {
font-size: 15px;
font-weight: 500;
color: $secondary-text-color;
}
&__account {
font-size: 14px;
color: $darker-text-color;
}
}
.verified-badge {
font-size: 14px;
max-width: 100%;
}
.button {
display: block;
width: 100%;
}
}
}
}
}

@ -648,3 +648,16 @@ html {
.poll__option input[type='text'] { .poll__option input[type='text'] {
background: darken($ui-base-color, 10%); background: darken($ui-base-color, 10%);
} }
.inline-follow-suggestions {
background-color: rgba($ui-highlight-color, 0.1);
border-bottom-color: rgba($ui-highlight-color, 0.3);
}
.inline-follow-suggestions__body__scrollable__card {
background: $white;
}
.inline-follow-suggestions__body__scroll-button__icon {
color: $white;
}

@ -54,12 +54,5 @@ export const dismissSuggestion = accountId => (dispatch, getState) => {
id: accountId, id: accountId,
}); });
api(getState).delete(`/api/v1/suggestions/${accountId}`).then(() => { api(getState).delete(`/api/v1/suggestions/${accountId}`).catch(() => {});
dispatch(fetchSuggestionsRequest());
api(getState).get('/api/v2/suggestions').then(response => {
dispatch(importFetchedAccounts(response.data.map(x => x.account)));
dispatch(fetchSuggestionsSuccess(response.data));
}).catch(error => dispatch(fetchSuggestionsFail(error)));
}).catch(() => {});
}; };

@ -21,6 +21,10 @@ export const TIMELINE_DISCONNECT = 'TIMELINE_DISCONNECT';
export const TIMELINE_CONNECT = 'TIMELINE_CONNECT'; export const TIMELINE_CONNECT = 'TIMELINE_CONNECT';
export const TIMELINE_MARK_AS_PARTIAL = 'TIMELINE_MARK_AS_PARTIAL'; export const TIMELINE_MARK_AS_PARTIAL = 'TIMELINE_MARK_AS_PARTIAL';
export const TIMELINE_INSERT = 'TIMELINE_INSERT';
export const TIMELINE_SUGGESTIONS = 'inline-follow-suggestions';
export const TIMELINE_GAP = null;
export const loadPending = timeline => ({ export const loadPending = timeline => ({
type: TIMELINE_LOAD_PENDING, type: TIMELINE_LOAD_PENDING,
@ -112,9 +116,19 @@ export function expandTimeline(timelineId, path, params = {}, done = noOp) {
api(getState).get(path, { params }).then(response => { api(getState).get(path, { params }).then(response => {
const next = getLinks(response).refs.find(link => link.rel === 'next'); const next = getLinks(response).refs.find(link => link.rel === 'next');
dispatch(importFetchedStatuses(response.data)); dispatch(importFetchedStatuses(response.data));
dispatch(expandTimelineSuccess(timelineId, response.data, next ? next.uri : null, response.status === 206, isLoadingRecent, isLoadingMore, isLoadingRecent && preferPendingItems)); dispatch(expandTimelineSuccess(timelineId, response.data, next ? next.uri : null, response.status === 206, isLoadingRecent, isLoadingMore, isLoadingRecent && preferPendingItems));
if (timelineId === 'home' && !isLoadingMore && !isLoadingRecent) {
const now = new Date();
const fittingIndex = response.data.findIndex(status => now - (new Date(status.created_at)) > 4 * 3600 * 1000);
if (fittingIndex !== -1) {
dispatch(insertIntoTimeline(timelineId, TIMELINE_SUGGESTIONS, Math.max(1, fittingIndex)));
}
}
if (timelineId === 'home') { if (timelineId === 'home') {
dispatch(submitMarkers()); dispatch(submitMarkers());
} }
@ -221,3 +235,10 @@ export const markAsPartial = timeline => ({
type: TIMELINE_MARK_AS_PARTIAL, type: TIMELINE_MARK_AS_PARTIAL,
timeline, timeline,
}); });
export const insertIntoTimeline = (timeline, key, index) => ({
type: TIMELINE_INSERT,
timeline,
index,
key,
});

@ -124,7 +124,7 @@ class ReportReasonSelector extends PureComponent {
api().put(`/api/v1/admin/reports/${id}`, { api().put(`/api/v1/admin/reports/${id}`, {
category, category,
rule_ids, rule_ids: category === 'violation' ? rule_ids : [],
}).catch(err => { }).catch(err => {
console.error(err); console.error(err);
}); });

@ -5,7 +5,9 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { debounce } from 'lodash'; import { debounce } from 'lodash';
import { TIMELINE_GAP, TIMELINE_SUGGESTIONS } from 'mastodon/actions/timelines';
import RegenerationIndicator from 'mastodon/components/regeneration_indicator'; import RegenerationIndicator from 'mastodon/components/regeneration_indicator';
import { InlineFollowSuggestions } from 'mastodon/features/home_timeline/components/inline_follow_suggestions';
import StatusContainer from '../containers/status_container'; import StatusContainer from '../containers/status_container';
@ -91,25 +93,38 @@ export default class StatusList extends ImmutablePureComponent {
} }
let scrollableContent = (isLoading || statusIds.size > 0) ? ( let scrollableContent = (isLoading || statusIds.size > 0) ? (
statusIds.map((statusId, index) => statusId === null ? ( statusIds.map((statusId, index) => {
<LoadGap switch(statusId) {
key={'gap:' + statusIds.get(index + 1)} case TIMELINE_SUGGESTIONS:
disabled={isLoading} return (
maxId={index > 0 ? statusIds.get(index - 1) : null} <InlineFollowSuggestions
onClick={onLoadMore} key='inline-follow-suggestions'
/> />
) : ( );
<StatusContainer case TIMELINE_GAP:
key={statusId} return (
id={statusId} <LoadGap
onMoveUp={this.handleMoveUp} key={'gap:' + statusIds.get(index + 1)}
onMoveDown={this.handleMoveDown} disabled={isLoading}
contextType={timelineId} maxId={index > 0 ? statusIds.get(index - 1) : null}
scrollKey={this.props.scrollKey} onClick={onLoadMore}
showThread />
withCounters={this.props.withCounters} );
/> default:
)) return (
<StatusContainer
key={statusId}
id={statusId}
onMoveUp={this.handleMoveUp}
onMoveDown={this.handleMoveDown}
contextType={timelineId}
scrollKey={this.props.scrollKey}
showThread
withCounters={this.props.withCounters}
/>
);
}
})
) : null; ) : null;
if (scrollableContent && featuredStatusIds) { if (scrollableContent && featuredStatusIds) {

@ -15,7 +15,6 @@ import { WithOptionalRouterPropTypes, withOptionalRouter } from 'mastodon/utils/
import AutosuggestInput from '../../../components/autosuggest_input'; import AutosuggestInput from '../../../components/autosuggest_input';
import AutosuggestTextarea from '../../../components/autosuggest_textarea'; import AutosuggestTextarea from '../../../components/autosuggest_textarea';
import { Button } from '../../../components/button'; import { Button } from '../../../components/button';
import { maxChars } from '../../../initial_state';
import EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container'; import EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container';
import LanguageDropdown from '../containers/language_dropdown_container'; import LanguageDropdown from '../containers/language_dropdown_container';
import PollButtonContainer from '../containers/poll_button_container'; import PollButtonContainer from '../containers/poll_button_container';
@ -71,6 +70,7 @@ class ComposeForm extends ImmutablePureComponent {
isInReply: PropTypes.bool, isInReply: PropTypes.bool,
singleColumn: PropTypes.bool, singleColumn: PropTypes.bool,
lang: PropTypes.string, lang: PropTypes.string,
maxChars: PropTypes.number,
...WithOptionalRouterPropTypes ...WithOptionalRouterPropTypes
}; };
@ -102,7 +102,7 @@ class ComposeForm extends ImmutablePureComponent {
}; };
canSubmit = () => { canSubmit = () => {
const { isSubmitting, isChangingUpload, isUploading, anyMedia } = this.props; const { isSubmitting, isChangingUpload, isUploading, anyMedia, maxChars } = this.props;
const fulltext = this.getFulltextForCharacterCounting(); const fulltext = this.getFulltextForCharacterCounting();
const isOnlyWhitespace = fulltext.length !== 0 && fulltext.trim().length === 0; const isOnlyWhitespace = fulltext.length !== 0 && fulltext.trim().length === 0;
@ -225,7 +225,7 @@ class ComposeForm extends ImmutablePureComponent {
}; };
render () { render () {
const { intl, onPaste, autoFocus, withoutNavigation } = this.props; const { intl, onPaste, autoFocus, withoutNavigation, maxChars } = this.props;
const { highlighted } = this.state; const { highlighted } = this.state;
const disabled = this.props.isSubmitting; const disabled = this.props.isSubmitting;

@ -6,9 +6,9 @@ import { Link } from 'react-router-dom';
import { useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
import BarChart4BarsIcon from 'mastodon/../material-icons/400-24px/bar_chart_4_bars.svg?react'; import BarChart4BarsIcon from '@/material-icons/400-24px/bar_chart_4_bars.svg?react';
import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react'; import CloseIcon from '@/material-icons/400-24px/close.svg?react';
import PhotoLibraryIcon from 'mastodon/../material-icons/400-24px/photo_library.svg?react'; import PhotoLibraryIcon from '@/material-icons/400-24px/photo_library.svg?react';
import { cancelReplyCompose } from 'mastodon/actions/compose'; import { cancelReplyCompose } from 'mastodon/actions/compose';
import { Icon } from 'mastodon/components/icon'; import { Icon } from 'mastodon/components/icon';
import { IconButton } from 'mastodon/components/icon_button'; import { IconButton } from 'mastodon/components/icon_button';

@ -10,7 +10,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import { supportsPassiveEvents } from 'detect-passive-events'; import { supportsPassiveEvents } from 'detect-passive-events';
import Overlay from 'react-overlays/Overlay'; import Overlay from 'react-overlays/Overlay';
import MoodIcon from 'mastodon/../material-icons/400-24px/mood.svg?react'; import MoodIcon from '@/material-icons/400-20px/mood.svg?react';
import { IconButton } from 'mastodon/components/icon_button'; import { IconButton } from 'mastodon/components/icon_button';
import { assetHost } from 'mastodon/utils/config'; import { assetHost } from 'mastodon/utils/config';
@ -164,6 +164,7 @@ class EmojiPickerMenuImpl extends PureComponent {
intl: PropTypes.object.isRequired, intl: PropTypes.object.isRequired,
skinTone: PropTypes.number.isRequired, skinTone: PropTypes.number.isRequired,
onSkinTone: PropTypes.func.isRequired, onSkinTone: PropTypes.func.isRequired,
pickerButtonRef: PropTypes.func.isRequired
}; };
static defaultProps = { static defaultProps = {
@ -178,7 +179,7 @@ class EmojiPickerMenuImpl extends PureComponent {
}; };
handleDocumentClick = e => { handleDocumentClick = e => {
if (this.node && !this.node.contains(e.target)) { if (this.node && !this.node.contains(e.target) && !this.props.pickerButtonRef.contains(e.target)) {
this.props.onClose(); this.props.onClose();
} }
}; };
@ -233,6 +234,7 @@ class EmojiPickerMenuImpl extends PureComponent {
emoji.native = emoji.colons; emoji.native = emoji.colons;
} }
if (!(event.ctrlKey || event.metaKey)) { if (!(event.ctrlKey || event.metaKey)) {
this.props.onClose(); this.props.onClose();
} }
this.props.onPick(emoji); this.props.onPick(emoji);
@ -407,6 +409,7 @@ class EmojiPickerDropdown extends PureComponent {
onSkinTone={onSkinTone} onSkinTone={onSkinTone}
skinTone={skinTone} skinTone={skinTone}
frequentlyUsedEmojis={frequentlyUsedEmojis} frequentlyUsedEmojis={frequentlyUsedEmojis}
pickerButtonRef={this.target}
/> />
</div> </div>
</div> </div>

@ -9,9 +9,9 @@ import { supportsPassiveEvents } from 'detect-passive-events';
import fuzzysort from 'fuzzysort'; import fuzzysort from 'fuzzysort';
import Overlay from 'react-overlays/Overlay'; import Overlay from 'react-overlays/Overlay';
import CancelIcon from 'mastodon/../material-icons/400-24px/cancel-fill.svg?react'; import CancelIcon from '@/material-icons/400-24px/cancel-fill.svg?react';
import SearchIcon from 'mastodon/../material-icons/400-24px/search.svg?react'; import SearchIcon from '@/material-icons/400-24px/search.svg?react';
import TranslateIcon from 'mastodon/../material-icons/400-24px/translate.svg?react'; import TranslateIcon from '@/material-icons/400-24px/translate.svg?react';
import { Icon } from 'mastodon/components/icon'; import { Icon } from 'mastodon/components/icon';
import { languages as preloadedLanguages } from 'mastodon/initial_state'; import { languages as preloadedLanguages } from 'mastodon/initial_state';

@ -4,7 +4,7 @@ import { useIntl, defineMessages } from 'react-intl';
import { useSelector, useDispatch } from 'react-redux'; import { useSelector, useDispatch } from 'react-redux';
import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react'; import CloseIcon from '@/material-icons/400-24px/close.svg?react';
import { cancelReplyCompose } from 'mastodon/actions/compose'; import { cancelReplyCompose } from 'mastodon/actions/compose';
import Account from 'mastodon/components/account'; import Account from 'mastodon/components/account';
import { IconButton } from 'mastodon/components/icon_button'; import { IconButton } from 'mastodon/components/icon_button';

@ -3,7 +3,7 @@ import { PureComponent } from 'react';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import BarChart4BarsIcon from '@/material-icons/400-24px/bar_chart_4_bars.svg?react'; import BarChart4BarsIcon from '@/material-icons/400-20px/bar_chart_4_bars.svg?react';
import { IconButton } from '../../../components/icon_button'; import { IconButton } from '../../../components/icon_button';

@ -18,8 +18,6 @@ import AutosuggestInput from 'mastodon/components/autosuggest_input';
const messages = defineMessages({ const messages = defineMessages({
option_placeholder: { id: 'compose_form.poll.option_placeholder', defaultMessage: 'Option {number}' }, option_placeholder: { id: 'compose_form.poll.option_placeholder', defaultMessage: 'Option {number}' },
add_option: { id: 'compose_form.poll.add_option', defaultMessage: 'Add option' },
remove_option: { id: 'compose_form.poll.remove_option', defaultMessage: 'Remove this option' },
duration: { id: 'compose_form.poll.duration', defaultMessage: 'Poll length' }, duration: { id: 'compose_form.poll.duration', defaultMessage: 'Poll length' },
type: { id: 'compose_form.poll.type', defaultMessage: 'Style' }, type: { id: 'compose_form.poll.type', defaultMessage: 'Style' },
switchToMultiple: { id: 'compose_form.poll.switch_to_multiple', defaultMessage: 'Change poll to allow multiple choices' }, switchToMultiple: { id: 'compose_form.poll.switch_to_multiple', defaultMessage: 'Change poll to allow multiple choices' },

@ -9,7 +9,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import spring from 'react-motion/lib/spring'; import spring from 'react-motion/lib/spring';
import CloseIcon from '@/material-icons/400-24px/close.svg?react'; import CloseIcon from '@/material-icons/400-20px/close.svg?react';
import EditIcon from '@/material-icons/400-24px/edit.svg?react'; import EditIcon from '@/material-icons/400-24px/edit.svg?react';
import WarningIcon from '@/material-icons/400-24px/warning.svg?react'; import WarningIcon from '@/material-icons/400-24px/warning.svg?react';
import { Blurhash } from 'mastodon/components/blurhash'; import { Blurhash } from 'mastodon/components/blurhash';

@ -6,7 +6,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import PhotoLibraryIcon from '@/material-icons/400-24px/photo_library.svg?react'; import PhotoLibraryIcon from '@/material-icons/400-20px/photo_library.svg?react';
import { IconButton } from 'mastodon/components/icon_button'; import { IconButton } from 'mastodon/components/icon_button';
const messages = defineMessages({ const messages = defineMessages({
@ -65,6 +65,7 @@ class UploadButton extends ImmutablePureComponent {
key={resetFileKey} key={resetFileKey}
ref={this.setRef} ref={this.setRef}
type='file' type='file'
name='file-upload-input'
multiple multiple
accept={acceptContentTypes.toArray().join(',')} accept={acceptContentTypes.toArray().join(',')}
onChange={this.handleChange} onChange={this.handleChange}

@ -28,6 +28,7 @@ const mapStateToProps = state => ({
anyMedia: state.getIn(['compose', 'media_attachments']).size > 0, anyMedia: state.getIn(['compose', 'media_attachments']).size > 0,
isInReply: state.getIn(['compose', 'in_reply_to']) !== null, isInReply: state.getIn(['compose', 'in_reply_to']) !== null,
lang: state.getIn(['compose', 'language']), lang: state.getIn(['compose', 'language']),
maxChars: state.getIn(['server', 'server', 'configuration', 'statuses', 'max_characters'], 500),
}); });
const mapDispatchToProps = (dispatch) => ({ const mapDispatchToProps = (dispatch) => ({

@ -2,7 +2,7 @@ import { injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import WarningIcon from 'mastodon/../material-icons/400-24px/warning.svg?react'; import WarningIcon from '@/material-icons/400-20px/warning.svg?react';
import { IconButton } from 'mastodon/components/icon_button'; import { IconButton } from 'mastodon/components/icon_button';
import { changeComposeSpoilerness } from '../../../actions/compose'; import { changeComposeSpoilerness } from '../../../actions/compose';

@ -8,8 +8,8 @@ import { NavLink, Switch, Route } from 'react-router-dom';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import ExploreIcon from '@/material-icons/400-24px/explore.svg?react';
import SearchIcon from '@/material-icons/400-24px/search.svg?react'; import SearchIcon from '@/material-icons/400-24px/search.svg?react';
import TagIcon from '@/material-icons/400-24px/tag.svg?react';
import Column from 'mastodon/components/column'; import Column from 'mastodon/components/column';
import ColumnHeader from 'mastodon/components/column_header'; import ColumnHeader from 'mastodon/components/column_header';
import Search from 'mastodon/features/compose/containers/search_container'; import Search from 'mastodon/features/compose/containers/search_container';
@ -59,7 +59,7 @@ class Explore extends PureComponent {
<Column bindToDocument={!multiColumn} ref={this.setRef} label={intl.formatMessage(messages.title)}> <Column bindToDocument={!multiColumn} ref={this.setRef} label={intl.formatMessage(messages.title)}>
<ColumnHeader <ColumnHeader
icon={isSearching ? 'search' : 'hashtag'} icon={isSearching ? 'search' : 'hashtag'}
iconComponent={isSearching ? SearchIcon : TagIcon} iconComponent={isSearching ? SearchIcon : ExploreIcon}
title={intl.formatMessage(isSearching ? messages.searchResults : messages.title)} title={intl.formatMessage(isSearching ? messages.searchResults : messages.title)}
onClick={this.handleHeaderClick} onClick={this.handleHeaderClick}
multiColumn={multiColumn} multiColumn={multiColumn}

@ -1,46 +0,0 @@
import { FormattedMessage } from 'react-intl';
import { Link } from 'react-router-dom';
import background from '@/images/friends-cropped.png';
import { DismissableBanner } from 'mastodon/components/dismissable_banner';
export const ExplorePrompt = () => (
<DismissableBanner id='home.explore_prompt'>
<img
src={background}
alt=''
className='dismissable-banner__background-image'
/>
<h1>
<FormattedMessage
id='home.explore_prompt.title'
defaultMessage='This is your home base within Mastodon.'
/>
</h1>
<p>
<FormattedMessage
id='home.explore_prompt.body'
defaultMessage="Your home feed will have a mix of posts from the hashtags you've chosen to follow, the people you've chosen to follow, and the posts they boost. If that feels too quiet, you may want to:"
/>
</p>
<div className='dismissable-banner__message__wrapper'>
<div className='dismissable-banner__message__actions'>
<Link to='/explore' className='button'>
<FormattedMessage
id='home.actions.go_to_explore'
defaultMessage="See what's trending"
/>
</Link>
<Link to='/explore/suggestions' className='button button-tertiary'>
<FormattedMessage
id='home.actions.go_to_suggestions'
defaultMessage='Find people to follow'
/>
</Link>
</div>
</div>
</DismissableBanner>
);

@ -0,0 +1,218 @@
import PropTypes from 'prop-types';
import { useEffect, useCallback, useRef, useState } from 'react';
import { FormattedMessage, useIntl, defineMessages } from 'react-intl';
import { Link } from 'react-router-dom';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { useDispatch, useSelector } from 'react-redux';
import ChevronLeftIcon from '@/material-icons/400-24px/chevron_left.svg?react';
import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react';
import CloseIcon from '@/material-icons/400-24px/close.svg?react';
import InfoIcon from '@/material-icons/400-24px/info.svg?react';
import { followAccount, unfollowAccount } from 'mastodon/actions/accounts';
import { changeSetting } from 'mastodon/actions/settings';
import { fetchSuggestions, dismissSuggestion } from 'mastodon/actions/suggestions';
import { Avatar } from 'mastodon/components/avatar';
import { Button } from 'mastodon/components/button';
import { DisplayName } from 'mastodon/components/display_name';
import { Icon } from 'mastodon/components/icon';
import { IconButton } from 'mastodon/components/icon_button';
import { VerifiedBadge } from 'mastodon/components/verified_badge';
import { domain } from 'mastodon/initial_state';
const messages = defineMessages({
follow: { id: 'account.follow', defaultMessage: 'Follow' },
unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
previous: { id: 'lightbox.previous', defaultMessage: 'Previous' },
next: { id: 'lightbox.next', defaultMessage: 'Next' },
dismiss: { id: 'follow_suggestions.dismiss', defaultMessage: "Don't show again" },
friendsOfFriendsHint: { id: 'follow_suggestions.hints.friends_of_friends', defaultMessage: 'This profile is popular among the people you follow.' },
similarToRecentlyFollowedHint: { id: 'follow_suggestions.hints.similar_to_recently_followed', defaultMessage: 'This profile is similar to the profiles you have most recently followed.' },
featuredHint: { id: 'follow_suggestions.hints.featured', defaultMessage: 'This profile has been hand-picked by the {domain} team.' },
mostFollowedHint: { id: 'follow_suggestions.hints.most_followed', defaultMessage: 'This profile is one of the most followed on {domain}.'},
mostInteractionsHint: { id: 'follow_suggestions.hints.most_interactions', defaultMessage: 'This profile has been recently getting a lot of attention on {domain}.' },
});
const Source = ({ id }) => {
const intl = useIntl();
let label, hint;
switch (id) {
case 'friends_of_friends':
hint = intl.formatMessage(messages.friendsOfFriendsHint);
label = <FormattedMessage id='follow_suggestions.personalized_suggestion' defaultMessage='Personalized suggestion' />;
break;
case 'similar_to_recently_followed':
hint = intl.formatMessage(messages.similarToRecentlyFollowedHint);
label = <FormattedMessage id='follow_suggestions.personalized_suggestion' defaultMessage='Personalized suggestion' />;
break;
case 'featured':
hint = intl.formatMessage(messages.featuredHint, { domain });
label = <FormattedMessage id='follow_suggestions.curated_suggestion' defaultMessage='Staff pick' />;
break;
case 'most_followed':
hint = intl.formatMessage(messages.mostFollowedHint, { domain });
label = <FormattedMessage id='follow_suggestions.popular_suggestion' defaultMessage='Popular suggestion' />;
break;
case 'most_interactions':
hint = intl.formatMessage(messages.mostInteractionsHint, { domain });
label = <FormattedMessage id='follow_suggestions.popular_suggestion' defaultMessage='Popular suggestion' />;
break;
}
return (
<div className='inline-follow-suggestions__body__scrollable__card__text-stack__source' title={hint}>
<Icon icon={InfoIcon} />
{label}
</div>
);
};
Source.propTypes = {
id: PropTypes.oneOf(['friends_of_friends', 'similar_to_recently_followed', 'featured', 'most_followed', 'most_interactions']),
};
const Card = ({ id, sources }) => {
const intl = useIntl();
const account = useSelector(state => state.getIn(['accounts', id]));
const relationship = useSelector(state => state.getIn(['relationships', id]));
const firstVerifiedField = account.get('fields').find(item => !!item.get('verified_at'));
const dispatch = useDispatch();
const following = relationship?.get('following') ?? relationship?.get('requested');
const handleFollow = useCallback(() => {
if (following) {
dispatch(unfollowAccount(id));
} else {
dispatch(followAccount(id));
}
}, [id, following, dispatch]);
const handleDismiss = useCallback(() => {
dispatch(dismissSuggestion(id));
}, [id, dispatch]);
return (
<div className='inline-follow-suggestions__body__scrollable__card'>
<IconButton iconComponent={CloseIcon} onClick={handleDismiss} title={intl.formatMessage(messages.dismiss)} />
<div className='inline-follow-suggestions__body__scrollable__card__avatar'>
<Link to={`/@${account.get('acct')}`}><Avatar account={account} size={72} /></Link>
</div>
<div className='inline-follow-suggestions__body__scrollable__card__text-stack'>
<Link to={`/@${account.get('acct')}`}><DisplayName account={account} /></Link>
{firstVerifiedField ? <VerifiedBadge link={firstVerifiedField.get('value')} /> : <Source id={sources.get(0)} />}
</div>
<Button text={intl.formatMessage(following ? messages.unfollow : messages.follow)} secondary={following} onClick={handleFollow} />
</div>
);
};
Card.propTypes = {
id: PropTypes.string.isRequired,
sources: ImmutablePropTypes.list,
};
const DISMISSIBLE_ID = 'home/follow-suggestions';
export const InlineFollowSuggestions = ({ hidden }) => {
const intl = useIntl();
const dispatch = useDispatch();
const suggestions = useSelector(state => state.getIn(['suggestions', 'items']));
const isLoading = useSelector(state => state.getIn(['suggestions', 'isLoading']));
const dismissed = useSelector(state => state.getIn(['settings', 'dismissed_banners', DISMISSIBLE_ID]));
const bodyRef = useRef();
const [canScrollLeft, setCanScrollLeft] = useState(false);
const [canScrollRight, setCanScrollRight] = useState(true);
useEffect(() => {
dispatch(fetchSuggestions());
}, [dispatch]);
useEffect(() => {
if (!bodyRef.current) {
return;
}
setCanScrollLeft(bodyRef.current.scrollLeft > 0);
setCanScrollRight((bodyRef.current.scrollLeft + bodyRef.current.clientWidth) < bodyRef.current.scrollWidth);
}, [setCanScrollRight, setCanScrollLeft, bodyRef, suggestions]);
const handleLeftNav = useCallback(() => {
bodyRef.current.scrollLeft -= 200;
}, [bodyRef]);
const handleRightNav = useCallback(() => {
bodyRef.current.scrollLeft += 200;
}, [bodyRef]);
const handleScroll = useCallback(() => {
if (!bodyRef.current) {
return;
}
setCanScrollLeft(bodyRef.current.scrollLeft > 0);
setCanScrollRight((bodyRef.current.scrollLeft + bodyRef.current.clientWidth) < bodyRef.current.scrollWidth);
}, [setCanScrollRight, setCanScrollLeft, bodyRef]);
const handleDismiss = useCallback(() => {
dispatch(changeSetting(['dismissed_banners', DISMISSIBLE_ID], true));
}, [dispatch]);
if (dismissed || (!isLoading && suggestions.isEmpty())) {
return null;
}
if (hidden) {
return (
<div className='inline-follow-suggestions' />
);
}
return (
<div className='inline-follow-suggestions'>
<div className='inline-follow-suggestions__header'>
<h3><FormattedMessage id='follow_suggestions.who_to_follow' defaultMessage='Who to follow' /></h3>
<div className='inline-follow-suggestions__header__actions'>
<button className='link-button' onClick={handleDismiss}><FormattedMessage id='follow_suggestions.dismiss' defaultMessage="Don't show again" /></button>
<Link to='/explore/suggestions' className='link-button'><FormattedMessage id='follow_suggestions.view_all' defaultMessage='View all' /></Link>
</div>
</div>
<div className='inline-follow-suggestions__body'>
<div className='inline-follow-suggestions__body__scrollable' ref={bodyRef} onScroll={handleScroll}>
{suggestions.map(suggestion => (
<Card
key={suggestion.get('account')}
id={suggestion.get('account')}
sources={suggestion.get('sources')}
/>
))}
</div>
{canScrollLeft && (
<button className='inline-follow-suggestions__body__scroll-button left' onClick={handleLeftNav} aria-label={intl.formatMessage(messages.previous)}>
<div className='inline-follow-suggestions__body__scroll-button__icon'><Icon icon={ChevronLeftIcon} /></div>
</button>
)}
{canScrollRight && (
<button className='inline-follow-suggestions__body__scroll-button right' onClick={handleRightNav} aria-label={intl.formatMessage(messages.next)}>
<div className='inline-follow-suggestions__body__scroll-button__icon'><Icon icon={ChevronRightIcon} /></div>
</button>
)}
</div>
</div>
);
};
InlineFollowSuggestions.propTypes = {
hidden: PropTypes.bool,
};

@ -6,8 +6,6 @@ import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import classNames from 'classnames'; import classNames from 'classnames';
import { Helmet } from 'react-helmet'; import { Helmet } from 'react-helmet';
import { createSelector } from '@reduxjs/toolkit';
import { List as ImmutableList } from 'immutable';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import CampaignIcon from '@/material-icons/400-24px/campaign.svg?react'; import CampaignIcon from '@/material-icons/400-24px/campaign.svg?react';
@ -16,7 +14,7 @@ import { fetchAnnouncements, toggleShowAnnouncements } from 'mastodon/actions/an
import { IconWithBadge } from 'mastodon/components/icon_with_badge'; import { IconWithBadge } from 'mastodon/components/icon_with_badge';
import { NotSignedInIndicator } from 'mastodon/components/not_signed_in_indicator'; import { NotSignedInIndicator } from 'mastodon/components/not_signed_in_indicator';
import AnnouncementsContainer from 'mastodon/features/getting_started/containers/announcements_container'; import AnnouncementsContainer from 'mastodon/features/getting_started/containers/announcements_container';
import { me, criticalUpdatesPending } from 'mastodon/initial_state'; import { criticalUpdatesPending } from 'mastodon/initial_state';
import { addColumn, removeColumn, moveColumn } from '../../actions/columns'; import { addColumn, removeColumn, moveColumn } from '../../actions/columns';
import { expandHomeTimeline } from '../../actions/timelines'; import { expandHomeTimeline } from '../../actions/timelines';
@ -26,7 +24,6 @@ import StatusListContainer from '../ui/containers/status_list_container';
import { ColumnSettings } from './components/column_settings'; import { ColumnSettings } from './components/column_settings';
import { CriticalUpdateBanner } from './components/critical_update_banner'; import { CriticalUpdateBanner } from './components/critical_update_banner';
import { ExplorePrompt } from './components/explore_prompt';
const messages = defineMessages({ const messages = defineMessages({
title: { id: 'column.home', defaultMessage: 'Home' }, title: { id: 'column.home', defaultMessage: 'Home' },
@ -34,51 +31,12 @@ const messages = defineMessages({
hide_announcements: { id: 'home.hide_announcements', defaultMessage: 'Hide announcements' }, hide_announcements: { id: 'home.hide_announcements', defaultMessage: 'Hide announcements' },
}); });
const getHomeFeedSpeed = createSelector([
state => state.getIn(['timelines', 'home', 'items'], ImmutableList()),
state => state.getIn(['timelines', 'home', 'pendingItems'], ImmutableList()),
state => state.get('statuses'),
], (statusIds, pendingStatusIds, statusMap) => {
const recentStatusIds = pendingStatusIds.concat(statusIds);
const statuses = recentStatusIds.filter(id => id !== null).map(id => statusMap.get(id)).filter(status => status?.get('account') !== me).take(20);
if (statuses.isEmpty()) {
return {
gap: 0,
newest: new Date(0),
};
}
const datetimes = statuses.map(status => status.get('created_at', 0));
const oldest = new Date(datetimes.min());
const newest = new Date(datetimes.max());
const averageGap = (newest - oldest) / (1000 * (statuses.size + 1)); // Average gap between posts on first page in seconds
return {
gap: averageGap,
newest,
};
});
const homeTooSlow = createSelector([
state => state.getIn(['timelines', 'home', 'isLoading']),
state => state.getIn(['timelines', 'home', 'isPartial']),
getHomeFeedSpeed,
], (isLoading, isPartial, speed) =>
!isLoading && !isPartial // Only if the home feed has finished loading
&& (
(speed.gap > (30 * 60) // If the average gap between posts is more than 30 minutes
|| (Date.now() - speed.newest) > (1000 * 3600)) // If the most recent post is from over an hour ago
)
);
const mapStateToProps = state => ({ const mapStateToProps = state => ({
hasUnread: state.getIn(['timelines', 'home', 'unread']) > 0, hasUnread: state.getIn(['timelines', 'home', 'unread']) > 0,
isPartial: state.getIn(['timelines', 'home', 'isPartial']), isPartial: state.getIn(['timelines', 'home', 'isPartial']),
hasAnnouncements: !state.getIn(['announcements', 'items']).isEmpty(), hasAnnouncements: !state.getIn(['announcements', 'items']).isEmpty(),
unreadAnnouncements: state.getIn(['announcements', 'items']).count(item => !item.get('read')), unreadAnnouncements: state.getIn(['announcements', 'items']).count(item => !item.get('read')),
showAnnouncements: state.getIn(['announcements', 'show']), showAnnouncements: state.getIn(['announcements', 'show']),
tooSlow: homeTooSlow(state),
}); });
class HomeTimeline extends PureComponent { class HomeTimeline extends PureComponent {
@ -97,7 +55,6 @@ class HomeTimeline extends PureComponent {
hasAnnouncements: PropTypes.bool, hasAnnouncements: PropTypes.bool,
unreadAnnouncements: PropTypes.number, unreadAnnouncements: PropTypes.number,
showAnnouncements: PropTypes.bool, showAnnouncements: PropTypes.bool,
tooSlow: PropTypes.bool,
}; };
handlePin = () => { handlePin = () => {
@ -167,7 +124,7 @@ class HomeTimeline extends PureComponent {
}; };
render () { render () {
const { intl, hasUnread, columnId, multiColumn, tooSlow, hasAnnouncements, unreadAnnouncements, showAnnouncements } = this.props; const { intl, hasUnread, columnId, multiColumn, hasAnnouncements, unreadAnnouncements, showAnnouncements } = this.props;
const pinned = !!columnId; const pinned = !!columnId;
const { signedIn } = this.context.identity; const { signedIn } = this.context.identity;
const banners = []; const banners = [];
@ -192,10 +149,6 @@ class HomeTimeline extends PureComponent {
banners.push(<CriticalUpdateBanner key='critical-update-banner' />); banners.push(<CriticalUpdateBanner key='critical-update-banner' />);
} }
if (tooSlow) {
banners.push(<ExplorePrompt key='explore-prompt' />);
}
return ( return (
<Column bindToDocument={!multiColumn} ref={this.setRef} label={intl.formatMessage(messages.title)}> <Column bindToDocument={!multiColumn} ref={this.setRef} label={intl.formatMessage(messages.title)}>
<ColumnHeader <ColumnHeader

@ -7,6 +7,7 @@ import { Link } from 'react-router-dom';
import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react'; import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react';
import BookmarksIcon from '@/material-icons/400-24px/bookmarks-fill.svg?react'; import BookmarksIcon from '@/material-icons/400-24px/bookmarks-fill.svg?react';
import ExploreIcon from '@/material-icons/400-24px/explore.svg?react';
import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react'; import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react';
import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react'; import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react';
import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react'; import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
@ -14,7 +15,6 @@ import PublicIcon from '@/material-icons/400-24px/public.svg?react';
import SearchIcon from '@/material-icons/400-24px/search.svg?react'; import SearchIcon from '@/material-icons/400-24px/search.svg?react';
import SettingsIcon from '@/material-icons/400-24px/settings-fill.svg?react'; import SettingsIcon from '@/material-icons/400-24px/settings-fill.svg?react';
import StarIcon from '@/material-icons/400-24px/star-fill.svg?react'; import StarIcon from '@/material-icons/400-24px/star-fill.svg?react';
import TagIcon from '@/material-icons/400-24px/tag.svg?react';
import { WordmarkLogo } from 'mastodon/components/logo'; import { WordmarkLogo } from 'mastodon/components/logo';
import { NavigationPortal } from 'mastodon/components/navigation_portal'; import { NavigationPortal } from 'mastodon/components/navigation_portal';
import { timelinePreview, trendsEnabled } from 'mastodon/initial_state'; import { timelinePreview, trendsEnabled } from 'mastodon/initial_state';
@ -94,7 +94,7 @@ class NavigationPanel extends Component {
)} )}
{trendsEnabled ? ( {trendsEnabled ? (
<ColumnLink transparent to={(signedIn || timelinePreview) ? '/explore' : '/explore/tags'} icon='hashtag' iconComponent={TagIcon} text={intl.formatMessage(messages.explore)} /> <ColumnLink transparent to={(signedIn || timelinePreview) ? '/explore' : '/explore/tags'} icon='hashtag' iconComponent={ExploreIcon} text={intl.formatMessage(messages.explore)} />
) : ( ) : (
<ColumnLink transparent to='/search' icon='search' iconComponent={SearchIcon} text={intl.formatMessage(messages.search)} /> <ColumnLink transparent to='/search' icon='search' iconComponent={SearchIcon} text={intl.formatMessage(messages.search)} />
)} )}

@ -14,7 +14,7 @@ const makeGetStatusIds = (pending = false) => createSelector([
(state) => state.get('statuses'), (state) => state.get('statuses'),
], (columnSettings, statusIds, statuses) => { ], (columnSettings, statusIds, statuses) => {
return statusIds.filter(id => { return statusIds.filter(id => {
if (id === null) return true; if (id === null || id === 'inline-follow-suggestions') return true;
const statusForId = statuses.get(id); const statusForId = statuses.get(id);
let showStatus = true; let showStatus = true;

@ -438,7 +438,7 @@ class UI extends PureComponent {
handleHotkeyNew = e => { handleHotkeyNew = e => {
e.preventDefault(); e.preventDefault();
const element = this.node.querySelector('.compose-form__autosuggest-wrapper textarea'); const element = this.node.querySelector('.autosuggest-textarea__textarea');
if (element) { if (element) {
element.focus(); element.focus();

@ -60,7 +60,6 @@
* @property {InitialStateLanguage[]} languages * @property {InitialStateLanguage[]} languages
* @property {boolean=} critical_updates_pending * @property {boolean=} critical_updates_pending
* @property {InitialStateMeta} meta * @property {InitialStateMeta} meta
* @property {number} max_toot_chars
* @property {PollLimits} poll_limits * @property {PollLimits} poll_limits
*/ */
@ -121,7 +120,6 @@ export const statusPageUrl = getMeta('status_page_url');
export const sso_redirect = getMeta('sso_redirect'); export const sso_redirect = getMeta('sso_redirect');
// Glitch-soc-specific settings // Glitch-soc-specific settings
export const maxChars = (initialState && initialState.max_toot_chars) || 500;
export const pollLimits = (initialState && initialState.poll_limits); export const pollLimits = (initialState && initialState.poll_limits);
export default initialState; export default initialState;

@ -33,6 +33,7 @@
"account.follows.empty": "Die gebruiker volg nog niemand.", "account.follows.empty": "Die gebruiker volg nog niemand.",
"account.go_to_profile": "Gaan na profiel", "account.go_to_profile": "Gaan na profiel",
"account.hide_reblogs": "Versteek plasings wat deur @{name} aangestuur is", "account.hide_reblogs": "Versteek plasings wat deur @{name} aangestuur is",
"account.in_memoriam": "Ter nagedagtenis.",
"account.joined_short": "Aangesluit", "account.joined_short": "Aangesluit",
"account.link_verified_on": "Eienaarskap van hierdie skakel is nagegaan op {date}", "account.link_verified_on": "Eienaarskap van hierdie skakel is nagegaan op {date}",
"account.locked_info": "Die rekening se privaatheidstatus is gesluit. Die eienaar hersien handmatig wie hom/haar kan volg.", "account.locked_info": "Die rekening se privaatheidstatus is gesluit. Die eienaar hersien handmatig wie hom/haar kan volg.",
@ -66,12 +67,12 @@
"alert.unexpected.message": "Iets het skeefgeloop.", "alert.unexpected.message": "Iets het skeefgeloop.",
"alert.unexpected.title": "Oeps!", "alert.unexpected.title": "Oeps!",
"announcement.announcement": "Aankondiging", "announcement.announcement": "Aankondiging",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Druk {combo} om dit volgende keer oor te slaan", "boost_modal.combo": "Druk {combo} om dit volgende keer oor te slaan",
"bundle_column_error.error.title": "Ag nee!", "bundle_column_error.error.title": "Ag nee!",
"bundle_column_error.network.title": "Netwerkfout", "bundle_column_error.network.title": "Netwerkfout",
"bundle_column_error.retry": "Probeer weer", "bundle_column_error.retry": "Probeer weer",
"bundle_column_error.return": "Keer terug na die tuisblad", "bundle_column_error.return": "Keer terug na die tuisblad",
"bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Sluit", "bundle_modal_error.close": "Sluit",
"bundle_modal_error.message": "Die laai van die komponent het iewers skeefgeloop.", "bundle_modal_error.message": "Die laai van die komponent het iewers skeefgeloop.",
"bundle_modal_error.retry": "Probeer weer", "bundle_modal_error.retry": "Probeer weer",
@ -111,19 +112,12 @@
"compose_form.lock_disclaimer": "Jou rekening is nie {locked} nie. Enigiemand kan jou volg en sien wat jy vir jou volgers plaas.", "compose_form.lock_disclaimer": "Jou rekening is nie {locked} nie. Enigiemand kan jou volg en sien wat jy vir jou volgers plaas.",
"compose_form.lock_disclaimer.lock": "gesluit", "compose_form.lock_disclaimer.lock": "gesluit",
"compose_form.placeholder": "Wat wil jy deel?", "compose_form.placeholder": "Wat wil jy deel?",
"compose_form.poll.add_option": "Voeg n keuse by",
"compose_form.poll.duration": "Duur van peiling", "compose_form.poll.duration": "Duur van peiling",
"compose_form.poll.option_placeholder": "Keuse {number}",
"compose_form.poll.remove_option": "Verwyder hierdie keuse",
"compose_form.poll.switch_to_multiple": "Verander peiling om meer as een keuse toe te laat", "compose_form.poll.switch_to_multiple": "Verander peiling om meer as een keuse toe te laat",
"compose_form.poll.switch_to_single": "Verander die peiling om slegs een keuse toe te laat", "compose_form.poll.switch_to_single": "Verander die peiling om slegs een keuse toe te laat",
"compose_form.publish": "Publiseer",
"compose_form.publish_form": "Publiseer", "compose_form.publish_form": "Publiseer",
"compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Stoor veranderinge",
"compose_form.spoiler.marked": "Verwyder inhoudswaarskuwing", "compose_form.spoiler.marked": "Verwyder inhoudswaarskuwing",
"compose_form.spoiler.unmarked": "Voeg inhoudswaarskuwing by", "compose_form.spoiler.unmarked": "Voeg inhoudswaarskuwing by",
"compose_form.spoiler_placeholder": "Skryf jou waarskuwing hier",
"confirmation_modal.cancel": "Kanselleer", "confirmation_modal.cancel": "Kanselleer",
"confirmations.block.block_and_report": "Blokkeer en rapporteer", "confirmations.block.block_and_report": "Blokkeer en rapporteer",
"confirmations.block.confirm": "Blokkeer", "confirmations.block.confirm": "Blokkeer",
@ -157,6 +151,8 @@
"emoji_button.food": "Eet- en drinkgoed", "emoji_button.food": "Eet- en drinkgoed",
"emoji_button.nature": "Natuur", "emoji_button.nature": "Natuur",
"emoji_button.not_found": "Geen passende emoji gevind nie", "emoji_button.not_found": "Geen passende emoji gevind nie",
"emoji_button.objects": "Voorwerpe",
"emoji_button.people": "Mense",
"emoji_button.search": "Soek...", "emoji_button.search": "Soek...",
"emoji_button.search_results": "Soekresultate", "emoji_button.search_results": "Soekresultate",
"empty_column.account_timeline": "Geen plasings hier nie!", "empty_column.account_timeline": "Geen plasings hier nie!",
@ -169,7 +165,12 @@
"empty_column.lists": "Jy het nog geen lyste nie. Wanneer jy een skep, sal dit hier vertoon.", "empty_column.lists": "Jy het nog geen lyste nie. Wanneer jy een skep, sal dit hier vertoon.",
"empty_column.notifications": "Jy het nog geen kennisgewings nie. Interaksie van ander mense met jou, sal hier vertoon.", "empty_column.notifications": "Jy het nog geen kennisgewings nie. Interaksie van ander mense met jou, sal hier vertoon.",
"explore.search_results": "Soekresultate", "explore.search_results": "Soekresultate",
"explore.suggested_follows": "Mense",
"explore.trending_links": "Nuus",
"filter_modal.added.settings_link": "instellings bladsy",
"filter_modal.select_filter.search": "Soek of skep", "filter_modal.select_filter.search": "Soek of skep",
"firehose.local": "Hierdie bediener",
"firehose.remote": "Ander bedieners",
"footer.about": "Oor", "footer.about": "Oor",
"footer.directory": "Profielgids", "footer.directory": "Profielgids",
"footer.get_app": "Kry die app", "footer.get_app": "Kry die app",
@ -178,14 +179,21 @@
"footer.privacy_policy": "Privaatheidsbeleid", "footer.privacy_policy": "Privaatheidsbeleid",
"footer.source_code": "Wys bronkode", "footer.source_code": "Wys bronkode",
"getting_started.heading": "Kom aan die gang", "getting_started.heading": "Kom aan die gang",
"hashtag.column_header.tag_mode.all": "en {additional}",
"hashtag.column_header.tag_mode.any": "of {additional}",
"hashtag.column_header.tag_mode.none": "sonder {additional}",
"hashtag.column_settings.select.placeholder": "Voer hutsetikette in…", "hashtag.column_settings.select.placeholder": "Voer hutsetikette in…",
"hashtag.column_settings.tag_toggle": "Voeg meer etikette by hierdie kolom", "hashtag.column_settings.tag_toggle": "Voeg meer etikette by hierdie kolom",
"hashtag.follow": "Volg hutsetiket", "hashtag.follow": "Volg hutsetiket",
"home.column_settings.show_reblogs": "Wys aangestuurde plasings", "home.column_settings.show_reblogs": "Wys aangestuurde plasings",
"interaction_modal.description.reblog": "Met 'n rekening op Mastodon kan jy hierdie plasing aanstuur om dit met jou volgers te deel.", "interaction_modal.description.reblog": "Met 'n rekening op Mastodon kan jy hierdie plasing aanstuur om dit met jou volgers te deel.",
"interaction_modal.description.reply": "Met 'n rekening op Mastodon kan jy op hierdie plasing reageer.", "interaction_modal.description.reply": "Met 'n rekening op Mastodon kan jy op hierdie plasing reageer.",
"interaction_modal.title.follow": "Volg {name}",
"interaction_modal.title.reblog": "Stuur {name} se plasing aan", "interaction_modal.title.reblog": "Stuur {name} se plasing aan",
"interaction_modal.title.reply": "Reageer op {name} se plasing", "interaction_modal.title.reply": "Reageer op {name} se plasing",
"intervals.full.days": "{number, plural, one {# dag} other {# dae}}",
"intervals.full.hours": "{number, plural, one {# uur} other {# uur}}",
"intervals.full.minutes": "{number, plural, one {# minuut} other {# minute}}",
"keyboard_shortcuts.back": "Navigeer terug", "keyboard_shortcuts.back": "Navigeer terug",
"keyboard_shortcuts.blocked": "Vertoon lys van geblokkeerde gebruikers", "keyboard_shortcuts.blocked": "Vertoon lys van geblokkeerde gebruikers",
"keyboard_shortcuts.boost": "Stuur aan", "keyboard_shortcuts.boost": "Stuur aan",
@ -217,8 +225,11 @@
"keyboard_shortcuts.toot": "Begin n nuwe plasing", "keyboard_shortcuts.toot": "Begin n nuwe plasing",
"keyboard_shortcuts.unfocus": "Fokus uit van teksveld/soekveld", "keyboard_shortcuts.unfocus": "Fokus uit van teksveld/soekveld",
"keyboard_shortcuts.up": "Beweeg opwaarts in die lys", "keyboard_shortcuts.up": "Beweeg opwaarts in die lys",
"lightbox.next": "Volgende",
"lightbox.previous": "Vorige",
"limited_account_hint.action": "Vertoon profiel in elk geval", "limited_account_hint.action": "Vertoon profiel in elk geval",
"limited_account_hint.title": "Hierdie profiel is deur moderators van {domain} versteek.", "limited_account_hint.title": "Hierdie profiel is deur moderators van {domain} versteek.",
"link_preview.author": "Deur {name}",
"lists.account.add": "Voeg by lys", "lists.account.add": "Voeg by lys",
"lists.account.remove": "Verwyder vanaf lys", "lists.account.remove": "Verwyder vanaf lys",
"lists.delete": "Verwyder lys", "lists.delete": "Verwyder lys",
@ -234,7 +245,6 @@
"navigation_bar.community_timeline": "Plaaslike tydlyn", "navigation_bar.community_timeline": "Plaaslike tydlyn",
"navigation_bar.compose": "Skep nuwe plasing", "navigation_bar.compose": "Skep nuwe plasing",
"navigation_bar.domain_blocks": "Geblokkeerde domeine", "navigation_bar.domain_blocks": "Geblokkeerde domeine",
"navigation_bar.edit_profile": "Redigeer profiel",
"navigation_bar.lists": "Lyste", "navigation_bar.lists": "Lyste",
"navigation_bar.logout": "Teken uit", "navigation_bar.logout": "Teken uit",
"navigation_bar.personal": "Persoonlik", "navigation_bar.personal": "Persoonlik",
@ -246,6 +256,7 @@
"notification.reblog": "{name} het jou plasing aangestuur", "notification.reblog": "{name} het jou plasing aangestuur",
"notifications.column_settings.push": "Stootkennisgewings", "notifications.column_settings.push": "Stootkennisgewings",
"notifications.column_settings.reblog": "Aangestuurde plasings:", "notifications.column_settings.reblog": "Aangestuurde plasings:",
"notifications.column_settings.sound": "Speel klank",
"notifications.column_settings.status": "Nuwe plasings:", "notifications.column_settings.status": "Nuwe plasings:",
"notifications.column_settings.unread_notifications.highlight": "Lig ongelese kennisgewings uit", "notifications.column_settings.unread_notifications.highlight": "Lig ongelese kennisgewings uit",
"notifications.filter.boosts": "Aangestuurde plasings", "notifications.filter.boosts": "Aangestuurde plasings",
@ -267,14 +278,7 @@
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!", "onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
"onboarding.steps.share_profile.title": "Share your profile", "onboarding.steps.share_profile.title": "Share your profile",
"privacy.change": "Verander privaatheid van plasing", "privacy.change": "Verander privaatheid van plasing",
"privacy.direct.long": "Slegs sigbaar vir genoemde gebruikers",
"privacy.direct.short": "Slegs genoemde persone",
"privacy.private.long": "Slegs sigbaar vir volgelinge",
"privacy.private.short": "Slegs volgelinge",
"privacy.public.long": "Sigbaar vir almal",
"privacy.public.short": "Publiek", "privacy.public.short": "Publiek",
"privacy.unlisted.long": "Sigbaar vir almal, maar onttrek uit verkennings-kenmerke",
"privacy.unlisted.short": "Ongelys",
"privacy_policy.last_updated": "Laaste bywerking op {date}", "privacy_policy.last_updated": "Laaste bywerking op {date}",
"privacy_policy.title": "Privaatheidsbeleid", "privacy_policy.title": "Privaatheidsbeleid",
"regeneration_indicator.sublabel": "Jou tuis-voer word voorberei!", "regeneration_indicator.sublabel": "Jou tuis-voer word voorberei!",
@ -316,5 +320,8 @@
"upload_form.audio_description": "Describe for people with hearing loss", "upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",
"upload_form.video_description": "Describe for people with hearing loss or visual impairment", "upload_form.video_description": "Describe for people with hearing loss or visual impairment",
"upload_progress.label": "Uploading…" "upload_progress.label": "Uploading…",
"video.fullscreen": "Volskerm",
"video.mute": "Klank afskakel",
"video.unmute": "Klank aanskakel"
} }

@ -75,7 +75,6 @@
"announcement.announcement": "Anuncio", "announcement.announcement": "Anuncio",
"attachments_list.unprocessed": "(sin procesar)", "attachments_list.unprocessed": "(sin procesar)",
"audio.hide": "Amagar audio", "audio.hide": "Amagar audio",
"autosuggest_hashtag.per_week": "{count} per semana",
"boost_modal.combo": "Puetz fer clic en {combo} pa blincar este aviso la proxima vegada", "boost_modal.combo": "Puetz fer clic en {combo} pa blincar este aviso la proxima vegada",
"bundle_column_error.copy_stacktrace": "Copiar informe d'error", "bundle_column_error.copy_stacktrace": "Copiar informe d'error",
"bundle_column_error.error.body": "La pachina solicitada no podió estar renderizada. Podría deber-se a una error en o nuestro codigo u a un problema de compatibilidat con o navegador.", "bundle_column_error.error.body": "La pachina solicitada no podió estar renderizada. Podría deber-se a una error en o nuestro codigo u a un problema de compatibilidat con o navegador.",
@ -126,22 +125,12 @@
"compose_form.lock_disclaimer": "La tuya cuenta no ye {locked}. Totz pueden seguir-te pa veyer las tuyas publicacions nomás pa seguidores.", "compose_form.lock_disclaimer": "La tuya cuenta no ye {locked}. Totz pueden seguir-te pa veyer las tuyas publicacions nomás pa seguidores.",
"compose_form.lock_disclaimer.lock": "blocau", "compose_form.lock_disclaimer.lock": "blocau",
"compose_form.placeholder": "En qué yes pensando?", "compose_form.placeholder": "En qué yes pensando?",
"compose_form.poll.add_option": "Anyadir una opción",
"compose_form.poll.duration": "Duración d'a enqüesta", "compose_form.poll.duration": "Duración d'a enqüesta",
"compose_form.poll.option_placeholder": "Elección {number}",
"compose_form.poll.remove_option": "Eliminar esta opción",
"compose_form.poll.switch_to_multiple": "Modificar enqüesta pa permitir multiples opcions", "compose_form.poll.switch_to_multiple": "Modificar enqüesta pa permitir multiples opcions",
"compose_form.poll.switch_to_single": "Modificar enqüesta pa permitir una sola opción", "compose_form.poll.switch_to_single": "Modificar enqüesta pa permitir una sola opción",
"compose_form.publish": "Publicar",
"compose_form.publish_form": "Publicar", "compose_form.publish_form": "Publicar",
"compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Alzar cambios",
"compose_form.sensitive.hide": "{count, plural, one {Marcar material como sensible} other {Marcar material como sensible}}",
"compose_form.sensitive.marked": "{count, plural, one {Material marcau como sensible} other {Material marcau como sensible}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Material no marcau como sensible} other {Material no marcau como sensible}}",
"compose_form.spoiler.marked": "Texto amagau dimpués de l'alvertencia", "compose_form.spoiler.marked": "Texto amagau dimpués de l'alvertencia",
"compose_form.spoiler.unmarked": "Texto no amagau", "compose_form.spoiler.unmarked": "Texto no amagau",
"compose_form.spoiler_placeholder": "Alvertencia de conteniu",
"confirmation_modal.cancel": "Cancelar", "confirmation_modal.cancel": "Cancelar",
"confirmations.block.block_and_report": "Blocar y Denunciar", "confirmations.block.block_and_report": "Blocar y Denunciar",
"confirmations.block.confirm": "Blocar", "confirmations.block.confirm": "Blocar",
@ -345,7 +334,6 @@
"navigation_bar.compose": "Escribir nueva publicación", "navigation_bar.compose": "Escribir nueva publicación",
"navigation_bar.discover": "Descubrir", "navigation_bar.discover": "Descubrir",
"navigation_bar.domain_blocks": "Dominios amagaus", "navigation_bar.domain_blocks": "Dominios amagaus",
"navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.explore": "Explorar", "navigation_bar.explore": "Explorar",
"navigation_bar.filters": "Parolas silenciadas", "navigation_bar.filters": "Parolas silenciadas",
"navigation_bar.follow_requests": "Solicitutz pa seguir-te", "navigation_bar.follow_requests": "Solicitutz pa seguir-te",
@ -429,14 +417,7 @@
"poll_button.add_poll": "Anyadir una enqüesta", "poll_button.add_poll": "Anyadir una enqüesta",
"poll_button.remove_poll": "Eliminar enqüesta", "poll_button.remove_poll": "Eliminar enqüesta",
"privacy.change": "Achustar privacidat", "privacy.change": "Achustar privacidat",
"privacy.direct.long": "Nomás amostrar a los usuarios mencionaus",
"privacy.direct.short": "Nomás contas mencionadas",
"privacy.private.long": "Nomás amostrar a seguidores",
"privacy.private.short": "Solo seguidores",
"privacy.public.long": "Visible pa totz",
"privacy.public.short": "Publico", "privacy.public.short": "Publico",
"privacy.unlisted.long": "Visible pa totz, pero excluyiu d'as funcions d'escubrimiento",
"privacy.unlisted.short": "No listau",
"privacy_policy.last_updated": "Ultima vegada actualizau {date}", "privacy_policy.last_updated": "Ultima vegada actualizau {date}",
"privacy_policy.title": "Politica de Privacidat", "privacy_policy.title": "Politica de Privacidat",
"refresh": "Actualizar", "refresh": "Actualizar",
@ -590,10 +571,8 @@
"upload_error.poll": "Puyada de fichers no permitida con enqüestas.", "upload_error.poll": "Puyada de fichers no permitida con enqüestas.",
"upload_form.audio_description": "Describir pa personas con problemas auditivos", "upload_form.audio_description": "Describir pa personas con problemas auditivos",
"upload_form.description": "Describir pa los usuarios con dificultat visual", "upload_form.description": "Describir pa los usuarios con dificultat visual",
"upload_form.description_missing": "Garra descripción anyadida",
"upload_form.edit": "Editar", "upload_form.edit": "Editar",
"upload_form.thumbnail": "Cambiar miniatura", "upload_form.thumbnail": "Cambiar miniatura",
"upload_form.undo": "Borrar",
"upload_form.video_description": "Describir pa personas con problemas auditivos u visuals", "upload_form.video_description": "Describir pa personas con problemas auditivos u visuals",
"upload_modal.analyzing_picture": "Analisando imachen…", "upload_modal.analyzing_picture": "Analisando imachen…",
"upload_modal.apply": "Aplicar", "upload_modal.apply": "Aplicar",

@ -21,6 +21,7 @@
"account.blocked": "محظور", "account.blocked": "محظور",
"account.browse_more_on_origin_server": "تصفح المزيد في الملف الشخصي الأصلي", "account.browse_more_on_origin_server": "تصفح المزيد في الملف الشخصي الأصلي",
"account.cancel_follow_request": "إلغاء طلب المتابعة", "account.cancel_follow_request": "إلغاء طلب المتابعة",
"account.copy": "نسخ الرابط إلى الملف الشخصي",
"account.direct": "إشارة خاصة لـ @{name}", "account.direct": "إشارة خاصة لـ @{name}",
"account.disable_notifications": "توقف عن إشعاري عندما ينشر @{name}", "account.disable_notifications": "توقف عن إشعاري عندما ينشر @{name}",
"account.domain_blocked": "اسم النِّطاق محظور", "account.domain_blocked": "اسم النِّطاق محظور",
@ -31,6 +32,7 @@
"account.featured_tags.last_status_never": "لا توجد رسائل", "account.featured_tags.last_status_never": "لا توجد رسائل",
"account.featured_tags.title": "وسوم {name} المميَّزة", "account.featured_tags.title": "وسوم {name} المميَّزة",
"account.follow": "متابعة", "account.follow": "متابعة",
"account.follow_back": "تابعه بدورك",
"account.followers": "مُتابِعون", "account.followers": "مُتابِعون",
"account.followers.empty": "لا أحدَ يُتابع هذا المُستخدم إلى حد الآن.", "account.followers.empty": "لا أحدَ يُتابع هذا المُستخدم إلى حد الآن.",
"account.followers_counter": "{count, plural, zero{لا مُتابع} one {مُتابعٌ واحِد} two {مُتابعانِ اِثنان} few {{counter} مُتابِعين} many {{counter} مُتابِعًا} other {{counter} مُتابع}}", "account.followers_counter": "{count, plural, zero{لا مُتابع} one {مُتابعٌ واحِد} two {مُتابعانِ اِثنان} few {{counter} مُتابِعين} many {{counter} مُتابِعًا} other {{counter} مُتابع}}",
@ -51,6 +53,7 @@
"account.mute_notifications_short": "كتم الإشعارات", "account.mute_notifications_short": "كتم الإشعارات",
"account.mute_short": "اكتم", "account.mute_short": "اكتم",
"account.muted": "مَكتوم", "account.muted": "مَكتوم",
"account.mutual": "متبادل",
"account.no_bio": "لم يتم تقديم وصف.", "account.no_bio": "لم يتم تقديم وصف.",
"account.open_original_page": "افتح الصفحة الأصلية", "account.open_original_page": "افتح الصفحة الأصلية",
"account.posts": "منشورات", "account.posts": "منشورات",
@ -86,7 +89,6 @@
"announcement.announcement": "إعلان", "announcement.announcement": "إعلان",
"attachments_list.unprocessed": "(غير معالَج)", "attachments_list.unprocessed": "(غير معالَج)",
"audio.hide": "إخفاء المقطع الصوتي", "audio.hide": "إخفاء المقطع الصوتي",
"autosuggest_hashtag.per_week": "{count} في الأسبوع",
"boost_modal.combo": "يُمكنك الضّغط على {combo} لتخطي هذا في المرة المُقبلة", "boost_modal.combo": "يُمكنك الضّغط على {combo} لتخطي هذا في المرة المُقبلة",
"bundle_column_error.copy_stacktrace": "انسخ تقرير الخطأ", "bundle_column_error.copy_stacktrace": "انسخ تقرير الخطأ",
"bundle_column_error.error.body": "لا يمكن تقديم الصفحة المطلوبة. قد يكون بسبب خطأ في التعليمات البرمجية، أو مشكلة توافق المتصفح.", "bundle_column_error.error.body": "لا يمكن تقديم الصفحة المطلوبة. قد يكون بسبب خطأ في التعليمات البرمجية، أو مشكلة توافق المتصفح.",
@ -143,22 +145,20 @@
"compose_form.lock_disclaimer": "حسابُك غير {locked}. يُمكن لأي شخص مُتابعتك لرؤية (منشورات المتابعين فقط).", "compose_form.lock_disclaimer": "حسابُك غير {locked}. يُمكن لأي شخص مُتابعتك لرؤية (منشورات المتابعين فقط).",
"compose_form.lock_disclaimer.lock": "مُقفَل", "compose_form.lock_disclaimer.lock": "مُقفَل",
"compose_form.placeholder": "فِيمَ تُفكِّر؟", "compose_form.placeholder": "فِيمَ تُفكِّر؟",
"compose_form.poll.add_option": "إضافة خيار",
"compose_form.poll.duration": "مُدَّة اِستطلاع الرأي", "compose_form.poll.duration": "مُدَّة اِستطلاع الرأي",
"compose_form.poll.multiple": "متعدد الخيارات",
"compose_form.poll.option_placeholder": "الخيار {number}", "compose_form.poll.option_placeholder": "الخيار {number}",
"compose_form.poll.remove_option": "إزالة هذا الخيار", "compose_form.poll.single": "اختر واحدا",
"compose_form.poll.switch_to_multiple": "تغيِير الاستطلاع للسماح باِخيارات مُتعدِّدة", "compose_form.poll.switch_to_multiple": "تغيِير الاستطلاع للسماح باِخيارات مُتعدِّدة",
"compose_form.poll.switch_to_single": "تغيِير الاستطلاع للسماح باِخيار واحد فقط", "compose_form.poll.switch_to_single": "تغيِير الاستطلاع للسماح باِخيار واحد فقط",
"compose_form.poll.type": "الأسلوب",
"compose_form.publish": "نشر", "compose_form.publish": "نشر",
"compose_form.publish_form": "منشور جديد", "compose_form.publish_form": "منشور جديد",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "ردّ",
"compose_form.save_changes": "احفظ التعديلات", "compose_form.save_changes": "تحديث",
"compose_form.sensitive.hide": "{count, plural, one {الإشارة إلى الوَسط كمُحتوى حسّاس} two{الإشارة إلى الوسطان كمُحتويان حسّاسان} other {الإشارة إلى الوسائط كمُحتويات حسّاسة}}",
"compose_form.sensitive.marked": "{count, plural, one {تمَّ الإشارة إلى الوسط كمُحتوى حسّاس} two{تمَّ الإشارة إلى الوسطان كمُحتويان حسّاسان} other {تمَّ الإشارة إلى الوسائط كمُحتويات حسّاسة}}",
"compose_form.sensitive.unmarked": "{count, plural, one {لم تَتِمّ الإشارة إلى الوسط كمُحتوى حسّاس} two{لم تَتِمّ الإشارة إلى الوسطان كمُحتويان حسّاسان} other {لم تَتِمّ الإشارة إلى الوسائط كمُحتويات حسّاسة}}",
"compose_form.spoiler.marked": "إزالة تحذير المحتوى", "compose_form.spoiler.marked": "إزالة تحذير المحتوى",
"compose_form.spoiler.unmarked": "إضافة تحذير للمحتوى", "compose_form.spoiler.unmarked": "إضافة تحذير للمحتوى",
"compose_form.spoiler_placeholder": "اُكتُب تحذيركَ هُنا", "compose_form.spoiler_placeholder": "تحذير المحتوى (اختياري)",
"confirmation_modal.cancel": "إلغاء", "confirmation_modal.cancel": "إلغاء",
"confirmations.block.block_and_report": "حظره والإبلاغ عنه", "confirmations.block.block_and_report": "حظره والإبلاغ عنه",
"confirmations.block.confirm": "حظر", "confirmations.block.confirm": "حظر",
@ -190,6 +190,7 @@
"conversation.mark_as_read": "اعتبرها كمقروءة", "conversation.mark_as_read": "اعتبرها كمقروءة",
"conversation.open": "اعرض المحادثة", "conversation.open": "اعرض المحادثة",
"conversation.with": "مع {names}", "conversation.with": "مع {names}",
"copy_icon_button.copied": "نُسِخ إلى الحافظة",
"copypaste.copied": "تم نسخه", "copypaste.copied": "تم نسخه",
"copypaste.copy_to_clipboard": "نسخ إلى الحافظة", "copypaste.copy_to_clipboard": "نسخ إلى الحافظة",
"directory.federated": "مِن الفديفرس المعروف", "directory.federated": "مِن الفديفرس المعروف",
@ -221,6 +222,7 @@
"emoji_button.search_results": "نتائج البحث", "emoji_button.search_results": "نتائج البحث",
"emoji_button.symbols": "رموز", "emoji_button.symbols": "رموز",
"emoji_button.travel": "الأماكن والسفر", "emoji_button.travel": "الأماكن والسفر",
"empty_column.account_hides_collections": "اختار هذا المستخدم عدم إتاحة هذه المعلومات للعامة",
"empty_column.account_suspended": "حساب معلق", "empty_column.account_suspended": "حساب معلق",
"empty_column.account_timeline": "لا توجد منشورات هنا!", "empty_column.account_timeline": "لا توجد منشورات هنا!",
"empty_column.account_unavailable": "الملف التعريفي غير متوفر", "empty_column.account_unavailable": "الملف التعريفي غير متوفر",
@ -275,6 +277,11 @@
"follow_request.authorize": "ترخيص", "follow_request.authorize": "ترخيص",
"follow_request.reject": "رفض", "follow_request.reject": "رفض",
"follow_requests.unlocked_explanation": "حتى وإن كان حسابك غير مقفل، يعتقد فريق {domain} أنك قد ترغب في مراجعة طلبات المتابعة من هذه الحسابات يدوياً.", "follow_requests.unlocked_explanation": "حتى وإن كان حسابك غير مقفل، يعتقد فريق {domain} أنك قد ترغب في مراجعة طلبات المتابعة من هذه الحسابات يدوياً.",
"follow_suggestions.dismiss": "لا تُظهرها مجدّدًا",
"follow_suggestions.personalized_suggestion": "توصية مخصصة",
"follow_suggestions.popular_suggestion": "توصية رائجة",
"follow_suggestions.view_all": "عرض الكل",
"follow_suggestions.who_to_follow": "حسابات للمُتابَعة",
"followed_tags": "الوسوم المتابَعة", "followed_tags": "الوسوم المتابَعة",
"footer.about": "عن", "footer.about": "عن",
"footer.directory": "دليل الصفحات التعريفية", "footer.directory": "دليل الصفحات التعريفية",
@ -301,13 +308,9 @@
"hashtag.follow": "اتبع الوسم", "hashtag.follow": "اتبع الوسم",
"hashtag.unfollow": "ألغِ متابعة الوسم", "hashtag.unfollow": "ألغِ متابعة الوسم",
"hashtags.and_other": "…و {count, plural, zero {} one {# واحد آخر} two {# اثنان آخران} few {# آخرون} many {# آخَرًا}other {# آخرون}}", "hashtags.and_other": "…و {count, plural, zero {} one {# واحد آخر} two {# اثنان آخران} few {# آخرون} many {# آخَرًا}other {# آخرون}}",
"home.actions.go_to_explore": "اطّلع على ما هو رائج حاليا",
"home.actions.go_to_suggestions": "ابحث عن أشخاص لِمُتابعتهم",
"home.column_settings.basic": "الأساسية", "home.column_settings.basic": "الأساسية",
"home.column_settings.show_reblogs": "اعرض المعاد نشرها", "home.column_settings.show_reblogs": "اعرض المعاد نشرها",
"home.column_settings.show_replies": "اعرض الردود", "home.column_settings.show_replies": "اعرض الردود",
"home.explore_prompt.body": "سوف يحتوي خيط أخبارك الرئيسي على مزيج من المنشورات مِنها التي تحتوي على وسوم اخترتَ متابعتها، وأشخاص اخترتَ متابعتهم والمنشورات التي أعادوا نشرها. ومع ذلك، إن لا زال خيط أخبارك يبدو هادئا جدا، ماذا لو:",
"home.explore_prompt.title": "هذه هي صفحتك الرئيسة في ماستدون.",
"home.hide_announcements": "إخفاء الإعلانات", "home.hide_announcements": "إخفاء الإعلانات",
"home.pending_critical_update.body": "يرجى تحديث خادم ماستدون في أقرب وقت ممكن!", "home.pending_critical_update.body": "يرجى تحديث خادم ماستدون في أقرب وقت ممكن!",
"home.pending_critical_update.link": "اطّلع على التحديثات", "home.pending_critical_update.link": "اطّلع على التحديثات",
@ -388,6 +391,7 @@
"lists.search": "إبحث في قائمة الحسابات التي تُتابِعها", "lists.search": "إبحث في قائمة الحسابات التي تُتابِعها",
"lists.subheading": "قوائمك", "lists.subheading": "قوائمك",
"load_pending": "{count, plural, one {# عنصر جديد} other {# عناصر جديدة}}", "load_pending": "{count, plural, one {# عنصر جديد} other {# عناصر جديدة}}",
"loading_indicator.label": "جاري التحميل…",
"media_gallery.toggle_visible": "{number, plural, zero {} one {اخف الصورة} two {اخف الصورتين} few {اخف الصور} many {اخف الصور} other {اخف الصور}}", "media_gallery.toggle_visible": "{number, plural, zero {} one {اخف الصورة} two {اخف الصورتين} few {اخف الصور} many {اخف الصور} other {اخف الصور}}",
"moved_to_account_banner.text": "حسابك {disabledAccount} معطل حاليًا لأنك انتقلت إلى {movedToAccount}.", "moved_to_account_banner.text": "حسابك {disabledAccount} معطل حاليًا لأنك انتقلت إلى {movedToAccount}.",
"mute_modal.duration": "المدة", "mute_modal.duration": "المدة",
@ -402,7 +406,6 @@
"navigation_bar.direct": "الإشارات الخاصة", "navigation_bar.direct": "الإشارات الخاصة",
"navigation_bar.discover": "اكتشف", "navigation_bar.discover": "اكتشف",
"navigation_bar.domain_blocks": "النطاقات المحظورة", "navigation_bar.domain_blocks": "النطاقات المحظورة",
"navigation_bar.edit_profile": "عدّل الملف التعريفي",
"navigation_bar.explore": "استكشف", "navigation_bar.explore": "استكشف",
"navigation_bar.favourites": "المفضلة", "navigation_bar.favourites": "المفضلة",
"navigation_bar.filters": "الكلمات المكتومة", "navigation_bar.filters": "الكلمات المكتومة",
@ -476,6 +479,17 @@
"onboarding.follows.empty": "نأسف، لا يمكن عرض نتائج في الوقت الحالي. جرب البحث أو انتقل لصفحة الاستكشاف لإيجاد أشخاص للمتابعة، أو حاول مرة أخرى.", "onboarding.follows.empty": "نأسف، لا يمكن عرض نتائج في الوقت الحالي. جرب البحث أو انتقل لصفحة الاستكشاف لإيجاد أشخاص للمتابعة، أو حاول مرة أخرى.",
"onboarding.follows.lead": "مقتطفات خيطك الرئيس هي الطريقة الأساسية لتجربة ماستدون. كلما زاد عدد الأشخاص الذين تتبعهم، كلما زاد خيط أخبارك نشاطا وإثارة للاهتمام. بداية، إليك بعض الاقتراحات:", "onboarding.follows.lead": "مقتطفات خيطك الرئيس هي الطريقة الأساسية لتجربة ماستدون. كلما زاد عدد الأشخاص الذين تتبعهم، كلما زاد خيط أخبارك نشاطا وإثارة للاهتمام. بداية، إليك بعض الاقتراحات:",
"onboarding.follows.title": "أضفِ طابعا شخصيا على موجزات خيطك الرئيس", "onboarding.follows.title": "أضفِ طابعا شخصيا على موجزات خيطك الرئيس",
"onboarding.profile.discoverable": "اجعل ملفي الشخصي قابلاً للاكتشاف",
"onboarding.profile.discoverable_hint": "عندما تختار تفعيل إمكانية الاكتشاف على ماستدون، قد تظهر منشوراتك في نتائج البحث والمواضيع الرائجة، وقد يتم اقتراح ملفك الشخصي لأشخاص ذوي اهتمامات مماثلة معك.",
"onboarding.profile.display_name": "الاسم العلني",
"onboarding.profile.display_name_hint": "اسمك الكامل أو اسمك المرح…",
"onboarding.profile.lead": "يمكنك دائمًا إكمال ذلك لاحقًا في الإعدادات، حيث يتوفر المزيد من خيارات التخصيص.",
"onboarding.profile.note": "نبذة عنك",
"onboarding.profile.note_hint": "يمكنك @ذِكر أشخاص آخرين أو استعمال #الوسوم…",
"onboarding.profile.save_and_continue": "حفظ و إستمرار",
"onboarding.profile.title": "إعداد الملف الشخصي",
"onboarding.profile.upload_avatar": "تحميل صورة الملف الشخصي",
"onboarding.profile.upload_header": "تحميل رأسية الملف الشخصي",
"onboarding.share.lead": "اسمح للأشخاص بمعرفة إمكانية الوصول إليك على ماستدون!", "onboarding.share.lead": "اسمح للأشخاص بمعرفة إمكانية الوصول إليك على ماستدون!",
"onboarding.share.message": "أنا {username} في #Mastodon! تعال لمتابعتي على {url}", "onboarding.share.message": "أنا {username} في #Mastodon! تعال لمتابعتي على {url}",
"onboarding.share.next_steps": "الخطوات المحتملة التالية:", "onboarding.share.next_steps": "الخطوات المحتملة التالية:",
@ -509,16 +523,18 @@
"poll_button.add_poll": "إضافة استطلاع للرأي", "poll_button.add_poll": "إضافة استطلاع للرأي",
"poll_button.remove_poll": "إزالة استطلاع الرأي", "poll_button.remove_poll": "إزالة استطلاع الرأي",
"privacy.change": "اضبط خصوصية المنشور", "privacy.change": "اضبط خصوصية المنشور",
"privacy.direct.long": "مرئي للمستخدمين المذكورين فقط", "privacy.direct.long": "كل من ذُكر في المنشور",
"privacy.direct.short": "الأشخاص المشار إليهم فقط", "privacy.direct.short": "أشخاص محددون",
"privacy.private.long": "أنشر لمتابعيك فقط", "privacy.private.long": "متابعيك فقط",
"privacy.private.short": "للمتابِعين فقط", "privacy.private.short": "للمتابِعين",
"privacy.public.long": "مرئي للكل", "privacy.public.long": "أي شخص على أو خارج ماستدون",
"privacy.public.short": "للعامة", "privacy.public.short": "للعامة",
"privacy.unlisted.long": "مرئي للجميع، ولكن مِن دون ميزات الاكتشاف", "privacy.unlisted.additional": "هذا يتصرف بالضبط مثل النشر للعامة، باستثناء أن المنشور لن يظهر في الموجزات الحية أو في الوسوم أو في الإستكشاف، أو في نتائج بحث ماستدون، حتى وإن قمت بتفعيله على مستوى الحساب.",
"privacy.unlisted.short": "غير مدرج", "privacy.unlisted.long": "خوارزميات أقل",
"privacy.unlisted.short": "للعامة دون صخب",
"privacy_policy.last_updated": "آخر تحديث {date}", "privacy_policy.last_updated": "آخر تحديث {date}",
"privacy_policy.title": "سياسة الخصوصية", "privacy_policy.title": "سياسة الخصوصية",
"recommended": "موصى به",
"refresh": "أنعِش", "refresh": "أنعِش",
"regeneration_indicator.label": "جارٍ التحميل…", "regeneration_indicator.label": "جارٍ التحميل…",
"regeneration_indicator.sublabel": "جارٍ تجهيز موجزات خيطك الرئيس!", "regeneration_indicator.sublabel": "جارٍ تجهيز موجزات خيطك الرئيس!",
@ -533,7 +549,9 @@
"relative_time.minutes": "{number}د", "relative_time.minutes": "{number}د",
"relative_time.seconds": "{number}ثا", "relative_time.seconds": "{number}ثا",
"relative_time.today": "اليوم", "relative_time.today": "اليوم",
"reply_indicator.attachments": "{count, plural, zero {}one {# مرفق} two {# المرفقات} few {# مرفقات} many {# مرفقات} other {# مرفقًا}}",
"reply_indicator.cancel": "إلغاء", "reply_indicator.cancel": "إلغاء",
"reply_indicator.poll": "استطلاع رأي",
"report.block": "حظر", "report.block": "حظر",
"report.block_explanation": "لن ترى منشوراته ولن يمكنه متابعتك أو رؤية منشوراتك، سيكون بديهيا له أنه مكتوم.", "report.block_explanation": "لن ترى منشوراته ولن يمكنه متابعتك أو رؤية منشوراتك، سيكون بديهيا له أنه مكتوم.",
"report.categories.legal": "إشعارات قانونية", "report.categories.legal": "إشعارات قانونية",
@ -589,6 +607,7 @@
"search.quick_action.status_search": "المنشورات المطابقة لـ {x}", "search.quick_action.status_search": "المنشورات المطابقة لـ {x}",
"search.search_or_paste": "ابحث أو أدخل رابطا تشعبيا URL", "search.search_or_paste": "ابحث أو أدخل رابطا تشعبيا URL",
"search_popout.full_text_search_disabled_message": "غير متوفر على {domain}.", "search_popout.full_text_search_disabled_message": "غير متوفر على {domain}.",
"search_popout.full_text_search_logged_out_message": "متاح فقط عند تسجيل الدخول.",
"search_popout.language_code": "رمز لغة ISO", "search_popout.language_code": "رمز لغة ISO",
"search_popout.options": "خيارات البحث", "search_popout.options": "خيارات البحث",
"search_popout.quick_actions": "الإجراءات السريعة", "search_popout.quick_actions": "الإجراءات السريعة",
@ -696,10 +715,8 @@
"upload_error.poll": "لا يمكن إدراج ملفات في استطلاعات الرأي.", "upload_error.poll": "لا يمكن إدراج ملفات في استطلاعات الرأي.",
"upload_form.audio_description": "وصف للأشخاص ذي قِصر السمع", "upload_form.audio_description": "وصف للأشخاص ذي قِصر السمع",
"upload_form.description": "وصف للمعاقين بصريا", "upload_form.description": "وصف للمعاقين بصريا",
"upload_form.description_missing": "لم يُضف وصف",
"upload_form.edit": "تعديل", "upload_form.edit": "تعديل",
"upload_form.thumbnail": "غيّر الصورة المصغرة", "upload_form.thumbnail": "غيّر الصورة المصغرة",
"upload_form.undo": "حذف",
"upload_form.video_description": "وصف للمعاقين بصريا أو لِذي قِصر السمع", "upload_form.video_description": "وصف للمعاقين بصريا أو لِذي قِصر السمع",
"upload_modal.analyzing_picture": "جارٍ فحص الصورة…", "upload_modal.analyzing_picture": "جارٍ فحص الصورة…",
"upload_modal.apply": "طبّق", "upload_modal.apply": "طبّق",

@ -66,7 +66,6 @@
"alert.unexpected.title": "¡Meca!", "alert.unexpected.title": "¡Meca!",
"announcement.announcement": "Anunciu", "announcement.announcement": "Anunciu",
"attachments_list.unprocessed": "(ensin procesar)", "attachments_list.unprocessed": "(ensin procesar)",
"autosuggest_hashtag.per_week": "{count} per selmana",
"bundle_column_error.error.body": "La páxina solicitada nun se pudo renderizar. Ye posible que seya pola mor d'un fallu nel códigu o por un problema de compatibilidá del restolador.", "bundle_column_error.error.body": "La páxina solicitada nun se pudo renderizar. Ye posible que seya pola mor d'un fallu nel códigu o por un problema de compatibilidá del restolador.",
"bundle_column_error.error.title": "¡Oh, non!", "bundle_column_error.error.title": "¡Oh, non!",
"bundle_column_error.network.body": "Hebo un error al tentar de cargar esta páxina. Esto pudo ser pola mor d'un problema temporal cola conexón a internet o con esti sirvidor.", "bundle_column_error.network.body": "Hebo un error al tentar de cargar esta páxina. Esto pudo ser pola mor d'un problema temporal cola conexón a internet o con esti sirvidor.",
@ -109,13 +108,9 @@
"compose_form.lock_disclaimer": "La to cuenta nun ye {locked}. Cualesquier perfil pue siguite pa ver los artículos que son namás pa siguidores.", "compose_form.lock_disclaimer": "La to cuenta nun ye {locked}. Cualesquier perfil pue siguite pa ver los artículos que son namás pa siguidores.",
"compose_form.lock_disclaimer.lock": "privada", "compose_form.lock_disclaimer.lock": "privada",
"compose_form.placeholder": "¿En qué pienses?", "compose_form.placeholder": "¿En qué pienses?",
"compose_form.poll.add_option": "Amestar una opción",
"compose_form.poll.option_placeholder": "Opción {number}", "compose_form.poll.option_placeholder": "Opción {number}",
"compose_form.poll.remove_option": "Quitar esta opción", "compose_form.poll.type": "Estilu",
"compose_form.publish": "Espublizar",
"compose_form.publish_form": "Artículu nuevu", "compose_form.publish_form": "Artículu nuevu",
"compose_form.publish_loud": "¡{publish}!",
"compose_form.save_changes": "Guardar los cambeos",
"confirmation_modal.cancel": "Encaboxar", "confirmation_modal.cancel": "Encaboxar",
"confirmations.block.block_and_report": "Bloquiar ya informar", "confirmations.block.block_and_report": "Bloquiar ya informar",
"confirmations.block.confirm": "Bloquiar", "confirmations.block.confirm": "Bloquiar",
@ -204,6 +199,11 @@
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
"follow_request.reject": "Refugar", "follow_request.reject": "Refugar",
"follow_requests.unlocked_explanation": "Magar que la to cuenta nun seya privada, el personal del dominiu «{domain}» pensó qu'a lo meyor quies revisar manualmente les solicitúes de siguimientu d'estes cuentes.", "follow_requests.unlocked_explanation": "Magar que la to cuenta nun seya privada, el personal del dominiu «{domain}» pensó qu'a lo meyor quies revisar manualmente les solicitúes de siguimientu d'estes cuentes.",
"follow_suggestions.dismiss": "Nun volver amosar",
"follow_suggestions.personalized_suggestion": "Suxerencia personalizada",
"follow_suggestions.popular_suggestion": "Suxerencia popular",
"follow_suggestions.view_all": "Ver too",
"follow_suggestions.who_to_follow": "A quién siguir",
"footer.about": "Tocante a", "footer.about": "Tocante a",
"footer.directory": "Direutoriu de perfiles", "footer.directory": "Direutoriu de perfiles",
"footer.get_app": "Consiguir l'aplicación", "footer.get_app": "Consiguir l'aplicación",
@ -286,7 +286,6 @@
"navigation_bar.community_timeline": "Llinia de tiempu llocal", "navigation_bar.community_timeline": "Llinia de tiempu llocal",
"navigation_bar.direct": "Menciones privaes", "navigation_bar.direct": "Menciones privaes",
"navigation_bar.domain_blocks": "Dominios bloquiaos", "navigation_bar.domain_blocks": "Dominios bloquiaos",
"navigation_bar.edit_profile": "Editar el perfil",
"navigation_bar.explore": "Esploración", "navigation_bar.explore": "Esploración",
"navigation_bar.filters": "Pallabres desactivaes", "navigation_bar.filters": "Pallabres desactivaes",
"navigation_bar.follow_requests": "Solicitúes de siguimientu", "navigation_bar.follow_requests": "Solicitúes de siguimientu",
@ -346,12 +345,7 @@
"poll_button.add_poll": "Amestar una encuesta", "poll_button.add_poll": "Amestar una encuesta",
"poll_button.remove_poll": "Quitar la encuesta", "poll_button.remove_poll": "Quitar la encuesta",
"privacy.change": "Configurar la privacidá del artículu", "privacy.change": "Configurar la privacidá del artículu",
"privacy.direct.long": "Artículu visible namás pa los perfiles mentaos",
"privacy.private.long": "Artículu visible namás pa los perfiles siguidores",
"privacy.private.short": "Namás pa siguidores",
"privacy.public.long": "Tol mundu pue ver l'artículu",
"privacy.public.short": "Artículu públicu", "privacy.public.short": "Artículu públicu",
"privacy.unlisted.long": "Artículu visible pa tol mundu mas escluyíu de les funciones de descubrimientu",
"privacy_policy.last_updated": "Data del últimu anovamientu: {date}", "privacy_policy.last_updated": "Data del últimu anovamientu: {date}",
"privacy_policy.title": "Política de privacidá", "privacy_policy.title": "Política de privacidá",
"refresh": "Anovar", "refresh": "Anovar",
@ -368,6 +362,7 @@
"relative_time.seconds": "{number} s", "relative_time.seconds": "{number} s",
"relative_time.today": "güei", "relative_time.today": "güei",
"reply_indicator.cancel": "Encaboxar", "reply_indicator.cancel": "Encaboxar",
"reply_indicator.poll": "Encuesta",
"report.block": "Bloquiar", "report.block": "Bloquiar",
"report.categories.spam": "Spam", "report.categories.spam": "Spam",
"report.categories.violation": "El conteníu incumple una o más normes del sirvidor", "report.categories.violation": "El conteníu incumple una o más normes del sirvidor",
@ -492,9 +487,7 @@
"upload_button.label": "Amestar ficheros multimedia", "upload_button.label": "Amestar ficheros multimedia",
"upload_error.poll": "La xuba de ficheros nun ta permitida coles encuestes.", "upload_error.poll": "La xuba de ficheros nun ta permitida coles encuestes.",
"upload_form.audio_description": "Describi'l conteníu pa persones sordes ya/o ciegues", "upload_form.audio_description": "Describi'l conteníu pa persones sordes ya/o ciegues",
"upload_form.description_missing": "Nun s'amestó la descripción",
"upload_form.edit": "Editar", "upload_form.edit": "Editar",
"upload_form.undo": "Desaniciar",
"upload_modal.analyzing_picture": "Analizando la semeya…", "upload_modal.analyzing_picture": "Analizando la semeya…",
"upload_modal.apply": "Aplicar", "upload_modal.apply": "Aplicar",
"upload_modal.applying": "Aplicando…", "upload_modal.applying": "Aplicando…",

@ -89,7 +89,6 @@
"announcement.announcement": "Аб'ява", "announcement.announcement": "Аб'ява",
"attachments_list.unprocessed": "(неапрацаваны)", "attachments_list.unprocessed": "(неапрацаваны)",
"audio.hide": "Схаваць аўдыя", "audio.hide": "Схаваць аўдыя",
"autosuggest_hashtag.per_week": "{count} за тыдзень",
"boost_modal.combo": "Націсніце {combo}, каб прапусціць наступным разам", "boost_modal.combo": "Націсніце {combo}, каб прапусціць наступным разам",
"bundle_column_error.copy_stacktrace": "Скапіраваць справаздачу пра памылку", "bundle_column_error.copy_stacktrace": "Скапіраваць справаздачу пра памылку",
"bundle_column_error.error.body": "Запытаная старонка не можа быць адлюстраваная. Гэта магло стацца праз хібу ў нашым кодзе, або праз памылку сумяшчальнасці з браўзерам.", "bundle_column_error.error.body": "Запытаная старонка не можа быць адлюстраваная. Гэта магло стацца праз хібу ў нашым кодзе, або праз памылку сумяшчальнасці з браўзерам.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Ваш уліковы запіс не {locked}. Усе могуць падпісацца на вас, каб бачыць допісы толькі для падпісчыкаў.", "compose_form.lock_disclaimer": "Ваш уліковы запіс не {locked}. Усе могуць падпісацца на вас, каб бачыць допісы толькі для падпісчыкаў.",
"compose_form.lock_disclaimer.lock": "закрыты", "compose_form.lock_disclaimer.lock": "закрыты",
"compose_form.placeholder": "Што здарылася?", "compose_form.placeholder": "Што здарылася?",
"compose_form.poll.add_option": "Дадаць варыянт",
"compose_form.poll.duration": "Працягласць апытання", "compose_form.poll.duration": "Працягласць апытання",
"compose_form.poll.multiple": "Множны выбар",
"compose_form.poll.option_placeholder": "Варыянт {number}", "compose_form.poll.option_placeholder": "Варыянт {number}",
"compose_form.poll.remove_option": "Выдаліць гэты варыянт", "compose_form.poll.single": "Адзін варыянт",
"compose_form.poll.switch_to_multiple": "Змяніце апытанне, каб дазволіць некалькі варыянтаў адказу", "compose_form.poll.switch_to_multiple": "Змяніце апытанне, каб дазволіць некалькі варыянтаў адказу",
"compose_form.poll.switch_to_single": "Змяніце апытанне, каб дазволіць адзіны варыянт адказу", "compose_form.poll.switch_to_single": "Змяніце апытанне, каб дазволіць адзіны варыянт адказу",
"compose_form.publish": "Апублікаваць", "compose_form.poll.type": "Стыль",
"compose_form.publish_form": "Апублікаваць", "compose_form.publish": "Даслаць",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_form": "Новы допіс",
"compose_form.save_changes": "Захаваць змены", "compose_form.reply": "Адказаць",
"compose_form.sensitive.hide": "{count, plural, one {Пазначыць кантэнт як далікатны} other {Пазначыць кантэнт як далікатны}}", "compose_form.save_changes": "Абнавіць",
"compose_form.sensitive.marked": "{count, plural, one {Кантэнт пазначаны як далікатны} other {Кантэнт пазначаны як далікатны}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Кантэнт не пазначаны як далікатны} other {Кантэнт не пазначаны як далікатны}}",
"compose_form.spoiler.marked": "Выдаліць папярэджанне аб змесціве", "compose_form.spoiler.marked": "Выдаліць папярэджанне аб змесціве",
"compose_form.spoiler.unmarked": "Дадаць папярэджанне аб змесціве", "compose_form.spoiler.unmarked": "Дадаць папярэджанне аб змесціве",
"compose_form.spoiler_placeholder": "Напішыце сваё папярэджанне тут", "compose_form.spoiler_placeholder": "Папярэджанне аб змесціве (неабавязкова)",
"confirmation_modal.cancel": "Скасаваць", "confirmation_modal.cancel": "Скасаваць",
"confirmations.block.block_and_report": "Заблакіраваць і паскардзіцца", "confirmations.block.block_and_report": "Заблакіраваць і паскардзіцца",
"confirmations.block.confirm": "Заблакіраваць", "confirmations.block.confirm": "Заблакіраваць",
@ -280,6 +277,17 @@
"follow_request.authorize": "Аўтарызацыя", "follow_request.authorize": "Аўтарызацыя",
"follow_request.reject": "Адхіліць", "follow_request.reject": "Адхіліць",
"follow_requests.unlocked_explanation": "Ваш акаўнт не схаваны, аднак прадстаўнікі {domain} палічылі, што вы можаце захацець праглядзець запыты на падпіску з гэтых профіляў уручную.", "follow_requests.unlocked_explanation": "Ваш акаўнт не схаваны, аднак прадстаўнікі {domain} палічылі, што вы можаце захацець праглядзець запыты на падпіску з гэтых профіляў уручную.",
"follow_suggestions.curated_suggestion": "Выбар адміністрацыі",
"follow_suggestions.dismiss": "Не паказваць зноў",
"follow_suggestions.hints.featured": "Гэты профіль быў выбраны ўручную камандай {domain}.",
"follow_suggestions.hints.friends_of_friends": "Гэты профіль папулярны сярод людзей, на якіх вы падпісаліся.",
"follow_suggestions.hints.most_followed": "Гэты профіль - адзін з профіляў з самай вялікай колькасцю падпісак на {domain}.",
"follow_suggestions.hints.most_interactions": "У апошні час гэты профіль прыцягвае шмат увагі на {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "Гэты профіль падобны на профілі, на якія вы нядаўна падпісаліся.",
"follow_suggestions.personalized_suggestion": "Персаналізаваная прапанова",
"follow_suggestions.popular_suggestion": "Папулярная прапанова",
"follow_suggestions.view_all": "Праглядзець усё",
"follow_suggestions.who_to_follow": "На каго падпісацца",
"followed_tags": "Падпіскі", "followed_tags": "Падпіскі",
"footer.about": "Пра нас", "footer.about": "Пра нас",
"footer.directory": "Дырэкторыя профіляў", "footer.directory": "Дырэкторыя профіляў",
@ -306,13 +314,9 @@
"hashtag.follow": "Падпісацца на хэштэг", "hashtag.follow": "Падпісацца на хэштэг",
"hashtag.unfollow": "Адпісацца ад хэштэга", "hashtag.unfollow": "Адпісацца ад хэштэга",
"hashtags.and_other": "…і яшчэ {count, plural, other {#}}", "hashtags.and_other": "…і яшчэ {count, plural, other {#}}",
"home.actions.go_to_explore": "Паглядзіце, што ў трэндзе",
"home.actions.go_to_suggestions": "Знайсці людзей, каб падпісацца",
"home.column_settings.basic": "Асноўныя", "home.column_settings.basic": "Асноўныя",
"home.column_settings.show_reblogs": "Паказаць пашырэнні", "home.column_settings.show_reblogs": "Паказаць пашырэнні",
"home.column_settings.show_replies": "Паказваць адказы", "home.column_settings.show_replies": "Паказваць адказы",
"home.explore_prompt.body": "Ваша галоўная стужка змяшчае сумесь допісаў з хэштэгамі, за якімі вы вырашылі сачыць, допісаў ад людзей, за якімі вы вырашылі сачыць, і допісаў, якія яны пашыраюць. Зараз усё выглядае даволі ціха, так што як наконт:",
"home.explore_prompt.title": "Гэта ваша апорная кропка ў Mastodon.",
"home.hide_announcements": "Схаваць аб'явы", "home.hide_announcements": "Схаваць аб'явы",
"home.pending_critical_update.body": "Калі ласка, абнавіце свой сервер Mastodon як мага хутчэй!", "home.pending_critical_update.body": "Калі ласка, абнавіце свой сервер Mastodon як мага хутчэй!",
"home.pending_critical_update.link": "Прагледзець абнаўленні", "home.pending_critical_update.link": "Прагледзець абнаўленні",
@ -408,7 +412,6 @@
"navigation_bar.direct": "Асабістыя згадванні", "navigation_bar.direct": "Асабістыя згадванні",
"navigation_bar.discover": "Даведайцесь", "navigation_bar.discover": "Даведайцесь",
"navigation_bar.domain_blocks": "Заблакіраваныя дамены", "navigation_bar.domain_blocks": "Заблакіраваныя дамены",
"navigation_bar.edit_profile": "Рэдагаваць профіль",
"navigation_bar.explore": "Агляд", "navigation_bar.explore": "Агляд",
"navigation_bar.favourites": "Упадабанае", "navigation_bar.favourites": "Упадабанае",
"navigation_bar.filters": "Ігнараваныя словы", "navigation_bar.filters": "Ігнараваныя словы",
@ -526,14 +529,15 @@
"poll_button.add_poll": "Дадаць апытанне", "poll_button.add_poll": "Дадаць апытанне",
"poll_button.remove_poll": "Выдаліць апытанне", "poll_button.remove_poll": "Выдаліць апытанне",
"privacy.change": "Змяніць прыватнасць допісу", "privacy.change": "Змяніць прыватнасць допісу",
"privacy.direct.long": "Паказаць толькі згаданым карыстальнікам", "privacy.direct.long": "Усе згаданыя ў допісе",
"privacy.direct.short": "Толькі згаданыя людзі", "privacy.direct.short": "Канкрэтныя людзі",
"privacy.private.long": "Паказаць толькі падпісчыкам", "privacy.private.long": "Толькі вашыя падпісчыкі",
"privacy.private.short": "Толькі для падпісчыкаў", "privacy.private.short": "Падпісчыкі",
"privacy.public.long": "Бачны для ўсіх", "privacy.public.long": "Усе, хто ёсць і каго няма ў Mastodon",
"privacy.public.short": "Публічны", "privacy.public.short": "Публічны",
"privacy.unlisted.long": "Бачна для ўсіх, але не праз магчымасці агляду", "privacy.unlisted.additional": "Паводзіць сябе гэтак жа, як і публічны, за выключэннем таго, што пост не будзе адлюстроўвацца ў жывой стужцы, хэштэгах, аглядзе або ў пошуку Mastodon, нават калі вы ўключылі бачнасць у пошуку ў наладах.",
"privacy.unlisted.short": "Не ў стужках", "privacy.unlisted.long": "Менш фанфар ад алгарытмаў",
"privacy.unlisted.short": "Ціхі публічны",
"privacy_policy.last_updated": "Адноўлена {date}", "privacy_policy.last_updated": "Адноўлена {date}",
"privacy_policy.title": "Палітыка канфідэнцыйнасці", "privacy_policy.title": "Палітыка канфідэнцыйнасці",
"recommended": "Рэкамендуем", "recommended": "Рэкамендуем",
@ -551,7 +555,9 @@
"relative_time.minutes": "{number} хв", "relative_time.minutes": "{number} хв",
"relative_time.seconds": "{number} с", "relative_time.seconds": "{number} с",
"relative_time.today": "сёння", "relative_time.today": "сёння",
"reply_indicator.attachments": "{count, plural, one {# далучэнне} few {# далучэнні} many {# далучэнняў} other {# далучэння}}",
"reply_indicator.cancel": "Скасаваць", "reply_indicator.cancel": "Скасаваць",
"reply_indicator.poll": "Апытанне",
"report.block": "Заблакіраваць", "report.block": "Заблакіраваць",
"report.block_explanation": "Вы перастанеце бачыць допісы гэтага карыстальніка. Ён не зможа сачыць за вамі і бачыць вашы допісы. Ён зможа зразумець, што яго заблакіравалі.", "report.block_explanation": "Вы перастанеце бачыць допісы гэтага карыстальніка. Ён не зможа сачыць за вамі і бачыць вашы допісы. Ён зможа зразумець, што яго заблакіравалі.",
"report.categories.legal": "Права", "report.categories.legal": "Права",
@ -683,7 +689,7 @@
"status.show_more": "Паказаць болей", "status.show_more": "Паказаць болей",
"status.show_more_all": "Разгарнуць усё", "status.show_more_all": "Разгарнуць усё",
"status.show_original": "Паказаць арыгінал", "status.show_original": "Паказаць арыгінал",
"status.title.with_attachments": "{user} апублікаваў {attachmentCount, plural, one {укладанне} other {{attachmentCount} укладанні}}", "status.title.with_attachments": "{user} апублікаваў {attachmentCount, plural, one {далучэнне} few {{attachmentCount} далучэнні} many {{attachmentCount} далучэнняў} other {{attachmentCount} далучэння}}",
"status.translate": "Перакласці", "status.translate": "Перакласці",
"status.translated_from_with": "Перакладзена з {lang} з дапамогай {provider}", "status.translated_from_with": "Перакладзена з {lang} з дапамогай {provider}",
"status.uncached_media_warning": "Перадпрагляд недаступны", "status.uncached_media_warning": "Перадпрагляд недаступны",
@ -715,10 +721,8 @@
"upload_error.poll": "Немагчыма прымацаваць файл да апытання.", "upload_error.poll": "Немагчыма прымацаваць файл да апытання.",
"upload_form.audio_description": "Апісанне для людзей з парушэннямі слыху", "upload_form.audio_description": "Апісанне для людзей з парушэннямі слыху",
"upload_form.description": "Апісаць для людзей са слабым зрокам", "upload_form.description": "Апісаць для людзей са слабым зрокам",
"upload_form.description_missing": "Апісанне адсутнічае",
"upload_form.edit": "Рэдагаваць", "upload_form.edit": "Рэдагаваць",
"upload_form.thumbnail": "Змяніць мініяцюру", "upload_form.thumbnail": "Змяніць мініяцюру",
"upload_form.undo": "Выдаліць",
"upload_form.video_description": "Апісанне для людзей з парушэннямі зроку і слыху", "upload_form.video_description": "Апісанне для людзей з парушэннямі зроку і слыху",
"upload_modal.analyzing_picture": "Аналіз выявы…", "upload_modal.analyzing_picture": "Аналіз выявы…",
"upload_modal.apply": "Ужыць", "upload_modal.apply": "Ужыць",

@ -3,12 +3,12 @@
"about.contact": "За контакти:", "about.contact": "За контакти:",
"about.disclaimer": "Mastodon е безплатен софтуер с отворен изходен код и търговска марка на Mastodon gGmbH.", "about.disclaimer": "Mastodon е безплатен софтуер с отворен изходен код и търговска марка на Mastodon gGmbH.",
"about.domain_blocks.no_reason_available": "Няма налична причина", "about.domain_blocks.no_reason_available": "Няма налична причина",
"about.domain_blocks.preamble": "Mastodon обикновено позволява да разглеждате съдържание и да взаимодействате с други потребители от всякакви сървъри във Федивърс. Има изключения, направени конкретно за този сървър.", "about.domain_blocks.preamble": "Mastodon обикновено позволява да разглеждате съдържание и да взаимодействате с други потребители от всякакви сървъри във Федивселената. Има изключения, направени конкретно за този сървър.",
"about.domain_blocks.silenced.explanation": "Обикновено няма да виждате профили и съдържание, освен ако изрично не го потърсите или се включете в него, следвайки го.", "about.domain_blocks.silenced.explanation": "Обикновено няма да виждате профили и съдържание, освен ако изрично не го потърсите или се включете в него, следвайки го.",
"about.domain_blocks.silenced.title": "Ограничено", "about.domain_blocks.silenced.title": "Ограничено",
"about.domain_blocks.suspended.explanation": "Никакви данни от този сървър няма да се обработват, съхраняват или обменят, правещи невъзможно всяко взаимодействие или комуникация с потребители от тези сървъри.", "about.domain_blocks.suspended.explanation": "Никакви данни от този сървър няма да се обработват, съхраняват или обменят, правещи невъзможно всяко взаимодействие или комуникация с потребители от тези сървъри.",
"about.domain_blocks.suspended.title": "Спряно", "about.domain_blocks.suspended.title": "Спряно",
"about.not_available": "Тази информация не е била направена налична на този сървър.", "about.not_available": "Тази информация не е публична на този сървър.",
"about.powered_by": "Децентрализирана социална мрежа, захранвана от {mastodon}", "about.powered_by": "Децентрализирана социална мрежа, захранвана от {mastodon}",
"about.rules": "Правила на сървъра", "about.rules": "Правила на сървъра",
"account.account_note_header": "Бележка", "account.account_note_header": "Бележка",
@ -89,7 +89,6 @@
"announcement.announcement": "Оповестяване", "announcement.announcement": "Оповестяване",
"attachments_list.unprocessed": "(необработено)", "attachments_list.unprocessed": "(необработено)",
"audio.hide": "Скриване на звука", "audio.hide": "Скриване на звука",
"autosuggest_hashtag.per_week": "{count} на седмица",
"boost_modal.combo": "Можете да натиснете {combo}, за да пропуснете това следващия път", "boost_modal.combo": "Можете да натиснете {combo}, за да пропуснете това следващия път",
"bundle_column_error.copy_stacktrace": "Копиране на доклада за грешката", "bundle_column_error.copy_stacktrace": "Копиране на доклада за грешката",
"bundle_column_error.error.body": "Заявената страница не може да се изобрази. Това може да е заради грешка в кода ни или проблем със съвместимостта на браузъра.", "bundle_column_error.error.body": "Заявената страница не може да се изобрази. Това може да е заради грешка в кода ни или проблем със съвместимостта на браузъра.",
@ -111,7 +110,7 @@
"column.about": "Относно", "column.about": "Относно",
"column.blocks": "Блокирани потребители", "column.blocks": "Блокирани потребители",
"column.bookmarks": "Отметки", "column.bookmarks": "Отметки",
"column.community": "Локална часова ос", "column.community": "Локален инфопоток",
"column.direct": "Частни споменавания", "column.direct": "Частни споменавания",
"column.directory": "Разглеждане на профили", "column.directory": "Разглеждане на профили",
"column.domain_blocks": "Блокирани домейни", "column.domain_blocks": "Блокирани домейни",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Вашият акаунт не е в положение {locked}. Всеки може да ви последва, за да разглежда публикациите ви само за последователи.", "compose_form.lock_disclaimer": "Вашият акаунт не е в положение {locked}. Всеки може да ви последва, за да разглежда публикациите ви само за последователи.",
"compose_form.lock_disclaimer.lock": "заключено", "compose_form.lock_disclaimer.lock": "заключено",
"compose_form.placeholder": "Какво мислите?", "compose_form.placeholder": "Какво мислите?",
"compose_form.poll.add_option": "Добавяне на избор",
"compose_form.poll.duration": "Времетраене на анкетата", "compose_form.poll.duration": "Времетраене на анкетата",
"compose_form.poll.multiple": "Множествен избор",
"compose_form.poll.option_placeholder": "Избор {number}", "compose_form.poll.option_placeholder": "Избор {number}",
"compose_form.poll.remove_option": "Премахване на този избор", "compose_form.poll.single": "Подберете нещо",
"compose_form.poll.switch_to_multiple": "Промяна на анкетата, за да се позволят множество възможни избора", "compose_form.poll.switch_to_multiple": "Промяна на анкетата, за да се позволят множество възможни избора",
"compose_form.poll.switch_to_single": "Промяна на анкетата, за да се позволи един възможен избор", "compose_form.poll.switch_to_single": "Промяна на анкетата, за да се позволи един възможен избор",
"compose_form.publish": "Публикуване", "compose_form.poll.type": "Стил",
"compose_form.publish": "Публикация",
"compose_form.publish_form": "Публикуване", "compose_form.publish_form": "Публикуване",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Отговор",
"compose_form.save_changes": "Запазване на промените", "compose_form.save_changes": "Обновяване",
"compose_form.sensitive.hide": "{count, plural, one {Маркиране на мултимедията като деликатна} other {Маркиране на мултимедиите като деликатни}}",
"compose_form.sensitive.marked": "{count, plural, one {мултимедия е означена като деликатна} other {мултимедии са означени като деликатни}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Мултимедията не е маркирана като деликатна} other {Мултимедиите не са маркирани като деликатни}}",
"compose_form.spoiler.marked": "Отстраняване на предупреждение за съдържание", "compose_form.spoiler.marked": "Отстраняване на предупреждение за съдържание",
"compose_form.spoiler.unmarked": "Добавяне на предупреждение за съдържание", "compose_form.spoiler.unmarked": "Добавяне на предупреждение за съдържание",
"compose_form.spoiler_placeholder": "Тук напишете предупреждението си", "compose_form.spoiler_placeholder": "Предупреждение за съдържание (по избор)",
"confirmation_modal.cancel": "Отказ", "confirmation_modal.cancel": "Отказ",
"confirmations.block.block_and_report": "Блокиране и докладване", "confirmations.block.block_and_report": "Блокиране и докладване",
"confirmations.block.confirm": "Блокиране", "confirmations.block.confirm": "Блокиране",
@ -204,7 +201,7 @@
"disabled_account_banner.text": "Вашият акаунт {disabledAccount} сега е изключен.", "disabled_account_banner.text": "Вашият акаунт {disabledAccount} сега е изключен.",
"dismissable_banner.community_timeline": "Ето най-скорошните публични публикации от хора, чиито акаунти са разположени в {domain}.", "dismissable_banner.community_timeline": "Ето най-скорошните публични публикации от хора, чиито акаунти са разположени в {domain}.",
"dismissable_banner.dismiss": "Отхвърляне", "dismissable_banner.dismiss": "Отхвърляне",
"dismissable_banner.explore_links": "Тези новини се разказват от хората в този и други сървъри на децентрализираната мрежа точно сега.", "dismissable_banner.explore_links": "Това са най-споделяните новини в социалната мрежа днес. По-нови истории, споделени от повече хора се показват по-напред.",
"dismissable_banner.explore_statuses": "Има публикации през социалната мрежа, които днес набират популярност. По-новите публикации с повече подсилвания и любими са класирани по-високо.", "dismissable_banner.explore_statuses": "Има публикации през социалната мрежа, които днес набират популярност. По-новите публикации с повече подсилвания и любими са класирани по-високо.",
"dismissable_banner.explore_tags": "Тези хаштагове сега набират популярност сред хората в този и други сървъри на децентрализирата мрежа.", "dismissable_banner.explore_tags": "Тези хаштагове сега набират популярност сред хората в този и други сървъри на децентрализирата мрежа.",
"dismissable_banner.public_timeline": "Ето най-новите обществени публикации от хора в социална мрежа, която хората в {domain} следват.", "dismissable_banner.public_timeline": "Ето най-новите обществени публикации от хора в социална мрежа, която хората в {domain} следват.",
@ -225,16 +222,16 @@
"emoji_button.search_results": "Резултати от търсене", "emoji_button.search_results": "Резултати от търсене",
"emoji_button.symbols": "Символи", "emoji_button.symbols": "Символи",
"emoji_button.travel": "Пътуване и места", "emoji_button.travel": "Пътуване и места",
"empty_column.account_hides_collections": "Този потребител е избрал да не прави това сведение достъпно", "empty_column.account_hides_collections": "Този потребител е избрал да не дава тази информация",
"empty_column.account_suspended": "Спрян акаунт", "empty_column.account_suspended": "Спрян акаунт",
"empty_column.account_timeline": "Тук няма публикации!", "empty_column.account_timeline": "Тук няма публикации!",
"empty_column.account_unavailable": "Профилът не е наличен", "empty_column.account_unavailable": "Профилът не е наличен",
"empty_column.blocks": "Още не сте блокирали никакви потребители.", "empty_column.blocks": "Още не сте блокирали никакви потребители.",
"empty_column.bookmarked_statuses": "Още не сте отметнали публикации. Отметвайки някоя, то тя ще се покаже тук.", "empty_column.bookmarked_statuses": "Още не сте отметнали публикации. Отметвайки някоя, то тя ще се покаже тук.",
"empty_column.community": "Местната часова ос е празна. Напишете нещо обществено, за да завъртите нещата!", "empty_column.community": "Локалният инфопоток е празен. Публикувайте нещо, за да започнете!",
"empty_column.direct": "Още нямате никакви частни споменавания. Тук ще се показват, изпращайки или получавайки едно.", "empty_column.direct": "Още нямате никакви частни споменавания. Тук ще се показват, изпращайки или получавайки едно.",
"empty_column.domain_blocks": "Още няма блокирани домейни.", "empty_column.domain_blocks": "Още няма блокирани домейни.",
"empty_column.explore_statuses": "Няма нищо налагащо се в момента. Проверете пак по-късно!", "empty_column.explore_statuses": "Няма тенденции в момента. Проверете пак по-късно!",
"empty_column.favourited_statuses": "Още нямате никакви любими публикации. Правейки любима, то тя ще се покаже тук.", "empty_column.favourited_statuses": "Още нямате никакви любими публикации. Правейки любима, то тя ще се покаже тук.",
"empty_column.favourites": "Още никого не е слагал публикацията в любими. Когато някой го направи, този човек ще се покаже тук.", "empty_column.favourites": "Още никого не е слагал публикацията в любими. Когато някой го направи, този човек ще се покаже тук.",
"empty_column.follow_requests": "Още нямате заявки за последване. Получавайки такава, то тя ще се покаже тук.", "empty_column.follow_requests": "Още нямате заявки за последване. Получавайки такава, то тя ще се покаже тук.",
@ -280,6 +277,17 @@
"follow_request.authorize": "Упълномощаване", "follow_request.authorize": "Упълномощаване",
"follow_request.reject": "Отхвърляне", "follow_request.reject": "Отхвърляне",
"follow_requests.unlocked_explanation": "Въпреки че акаунтът ви не е заключен, служителите на {domain} помислиха, че може да искате да преглеждате ръчно заявките за последване на тези профили.", "follow_requests.unlocked_explanation": "Въпреки че акаунтът ви не е заключен, служителите на {domain} помислиха, че може да искате да преглеждате ръчно заявките за последване на тези профили.",
"follow_suggestions.curated_suggestion": "Избор на персонал",
"follow_suggestions.dismiss": "Без ново показване",
"follow_suggestions.hints.featured": "Този профил е ръчно подбран от отбора на {domain}.",
"follow_suggestions.hints.friends_of_friends": "Този профил е популярен измежду хората, които следвате.",
"follow_suggestions.hints.most_followed": "Този профил е един от най-следваните при {domain}.",
"follow_suggestions.hints.most_interactions": "Този профил наскоро получи много внимание при {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "Този профил е подобен на профилите, които сте последвали наскоро.",
"follow_suggestions.personalized_suggestion": "Персонализирано предложение",
"follow_suggestions.popular_suggestion": "Популярно предложение",
"follow_suggestions.view_all": "Преглед на всички",
"follow_suggestions.who_to_follow": "Кого да се следва",
"followed_tags": "Последвани хаштагове", "followed_tags": "Последвани хаштагове",
"footer.about": "Относно", "footer.about": "Относно",
"footer.directory": "Директория на профилите", "footer.directory": "Директория на профилите",
@ -306,13 +314,9 @@
"hashtag.follow": "Следване на хаштаг", "hashtag.follow": "Следване на хаштаг",
"hashtag.unfollow": "Спиране на следване на хаштаг", "hashtag.unfollow": "Спиране на следване на хаштаг",
"hashtags.and_other": "…и {count, plural, other {# още}}", "hashtags.and_other": "…и {count, plural, other {# още}}",
"home.actions.go_to_explore": "Вижте какво изгрява",
"home.actions.go_to_suggestions": "Намиране на хора за следване",
"home.column_settings.basic": "Основно", "home.column_settings.basic": "Основно",
"home.column_settings.show_reblogs": "Показване на подсилванията", "home.column_settings.show_reblogs": "Показване на подсилванията",
"home.column_settings.show_replies": "Показване на отговорите", "home.column_settings.show_replies": "Показване на отговорите",
"home.explore_prompt.body": "Вашият начален инфоканал ще е смес на публикации от хаштаговете, които сте избрали да следвате, избраните хора да следвате, а и публикациите, които са подсилили. Ако изглежда твърде тихо в момента, то може да искате да:",
"home.explore_prompt.title": "Това е началната ви база с Mastodon.",
"home.hide_announcements": "Скриване на оповестяванията", "home.hide_announcements": "Скриване на оповестяванията",
"home.pending_critical_update.body": "Обновете сървъра си в Mastodon възможно най-скоро!", "home.pending_critical_update.body": "Обновете сървъра си в Mastodon възможно най-скоро!",
"home.pending_critical_update.link": "Преглед на обновяванията", "home.pending_critical_update.link": "Преглед на обновяванията",
@ -349,10 +353,10 @@
"keyboard_shortcuts.favourites": "Отваряне на списъка с любими", "keyboard_shortcuts.favourites": "Отваряне на списъка с любими",
"keyboard_shortcuts.federated": "Отваряне на федерирания инфопоток", "keyboard_shortcuts.federated": "Отваряне на федерирания инфопоток",
"keyboard_shortcuts.heading": "Клавишни съчетания", "keyboard_shortcuts.heading": "Клавишни съчетания",
"keyboard_shortcuts.home": "Отваряне на началната часова ос", "keyboard_shortcuts.home": "Отваряне на личния инфопоток",
"keyboard_shortcuts.hotkey": "Бърз клавиш", "keyboard_shortcuts.hotkey": "Бърз клавиш",
"keyboard_shortcuts.legend": "Показване на тази легенда", "keyboard_shortcuts.legend": "Показване на тази легенда",
"keyboard_shortcuts.local": "Отваряне на местна часова ос", "keyboard_shortcuts.local": "Отваряне на локалния инфопоток",
"keyboard_shortcuts.mention": "Споменаване на автора", "keyboard_shortcuts.mention": "Споменаване на автора",
"keyboard_shortcuts.muted": "Отваряне на списъка със заглушени потребители", "keyboard_shortcuts.muted": "Отваряне на списъка със заглушени потребители",
"keyboard_shortcuts.my_profile": "Отваряне на профила ви", "keyboard_shortcuts.my_profile": "Отваряне на профила ви",
@ -403,13 +407,12 @@
"navigation_bar.advanced_interface": "Отваряне в разширен уебинтерфейс", "navigation_bar.advanced_interface": "Отваряне в разширен уебинтерфейс",
"navigation_bar.blocks": "Блокирани потребители", "navigation_bar.blocks": "Блокирани потребители",
"navigation_bar.bookmarks": "Отметки", "navigation_bar.bookmarks": "Отметки",
"navigation_bar.community_timeline": "Локална часова ос", "navigation_bar.community_timeline": "Локален инфопоток",
"navigation_bar.compose": "Съставяне на нова публикация", "navigation_bar.compose": "Съставяне на нова публикация",
"navigation_bar.direct": "Частни споменавания", "navigation_bar.direct": "Частни споменавания",
"navigation_bar.discover": "Откриване", "navigation_bar.discover": "Откриване",
"navigation_bar.domain_blocks": "Блокирани домейни", "navigation_bar.domain_blocks": "Блокирани домейни",
"navigation_bar.edit_profile": "Редактиране на профила", "navigation_bar.explore": "Разглеждане",
"navigation_bar.explore": "Изследване",
"navigation_bar.favourites": "Любими", "navigation_bar.favourites": "Любими",
"navigation_bar.filters": "Заглушени думи", "navigation_bar.filters": "Заглушени думи",
"navigation_bar.follow_requests": "Заявки за последване", "navigation_bar.follow_requests": "Заявки за последване",
@ -473,13 +476,13 @@
"notifications.permission_required": "Известията на работния плот ги няма, щото няма дадено нужното позволение.", "notifications.permission_required": "Известията на работния плот ги няма, щото няма дадено нужното позволение.",
"notifications_permission_banner.enable": "Включване на известията на работния плот", "notifications_permission_banner.enable": "Включване на известията на работния плот",
"notifications_permission_banner.how_to_control": "За да получавате известия, когато Mastodon не е отворен, включете известията на работния плот. Може да управлявате точно кои видове взаимодействия пораждат известия на работния плот чрез бутона {icon} по-горе, след като бъдат включени.", "notifications_permission_banner.how_to_control": "За да получавате известия, когато Mastodon не е отворен, включете известията на работния плот. Може да управлявате точно кои видове взаимодействия пораждат известия на работния плот чрез бутона {icon} по-горе, след като бъдат включени.",
"notifications_permission_banner.title": "Никога не пропускате нещо", "notifications_permission_banner.title": "Никога не пропускайте нищо",
"onboarding.action.back": "Върнете ме обратно", "onboarding.action.back": "Върнете ме обратно",
"onboarding.actions.back": "Върнете ме обратно", "onboarding.actions.back": "Върнете ме обратно",
"onboarding.actions.go_to_explore": "Вижте какво изгрява", "onboarding.actions.go_to_explore": "Виж тенденции",
"onboarding.actions.go_to_home": "Към началния ви инфоканал", "onboarding.actions.go_to_home": "Към началния ви инфоканал",
"onboarding.compose.template": "Здравейте, #Mastodon!", "onboarding.compose.template": "Здравейте, #Mastodon!",
"onboarding.follows.empty": "За съжаление, в момента не могат да се показват резултати. Може да опитате да употребявате търсене или да прегледате страницата за изследване, за да намерите страница за последване, или да опитате пак по-късно.", "onboarding.follows.empty": "За съжаление, в момента не могат да бъдат показани резултати. Може да опитате да търсите или да разгледате, за да намерите кого да последвате, или опитайте отново по-късно.",
"onboarding.follows.lead": "Може да бъдете куратор на началния си инфоканал. Последвайки повече хора, по-деен и по-интересен ще става. Тези профили може да са добра начална точка, от която винаги по-късно да спрете да следвате!", "onboarding.follows.lead": "Може да бъдете куратор на началния си инфоканал. Последвайки повече хора, по-деен и по-интересен ще става. Тези профили може да са добра начална точка, от която винаги по-късно да спрете да следвате!",
"onboarding.follows.title": "Популярно в Mastodon", "onboarding.follows.title": "Популярно в Mastodon",
"onboarding.profile.discoverable": "Правене на моя профил откриваем", "onboarding.profile.discoverable": "Правене на моя профил откриваем",
@ -526,14 +529,15 @@
"poll_button.add_poll": "Анкетиране", "poll_button.add_poll": "Анкетиране",
"poll_button.remove_poll": "Премахване на анкета", "poll_button.remove_poll": "Премахване на анкета",
"privacy.change": "Промяна на поверителността на публикация", "privacy.change": "Промяна на поверителността на публикация",
"privacy.direct.long": "Видимо само за споменатите потребители", "privacy.direct.long": "Споменатите в публикацията",
"privacy.direct.short": "Само споменатите хора", "privacy.direct.short": "Определени хора",
"privacy.private.long": "Видимо само за последователите", "privacy.private.long": "Само последователите ви",
"privacy.private.short": "Само последователи", "privacy.private.short": "Последователи",
"privacy.public.long": "Видимо за всички", "privacy.public.long": "Всеки във и извън Mastodon",
"privacy.public.short": "Публично", "privacy.public.short": "Публично",
"privacy.unlisted.long": "Видимо за всички, но не чрез възможността за откриване", "privacy.unlisted.additional": "Това действие е точно като публичното, с изключение на това, че публикацията няма да се появява в каналите на живо, хаштаговете, разглеждането или търсенето в Mastodon, дори ако сте избрали да се публично видими на ниво акаунт.",
"privacy.unlisted.short": "Несписъчно", "privacy.unlisted.long": "По-малко алгоритмични фанфари",
"privacy.unlisted.short": "Тиха публика",
"privacy_policy.last_updated": "Последно осъвременяване на {date}", "privacy_policy.last_updated": "Последно осъвременяване на {date}",
"privacy_policy.title": "Политика за поверителност", "privacy_policy.title": "Политика за поверителност",
"recommended": "Препоръчано", "recommended": "Препоръчано",
@ -551,7 +555,9 @@
"relative_time.minutes": "{number}м.", "relative_time.minutes": "{number}м.",
"relative_time.seconds": "{number}с.", "relative_time.seconds": "{number}с.",
"relative_time.today": "днес", "relative_time.today": "днес",
"reply_indicator.attachments": "{count, plural, one {# прикаване} other {# прикачвания}}",
"reply_indicator.cancel": "Отказ", "reply_indicator.cancel": "Отказ",
"reply_indicator.poll": "Анкета",
"report.block": "Блокиране", "report.block": "Блокиране",
"report.block_explanation": "Няма да им виждате публикациите. Те няма да могат да виждат публикациите ви или да ви последват. Те ще могат да казват, че са били блокирани.", "report.block_explanation": "Няма да им виждате публикациите. Те няма да могат да виждат публикациите ви или да ви последват. Те ще могат да казват, че са били блокирани.",
"report.categories.legal": "Правни въпроси", "report.categories.legal": "Правни въпроси",
@ -715,10 +721,8 @@
"upload_error.poll": "Качването на файлове не е позволено с анкети.", "upload_error.poll": "Качването на файлове не е позволено с анкети.",
"upload_form.audio_description": "Опишете за хора, които са глухи или трудно чуват", "upload_form.audio_description": "Опишете за хора, които са глухи или трудно чуват",
"upload_form.description": "Опишете за хора, които са слепи или имат слабо зрение", "upload_form.description": "Опишете за хора, които са слепи или имат слабо зрение",
"upload_form.description_missing": "Няма добавен опис",
"upload_form.edit": "Редактиране", "upload_form.edit": "Редактиране",
"upload_form.thumbnail": "Промяна на миниобраза", "upload_form.thumbnail": "Промяна на миниобраза",
"upload_form.undo": "Изтриване",
"upload_form.video_description": "Опишете за хора, които са глухи или трудно чуват, слепи или имат слабо зрение", "upload_form.video_description": "Опишете за хора, които са глухи или трудно чуват, слепи или имат слабо зрение",
"upload_modal.analyzing_picture": "Снимков анализ…", "upload_modal.analyzing_picture": "Снимков анализ…",
"upload_modal.apply": "Прилагане", "upload_modal.apply": "Прилагане",

@ -85,7 +85,6 @@
"announcement.announcement": "ঘোষণা", "announcement.announcement": "ঘোষণা",
"attachments_list.unprocessed": "(প্রক্রিয়া করা যায়নি)", "attachments_list.unprocessed": "(প্রক্রিয়া করা যায়নি)",
"audio.hide": "অডিও লুকান", "audio.hide": "অডিও লুকান",
"autosuggest_hashtag.per_week": "প্রতি সপ্তাহে {count}",
"boost_modal.combo": "পরেরবার আপনি {combo} টিপলে এটি আর আসবে না", "boost_modal.combo": "পরেরবার আপনি {combo} টিপলে এটি আর আসবে না",
"bundle_column_error.copy_stacktrace": "এরর রিপোর্ট কপি করুন", "bundle_column_error.copy_stacktrace": "এরর রিপোর্ট কপি করুন",
"bundle_column_error.error.body": "অনুরোধ করা পৃষ্ঠাটি রেন্ডার করা যায়নি। এটি আমাদের কোডে একটি বাগ বা ব্রাউজার সামঞ্জস্যের সমস্যার কারণে হতে পারে।", "bundle_column_error.error.body": "অনুরোধ করা পৃষ্ঠাটি রেন্ডার করা যায়নি। এটি আমাদের কোডে একটি বাগ বা ব্রাউজার সামঞ্জস্যের সমস্যার কারণে হতে পারে।",
@ -142,22 +141,12 @@
"compose_form.lock_disclaimer": "আপনার নিবন্ধনে তালা দেওয়া নেই, যে কেও আপনাকে অনুসরণ করতে পারবে এবং অনুশারকদের জন্য লেখা দেখতে পারবে।", "compose_form.lock_disclaimer": "আপনার নিবন্ধনে তালা দেওয়া নেই, যে কেও আপনাকে অনুসরণ করতে পারবে এবং অনুশারকদের জন্য লেখা দেখতে পারবে।",
"compose_form.lock_disclaimer.lock": "তালা দেওয়া", "compose_form.lock_disclaimer.lock": "তালা দেওয়া",
"compose_form.placeholder": "আপনি কি ভাবছেন ?", "compose_form.placeholder": "আপনি কি ভাবছেন ?",
"compose_form.poll.add_option": "আরেকটি বিকল্প যোগ করুন",
"compose_form.poll.duration": "ভোটগ্রহনের সময়", "compose_form.poll.duration": "ভোটগ্রহনের সময়",
"compose_form.poll.option_placeholder": "বিকল্প {number}",
"compose_form.poll.remove_option": "এই বিকল্পটি মুছে ফেলুন",
"compose_form.poll.switch_to_multiple": "একাধিক পছন্দ অনুমতি দেওয়ার জন্য পোল পরিবর্তন করুন", "compose_form.poll.switch_to_multiple": "একাধিক পছন্দ অনুমতি দেওয়ার জন্য পোল পরিবর্তন করুন",
"compose_form.poll.switch_to_single": "একটি একক পছন্দের অনুমতি দেওয়ার জন্য পোল পরিবর্তন করুন", "compose_form.poll.switch_to_single": "একটি একক পছন্দের অনুমতি দেওয়ার জন্য পোল পরিবর্তন করুন",
"compose_form.publish": "প্রকাশ করুন",
"compose_form.publish_form": "প্রকাশ করুন", "compose_form.publish_form": "প্রকাশ করুন",
"compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "পরিবর্তনগুলো প্রকাশ করুন",
"compose_form.sensitive.hide": "এই ছবি বা ভিডিওটি সংবেদনশীল হিসেবে চিহ্নিত করতে",
"compose_form.sensitive.marked": "এই ছবি বা ভিডিওটি সংবেদনশীল হিসেবে চিহ্নিত করা হয়েছে",
"compose_form.sensitive.unmarked": "এই ছবি বা ভিডিওটি সংবেদনশীল হিসেবে চিহ্নিত করা হয়নি",
"compose_form.spoiler.marked": "সতর্কতার পিছনে লেখানটি লুকানো আছে", "compose_form.spoiler.marked": "সতর্কতার পিছনে লেখানটি লুকানো আছে",
"compose_form.spoiler.unmarked": "লেখাটি লুকানো নেই", "compose_form.spoiler.unmarked": "লেখাটি লুকানো নেই",
"compose_form.spoiler_placeholder": "আপনার লেখা দেখার সাবধানবাণী লিখুন",
"confirmation_modal.cancel": "বাতিল করুন", "confirmation_modal.cancel": "বাতিল করুন",
"confirmations.block.block_and_report": "ব্লক করুন এবং রিপোর্ট করুন", "confirmations.block.block_and_report": "ব্লক করুন এবং রিপোর্ট করুন",
"confirmations.block.confirm": "ব্লক করুন", "confirmations.block.confirm": "ব্লক করুন",
@ -324,7 +313,6 @@
"navigation_bar.compose": "নতুন টুট লিখুন", "navigation_bar.compose": "নতুন টুট লিখুন",
"navigation_bar.discover": "ঘুরে দেখুন", "navigation_bar.discover": "ঘুরে দেখুন",
"navigation_bar.domain_blocks": "লুকানো ডোমেনগুলি", "navigation_bar.domain_blocks": "লুকানো ডোমেনগুলি",
"navigation_bar.edit_profile": "নিজের পাতা সম্পাদনা করতে",
"navigation_bar.explore": "পরিব্রাজন", "navigation_bar.explore": "পরিব্রাজন",
"navigation_bar.favourites": "পছন্দসমূহ", "navigation_bar.favourites": "পছন্দসমূহ",
"navigation_bar.filters": "বন্ধ করা শব্দ", "navigation_bar.filters": "বন্ধ করা শব্দ",
@ -395,12 +383,7 @@
"poll_button.add_poll": "একটা নির্বাচন যোগ করতে", "poll_button.add_poll": "একটা নির্বাচন যোগ করতে",
"poll_button.remove_poll": "নির্বাচন বাদ দিতে", "poll_button.remove_poll": "নির্বাচন বাদ দিতে",
"privacy.change": "লেখার গোপনীয়তা অবস্থা ঠিক করতে", "privacy.change": "লেখার গোপনীয়তা অবস্থা ঠিক করতে",
"privacy.direct.long": "শুধুমাত্র উল্লেখিত ব্যবহারকারীদের কাছে লিখতে",
"privacy.direct.short": "Direct",
"privacy.private.long": "শুধুমাত্র আপনার অনুসরণকারীদের লিখতে",
"privacy.private.short": "Followers-only",
"privacy.public.short": "সর্বজনীন প্রকাশ্য", "privacy.public.short": "সর্বজনীন প্রকাশ্য",
"privacy.unlisted.short": "প্রকাশ্য নয়",
"refresh": "সতেজ করা", "refresh": "সতেজ করা",
"regeneration_indicator.label": "আসছে…", "regeneration_indicator.label": "আসছে…",
"regeneration_indicator.sublabel": "আপনার বাড়ির-সময়রেখা প্রস্তূত করা হচ্ছে!", "regeneration_indicator.sublabel": "আপনার বাড়ির-সময়রেখা প্রস্তূত করা হচ্ছে!",
@ -506,7 +489,6 @@
"upload_form.description": "যারা দেখতে পায়না তাদের জন্য এটা বর্ণনা করতে", "upload_form.description": "যারা দেখতে পায়না তাদের জন্য এটা বর্ণনা করতে",
"upload_form.edit": "সম্পাদন", "upload_form.edit": "সম্পাদন",
"upload_form.thumbnail": "থাম্বনেল পরিবর্তন করুন", "upload_form.thumbnail": "থাম্বনেল পরিবর্তন করুন",
"upload_form.undo": "মুছে ফেলতে",
"upload_form.video_description": "শ্রবণশক্তি হ্রাস বা চাক্ষুষ প্রতিবন্ধী ব্যক্তিদের জন্য বর্ণনা করুন", "upload_form.video_description": "শ্রবণশক্তি হ্রাস বা চাক্ষুষ প্রতিবন্ধী ব্যক্তিদের জন্য বর্ণনা করুন",
"upload_modal.analyzing_picture": "চিত্র বিশ্লেষণ করা হচ্ছে…", "upload_modal.analyzing_picture": "চিত্র বিশ্লেষণ করা হচ্ছে…",
"upload_modal.apply": "প্রয়োগ করুন", "upload_modal.apply": "প্রয়োগ করুন",

@ -29,7 +29,7 @@
"account.enable_notifications": "Ma c'hemenn pa vez embannet traoù gant @{name}", "account.enable_notifications": "Ma c'hemenn pa vez embannet traoù gant @{name}",
"account.endorse": "Lakaat war-wel war ar profil", "account.endorse": "Lakaat war-wel war ar profil",
"account.featured_tags.last_status_at": "Toud diwezhañ : {date}", "account.featured_tags.last_status_at": "Toud diwezhañ : {date}",
"account.featured_tags.last_status_never": "Toud ebet", "account.featured_tags.last_status_never": "Embannadur ebet",
"account.featured_tags.title": "Hashtagoù pennañ {name}", "account.featured_tags.title": "Hashtagoù pennañ {name}",
"account.follow": "Heuliañ", "account.follow": "Heuliañ",
"account.follow_back": "Heuliañ d'ho tro", "account.follow_back": "Heuliañ d'ho tro",
@ -62,7 +62,7 @@
"account.requested_follow": "Gant {name} eo bet goulennet ho heuliañ", "account.requested_follow": "Gant {name} eo bet goulennet ho heuliañ",
"account.share": "Skignañ profil @{name}", "account.share": "Skignañ profil @{name}",
"account.show_reblogs": "Diskouez skignadennoù @{name}", "account.show_reblogs": "Diskouez skignadennoù @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Toud} two {{counter} Doud} other {{counter} a Doudoù}}", "account.statuses_counter": "{count, plural, one {{counter} C'hannad} two {{counter} Gannad} other {{counter} a Gannadoù}}",
"account.unblock": "Diverzañ @{name}", "account.unblock": "Diverzañ @{name}",
"account.unblock_domain": "Diverzañ an domani {domain}", "account.unblock_domain": "Diverzañ an domani {domain}",
"account.unblock_short": "Distankañ", "account.unblock_short": "Distankañ",
@ -87,7 +87,6 @@
"announcement.announcement": "Kemennad", "announcement.announcement": "Kemennad",
"attachments_list.unprocessed": "(ket meret)", "attachments_list.unprocessed": "(ket meret)",
"audio.hide": "Kuzhat ar c'hleved", "audio.hide": "Kuzhat ar c'hleved",
"autosuggest_hashtag.per_week": "{count} bep sizhun",
"boost_modal.combo": "Ar wezh kentañ e c'halliot gwaskañ war {combo} evit tremen hebiou", "boost_modal.combo": "Ar wezh kentañ e c'halliot gwaskañ war {combo} evit tremen hebiou",
"bundle_column_error.copy_stacktrace": "Eilañ an danevell fazi", "bundle_column_error.copy_stacktrace": "Eilañ an danevell fazi",
"bundle_column_error.error.body": "N'haller ket skrammañ ar bajenn goulennet. Gallout a ra bezañ abalamour d'ur beug er c'hod pe d'ur gudenn keverlec'hded gant ar merdeer.", "bundle_column_error.error.body": "N'haller ket skrammañ ar bajenn goulennet. Gallout a ra bezañ abalamour d'ur beug er c'hod pe d'ur gudenn keverlec'hded gant ar merdeer.",
@ -119,9 +118,9 @@
"column.lists": "Listennoù", "column.lists": "Listennoù",
"column.mutes": "Implijer·ion·ezed kuzhet", "column.mutes": "Implijer·ion·ezed kuzhet",
"column.notifications": "Kemennoù", "column.notifications": "Kemennoù",
"column.pins": "Toudoù spilhennet", "column.pins": "Embannadurioù spilhennet",
"column.public": "Red-amzer kevredet", "column.public": "Red-amzer kevredet",
"column_back_button.label": "Distro", "column_back_button.label": "Distreiñ",
"column_header.hide_settings": "Kuzhat an arventennoù", "column_header.hide_settings": "Kuzhat an arventennoù",
"column_header.moveLeft_settings": "Dilec'hiañ ar bannad a-gleiz", "column_header.moveLeft_settings": "Dilec'hiañ ar bannad a-gleiz",
"column_header.moveRight_settings": "Dilec'hiañ ar bannad a-zehou", "column_header.moveRight_settings": "Dilec'hiañ ar bannad a-zehou",
@ -143,22 +142,17 @@
"compose_form.lock_disclaimer": "N'eo ket {locked} ho kont. An holl a c'hal ho heuliañ evit gwelet ho toudoù prevez.", "compose_form.lock_disclaimer": "N'eo ket {locked} ho kont. An holl a c'hal ho heuliañ evit gwelet ho toudoù prevez.",
"compose_form.lock_disclaimer.lock": "prennet", "compose_form.lock_disclaimer.lock": "prennet",
"compose_form.placeholder": "Petra emaoc'h o soñjal e-barzh ?", "compose_form.placeholder": "Petra emaoc'h o soñjal e-barzh ?",
"compose_form.poll.add_option": "Ouzhpenniñ un dibab",
"compose_form.poll.duration": "Pad ar sontadeg", "compose_form.poll.duration": "Pad ar sontadeg",
"compose_form.poll.option_placeholder": "Dibab {number}", "compose_form.poll.single": "Dibabit unan",
"compose_form.poll.remove_option": "Lemel an dibab-mañ",
"compose_form.poll.switch_to_multiple": "Kemmañ ar sontadeg evit aotren meur a zibab", "compose_form.poll.switch_to_multiple": "Kemmañ ar sontadeg evit aotren meur a zibab",
"compose_form.poll.switch_to_single": "Kemmañ ar sontadeg evit aotren un dibab hepken", "compose_form.poll.switch_to_single": "Kemmañ ar sontadeg evit aotren un dibab hepken",
"compose_form.poll.type": "Neuz",
"compose_form.publish": "Embann", "compose_form.publish": "Embann",
"compose_form.publish_form": "Embann", "compose_form.publish_form": "Embann",
"compose_form.publish_loud": "{publish} !", "compose_form.reply": "Respont",
"compose_form.save_changes": "Enrollañ ar cheñchamantoù", "compose_form.save_changes": "Hizivadur",
"compose_form.sensitive.hide": "Merkañ ar media evel kizidik",
"compose_form.sensitive.marked": "Merket eo ar media evel kizidik",
"compose_form.sensitive.unmarked": "N'eo ket merket ar media evel kizidik",
"compose_form.spoiler.marked": "Kuzhet eo an destenn a-dreñv ur c'hemenn", "compose_form.spoiler.marked": "Kuzhet eo an destenn a-dreñv ur c'hemenn",
"compose_form.spoiler.unmarked": "N'eo ket kuzhet an destenn", "compose_form.spoiler.unmarked": "N'eo ket kuzhet an destenn",
"compose_form.spoiler_placeholder": "Skrivit ho kemenn diwall amañ",
"confirmation_modal.cancel": "Nullañ", "confirmation_modal.cancel": "Nullañ",
"confirmations.block.block_and_report": "Berzañ ha Disklêriañ", "confirmations.block.block_and_report": "Berzañ ha Disklêriañ",
"confirmations.block.confirm": "Stankañ", "confirmations.block.confirm": "Stankañ",
@ -205,9 +199,9 @@
"embed.preview": "Setu penaos e teuio war wel :", "embed.preview": "Setu penaos e teuio war wel :",
"emoji_button.activity": "Obererezh", "emoji_button.activity": "Obererezh",
"emoji_button.clear": "Diverkañ", "emoji_button.clear": "Diverkañ",
"emoji_button.custom": "Kempennet", "emoji_button.custom": "Personelaet",
"emoji_button.flags": "Bannieloù", "emoji_button.flags": "Bannieloù",
"emoji_button.food": "Boued hag Evaj", "emoji_button.food": "Boued & Evajoù",
"emoji_button.label": "Enlakaat un emoji", "emoji_button.label": "Enlakaat un emoji",
"emoji_button.nature": "Natur", "emoji_button.nature": "Natur",
"emoji_button.not_found": "Emoji ebet !! (╯°□°)╯︵ ┻━┻", "emoji_button.not_found": "Emoji ebet !! (╯°□°)╯︵ ┻━┻",
@ -217,12 +211,12 @@
"emoji_button.search": "O klask...", "emoji_button.search": "O klask...",
"emoji_button.search_results": "Disoc'hoù an enklask", "emoji_button.search_results": "Disoc'hoù an enklask",
"emoji_button.symbols": "Arouezioù", "emoji_button.symbols": "Arouezioù",
"emoji_button.travel": "Lec'hioù ha Beajoù", "emoji_button.travel": "Beajiñ & Lec'hioù",
"empty_column.account_suspended": "Kont ehanet", "empty_column.account_suspended": "Kont ehanet",
"empty_column.account_timeline": "Toud ebet amañ !", "empty_column.account_timeline": "Toud ebet amañ !",
"empty_column.account_unavailable": "Profil dihegerz", "empty_column.account_unavailable": "Profil dihegerz",
"empty_column.blocks": "N'eus ket bet berzet implijer·ez ganeoc'h c'hoazh.", "empty_column.blocks": "N'eus ket bet berzet implijer·ez ganeoc'h c'hoazh.",
"empty_column.bookmarked_statuses": "N'ho peus toud ebet enrollet en ho sinedoù c'hoazh. Pa vo ouzhpennet unan e teuio war wel amañ.", "empty_column.bookmarked_statuses": "N'ho peus embannadur ebet enrollet en ho sinedoù c'hoazh. Pa vo ouzhpennet unan e teuio war wel amañ.",
"empty_column.community": "Goulo eo ar red-amzer lec'hel. Skrivit'ta un dra evit lakaat tan dezhi !", "empty_column.community": "Goulo eo ar red-amzer lec'hel. Skrivit'ta un dra evit lakaat tan dezhi !",
"empty_column.domain_blocks": "N'eus domani kuzh ebet c'hoazh.", "empty_column.domain_blocks": "N'eus domani kuzh ebet c'hoazh.",
"empty_column.explore_statuses": "N'eus tuadur ebet evit c'hoazh. Distroit diwezhatoc'h !", "empty_column.explore_statuses": "N'eus tuadur ebet evit c'hoazh. Distroit diwezhatoc'h !",
@ -266,6 +260,7 @@
"follow_request.authorize": "Aotren", "follow_request.authorize": "Aotren",
"follow_request.reject": "Nac'hañ", "follow_request.reject": "Nac'hañ",
"follow_requests.unlocked_explanation": "Daoust ma n'eo ket ho kont prennet, skipailh {domain} a soñj e fellfe deoc'h gwiriekaat pedadennoù heuliañ deus ar c'hontoù-se diwar-zorn.", "follow_requests.unlocked_explanation": "Daoust ma n'eo ket ho kont prennet, skipailh {domain} a soñj e fellfe deoc'h gwiriekaat pedadennoù heuliañ deus ar c'hontoù-se diwar-zorn.",
"follow_suggestions.view_all": "Gwelet pep tra",
"followed_tags": "Hashtagoù o heuliañ", "followed_tags": "Hashtagoù o heuliañ",
"footer.about": "Diwar-benn", "footer.about": "Diwar-benn",
"footer.directory": "Kavlec'h ar profiloù", "footer.directory": "Kavlec'h ar profiloù",
@ -273,7 +268,7 @@
"footer.invite": "Pediñ tud", "footer.invite": "Pediñ tud",
"footer.keyboard_shortcuts": "Berradennoù klavier", "footer.keyboard_shortcuts": "Berradennoù klavier",
"footer.privacy_policy": "Reolennoù prevezded", "footer.privacy_policy": "Reolennoù prevezded",
"footer.source_code": "Gwelet kod mammenn", "footer.source_code": "Gwelet ar c'hod mammenn",
"footer.status": "Statud", "footer.status": "Statud",
"generic.saved": "Enrollet", "generic.saved": "Enrollet",
"getting_started.heading": "Loc'hañ", "getting_started.heading": "Loc'hañ",
@ -291,12 +286,9 @@
"hashtag.follow": "Heuliañ ar ger-klik", "hashtag.follow": "Heuliañ ar ger-klik",
"hashtag.unfollow": "Paouez heuliañ an hashtag", "hashtag.unfollow": "Paouez heuliañ an hashtag",
"hashtags.and_other": "…{count, plural, one {hag # all} other {ha # all}}", "hashtags.and_other": "…{count, plural, one {hag # all} other {ha # all}}",
"home.actions.go_to_explore": "Gwelet petra zo diouzh ar c'hiz",
"home.actions.go_to_suggestions": "Kavout tud da heuliañ",
"home.column_settings.basic": "Diazez", "home.column_settings.basic": "Diazez",
"home.column_settings.show_reblogs": "Diskouez ar skignadennoù", "home.column_settings.show_reblogs": "Diskouez ar skignadennoù",
"home.column_settings.show_replies": "Diskouez ar respontoù", "home.column_settings.show_replies": "Diskouez ar respontoù",
"home.explore_prompt.title": "Homañ eo ho pajenn degemer e-barzh Mastodon.",
"home.hide_announcements": "Kuzhat ar c'hemennoù", "home.hide_announcements": "Kuzhat ar c'hemennoù",
"home.pending_critical_update.body": "Hizivait ho servijer Mastodon kerkent ha ma c'hallit mar plij!", "home.pending_critical_update.body": "Hizivait ho servijer Mastodon kerkent ha ma c'hallit mar plij!",
"home.pending_critical_update.link": "Gwelet an hizivadennoù", "home.pending_critical_update.link": "Gwelet an hizivadennoù",
@ -304,7 +296,7 @@
"interaction_modal.description.follow": "Gant ur gont Mastodon e c'hellit heuliañ {name} evit resev an toudoù a embann war ho red degemer.", "interaction_modal.description.follow": "Gant ur gont Mastodon e c'hellit heuliañ {name} evit resev an toudoù a embann war ho red degemer.",
"interaction_modal.description.reblog": "Gant ur gont Mastodon e c'hellit skignañ an toud-mañ evit rannañ anezhañ gant ho heulierien·ezed.", "interaction_modal.description.reblog": "Gant ur gont Mastodon e c'hellit skignañ an toud-mañ evit rannañ anezhañ gant ho heulierien·ezed.",
"interaction_modal.description.reply": "Gant ur gont Mastodon e c'hellit respont d'an toud-mañ.", "interaction_modal.description.reply": "Gant ur gont Mastodon e c'hellit respont d'an toud-mañ.",
"interaction_modal.no_account_yet": "N'eo ket war vMastodon?", "interaction_modal.no_account_yet": "N'emañ ket war vMastodon?",
"interaction_modal.on_another_server": "War ur servijer all", "interaction_modal.on_another_server": "War ur servijer all",
"interaction_modal.on_this_server": "War ar servijer-mañ", "interaction_modal.on_this_server": "War ar servijer-mañ",
"interaction_modal.title.favourite": "Ouzhpennañ embannadur {name} d'ar re vuiañ-karet", "interaction_modal.title.favourite": "Ouzhpennañ embannadur {name} d'ar re vuiañ-karet",
@ -383,7 +375,6 @@
"navigation_bar.direct": "Menegoù prevez", "navigation_bar.direct": "Menegoù prevez",
"navigation_bar.discover": "Dizoleiñ", "navigation_bar.discover": "Dizoleiñ",
"navigation_bar.domain_blocks": "Domanioù kuzhet", "navigation_bar.domain_blocks": "Domanioù kuzhet",
"navigation_bar.edit_profile": "Kemmañ ar profil",
"navigation_bar.explore": "Furchal", "navigation_bar.explore": "Furchal",
"navigation_bar.favourites": "Muiañ-karet", "navigation_bar.favourites": "Muiañ-karet",
"navigation_bar.filters": "Gerioù kuzhet", "navigation_bar.filters": "Gerioù kuzhet",
@ -473,7 +464,7 @@
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.", "onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
"onboarding.steps.setup_profile.title": "Customize your profile", "onboarding.steps.setup_profile.title": "Customize your profile",
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!", "onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
"onboarding.steps.share_profile.title": "Share your profile", "onboarding.steps.share_profile.title": "Rannit ho kont Mastodon",
"password_confirmation.mismatching": "Disheñvel eo an daou c'her-termen-se", "password_confirmation.mismatching": "Disheñvel eo an daou c'her-termen-se",
"picture_in_picture.restore": "Adlakaat", "picture_in_picture.restore": "Adlakaat",
"poll.closed": "Serret", "poll.closed": "Serret",
@ -486,15 +477,10 @@
"poll.votes": "{votes, plural,one {#votadenn} other {# votadenn}}", "poll.votes": "{votes, plural,one {#votadenn} other {# votadenn}}",
"poll_button.add_poll": "Ouzhpennañ ur sontadeg", "poll_button.add_poll": "Ouzhpennañ ur sontadeg",
"poll_button.remove_poll": "Dilemel ar sontadeg", "poll_button.remove_poll": "Dilemel ar sontadeg",
"privacy.change": "Cheñch prevezded an toud", "privacy.change": "Cheñch prevezded an embannadur",
"privacy.direct.long": "Embann evit an implijer·ezed·ien meneget hepken", "privacy.direct.short": "Tud resis",
"privacy.direct.short": "Tud meneget hepken", "privacy.private.short": "Heulierien",
"privacy.private.long": "Embann evit ar re a heuilh ac'hanon hepken",
"privacy.private.short": "Tud koumanantet hepken",
"privacy.public.long": "Gwelus d'an holl",
"privacy.public.short": "Publik", "privacy.public.short": "Publik",
"privacy.unlisted.long": "Gwelus gant an holl, met hep arc'hweladur dizoleiñ",
"privacy.unlisted.short": "Anlistennet",
"privacy_policy.last_updated": "Hizivadenn ziwezhañ {date}", "privacy_policy.last_updated": "Hizivadenn ziwezhañ {date}",
"privacy_policy.title": "Reolennoù Prevezded", "privacy_policy.title": "Reolennoù Prevezded",
"recommended": "Erbedet", "recommended": "Erbedet",
@ -513,6 +499,7 @@
"relative_time.seconds": "{number}eil", "relative_time.seconds": "{number}eil",
"relative_time.today": "hiziv", "relative_time.today": "hiziv",
"reply_indicator.cancel": "Nullañ", "reply_indicator.cancel": "Nullañ",
"reply_indicator.poll": "Sontadeg",
"report.block": "Stankañ", "report.block": "Stankañ",
"report.block_explanation": "Ne vo ket gwelet toudoù ar gont-se ken. Ne welo ket ho toudoù ha ne c'hello ket ho heuliañ ken. Gouzout a raio eo bet stanket ganeoc'h.", "report.block_explanation": "Ne vo ket gwelet toudoù ar gont-se ken. Ne welo ket ho toudoù ha ne c'hello ket ho heuliañ ken. Gouzout a raio eo bet stanket ganeoc'h.",
"report.categories.legal": "Lezennel", "report.categories.legal": "Lezennel",
@ -667,10 +654,8 @@
"upload_error.poll": "Pellgargañ restroù n'eo ket aotreet gant sontadegoù.", "upload_error.poll": "Pellgargañ restroù n'eo ket aotreet gant sontadegoù.",
"upload_form.audio_description": "Diskrivañ evit tud a zo kollet o c'hlev", "upload_form.audio_description": "Diskrivañ evit tud a zo kollet o c'hlev",
"upload_form.description": "Diskrivañ evit tud a zo kollet o gweled", "upload_form.description": "Diskrivañ evit tud a zo kollet o gweled",
"upload_form.description_missing": "Deskrivadur diank",
"upload_form.edit": "Kemmañ", "upload_form.edit": "Kemmañ",
"upload_form.thumbnail": "Kemmañ ar velvenn", "upload_form.thumbnail": "Kemmañ ar velvenn",
"upload_form.undo": "Dilemel",
"upload_form.video_description": "Diskrivañ evit tud a zo kollet o gweled pe o c'hlev", "upload_form.video_description": "Diskrivañ evit tud a zo kollet o gweled pe o c'hlev",
"upload_modal.analyzing_picture": "O tielfennañ ar skeudenn…", "upload_modal.analyzing_picture": "O tielfennañ ar skeudenn…",
"upload_modal.apply": "Arloañ", "upload_modal.apply": "Arloañ",

@ -66,8 +66,6 @@
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!", "onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
"onboarding.steps.share_profile.title": "Share your profile", "onboarding.steps.share_profile.title": "Share your profile",
"privacy.change": "Adjust status privacy", "privacy.change": "Adjust status privacy",
"privacy.direct.short": "Direct",
"privacy.private.short": "Followers-only",
"report.placeholder": "Type or paste additional comments", "report.placeholder": "Type or paste additional comments",
"report.submit": "Submit report", "report.submit": "Submit report",
"report.target": "Report {target}", "report.target": "Report {target}",

@ -89,7 +89,6 @@
"announcement.announcement": "Anunci", "announcement.announcement": "Anunci",
"attachments_list.unprocessed": "(sense processar)", "attachments_list.unprocessed": "(sense processar)",
"audio.hide": "Amaga l'àudio", "audio.hide": "Amaga l'àudio",
"autosuggest_hashtag.per_week": "{count} per setmana",
"boost_modal.combo": "Pots prémer {combo} per a evitar-ho el pròxim cop", "boost_modal.combo": "Pots prémer {combo} per a evitar-ho el pròxim cop",
"bundle_column_error.copy_stacktrace": "Copia l'informe d'error", "bundle_column_error.copy_stacktrace": "Copia l'informe d'error",
"bundle_column_error.error.body": "No s'ha pogut renderitzar la pàgina sol·licitada. Podria ser per un error en el nostre codi o per un problema de compatibilitat del navegador.", "bundle_column_error.error.body": "No s'ha pogut renderitzar la pàgina sol·licitada. Podria ser per un error en el nostre codi o per un problema de compatibilitat del navegador.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "El teu compte no està {locked}. Tothom pot seguir-te i veure els tuts de només per a seguidors.", "compose_form.lock_disclaimer": "El teu compte no està {locked}. Tothom pot seguir-te i veure els tuts de només per a seguidors.",
"compose_form.lock_disclaimer.lock": "blocat", "compose_form.lock_disclaimer.lock": "blocat",
"compose_form.placeholder": "Què tens al cap?", "compose_form.placeholder": "Què tens al cap?",
"compose_form.poll.add_option": "Afegeix una opció",
"compose_form.poll.duration": "Durada de l'enquesta", "compose_form.poll.duration": "Durada de l'enquesta",
"compose_form.poll.multiple": "Opcions múltiples",
"compose_form.poll.option_placeholder": "Opció {number}", "compose_form.poll.option_placeholder": "Opció {number}",
"compose_form.poll.remove_option": "Elimina aquesta opció", "compose_form.poll.single": "Trieu-ne una",
"compose_form.poll.switch_to_multiple": "Canvia lenquesta per a permetre múltiples opcions", "compose_form.poll.switch_to_multiple": "Canvia lenquesta per a permetre múltiples opcions",
"compose_form.poll.switch_to_single": "Canvia lenquesta per a permetre una única opció", "compose_form.poll.switch_to_single": "Canvia lenquesta per a permetre una única opció",
"compose_form.publish": "Tut", "compose_form.poll.type": "Estil",
"compose_form.publish": "Publica",
"compose_form.publish_form": "Nou tut", "compose_form.publish_form": "Nou tut",
"compose_form.publish_loud": "Tut!", "compose_form.reply": "Respon",
"compose_form.save_changes": "Desa els canvis", "compose_form.save_changes": "Actualitza",
"compose_form.sensitive.hide": "{count, plural, one {Marca mèdia com a sensible} other {Marca mèdia com a sensible}}",
"compose_form.sensitive.marked": "{count, plural, one {Contingut marcat com a sensible} other {Contingut marcat com a sensible}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Contingut no marcat com a sensible} other {Contingut no marcat com a sensible}}",
"compose_form.spoiler.marked": "Elimina l'avís de contingut", "compose_form.spoiler.marked": "Elimina l'avís de contingut",
"compose_form.spoiler.unmarked": "Afegeix avís de contingut", "compose_form.spoiler.unmarked": "Afegeix avís de contingut",
"compose_form.spoiler_placeholder": "Escriu l'avís aquí", "compose_form.spoiler_placeholder": "Avís de contingut (opcional)",
"confirmation_modal.cancel": "Cancel·la", "confirmation_modal.cancel": "Cancel·la",
"confirmations.block.block_and_report": "Bloca i denuncia", "confirmations.block.block_and_report": "Bloca i denuncia",
"confirmations.block.confirm": "Bloca", "confirmations.block.confirm": "Bloca",
@ -280,6 +277,17 @@
"follow_request.authorize": "Autoritza", "follow_request.authorize": "Autoritza",
"follow_request.reject": "Rebutja", "follow_request.reject": "Rebutja",
"follow_requests.unlocked_explanation": "Tot i que el teu compte no està blocat, el personal de {domain} ha pensat que és possible que vulguis revisar manualment les sol·licituds de seguiment daquests comptes.", "follow_requests.unlocked_explanation": "Tot i que el teu compte no està blocat, el personal de {domain} ha pensat que és possible que vulguis revisar manualment les sol·licituds de seguiment daquests comptes.",
"follow_suggestions.curated_suggestion": "Tria de l'equip",
"follow_suggestions.dismiss": "No ho tornis a mostrar",
"follow_suggestions.hints.featured": "L'equip de {domain} ha seleccionat aquest perfil.",
"follow_suggestions.hints.friends_of_friends": "Aquest perfil és popular entre la gent que seguiu.",
"follow_suggestions.hints.most_followed": "Aquest perfil és un dels més seguits a {domain}.",
"follow_suggestions.hints.most_interactions": "Aquest perfil ha estat rebent un munt d'atenció recentment a {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "Aquest perfil és similar a d'altres que heu seguit recentment.",
"follow_suggestions.personalized_suggestion": "Suggeriment personalitzat",
"follow_suggestions.popular_suggestion": "Suggeriment popular",
"follow_suggestions.view_all": "Mostra-ho tot",
"follow_suggestions.who_to_follow": "A qui seguir",
"followed_tags": "Etiquetes seguides", "followed_tags": "Etiquetes seguides",
"footer.about": "Quant a", "footer.about": "Quant a",
"footer.directory": "Directori de perfils", "footer.directory": "Directori de perfils",
@ -306,13 +314,9 @@
"hashtag.follow": "Segueix l'etiqueta", "hashtag.follow": "Segueix l'etiqueta",
"hashtag.unfollow": "Deixa de seguir l'etiqueta", "hashtag.unfollow": "Deixa de seguir l'etiqueta",
"hashtags.and_other": "…i {count, plural, other {# més}}", "hashtags.and_other": "…i {count, plural, other {# més}}",
"home.actions.go_to_explore": "Mira què és tendència",
"home.actions.go_to_suggestions": "Troba persones a seguir",
"home.column_settings.basic": "Bàsic", "home.column_settings.basic": "Bàsic",
"home.column_settings.show_reblogs": "Mostra els impulsos", "home.column_settings.show_reblogs": "Mostra els impulsos",
"home.column_settings.show_replies": "Mostra les respostes", "home.column_settings.show_replies": "Mostra les respostes",
"home.explore_prompt.body": "La teva línia de temps Inici tindrà una barreja dels tuts de les etiquetes que has triat seguir, de les persones que has triat seguir i dels tuts que s'impulsen. Ara mateix es veu força tranquil·la, què et sembla si:",
"home.explore_prompt.title": "Aquesta és la teva base inicial a Mastodon.",
"home.hide_announcements": "Amaga els anuncis", "home.hide_announcements": "Amaga els anuncis",
"home.pending_critical_update.body": "Si us plau actualitza el teu servidor Mastodon tant aviat com sigui possible!", "home.pending_critical_update.body": "Si us plau actualitza el teu servidor Mastodon tant aviat com sigui possible!",
"home.pending_critical_update.link": "Veure actualitzacions", "home.pending_critical_update.link": "Veure actualitzacions",
@ -408,7 +412,6 @@
"navigation_bar.direct": "Mencions privades", "navigation_bar.direct": "Mencions privades",
"navigation_bar.discover": "Descobreix", "navigation_bar.discover": "Descobreix",
"navigation_bar.domain_blocks": "Dominis blocats", "navigation_bar.domain_blocks": "Dominis blocats",
"navigation_bar.edit_profile": "Edita el perfil",
"navigation_bar.explore": "Explora", "navigation_bar.explore": "Explora",
"navigation_bar.favourites": "Favorits", "navigation_bar.favourites": "Favorits",
"navigation_bar.filters": "Paraules silenciades", "navigation_bar.filters": "Paraules silenciades",
@ -526,14 +529,15 @@
"poll_button.add_poll": "Afegeix una enquesta", "poll_button.add_poll": "Afegeix una enquesta",
"poll_button.remove_poll": "Elimina l'enquesta", "poll_button.remove_poll": "Elimina l'enquesta",
"privacy.change": "Canvia la privacitat del tut", "privacy.change": "Canvia la privacitat del tut",
"privacy.direct.long": "Visible només per als usuaris esmentats", "privacy.direct.long": "Tothom mencionat a la publicació",
"privacy.direct.short": "Només gent mencionada", "privacy.direct.short": "Persones concretes",
"privacy.private.long": "Visible només per als seguidors", "privacy.private.long": "Només els vostres seguidors",
"privacy.private.short": "Només seguidors", "privacy.private.short": "Seguidors",
"privacy.public.long": "Visible per a tothom", "privacy.public.long": "Tothom dins o fora Mastodon",
"privacy.public.short": "Públic", "privacy.public.short": "Públic",
"privacy.unlisted.long": "Visible per a tothom però exclosa de les funcions de descobriment", "privacy.unlisted.additional": "Es comporta igual que públic, excepte que la publicació no apareixerà als canals en directe o etiquetes, l'explora o a la cerca de Mastodon, fins i tot si ho heu activat a nivell de compte.",
"privacy.unlisted.short": "No llistada", "privacy.unlisted.long": "Menys fanfàrries algorísmiques",
"privacy.unlisted.short": "Públic silenciós",
"privacy_policy.last_updated": "Darrera actualització {date}", "privacy_policy.last_updated": "Darrera actualització {date}",
"privacy_policy.title": "Política de Privacitat", "privacy_policy.title": "Política de Privacitat",
"recommended": "Recomanat", "recommended": "Recomanat",
@ -551,7 +555,9 @@
"relative_time.minutes": "{number}min", "relative_time.minutes": "{number}min",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "avui", "relative_time.today": "avui",
"reply_indicator.attachments": "{count, plural, one {# adjunt} other {# adjunts}}",
"reply_indicator.cancel": "Cancel·la", "reply_indicator.cancel": "Cancel·la",
"reply_indicator.poll": "Enquesta",
"report.block": "Bloca", "report.block": "Bloca",
"report.block_explanation": "No veuràs els seus tuts. Ells no podran veure els teus tuts ni et podran seguir. Podran saber que estan blocats.", "report.block_explanation": "No veuràs els seus tuts. Ells no podran veure els teus tuts ni et podran seguir. Podran saber que estan blocats.",
"report.categories.legal": "Legal", "report.categories.legal": "Legal",
@ -715,10 +721,8 @@
"upload_error.poll": "No es permet carregar fitxers a les enquestes.", "upload_error.poll": "No es permet carregar fitxers a les enquestes.",
"upload_form.audio_description": "Descriu-ho per a persones amb problemes d'audició", "upload_form.audio_description": "Descriu-ho per a persones amb problemes d'audició",
"upload_form.description": "Descriu-ho per a persones amb problemes de visió", "upload_form.description": "Descriu-ho per a persones amb problemes de visió",
"upload_form.description_missing": "No s'hi ha afegit cap descripció",
"upload_form.edit": "Edita", "upload_form.edit": "Edita",
"upload_form.thumbnail": "Canvia la miniatura", "upload_form.thumbnail": "Canvia la miniatura",
"upload_form.undo": "Elimina",
"upload_form.video_description": "Descriu-ho per a persones amb problemes de visió o audició", "upload_form.video_description": "Descriu-ho per a persones amb problemes de visió o audició",
"upload_modal.analyzing_picture": "S'analitza la imatge…", "upload_modal.analyzing_picture": "S'analitza la imatge…",
"upload_modal.apply": "Aplica", "upload_modal.apply": "Aplica",

@ -17,9 +17,11 @@
"account.badges.group": "گرووپ", "account.badges.group": "گرووپ",
"account.block": "بلۆکی @{name}", "account.block": "بلۆکی @{name}",
"account.block_domain": "بلۆکی هەموو شتێک لە {domain}", "account.block_domain": "بلۆکی هەموو شتێک لە {domain}",
"account.block_short": "بلۆک",
"account.blocked": "بلۆککرا", "account.blocked": "بلۆککرا",
"account.browse_more_on_origin_server": "گەڕانی فرەتر لە سەر پرۆفایلی سەرەکی", "account.browse_more_on_origin_server": "گەڕانی فرەتر لە سەر پرۆفایلی سەرەکی",
"account.cancel_follow_request": "داواکاری فۆڵۆو بکشێنەوە", "account.cancel_follow_request": "داواکاری فۆڵۆو بکشێنەوە",
"account.copy": "ڕوونووسی بەستەر بۆ توت",
"account.direct": "بە شێوەیەکی تایبەت باسی @{name} بکە", "account.direct": "بە شێوەیەکی تایبەت باسی @{name} بکە",
"account.disable_notifications": "ئاگانامە مەنێرە بۆم کاتێک @{name} پۆست دەکرێت", "account.disable_notifications": "ئاگانامە مەنێرە بۆم کاتێک @{name} پۆست دەکرێت",
"account.domain_blocked": "دۆمەین قەپاتکرا", "account.domain_blocked": "دۆمەین قەپاتکرا",
@ -30,6 +32,7 @@
"account.featured_tags.last_status_never": "هیچ پۆستێک نییە", "account.featured_tags.last_status_never": "هیچ پۆستێک نییە",
"account.featured_tags.title": "هاشتاگە تایبەتەکانی {name}", "account.featured_tags.title": "هاشتاگە تایبەتەکانی {name}",
"account.follow": "بەدواداچوون", "account.follow": "بەدواداچوون",
"account.follow_back": "فۆڵۆو بکەنەوە",
"account.followers": "شوێنکەوتووان", "account.followers": "شوێنکەوتووان",
"account.followers.empty": "کەسێک شوێن ئەم بەکارهێنەرە نەکەوتووە", "account.followers.empty": "کەسێک شوێن ئەم بەکارهێنەرە نەکەوتووە",
"account.followers_counter": "{count, plural, one {{counter} شوێنکەوتوو} other {{counter} شوێنکەوتوو}}", "account.followers_counter": "{count, plural, one {{counter} شوێنکەوتوو} other {{counter} شوێنکەوتوو}}",
@ -38,6 +41,7 @@
"account.follows.empty": "ئەم بەکارهێنەرە تا ئێستا شوێن کەس نەکەوتووە.", "account.follows.empty": "ئەم بەکارهێنەرە تا ئێستا شوێن کەس نەکەوتووە.",
"account.go_to_profile": "بڕۆ بۆ پڕۆفایلی", "account.go_to_profile": "بڕۆ بۆ پڕۆفایلی",
"account.hide_reblogs": "داشاردنی بووستەکان لە @{name}", "account.hide_reblogs": "داشاردنی بووستەکان لە @{name}",
"account.in_memoriam": "لە یادەوەریدا.",
"account.joined_short": "بەشداری کردووە", "account.joined_short": "بەشداری کردووە",
"account.languages": "گۆڕینی زمانە بەشداربووەکان", "account.languages": "گۆڕینی زمانە بەشداربووەکان",
"account.link_verified_on": "خاوەنداریەتی ئەم لینکە لە {date} چێک کراوە", "account.link_verified_on": "خاوەنداریەتی ئەم لینکە لە {date} چێک کراوە",
@ -46,7 +50,11 @@
"account.mention": "ئاماژە @{name}", "account.mention": "ئاماژە @{name}",
"account.moved_to": "{name} ئاماژەی بەوە کردووە کە ئەکاونتە نوێیەکەیان ئێستا:", "account.moved_to": "{name} ئاماژەی بەوە کردووە کە ئەکاونتە نوێیەکەیان ئێستا:",
"account.mute": "بێدەنگکردن @{name}", "account.mute": "بێدەنگکردن @{name}",
"account.mute_notifications_short": "پاڵ بە ئاگادارکردنەوەکانەوە بنێ",
"account.mute_short": "بێدەنگ",
"account.muted": "بێ دەنگ", "account.muted": "بێ دەنگ",
"account.mutual": "دوولایەنە",
"account.no_bio": "هیچ وەسفێک نەخراوەتەڕوو.",
"account.open_original_page": "لاپەڕەی ئەسڵی بکەرەوە", "account.open_original_page": "لاپەڕەی ئەسڵی بکەرەوە",
"account.posts": "نووسراوەکان", "account.posts": "نووسراوەکان",
"account.posts_with_replies": "توتس و وەڵامەکان", "account.posts_with_replies": "توتس و وەڵامەکان",
@ -62,6 +70,7 @@
"account.unendorse": "تایبەتمەندی لەسەر پرۆفایلەکە نیە", "account.unendorse": "تایبەتمەندی لەسەر پرۆفایلەکە نیە",
"account.unfollow": "بەدوادانەچو", "account.unfollow": "بەدوادانەچو",
"account.unmute": "بێدەنگکردنی @{name}", "account.unmute": "بێدەنگکردنی @{name}",
"account.unmute_notifications_short": "ئاگادارکردنەوەکان بێدەنگ بکەرەوە",
"account.unmute_short": "بێدەنگی مەکە", "account.unmute_short": "بێدەنگی مەکە",
"account_note.placeholder": "کرتەبکە بۆ زیادکردنی تێبینی", "account_note.placeholder": "کرتەبکە بۆ زیادکردنی تێبینی",
"admin.dashboard.daily_retention": "ڕێژەی مانەوەی بەکارهێنەر بەپێی ڕۆژ دوای ناو تۆمارکردن", "admin.dashboard.daily_retention": "ڕێژەی مانەوەی بەکارهێنەر بەپێی ڕۆژ دوای ناو تۆمارکردن",
@ -69,6 +78,10 @@
"admin.dashboard.retention.average": "ڕێژە", "admin.dashboard.retention.average": "ڕێژە",
"admin.dashboard.retention.cohort": "چوونەژوورەوەی مانگانە", "admin.dashboard.retention.cohort": "چوونەژوورەوەی مانگانە",
"admin.dashboard.retention.cohort_size": "ئەندامی نوێ", "admin.dashboard.retention.cohort_size": "ئەندامی نوێ",
"admin.impact_report.instance_accounts": "پڕۆفایلی هەژمارەکان ئەمە دەسڕێتەوە",
"admin.impact_report.instance_followers": "فۆڵۆوەرەکان بەکارهێنەران لەدەست دەدەن",
"admin.impact_report.instance_follows": "فۆڵۆوەرەکان ئەمبەکارهێنەرە لەدەست دەدەن",
"admin.impact_report.title": "پوختەی کاریگەرییەکان",
"alert.rate_limited.message": "تکایە هەوڵبدەرەوە دوای {retry_time, time, medium}.", "alert.rate_limited.message": "تکایە هەوڵبدەرەوە دوای {retry_time, time, medium}.",
"alert.rate_limited.title": "ڕێژەی سنووردار", "alert.rate_limited.title": "ڕێژەی سنووردار",
"alert.unexpected.message": "هەڵەیەکی چاوەڕوان نەکراو ڕوویدا.", "alert.unexpected.message": "هەڵەیەکی چاوەڕوان نەکراو ڕوویدا.",
@ -76,7 +89,6 @@
"announcement.announcement": "بانگەواز", "announcement.announcement": "بانگەواز",
"attachments_list.unprocessed": "(unprocessed)", "attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "شاردنەوەی دەنگ", "audio.hide": "شاردنەوەی دەنگ",
"autosuggest_hashtag.per_week": "{count} هەرهەفتە",
"boost_modal.combo": "دەتوانیت دەست بنێی بە سەر {combo} بۆ بازدان لە جاری داهاتوو", "boost_modal.combo": "دەتوانیت دەست بنێی بە سەر {combo} بۆ بازدان لە جاری داهاتوو",
"bundle_column_error.copy_stacktrace": "ڕاپۆرتی هەڵەی کۆپی بکە", "bundle_column_error.copy_stacktrace": "ڕاپۆرتی هەڵەی کۆپی بکە",
"bundle_column_error.error.body": "لاپەڕەی داواکراو نەتوانرا ڕەندەر بکرێت. دەکرێت بەهۆی هەڵەیەکی کۆدەکەمانەوە بێت، یان کێشەی گونجانی وێبگەڕ.", "bundle_column_error.error.body": "لاپەڕەی داواکراو نەتوانرا ڕەندەر بکرێت. دەکرێت بەهۆی هەڵەیەکی کۆدەکەمانەوە بێت، یان کێشەی گونجانی وێبگەڕ.",
@ -102,6 +114,8 @@
"column.direct": "ئاماژەی تایبەت", "column.direct": "ئاماژەی تایبەت",
"column.directory": "گەڕان لە پرۆفایلەکان", "column.directory": "گەڕان لە پرۆفایلەکان",
"column.domain_blocks": "دۆمەینە داخراوەکان", "column.domain_blocks": "دۆمەینە داخراوەکان",
"column.favourites": "دڵخوازەکان",
"column.firehose": "فیدی ڕاستەوخۆ",
"column.follow_requests": "بەدواداچوی داواکاریەکان بکە", "column.follow_requests": "بەدواداچوی داواکاریەکان بکە",
"column.home": "سەرەتا", "column.home": "سەرەتا",
"column.lists": "پێرست", "column.lists": "پێرست",
@ -122,28 +136,29 @@
"community.column_settings.remote_only": "تەنها بۆ دوور", "community.column_settings.remote_only": "تەنها بۆ دوور",
"compose.language.change": "گۆڕینی زمان", "compose.language.change": "گۆڕینی زمان",
"compose.language.search": "گەڕان بە زمانەکان...", "compose.language.search": "گەڕان بە زمانەکان...",
"compose.published.body": "پۆست بڵاوکراوەتەوە.",
"compose.published.open": "بیکەوە",
"compose.saved.body": "پۆستەکە سەیڤ کراوە.",
"compose_form.direct_message_warning_learn_more": "زیاتر فێربه", "compose_form.direct_message_warning_learn_more": "زیاتر فێربه",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "ئەم بڵاوکراوەیە لە ژێر هیچ هاشتاگێکدا دا نانرێت وەک ئەوەیە، کە گشتی نەبێت. تەنها بڵاوکراوە گشتیەکان دەتوانرێ بە هاشتاگ گەڕانی بۆ بکرێت.", "compose_form.hashtag_warning": "ئەم بڵاوکراوەیە لە ژێر هیچ هاشتاگێکدا دا نانرێت وەک ئەوەیە، کە گشتی نەبێت. تەنها بڵاوکراوە گشتیەکان دەتوانرێ بە هاشتاگ گەڕانی بۆ بکرێت.",
"compose_form.lock_disclaimer": "هەژمێرەکەی لە حاڵەتی {locked}. هەر کەسێک دەتوانێت شوێنت بکەوێت بۆ پیشاندانی بابەتەکانی تەنها دوایخۆی.", "compose_form.lock_disclaimer": "هەژمێرەکەی لە حاڵەتی {locked}. هەر کەسێک دەتوانێت شوێنت بکەوێت بۆ پیشاندانی بابەتەکانی تەنها دوایخۆی.",
"compose_form.lock_disclaimer.lock": "قفڵ دراوە", "compose_form.lock_disclaimer.lock": "قفڵ دراوە",
"compose_form.placeholder": "چی لە مێشکتدایە?", "compose_form.placeholder": "چی لە مێشکتدایە?",
"compose_form.poll.add_option": "زیادکردنی هەڵبژاردەیەک",
"compose_form.poll.duration": "ماوەی ڕاپرسی", "compose_form.poll.duration": "ماوەی ڕاپرسی",
"compose_form.poll.option_placeholder": "هەڵبژاردن {number}", "compose_form.poll.multiple": "فرە هەڵبژاردە",
"compose_form.poll.remove_option": "لابردنی ئەم هەڵبژاردەیە", "compose_form.poll.option_placeholder": "بژاردەی {number}",
"compose_form.poll.single": "یەکێك هەلبژێرە",
"compose_form.poll.switch_to_multiple": "ڕاپرسی بگۆڕە بۆ ڕێگەدان بە چەند هەڵبژاردنێک", "compose_form.poll.switch_to_multiple": "ڕاپرسی بگۆڕە بۆ ڕێگەدان بە چەند هەڵبژاردنێک",
"compose_form.poll.switch_to_single": "گۆڕینی ڕاپرسی بۆ ڕێگەدان بە تاکە هەڵبژاردنێک", "compose_form.poll.switch_to_single": "گۆڕینی ڕاپرسی بۆ ڕێگەدان بە تاکە هەڵبژاردنێک",
"compose_form.publish": "بڵاوی بکەوە", "compose_form.poll.type": "ستایڵ",
"compose_form.publish": "پۆست",
"compose_form.publish_form": "بڵاوی بکەوە", "compose_form.publish_form": "بڵاوی بکەوە",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "وەڵام",
"compose_form.save_changes": "پاشکەوتی گۆڕانکاریەکان", "compose_form.save_changes": "نوێکردنەوە",
"compose_form.sensitive.hide": "نیشانکردنی میدیا وەک هەستیار",
"compose_form.sensitive.marked": "وادەی کۆتایی",
"compose_form.sensitive.unmarked": "میدیا وەک هەستیار نیشان نەکراوە",
"compose_form.spoiler.marked": "دەق لە پشت ئاگاداریدا شاراوەتەوە", "compose_form.spoiler.marked": "دەق لە پشت ئاگاداریدا شاراوەتەوە",
"compose_form.spoiler.unmarked": "دەق شاراوە نییە", "compose_form.spoiler.unmarked": "دەق شاراوە نییە",
"compose_form.spoiler_placeholder": "ئاگاداریەکەت لێرە بنووسە", "compose_form.spoiler_placeholder": "ئاگادارکردنەوەی ناوەڕۆک (ئیختیاری)",
"confirmation_modal.cancel": "هەڵوەشاندنەوه", "confirmation_modal.cancel": "هەڵوەشاندنەوه",
"confirmations.block.block_and_report": "بلۆک & گوزارشت", "confirmations.block.block_and_report": "بلۆک & گوزارشت",
"confirmations.block.confirm": "بلۆک", "confirmations.block.confirm": "بلۆک",
@ -166,6 +181,7 @@
"confirmations.mute.explanation": "ئەمەش دەبێتە هۆی شاردنەوەی پۆستەکان یان ئەو بابەتانەی کە ئاماژەیان پێ دەکات ، بەڵام هێشتا ڕێگەیان پێ دەدات کە پۆستەکانتان ببینن و شوێنتان بکەون.", "confirmations.mute.explanation": "ئەمەش دەبێتە هۆی شاردنەوەی پۆستەکان یان ئەو بابەتانەی کە ئاماژەیان پێ دەکات ، بەڵام هێشتا ڕێگەیان پێ دەدات کە پۆستەکانتان ببینن و شوێنتان بکەون.",
"confirmations.mute.message": "ئایا دڵنیایت لەوەی دەتەوێت بیلێیت {name}?", "confirmations.mute.message": "ئایا دڵنیایت لەوەی دەتەوێت بیلێیت {name}?",
"confirmations.redraft.confirm": "سڕینەوە & دووبارە ڕەشکردنەوە", "confirmations.redraft.confirm": "سڕینەوە & دووبارە ڕەشکردنەوە",
"confirmations.redraft.message": "دڵنیای دەتەوێت ئەم پۆستە بسڕیتەوە و دووبارە دایبڕێژیتەوە؟ فەڤۆریت و بووستەکان لەدەست دەچن، وەڵامەکانی پۆستە ئەسڵیەکەش هەتیو دەبن.",
"confirmations.reply.confirm": "وەڵام", "confirmations.reply.confirm": "وەڵام",
"confirmations.reply.message": "وەڵامدانەوە ئێستا ئەو نامەیە ی کە تۆ ئێستا دایڕشتووە، دەنووسێتەوە. ئایا دڵنیایت کە دەتەوێت بەردەوام بیت?", "confirmations.reply.message": "وەڵامدانەوە ئێستا ئەو نامەیە ی کە تۆ ئێستا دایڕشتووە، دەنووسێتەوە. ئایا دڵنیایت کە دەتەوێت بەردەوام بیت?",
"confirmations.unfollow.confirm": "بەدوادانەچو", "confirmations.unfollow.confirm": "بەدوادانەچو",
@ -174,7 +190,9 @@
"conversation.mark_as_read": "نیشانەکردن وەک خوێندراوە", "conversation.mark_as_read": "نیشانەکردن وەک خوێندراوە",
"conversation.open": "نیشاندان گفتوگۆ", "conversation.open": "نیشاندان گفتوگۆ",
"conversation.with": "لەگەڵ{names}", "conversation.with": "لەگەڵ{names}",
"copy_icon_button.copied": "کۆپی کراوە بۆ کلیپبۆرد",
"copypaste.copied": "کۆپی کراوە", "copypaste.copied": "کۆپی کراوە",
"copypaste.copy_to_clipboard": "کۆپی کراوە بۆ کلیپبۆرد",
"directory.federated": "لە ڕاژەکانی ناسراو", "directory.federated": "لە ڕاژەکانی ناسراو",
"directory.local": "تەنها لە {domain}", "directory.local": "تەنها لە {domain}",
"directory.new_arrivals": "تازە گەیشتنەکان", "directory.new_arrivals": "تازە گەیشتنەکان",
@ -184,6 +202,7 @@
"dismissable_banner.community_timeline": "ئەمانە دوایین پۆستی گشتی ئەو کەسانەن کە ئەکاونتەکانیان لەلایەن {domain}ەوە هۆست کراوە.", "dismissable_banner.community_timeline": "ئەمانە دوایین پۆستی گشتی ئەو کەسانەن کە ئەکاونتەکانیان لەلایەن {domain}ەوە هۆست کراوە.",
"dismissable_banner.dismiss": "بەلاوە نان", "dismissable_banner.dismiss": "بەلاوە نان",
"dismissable_banner.explore_links": "ئەم هەواڵانە لە ئێستادا لەلایەن کەسانێکەوە لەسەر ئەم سێرڤەرە و سێرڤەرەکانی تری تۆڕی لامەرکەزی باس دەکرێن.", "dismissable_banner.explore_links": "ئەم هەواڵانە لە ئێستادا لەلایەن کەسانێکەوە لەسەر ئەم سێرڤەرە و سێرڤەرەکانی تری تۆڕی لامەرکەزی باس دەکرێن.",
"dismissable_banner.explore_statuses": "ئەمانە پۆستەکانن لە سەرانسەری وێبی کۆمەڵایەتی کە ئەمڕۆ کێشکردنیان بەدەستهێناوە. پۆستە نوێیەکان کە بووست و فەڤریتی زیاتریان هەیە ڕیزبەندی بەرزتریان هەیە.",
"dismissable_banner.explore_tags": "ئەم هاشتاگانە لە ئێستادا لە نێو خەڵکی سەر ئەم سێرڤەرە و سێرڤەرەکانی تری تۆڕی لامەرکەزیدا جێگەی خۆیان دەگرن.", "dismissable_banner.explore_tags": "ئەم هاشتاگانە لە ئێستادا لە نێو خەڵکی سەر ئەم سێرڤەرە و سێرڤەرەکانی تری تۆڕی لامەرکەزیدا جێگەی خۆیان دەگرن.",
"embed.instructions": "ئەم توتە بنچین بکە لەسەر وێب سایتەکەت بە کۆپیکردنی کۆدەکەی خوارەوە.", "embed.instructions": "ئەم توتە بنچین بکە لەسەر وێب سایتەکەت بە کۆپیکردنی کۆدەکەی خوارەوە.",
"embed.preview": "ئەمە ئەو شتەیە کە لە شێوەی خۆی دەچێت:", "embed.preview": "ئەمە ئەو شتەیە کە لە شێوەی خۆی دەچێت:",
@ -227,6 +246,7 @@
"errors.unexpected_crash.copy_stacktrace": "کۆپیکردنی ستێکتراسی بۆ کلیپ بۆرد", "errors.unexpected_crash.copy_stacktrace": "کۆپیکردنی ستێکتراسی بۆ کلیپ بۆرد",
"errors.unexpected_crash.report_issue": "کێشەی گوزارشت", "errors.unexpected_crash.report_issue": "کێشەی گوزارشت",
"explore.search_results": "ئەنجامەکانی گەڕان", "explore.search_results": "ئەنجامەکانی گەڕان",
"explore.suggested_follows": "خەڵک",
"explore.title": "گەڕان", "explore.title": "گەڕان",
"explore.trending_links": "هەواڵەکان", "explore.trending_links": "هەواڵەکان",
"explore.trending_statuses": "بڵاوکراوەکان", "explore.trending_statuses": "بڵاوکراوەکان",
@ -247,9 +267,16 @@
"filter_modal.select_filter.subtitle": "بەکارهێنانی پۆلێنی بەردەست یان دروستکردنی پۆلێنێکی نوێ", "filter_modal.select_filter.subtitle": "بەکارهێنانی پۆلێنی بەردەست یان دروستکردنی پۆلێنێکی نوێ",
"filter_modal.select_filter.title": "ئەم بڵاوکراوەیە بپاڵێوە", "filter_modal.select_filter.title": "ئەم بڵاوکراوەیە بپاڵێوە",
"filter_modal.title.status": "بڵاوکراوەیەک بپاڵێوە", "filter_modal.title.status": "بڵاوکراوەیەک بپاڵێوە",
"firehose.all": "هەموو",
"firehose.local": "لەسەر ئەم ڕاژەیە",
"firehose.remote": "ڕاژەکانی دی",
"follow_request.authorize": "ده‌سه‌ڵاتپێدراو", "follow_request.authorize": "ده‌سه‌ڵاتپێدراو",
"follow_request.reject": "ڕەتکردنەوە", "follow_request.reject": "ڕەتکردنەوە",
"follow_requests.unlocked_explanation": "هەرچەندە هەژمارەکەت داخراو نییە، ستافی {domain} وا بیریان کردەوە کە لەوانەیە بتانەوێت پێداچوونەوە بە داواکاریەکانی ئەم هەژمارەدا بکەن بە دەستی.", "follow_requests.unlocked_explanation": "هەرچەندە هەژمارەکەت داخراو نییە، ستافی {domain} وا بیریان کردەوە کە لەوانەیە بتانەوێت پێداچوونەوە بە داواکاریەکانی ئەم هەژمارەدا بکەن بە دەستی.",
"follow_suggestions.curated_suggestion": "ستاف هەڵبژاردنی",
"follow_suggestions.dismiss": "دوبارە پشانی مەدە",
"follow_suggestions.view_all": "بینینی هەموو",
"follow_suggestions.who_to_follow": "دواکەوتنی کێ",
"followed_tags": "هاشتاگە شوێنکەوتووەکان", "followed_tags": "هاشتاگە شوێنکەوتووەکان",
"footer.about": "دەربارە", "footer.about": "دەربارە",
"footer.directory": "ڕابەری پەڕەی ناساندن", "footer.directory": "ڕابەری پەڕەی ناساندن",
@ -270,6 +297,7 @@
"hashtag.column_settings.tag_mode.any": "هەر کام لەمانە", "hashtag.column_settings.tag_mode.any": "هەر کام لەمانە",
"hashtag.column_settings.tag_mode.none": "هیچ کام لەمانە", "hashtag.column_settings.tag_mode.none": "هیچ کام لەمانە",
"hashtag.column_settings.tag_toggle": "تاگی زیادە ی ئەم ستوونە لەخۆ بنووسە", "hashtag.column_settings.tag_toggle": "تاگی زیادە ی ئەم ستوونە لەخۆ بنووسە",
"hashtag.counter_by_accounts": "{count, plural, one {{counter} participant} other {{counter} participants}}",
"hashtag.follow": "شوێنکەوتنی هاشتاگ", "hashtag.follow": "شوێنکەوتنی هاشتاگ",
"hashtag.unfollow": "شوێن نەکەوتنی هاشتاگ", "hashtag.unfollow": "شوێن نەکەوتنی هاشتاگ",
"home.column_settings.basic": "بنەڕەتی", "home.column_settings.basic": "بنەڕەتی",
@ -354,7 +382,6 @@
"navigation_bar.direct": "ئاماژەی تایبەت", "navigation_bar.direct": "ئاماژەی تایبەت",
"navigation_bar.discover": "دۆزینەوە", "navigation_bar.discover": "دۆزینەوە",
"navigation_bar.domain_blocks": "دۆمەینە بلۆک کراوەکان", "navigation_bar.domain_blocks": "دۆمەینە بلۆک کراوەکان",
"navigation_bar.edit_profile": "دەستکاری پرۆفایل بکە",
"navigation_bar.explore": "گەڕان", "navigation_bar.explore": "گەڕان",
"navigation_bar.filters": "وشە کپەکان", "navigation_bar.filters": "وشە کپەکان",
"navigation_bar.follow_requests": "بەدواداچوی داواکاریەکان بکە", "navigation_bar.follow_requests": "بەدواداچوی داواکاریەکان بکە",
@ -439,14 +466,7 @@
"poll_button.add_poll": "ڕاپرسییەک زیاد بکە", "poll_button.add_poll": "ڕاپرسییەک زیاد بکە",
"poll_button.remove_poll": "ده‌نگدان بسڕه‌وه‌‌", "poll_button.remove_poll": "ده‌نگدان بسڕه‌وه‌‌",
"privacy.change": "ڕێکخستنی تایبەتمەندی توت", "privacy.change": "ڕێکخستنی تایبەتمەندی توت",
"privacy.direct.long": "تەنیا بۆ بەکارهێنەرانی ناوبراو",
"privacy.direct.short": "تەنها کەسانی باس کراو",
"privacy.private.long": "بینراو تەنها بۆ شوێنکەوتوان",
"privacy.private.short": "تەنیا شوێنکەوتووان",
"privacy.public.long": "بۆ هەمووان دیارە",
"privacy.public.short": "گشتی", "privacy.public.short": "گشتی",
"privacy.unlisted.long": "بۆ هەمووان دیارە، بەڵام لە تایبەتمەندییەکانی دۆزینەوە دەرچووە",
"privacy.unlisted.short": "لە لیست نەکراو",
"privacy_policy.last_updated": "دوایین نوێکردنەوە {date}", "privacy_policy.last_updated": "دوایین نوێکردنەوە {date}",
"privacy_policy.title": "سیاسەتی تایبەتێتی", "privacy_policy.title": "سیاسەتی تایبەتێتی",
"refresh": "نوێکردنەوە", "refresh": "نوێکردنەوە",
@ -610,10 +630,8 @@
"upload_error.poll": "فایل و ڕاپرسی پێکەوە ڕێپێنەدراون.", "upload_error.poll": "فایل و ڕاپرسی پێکەوە ڕێپێنەدراون.",
"upload_form.audio_description": "پەیامەکەت بۆ نابیستەکان", "upload_form.audio_description": "پەیامەکەت بۆ نابیستەکان",
"upload_form.description": "پەیامەکەت بۆ نابیناکان", "upload_form.description": "پەیامەکەت بۆ نابیناکان",
"upload_form.description_missing": "هیچ وەسفێک زیاد نەکراوە",
"upload_form.edit": "دەستکاری", "upload_form.edit": "دەستکاری",
"upload_form.thumbnail": "گۆڕانی وینۆچکە", "upload_form.thumbnail": "گۆڕانی وینۆچکە",
"upload_form.undo": "بیسڕەوە",
"upload_form.video_description": "پەیامەکەت بۆ نابیست و نابیناکان", "upload_form.video_description": "پەیامەکەت بۆ نابیست و نابیناکان",
"upload_modal.analyzing_picture": "وێنەکە شی دەکرێتەوە…", "upload_modal.analyzing_picture": "وێنەکە شی دەکرێتەوە…",
"upload_modal.apply": "بیسەپێنە", "upload_modal.apply": "بیسەپێنە",

@ -45,7 +45,6 @@
"alert.unexpected.title": "Uups!", "alert.unexpected.title": "Uups!",
"announcement.announcement": "Annunziu", "announcement.announcement": "Annunziu",
"attachments_list.unprocessed": "(micca trattata)", "attachments_list.unprocessed": "(micca trattata)",
"autosuggest_hashtag.per_week": "{count} per settimana",
"boost_modal.combo": "Pudete appughjà nant'à {combo} per saltà quessa a prussima volta", "boost_modal.combo": "Pudete appughjà nant'à {combo} per saltà quessa a prussima volta",
"bundle_column_error.retry": "Pruvà torna", "bundle_column_error.retry": "Pruvà torna",
"bundle_modal_error.close": "Chjudà", "bundle_modal_error.close": "Chjudà",
@ -80,20 +79,12 @@
"compose_form.lock_disclaimer": "U vostru contu ùn hè micca {locked}. Tuttu u mondu pò seguitavi è vede i vostri statuti privati.", "compose_form.lock_disclaimer": "U vostru contu ùn hè micca {locked}. Tuttu u mondu pò seguitavi è vede i vostri statuti privati.",
"compose_form.lock_disclaimer.lock": "privatu", "compose_form.lock_disclaimer.lock": "privatu",
"compose_form.placeholder": "À chè pensate?", "compose_form.placeholder": "À chè pensate?",
"compose_form.poll.add_option": "Aghjunghje scelta",
"compose_form.poll.duration": "Durata di u scandagliu", "compose_form.poll.duration": "Durata di u scandagliu",
"compose_form.poll.option_placeholder": "Scelta {number}",
"compose_form.poll.remove_option": "Toglie sta scelta",
"compose_form.poll.switch_to_multiple": "Cambià u scandagliu per accittà parechje scelte", "compose_form.poll.switch_to_multiple": "Cambià u scandagliu per accittà parechje scelte",
"compose_form.poll.switch_to_single": "Cambià u scandagliu per ùn accittà ch'una scelta", "compose_form.poll.switch_to_single": "Cambià u scandagliu per ùn accittà ch'una scelta",
"compose_form.publish_form": "Publish", "compose_form.publish_form": "Publish",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "{count, plural, one {Indicà u media cum'è sensibile} other {Indicà i media cum'è sensibili}}",
"compose_form.sensitive.marked": "{count, plural, one {Media indicatu cum'è sensibile} other {Media indicati cum'è sensibili}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Media micca indicatu cum'è sensibile} other {Media micca indicati cum'è sensibili}}",
"compose_form.spoiler.marked": "Testu piattatu daret'à un'avertimentu", "compose_form.spoiler.marked": "Testu piattatu daret'à un'avertimentu",
"compose_form.spoiler.unmarked": "Testu micca piattatu", "compose_form.spoiler.unmarked": "Testu micca piattatu",
"compose_form.spoiler_placeholder": "Scrive u vostr'avertimentu quì",
"confirmation_modal.cancel": "Annullà", "confirmation_modal.cancel": "Annullà",
"confirmations.block.block_and_report": "Bluccà è signalà", "confirmations.block.block_and_report": "Bluccà è signalà",
"confirmations.block.confirm": "Bluccà", "confirmations.block.confirm": "Bluccà",
@ -245,7 +236,6 @@
"navigation_bar.compose": "Scrive un novu statutu", "navigation_bar.compose": "Scrive un novu statutu",
"navigation_bar.discover": "Scopre", "navigation_bar.discover": "Scopre",
"navigation_bar.domain_blocks": "Duminii piattati", "navigation_bar.domain_blocks": "Duminii piattati",
"navigation_bar.edit_profile": "Mudificà u prufile",
"navigation_bar.filters": "Parolle silenzate", "navigation_bar.filters": "Parolle silenzate",
"navigation_bar.follow_requests": "Dumande d'abbunamentu", "navigation_bar.follow_requests": "Dumande d'abbunamentu",
"navigation_bar.follows_and_followers": "Abbunati è abbunamenti", "navigation_bar.follows_and_followers": "Abbunati è abbunamenti",
@ -318,12 +308,7 @@
"poll_button.add_poll": "Aghjunghje", "poll_button.add_poll": "Aghjunghje",
"poll_button.remove_poll": "Toglie u scandagliu", "poll_button.remove_poll": "Toglie u scandagliu",
"privacy.change": "Mudificà a cunfidenzialità di u statutu", "privacy.change": "Mudificà a cunfidenzialità di u statutu",
"privacy.direct.long": "Mandà solu à quelli chì so mintuvati",
"privacy.direct.short": "Direct",
"privacy.private.long": "Mustrà solu à l'abbunati",
"privacy.private.short": "Followers-only",
"privacy.public.short": "Pubblicu", "privacy.public.short": "Pubblicu",
"privacy.unlisted.short": "Micca listatu",
"refresh": "Attualizà", "refresh": "Attualizà",
"regeneration_indicator.label": "Caricamentu…", "regeneration_indicator.label": "Caricamentu…",
"regeneration_indicator.sublabel": "Priparazione di a vostra pagina d'accolta!", "regeneration_indicator.sublabel": "Priparazione di a vostra pagina d'accolta!",
@ -409,7 +394,6 @@
"upload_form.description": "Discrizzione per i malvistosi", "upload_form.description": "Discrizzione per i malvistosi",
"upload_form.edit": "Mudificà", "upload_form.edit": "Mudificà",
"upload_form.thumbnail": "Cambià vignetta", "upload_form.thumbnail": "Cambià vignetta",
"upload_form.undo": "Sguassà",
"upload_form.video_description": "Discrizzione per i ciochi o cechi", "upload_form.video_description": "Discrizzione per i ciochi o cechi",
"upload_modal.analyzing_picture": "Analisi di u ritrattu…", "upload_modal.analyzing_picture": "Analisi di u ritrattu…",
"upload_modal.apply": "Affettà", "upload_modal.apply": "Affettà",

@ -32,6 +32,7 @@
"account.featured_tags.last_status_never": "Žádné příspěvky", "account.featured_tags.last_status_never": "Žádné příspěvky",
"account.featured_tags.title": "Hlavní hashtagy uživatele {name}", "account.featured_tags.title": "Hlavní hashtagy uživatele {name}",
"account.follow": "Sledovat", "account.follow": "Sledovat",
"account.follow_back": "Také sledovat",
"account.followers": "Sledující", "account.followers": "Sledující",
"account.followers.empty": "Tohoto uživatele zatím nikdo nesleduje.", "account.followers.empty": "Tohoto uživatele zatím nikdo nesleduje.",
"account.followers_counter": "{count, plural, one {{counter} Sledující} few {{counter} Sledující} many {{counter} Sledujících} other {{counter} Sledujících}}", "account.followers_counter": "{count, plural, one {{counter} Sledující} few {{counter} Sledující} many {{counter} Sledujících} other {{counter} Sledujících}}",
@ -52,6 +53,7 @@
"account.mute_notifications_short": "Ztlumit upozornění", "account.mute_notifications_short": "Ztlumit upozornění",
"account.mute_short": "Ztlumit", "account.mute_short": "Ztlumit",
"account.muted": "Skrytý", "account.muted": "Skrytý",
"account.mutual": "Vzájemné",
"account.no_bio": "Nebyl poskytnut žádný popis.", "account.no_bio": "Nebyl poskytnut žádný popis.",
"account.open_original_page": "Otevřít původní stránku", "account.open_original_page": "Otevřít původní stránku",
"account.posts": "Příspěvky", "account.posts": "Příspěvky",
@ -87,7 +89,6 @@
"announcement.announcement": "Oznámení", "announcement.announcement": "Oznámení",
"attachments_list.unprocessed": "(nezpracováno)", "attachments_list.unprocessed": "(nezpracováno)",
"audio.hide": "Skrýt zvuk", "audio.hide": "Skrýt zvuk",
"autosuggest_hashtag.per_week": "{count} za týden",
"boost_modal.combo": "Příště můžete pro přeskočení stisknout {combo}", "boost_modal.combo": "Příště můžete pro přeskočení stisknout {combo}",
"bundle_column_error.copy_stacktrace": "Zkopírovat zprávu o chybě", "bundle_column_error.copy_stacktrace": "Zkopírovat zprávu o chybě",
"bundle_column_error.error.body": "Požadovanou stránku nelze vykreslit. Může to být způsobeno chybou v našem kódu nebo problémem s kompatibilitou prohlížeče.", "bundle_column_error.error.body": "Požadovanou stránku nelze vykreslit. Může to být způsobeno chybou v našem kódu nebo problémem s kompatibilitou prohlížeče.",
@ -144,22 +145,20 @@
"compose_form.lock_disclaimer": "Váš účet není {locked}. Kdokoliv vás může sledovat a vidět vaše příspěvky učené pouze pro sledující.", "compose_form.lock_disclaimer": "Váš účet není {locked}. Kdokoliv vás může sledovat a vidět vaše příspěvky učené pouze pro sledující.",
"compose_form.lock_disclaimer.lock": "zamčený", "compose_form.lock_disclaimer.lock": "zamčený",
"compose_form.placeholder": "Co se vám honí hlavou?", "compose_form.placeholder": "Co se vám honí hlavou?",
"compose_form.poll.add_option": "Přidat volbu",
"compose_form.poll.duration": "Doba trvání ankety", "compose_form.poll.duration": "Doba trvání ankety",
"compose_form.poll.multiple": "Výběr z více možností",
"compose_form.poll.option_placeholder": "Volba {number}", "compose_form.poll.option_placeholder": "Volba {number}",
"compose_form.poll.remove_option": "Odebrat tuto volbu", "compose_form.poll.single": "Vyber jednu",
"compose_form.poll.switch_to_multiple": "Povolit u ankety výběr více voleb", "compose_form.poll.switch_to_multiple": "Povolit u ankety výběr více voleb",
"compose_form.poll.switch_to_single": "Povolit u ankety výběr pouze jedné volby", "compose_form.poll.switch_to_single": "Povolit u ankety výběr pouze jedné volby",
"compose_form.publish": "Zveřejnit", "compose_form.poll.type": "Styl",
"compose_form.publish": "Odeslat",
"compose_form.publish_form": "Zveřejnit", "compose_form.publish_form": "Zveřejnit",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Odpovědět",
"compose_form.save_changes": "Uložit změny", "compose_form.save_changes": "Aktualizovat",
"compose_form.sensitive.hide": "{count, plural, one {Označit média za citlivá} few {Označit média za citlivá} many {Označit média za citlivá} other {Označit média za citlivá}}",
"compose_form.sensitive.marked": "{count, plural, one {Média jsou označena za citlivá} few {Média jsou označena za citlivá} many {Média jsou označena za citlivá} other {Média jsou označena za citlivá}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Média nejsou označena za citlivá} few {Média nejsou označena za citlivá} many {Média nejsou označena za citlivá} other {Média nejsou označena za citlivá}}",
"compose_form.spoiler.marked": "Odebrat varování o obsahu", "compose_form.spoiler.marked": "Odebrat varování o obsahu",
"compose_form.spoiler.unmarked": "Přidat varování o obsahu", "compose_form.spoiler.unmarked": "Přidat varování o obsahu",
"compose_form.spoiler_placeholder": "Sem napište vaše varování", "compose_form.spoiler_placeholder": "Upozornění na obsah (nepovinné)",
"confirmation_modal.cancel": "Zrušit", "confirmation_modal.cancel": "Zrušit",
"confirmations.block.block_and_report": "Blokovat a nahlásit", "confirmations.block.block_and_report": "Blokovat a nahlásit",
"confirmations.block.confirm": "Blokovat", "confirmations.block.confirm": "Blokovat",
@ -238,7 +237,7 @@
"empty_column.follow_requests": "Zatím nemáte žádné žádosti o sledování. Až nějakou obdržíte, zobrazí se zde.", "empty_column.follow_requests": "Zatím nemáte žádné žádosti o sledování. Až nějakou obdržíte, zobrazí se zde.",
"empty_column.followed_tags": "Zatím jste nesledovali žádné hashtagy. Až to uděláte, objeví se zde.", "empty_column.followed_tags": "Zatím jste nesledovali žádné hashtagy. Až to uděláte, objeví se zde.",
"empty_column.hashtag": "Pod tímto hashtagem zde zatím nic není.", "empty_column.hashtag": "Pod tímto hashtagem zde zatím nic není.",
"empty_column.home": "Vaše domovská časová osa je prázdná! Naplňte ji sledováním dalších lidí. {suggestions}", "empty_column.home": "Vaše domovská časová osa je prázdná! Naplňte ji sledováním dalších lidí.",
"empty_column.list": "V tomto seznamu zatím nic není. Až nějaký člen z tohoto seznamu zveřejní nový příspěvek, objeví se zde.", "empty_column.list": "V tomto seznamu zatím nic není. Až nějaký člen z tohoto seznamu zveřejní nový příspěvek, objeví se zde.",
"empty_column.lists": "Zatím nemáte žádné seznamy. Až nějaký vytvoříte, zobrazí se zde.", "empty_column.lists": "Zatím nemáte žádné seznamy. Až nějaký vytvoříte, zobrazí se zde.",
"empty_column.mutes": "Zatím jste neskryli žádného uživatele.", "empty_column.mutes": "Zatím jste neskryli žádného uživatele.",
@ -277,7 +276,18 @@
"firehose.remote": "Ostatní servery", "firehose.remote": "Ostatní servery",
"follow_request.authorize": "Autorizovat", "follow_request.authorize": "Autorizovat",
"follow_request.reject": "Zamítnout", "follow_request.reject": "Zamítnout",
"follow_requests.unlocked_explanation": "Přestože váš účet není zamčený, administrátor {domain} usoudil, že byste mohli chtít tyto žádosti o sledování zkontrolovat ručně.", "follow_requests.unlocked_explanation": "Přestože váš účet není uzamčen, personál {domain} usoudil, že byste mohli chtít tyto požadavky na sledování zkontrolovat ručně.",
"follow_suggestions.curated_suggestion": "Výběr personálů",
"follow_suggestions.dismiss": "Znovu nezobrazovat",
"follow_suggestions.hints.featured": "Tento profil byl ručně vybrán týmem {domain}.",
"follow_suggestions.hints.friends_of_friends": "Tento profil je populární mezi lidmi, které sledujete.",
"follow_suggestions.hints.most_followed": "Tento profil je jedním z nejvíce sledovaných na {domain}.",
"follow_suggestions.hints.most_interactions": "Tento profil nedávno dostalo velkou pozornost na {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "Tento profil je podobný profilům, které jste nedávno sledovali.",
"follow_suggestions.personalized_suggestion": "Přizpůsobený návrh",
"follow_suggestions.popular_suggestion": "Populární návrh",
"follow_suggestions.view_all": "Zobrazit vše",
"follow_suggestions.who_to_follow": "Koho sledovat",
"followed_tags": "Sledované hashtagy", "followed_tags": "Sledované hashtagy",
"footer.about": "O aplikaci", "footer.about": "O aplikaci",
"footer.directory": "Adresář profilů", "footer.directory": "Adresář profilů",
@ -298,15 +308,15 @@
"hashtag.column_settings.tag_mode.any": "Jakýkoliv z těchto", "hashtag.column_settings.tag_mode.any": "Jakýkoliv z těchto",
"hashtag.column_settings.tag_mode.none": "Žádný z těchto", "hashtag.column_settings.tag_mode.none": "Žádný z těchto",
"hashtag.column_settings.tag_toggle": "Zahrnout v tomto sloupci další štítky", "hashtag.column_settings.tag_toggle": "Zahrnout v tomto sloupci další štítky",
"hashtag.counter_by_accounts": "{count, plural, one {{counter} účastník} few {{counter} účastníci} other {{counter} účastníků}}",
"hashtag.counter_by_uses": "{count, plural, one {{counter} příspěvek} few {{counter} příspěvky} other {{counter} příspěvků}}",
"hashtag.counter_by_uses_today": "Dnes {count, plural, one {{counter} příspěvek} few {{counter} příspěvky} other {{counter} příspěvků}}",
"hashtag.follow": "Sledovat hashtag", "hashtag.follow": "Sledovat hashtag",
"hashtag.unfollow": "Přestat sledovat hashtag", "hashtag.unfollow": "Přestat sledovat hashtag",
"home.actions.go_to_explore": "Podívejte se, co frčí", "hashtags.and_other": "…a {count, plural, one {# další} few {# další} other {# dalších}}",
"home.actions.go_to_suggestions": "Najít lidi ke sledování",
"home.column_settings.basic": "Základní", "home.column_settings.basic": "Základní",
"home.column_settings.show_reblogs": "Zobrazit boosty", "home.column_settings.show_reblogs": "Zobrazit boosty",
"home.column_settings.show_replies": "Zobrazit odpovědi", "home.column_settings.show_replies": "Zobrazit odpovědi",
"home.explore_prompt.body": "Váš domovský kanál bude obsahovat směs příspěvků z hashtagů, které jste se rozhodli sledovat, lidí, které jste se rozhodli sledovat, a příspěvků, které boostují. Pokud vám to připadá příliš klidné, možná budete chtít:",
"home.explore_prompt.title": "Toto je vaše domovská základna uvnitř Mastodonu.",
"home.hide_announcements": "Skrýt oznámení", "home.hide_announcements": "Skrýt oznámení",
"home.pending_critical_update.body": "Aktualizujte, prosím, svůj Mastodon server co nejdříve!", "home.pending_critical_update.body": "Aktualizujte, prosím, svůj Mastodon server co nejdříve!",
"home.pending_critical_update.link": "Zobrazit aktualizace", "home.pending_critical_update.link": "Zobrazit aktualizace",
@ -387,6 +397,7 @@
"lists.search": "Hledejte mezi lidmi, které sledujete", "lists.search": "Hledejte mezi lidmi, které sledujete",
"lists.subheading": "Vaše seznamy", "lists.subheading": "Vaše seznamy",
"load_pending": "{count, plural, one {# nová položka} few {# nové položky} many {# nových položek} other {# nových položek}}", "load_pending": "{count, plural, one {# nová položka} few {# nové položky} many {# nových položek} other {# nových položek}}",
"loading_indicator.label": "Načítání…",
"media_gallery.toggle_visible": "{number, plural, one {Skrýt obrázek} few {Skrýt obrázky} many {Skrýt obrázky} other {Skrýt obrázky}}", "media_gallery.toggle_visible": "{number, plural, one {Skrýt obrázek} few {Skrýt obrázky} many {Skrýt obrázky} other {Skrýt obrázky}}",
"moved_to_account_banner.text": "Váš účet {disabledAccount} je momentálně deaktivován, protože jste se přesunul/a na {movedToAccount}.", "moved_to_account_banner.text": "Váš účet {disabledAccount} je momentálně deaktivován, protože jste se přesunul/a na {movedToAccount}.",
"mute_modal.duration": "Trvání", "mute_modal.duration": "Trvání",
@ -401,7 +412,6 @@
"navigation_bar.direct": "Soukromé zmínky", "navigation_bar.direct": "Soukromé zmínky",
"navigation_bar.discover": "Objevit", "navigation_bar.discover": "Objevit",
"navigation_bar.domain_blocks": "Blokované domény", "navigation_bar.domain_blocks": "Blokované domény",
"navigation_bar.edit_profile": "Upravit profil",
"navigation_bar.explore": "Prozkoumat", "navigation_bar.explore": "Prozkoumat",
"navigation_bar.favourites": "Oblíbené", "navigation_bar.favourites": "Oblíbené",
"navigation_bar.filters": "Skrytá slova", "navigation_bar.filters": "Skrytá slova",
@ -473,8 +483,19 @@
"onboarding.actions.go_to_home": "Přejít na svůj domovský feed", "onboarding.actions.go_to_home": "Přejít na svůj domovský feed",
"onboarding.compose.template": "Ahoj #Mastodon!", "onboarding.compose.template": "Ahoj #Mastodon!",
"onboarding.follows.empty": "Bohužel, žádné výsledky nelze momentálně zobrazit. Můžete zkusit vyhledat nebo procházet stránku s průzkumem a najít lidi, kteří budou sledovat, nebo to zkuste znovu později.", "onboarding.follows.empty": "Bohužel, žádné výsledky nelze momentálně zobrazit. Můžete zkusit vyhledat nebo procházet stránku s průzkumem a najít lidi, kteří budou sledovat, nebo to zkuste znovu později.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!", "onboarding.follows.lead": "Domovský kanál je hlavní metodou zažívání Mastodonu. Čím více lidí sledujete, tím aktivnější a zajímavější bude. Pro začnutí, zde máte několik návrhů:",
"onboarding.follows.title": "Populární na Mastodonu", "onboarding.follows.title": "Přispůsobit vlastní domovský kanál",
"onboarding.profile.discoverable": "Udělat svůj profil vyhledatelným",
"onboarding.profile.discoverable_hint": "Když se rozhodnete být vyhledatelný na Mastodonu, vaše příspěvky se mohou objevit ve výsledcích vyhledávání a v populárních, a váš profil může být navrhován lidem s podobnými zájmy.",
"onboarding.profile.display_name": "Zobrazované jméno",
"onboarding.profile.display_name_hint": "Vaše celé jméno nebo přezdívka…",
"onboarding.profile.lead": "Toto můžete vždy dokončit později v nastavení, kde je k dispozici ještě více možností přizpůsobení.",
"onboarding.profile.note": "O vás",
"onboarding.profile.note_hint": "Můžete @zmínit jiné osoby nebo #hashtagy…",
"onboarding.profile.save_and_continue": "Uložit a pokračovat",
"onboarding.profile.title": "Nastavení profilu",
"onboarding.profile.upload_avatar": "Nahrát profilový obrázek",
"onboarding.profile.upload_header": "Nahrát hlavičku profilu",
"onboarding.share.lead": "Dejte lidem vědět, jak vás mohou najít na Mastodonu!", "onboarding.share.lead": "Dejte lidem vědět, jak vás mohou najít na Mastodonu!",
"onboarding.share.message": "Jsem {username} na #Mastodonu! Pojď mě sledovat na {url}", "onboarding.share.message": "Jsem {username} na #Mastodonu! Pojď mě sledovat na {url}",
"onboarding.share.next_steps": "Možné další kroky:", "onboarding.share.next_steps": "Možné další kroky:",
@ -482,13 +503,13 @@
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:", "onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
"onboarding.start.skip": "Want to skip right ahead?", "onboarding.start.skip": "Want to skip right ahead?",
"onboarding.start.title": "Dokázali jste to!", "onboarding.start.title": "Dokázali jste to!",
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.", "onboarding.steps.follow_people.body": "Mastodon je o sledování zajimavých lidí.",
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}", "onboarding.steps.follow_people.title": "Přispůsobit vlastní domovský kanál",
"onboarding.steps.publish_status.body": "Řekněte světu Ahoj.", "onboarding.steps.publish_status.body": "Řekněte světu ahoj s pomocí textem, fotografiemi, videami nebo anketami {emoji}",
"onboarding.steps.publish_status.title": "Vytvořte svůj první příspěvek", "onboarding.steps.publish_status.title": "Vytvořte svůj první příspěvek",
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.", "onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
"onboarding.steps.setup_profile.title": "Přizpůsobit svůj profil", "onboarding.steps.setup_profile.title": "Přizpůsobit svůj profil",
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!", "onboarding.steps.share_profile.body": "Dejte blízkým lidem vědět, jak vás mohou najít na Mastodonu",
"onboarding.steps.share_profile.title": "Sdílejte svůj profil", "onboarding.steps.share_profile.title": "Sdílejte svůj profil",
"onboarding.tips.2fa": "<strong>Víte, že?</strong> Svůj účet můžete zabezpečit nastavením dvoufaktorového ověřování v nastavení účtu. Funguje s jakoukoli TOTP aplikací podle vašeho výběru, telefonní číslo není nutné!", "onboarding.tips.2fa": "<strong>Víte, že?</strong> Svůj účet můžete zabezpečit nastavením dvoufaktorového ověřování v nastavení účtu. Funguje s jakoukoli TOTP aplikací podle vašeho výběru, telefonní číslo není nutné!",
"onboarding.tips.accounts_from_other_servers": "<strong>Víte, že?</strong> Protože je Mastodon decentralizovaný, některé profily, na které narazíte, budou hostovány na jiných serverech, než je ten váš. A přesto s nimi můžete bezproblémově komunikovat! Jejich server se nachází v druhé polovině uživatelského jména!", "onboarding.tips.accounts_from_other_servers": "<strong>Víte, že?</strong> Protože je Mastodon decentralizovaný, některé profily, na které narazíte, budou hostovány na jiných serverech, než je ten váš. A přesto s nimi můžete bezproblémově komunikovat! Jejich server se nachází v druhé polovině uživatelského jména!",
@ -508,16 +529,18 @@
"poll_button.add_poll": "Přidat anketu", "poll_button.add_poll": "Přidat anketu",
"poll_button.remove_poll": "Odebrat anketu", "poll_button.remove_poll": "Odebrat anketu",
"privacy.change": "Změnit soukromí příspěvku", "privacy.change": "Změnit soukromí příspěvku",
"privacy.direct.long": "Viditelný pouze pro zmíněné uživatele", "privacy.direct.long": "Všichni zmínění v příspěvku",
"privacy.direct.short": "Pouze zmínění lidé", "privacy.direct.short": "Vybraní lidé",
"privacy.private.long": "Viditelný pouze pro sledující", "privacy.private.long": "Jen vaši sledující",
"privacy.private.short": "Pouze sledující", "privacy.private.short": "Sledující",
"privacy.public.long": "Viditelný pro všechny", "privacy.public.long": "Kdokoliv na Mastodonu i mimo něj",
"privacy.public.short": "Veřejné", "privacy.public.short": "Veřejné",
"privacy.unlisted.long": "Viditelný pro všechny, ale vyňat z funkcí objevování", "privacy.unlisted.additional": "Chová se stejně jako veřejný, až na to, že se příspěvek neobjeví v živých kanálech nebo hashtazích, v objevování nebo vyhledávání na Mastodonu, a to i když je účet nastaven tak, aby se zde všude tyto příspěvky zobrazovaly.",
"privacy.unlisted.short": "Neveřejný", "privacy.unlisted.long": "Méně algoritmických fanfár",
"privacy.unlisted.short": "Ztišené veřejné",
"privacy_policy.last_updated": "Naposledy aktualizováno {date}", "privacy_policy.last_updated": "Naposledy aktualizováno {date}",
"privacy_policy.title": "Zásady ochrany osobních údajů", "privacy_policy.title": "Zásady ochrany osobních údajů",
"recommended": "Doporučeno",
"refresh": "Obnovit", "refresh": "Obnovit",
"regeneration_indicator.label": "Načítání…", "regeneration_indicator.label": "Načítání…",
"regeneration_indicator.sublabel": "Váš domovský kanál se připravuje!", "regeneration_indicator.sublabel": "Váš domovský kanál se připravuje!",
@ -532,7 +555,9 @@
"relative_time.minutes": "{number} m", "relative_time.minutes": "{number} m",
"relative_time.seconds": "{number} s", "relative_time.seconds": "{number} s",
"relative_time.today": "dnes", "relative_time.today": "dnes",
"reply_indicator.attachments": "{count, plural, one {{counter} příloha} few {{counter} přílohy} other {{counter} přilohů}}",
"reply_indicator.cancel": "Zrušit", "reply_indicator.cancel": "Zrušit",
"reply_indicator.poll": "Anketa",
"report.block": "Blokovat", "report.block": "Blokovat",
"report.block_explanation": "Neuvidíte příspěvky tohoto uživatele. On neuvidí vaše příspěvky, ani vás nebude moci sledovat. Pozná, že je blokován.", "report.block_explanation": "Neuvidíte příspěvky tohoto uživatele. On neuvidí vaše příspěvky, ani vás nebude moci sledovat. Pozná, že je blokován.",
"report.categories.legal": "Právní ustanovení", "report.categories.legal": "Právní ustanovení",
@ -588,6 +613,7 @@
"search.quick_action.status_search": "Příspěvky odpovídající {x}", "search.quick_action.status_search": "Příspěvky odpovídající {x}",
"search.search_or_paste": "Hledat nebo vložit URL", "search.search_or_paste": "Hledat nebo vložit URL",
"search_popout.full_text_search_disabled_message": "Nedostupné na {domain}.", "search_popout.full_text_search_disabled_message": "Nedostupné na {domain}.",
"search_popout.full_text_search_logged_out_message": "Dostupné pouze po přihlášení.",
"search_popout.language_code": "Kód jazyka podle ISO", "search_popout.language_code": "Kód jazyka podle ISO",
"search_popout.options": "Možnosti hledání", "search_popout.options": "Možnosti hledání",
"search_popout.quick_actions": "Rychlé akce", "search_popout.quick_actions": "Rychlé akce",
@ -695,10 +721,8 @@
"upload_error.poll": "Nahrávání souborů není povoleno s anketami.", "upload_error.poll": "Nahrávání souborů není povoleno s anketami.",
"upload_form.audio_description": "Popis pro sluchově postižené", "upload_form.audio_description": "Popis pro sluchově postižené",
"upload_form.description": "Popis pro zrakově postižené", "upload_form.description": "Popis pro zrakově postižené",
"upload_form.description_missing": "Nebyl přidán popis",
"upload_form.edit": "Upravit", "upload_form.edit": "Upravit",
"upload_form.thumbnail": "Změnit miniaturu", "upload_form.thumbnail": "Změnit miniaturu",
"upload_form.undo": "Smazat",
"upload_form.video_description": "Popis pro sluchově či zrakově postižené", "upload_form.video_description": "Popis pro sluchově či zrakově postižené",
"upload_modal.analyzing_picture": "Analyzuji obrázek…", "upload_modal.analyzing_picture": "Analyzuji obrázek…",
"upload_modal.apply": "Použít", "upload_modal.apply": "Použít",

@ -89,7 +89,6 @@
"announcement.announcement": "Cyhoeddiad", "announcement.announcement": "Cyhoeddiad",
"attachments_list.unprocessed": "(heb eu prosesu)", "attachments_list.unprocessed": "(heb eu prosesu)",
"audio.hide": "Cuddio sain", "audio.hide": "Cuddio sain",
"autosuggest_hashtag.per_week": "{count} yr wythnos",
"boost_modal.combo": "Mae modd pwyso {combo} er mwyn hepgor hyn tro nesa", "boost_modal.combo": "Mae modd pwyso {combo} er mwyn hepgor hyn tro nesa",
"bundle_column_error.copy_stacktrace": "Copïo'r adroddiad gwall", "bundle_column_error.copy_stacktrace": "Copïo'r adroddiad gwall",
"bundle_column_error.error.body": "Nid oedd modd cynhyrchu'r dudalen honno. Gall fod oherwydd gwall yn ein cod neu fater cydnawsedd porwr.", "bundle_column_error.error.body": "Nid oedd modd cynhyrchu'r dudalen honno. Gall fod oherwydd gwall yn ein cod neu fater cydnawsedd porwr.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Nid yw eich cyfri wedi'i {locked}. Gall unrhyw un eich dilyn i weld eich postiadau dilynwyr-yn-unig.", "compose_form.lock_disclaimer": "Nid yw eich cyfri wedi'i {locked}. Gall unrhyw un eich dilyn i weld eich postiadau dilynwyr-yn-unig.",
"compose_form.lock_disclaimer.lock": "wedi ei gloi", "compose_form.lock_disclaimer.lock": "wedi ei gloi",
"compose_form.placeholder": "Beth sydd ar eich meddwl?", "compose_form.placeholder": "Beth sydd ar eich meddwl?",
"compose_form.poll.add_option": "Ychwanegu dewis",
"compose_form.poll.duration": "Cyfnod pleidlais", "compose_form.poll.duration": "Cyfnod pleidlais",
"compose_form.poll.multiple": "Dewis lluosog",
"compose_form.poll.option_placeholder": "Dewis {number}", "compose_form.poll.option_placeholder": "Dewis {number}",
"compose_form.poll.remove_option": "Tynnu'r dewis", "compose_form.poll.single": "Ddewis un",
"compose_form.poll.switch_to_multiple": "Newid pleidlais i adael mwy nag un dewis", "compose_form.poll.switch_to_multiple": "Newid pleidlais i adael mwy nag un dewis",
"compose_form.poll.switch_to_single": "Newid pleidlais i gyfyngu i un dewis", "compose_form.poll.switch_to_single": "Newid pleidlais i gyfyngu i un dewis",
"compose_form.publish": "Cyhoeddi", "compose_form.poll.type": "Arddull",
"compose_form.publish": "Postiad",
"compose_form.publish_form": "Cyhoeddi", "compose_form.publish_form": "Cyhoeddi",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Ateb",
"compose_form.save_changes": "Cadw newidiadau", "compose_form.save_changes": "Diweddariad",
"compose_form.sensitive.hide": "Marcio cyfryngau fel eu bod yn sensitif",
"compose_form.sensitive.marked": "Cyfryngau wedi'u marcio'n sensitif",
"compose_form.sensitive.unmarked": "Nid yw'r cyfryngau wedi'u marcio'n sensitif",
"compose_form.spoiler.marked": "Dileu rhybudd cynnwys", "compose_form.spoiler.marked": "Dileu rhybudd cynnwys",
"compose_form.spoiler.unmarked": "Ychwanegu rhybudd cynnwys", "compose_form.spoiler.unmarked": "Ychwanegu rhybudd cynnwys",
"compose_form.spoiler_placeholder": "Ysgrifenwch eich rhybudd yma", "compose_form.spoiler_placeholder": "Rhybudd cynnwys (dewisol)",
"confirmation_modal.cancel": "Diddymu", "confirmation_modal.cancel": "Diddymu",
"confirmations.block.block_and_report": "Rhwystro ac Adrodd", "confirmations.block.block_and_report": "Rhwystro ac Adrodd",
"confirmations.block.confirm": "Blocio", "confirmations.block.confirm": "Blocio",
@ -280,6 +277,17 @@
"follow_request.authorize": "Awdurdodi", "follow_request.authorize": "Awdurdodi",
"follow_request.reject": "Gwrthod", "follow_request.reject": "Gwrthod",
"follow_requests.unlocked_explanation": "Er nid yw eich cyfrif wedi'i gloi, roedd y staff {domain} yn meddwl efallai hoffech adolygu ceisiadau dilyn o'r cyfrifau rhain wrth law.", "follow_requests.unlocked_explanation": "Er nid yw eich cyfrif wedi'i gloi, roedd y staff {domain} yn meddwl efallai hoffech adolygu ceisiadau dilyn o'r cyfrifau rhain wrth law.",
"follow_suggestions.curated_suggestion": "Dewis staff",
"follow_suggestions.dismiss": "Peidio â dangos hwn eto",
"follow_suggestions.hints.featured": "Mae'r proffil hwn wedi'i ddewis yn arbennig gan dîm {domain}.",
"follow_suggestions.hints.friends_of_friends": "Mae'r proffil hwn yn boblogaidd ymhlith y bobl rydych chi'n eu dilyn.",
"follow_suggestions.hints.most_followed": "Mae'r proffil hwn yn un o'r rhai sy'n cael ei ddilyn fwyaf ar {domain}.",
"follow_suggestions.hints.most_interactions": "Mae'r proffil hwn wedi bod yn cael llawer o sylw yn ddiweddar ar {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "Mae'r proffil hwn yn debyg i'r proffiliau rydych chi wedi'u dilyn yn fwyaf diweddar.",
"follow_suggestions.personalized_suggestion": "Awgrym personol",
"follow_suggestions.popular_suggestion": "Awgrym poblogaidd",
"follow_suggestions.view_all": "Gweld y cyfan",
"follow_suggestions.who_to_follow": "Pwy i ddilyn",
"followed_tags": "Hashnodau rydych yn eu dilyn", "followed_tags": "Hashnodau rydych yn eu dilyn",
"footer.about": "Ynghylch", "footer.about": "Ynghylch",
"footer.directory": "Cyfeiriadur proffiliau", "footer.directory": "Cyfeiriadur proffiliau",
@ -306,13 +314,9 @@
"hashtag.follow": "Dilyn hashnod", "hashtag.follow": "Dilyn hashnod",
"hashtag.unfollow": "Dad-ddilyn hashnod", "hashtag.unfollow": "Dad-ddilyn hashnod",
"hashtags.and_other": "…a {count, plural, other {# more}}", "hashtags.and_other": "…a {count, plural, other {# more}}",
"home.actions.go_to_explore": "Gweld beth yw'r tuedd",
"home.actions.go_to_suggestions": "Ffeindio pobl i'w dilyn",
"home.column_settings.basic": "Syml", "home.column_settings.basic": "Syml",
"home.column_settings.show_reblogs": "Dangos hybiau", "home.column_settings.show_reblogs": "Dangos hybiau",
"home.column_settings.show_replies": "Dangos atebion", "home.column_settings.show_replies": "Dangos atebion",
"home.explore_prompt.body": "Bydd eich llif cartref yn cynnwys cymysgedd o bostiadau o'r hashnodau rydych chi wedi dewis eu dilyn, y bobl rydych chi wedi dewis eu dilyn, a'r postiadau maen nhw'n rhoi hwb iddyn nhw. Os yw hynny'n teimlo'n rhy dawel, efallai y byddwch eisiau:",
"home.explore_prompt.title": "Dyma'ch cartref o fewn Mastodon.",
"home.hide_announcements": "Cuddio cyhoeddiadau", "home.hide_announcements": "Cuddio cyhoeddiadau",
"home.pending_critical_update.body": "Diweddarwch eich gweinydd Mastodon cyn gynted â phosibl!", "home.pending_critical_update.body": "Diweddarwch eich gweinydd Mastodon cyn gynted â phosibl!",
"home.pending_critical_update.link": "Gweld y diweddariadau", "home.pending_critical_update.link": "Gweld y diweddariadau",
@ -408,7 +412,6 @@
"navigation_bar.direct": "Crybwylliadau preifat", "navigation_bar.direct": "Crybwylliadau preifat",
"navigation_bar.discover": "Darganfod", "navigation_bar.discover": "Darganfod",
"navigation_bar.domain_blocks": "Parthau wedi'u blocio", "navigation_bar.domain_blocks": "Parthau wedi'u blocio",
"navigation_bar.edit_profile": "Golygu proffil",
"navigation_bar.explore": "Darganfod", "navigation_bar.explore": "Darganfod",
"navigation_bar.favourites": "Ffefrynnau", "navigation_bar.favourites": "Ffefrynnau",
"navigation_bar.filters": "Geiriau wedi'u tewi", "navigation_bar.filters": "Geiriau wedi'u tewi",
@ -526,14 +529,15 @@
"poll_button.add_poll": "Ychwanegu pleidlais", "poll_button.add_poll": "Ychwanegu pleidlais",
"poll_button.remove_poll": "Tynnu pleidlais", "poll_button.remove_poll": "Tynnu pleidlais",
"privacy.change": "Addasu preifatrwdd y post", "privacy.change": "Addasu preifatrwdd y post",
"privacy.direct.long": "Dim ond yn weladwy i ddefnyddwyr a grybwyllwyd", "privacy.direct.long": "Pawb sydd â son amdanyn nhw yn y postiad",
"privacy.direct.short": "Dim ond pobl sy wedi'u crybwyll", "privacy.direct.short": "Pobl benodol",
"privacy.private.long": "Dim ond pobl sy'n ddilynwyr", "privacy.private.long": "Eich dilynwyr yn unig",
"privacy.private.short": "Dilynwyr yn unig", "privacy.private.short": "Dilynwyr",
"privacy.public.long": "Gweladwy i bawb", "privacy.public.long": "Unrhyw ar ac oddi ar Mastodon",
"privacy.public.short": "Cyhoeddus", "privacy.public.short": "Cyhoeddus",
"privacy.unlisted.long": "Gweladwy i bawb, ond wedi optio allan o nodweddion darganfod", "privacy.unlisted.additional": "Mae hwn yn ymddwyn yn union fel y cyhoeddus, ac eithrio na fydd y postiad yn ymddangos mewn ffrydiau byw neu hashnodau, archwilio, neu chwiliad Mastodon, hyd yn oed os ydych wedi eich cynnwys ar draws y cyfrif.",
"privacy.unlisted.short": "Heb ei restru", "privacy.unlisted.long": "Llai o ddathliadau algorithmig",
"privacy.unlisted.short": "Tewi'r cyhoeddus",
"privacy_policy.last_updated": "Diweddarwyd ddiwethaf ar {date}", "privacy_policy.last_updated": "Diweddarwyd ddiwethaf ar {date}",
"privacy_policy.title": "Polisi Preifatrwydd", "privacy_policy.title": "Polisi Preifatrwydd",
"recommended": "Argymhellwyd", "recommended": "Argymhellwyd",
@ -551,7 +555,9 @@
"relative_time.minutes": "{number} munud", "relative_time.minutes": "{number} munud",
"relative_time.seconds": "{number} eiliad", "relative_time.seconds": "{number} eiliad",
"relative_time.today": "heddiw", "relative_time.today": "heddiw",
"reply_indicator.attachments": "{count, plural, one {# attachment} arall {# attachments}}",
"reply_indicator.cancel": "Canslo", "reply_indicator.cancel": "Canslo",
"reply_indicator.poll": "Arolwg",
"report.block": "Blocio", "report.block": "Blocio",
"report.block_explanation": "Ni welwch chi eu postiadau. Ni allan nhw weld eich postiadau na'ch dilyn. Byddan nhw'n gallu gweld eu bod nhw wedi'u rhwystro.", "report.block_explanation": "Ni welwch chi eu postiadau. Ni allan nhw weld eich postiadau na'ch dilyn. Byddan nhw'n gallu gweld eu bod nhw wedi'u rhwystro.",
"report.categories.legal": "Cyfreithiol", "report.categories.legal": "Cyfreithiol",
@ -715,10 +721,8 @@
"upload_error.poll": "Nid oes modd llwytho ffeiliau â phleidleisiau.", "upload_error.poll": "Nid oes modd llwytho ffeiliau â phleidleisiau.",
"upload_form.audio_description": "Disgrifio ar gyfer pobl sydd â cholled clyw", "upload_form.audio_description": "Disgrifio ar gyfer pobl sydd â cholled clyw",
"upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg", "upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg",
"upload_form.description_missing": "Dim disgrifiad wedi'i ychwanegu",
"upload_form.edit": "Golygu", "upload_form.edit": "Golygu",
"upload_form.thumbnail": "Newid llun bach", "upload_form.thumbnail": "Newid llun bach",
"upload_form.undo": "Dileu",
"upload_form.video_description": "Disgrifio ar gyfer pobl sydd â cholled clyw neu amhariad golwg", "upload_form.video_description": "Disgrifio ar gyfer pobl sydd â cholled clyw neu amhariad golwg",
"upload_modal.analyzing_picture": "Yn dadansoddi llun…", "upload_modal.analyzing_picture": "Yn dadansoddi llun…",
"upload_modal.apply": "Gosod", "upload_modal.apply": "Gosod",

@ -89,7 +89,6 @@
"announcement.announcement": "Bekendtgørelse", "announcement.announcement": "Bekendtgørelse",
"attachments_list.unprocessed": "(ubehandlet)", "attachments_list.unprocessed": "(ubehandlet)",
"audio.hide": "Skjul lyd", "audio.hide": "Skjul lyd",
"autosuggest_hashtag.per_week": "{count} pr. uge",
"boost_modal.combo": "Du kan trykke {combo} for at springe dette over næste gang", "boost_modal.combo": "Du kan trykke {combo} for at springe dette over næste gang",
"bundle_column_error.copy_stacktrace": "Kopiér fejlrapport", "bundle_column_error.copy_stacktrace": "Kopiér fejlrapport",
"bundle_column_error.error.body": "Den anmodede side kunne ikke gengives. Dette kan skyldes flere typer fejl.", "bundle_column_error.error.body": "Den anmodede side kunne ikke gengives. Dette kan skyldes flere typer fejl.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Din konto er ikke {locked}. Enhver kan følge dig og se indlæg kun beregnet for følgere.", "compose_form.lock_disclaimer": "Din konto er ikke {locked}. Enhver kan følge dig og se indlæg kun beregnet for følgere.",
"compose_form.lock_disclaimer.lock": "låst", "compose_form.lock_disclaimer.lock": "låst",
"compose_form.placeholder": "Hvad tænker du på?", "compose_form.placeholder": "Hvad tænker du på?",
"compose_form.poll.add_option": "Tilføj valgmulighed",
"compose_form.poll.duration": "Afstemningens varighed", "compose_form.poll.duration": "Afstemningens varighed",
"compose_form.poll.multiple": "Multivalg",
"compose_form.poll.option_placeholder": "Valgmulighed {number}", "compose_form.poll.option_placeholder": "Valgmulighed {number}",
"compose_form.poll.remove_option": "Fjern denne valgmulighed", "compose_form.poll.single": "Vælg én",
"compose_form.poll.switch_to_multiple": "Ændr afstemning til flervalgstype", "compose_form.poll.switch_to_multiple": "Ændr afstemning til flervalgstype",
"compose_form.poll.switch_to_single": "Ændr afstemning til enkeltvalgstype", "compose_form.poll.switch_to_single": "Ændr afstemning til enkeltvalgstype",
"compose_form.publish": "Publicér", "compose_form.poll.type": "Stil",
"compose_form.publish": "Indsend",
"compose_form.publish_form": "Publicér", "compose_form.publish_form": "Publicér",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Svar",
"compose_form.save_changes": "Gem ændringer", "compose_form.save_changes": "Opdatér",
"compose_form.sensitive.hide": "{count, plural, one {Markér medie som følsomt} other {Markér medier som følsomme}}",
"compose_form.sensitive.marked": "{count, plural, one {Medie er markeret som sensitivt} other {Medier er markerede som sensitive}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Medie er ikke market som sensitivt} other {Medier er ikke markerede som sensitive}}",
"compose_form.spoiler.marked": "Fjern indholdsadvarsel", "compose_form.spoiler.marked": "Fjern indholdsadvarsel",
"compose_form.spoiler.unmarked": "Tilføj indholdsadvarsel", "compose_form.spoiler.unmarked": "Tilføj indholdsadvarsel",
"compose_form.spoiler_placeholder": "Skriv din advarsel hér", "compose_form.spoiler_placeholder": "Indholdsadvarsel (valgfri)",
"confirmation_modal.cancel": "Afbryd", "confirmation_modal.cancel": "Afbryd",
"confirmations.block.block_and_report": "Blokér og Anmeld", "confirmations.block.block_and_report": "Blokér og Anmeld",
"confirmations.block.confirm": "Blokér", "confirmations.block.confirm": "Blokér",
@ -280,6 +277,17 @@
"follow_request.authorize": "Godkend", "follow_request.authorize": "Godkend",
"follow_request.reject": "Afvis", "follow_request.reject": "Afvis",
"follow_requests.unlocked_explanation": "Selvom din konto ikke er låst, synes {domain}-personalet, du måske bør gennemgå disse anmodninger manuelt.", "follow_requests.unlocked_explanation": "Selvom din konto ikke er låst, synes {domain}-personalet, du måske bør gennemgå disse anmodninger manuelt.",
"follow_suggestions.curated_suggestion": "Personaleudvalgt",
"follow_suggestions.dismiss": "Vis ikke igen",
"follow_suggestions.hints.featured": "Denne profil er håndplukket af {domain}-teamet.",
"follow_suggestions.hints.friends_of_friends": "Denne profil er populær blandt de personer, som følges.",
"follow_suggestions.hints.most_followed": "Denne profil er en af de mest fulgte på {domain}.",
"follow_suggestions.hints.most_interactions": "Denne profil har for nylig fået stor opmærksomhed på {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "Denne profil svarer til de profiler, som senest er blevet fulgt.",
"follow_suggestions.personalized_suggestion": "Personligt forslag",
"follow_suggestions.popular_suggestion": "Populært forslag",
"follow_suggestions.view_all": "Vis alle",
"follow_suggestions.who_to_follow": "Hvem, som skal følges",
"followed_tags": "Hashtag, som følges", "followed_tags": "Hashtag, som følges",
"footer.about": "Om", "footer.about": "Om",
"footer.directory": "Profiloversigt", "footer.directory": "Profiloversigt",
@ -306,13 +314,9 @@
"hashtag.follow": "Følg hashtag", "hashtag.follow": "Følg hashtag",
"hashtag.unfollow": "Stop med at følge hashtag", "hashtag.unfollow": "Stop med at følge hashtag",
"hashtags.and_other": "…og {count, plural, one {}other {# flere}}", "hashtags.and_other": "…og {count, plural, one {}other {# flere}}",
"home.actions.go_to_explore": "Se, hvad som trender",
"home.actions.go_to_suggestions": "Find nogle personer at følge",
"home.column_settings.basic": "Grundlæggende", "home.column_settings.basic": "Grundlæggende",
"home.column_settings.show_reblogs": "Vis boosts", "home.column_settings.show_reblogs": "Vis boosts",
"home.column_settings.show_replies": "Vis svar", "home.column_settings.show_replies": "Vis svar",
"home.explore_prompt.body": "Dit hjemmefeed vil have en blanding af indlæg fra de hashtags, du har valgt at følge, de personer, du har valgt at følge, og de indlæg, de booster. Hvis her virker for stille, kan du prøve:",
"home.explore_prompt.title": "Dette er din hjemmebase i Mastodon.",
"home.hide_announcements": "Skjul bekendtgørelser", "home.hide_announcements": "Skjul bekendtgørelser",
"home.pending_critical_update.body": "Opdater din Mastodon-server snarest muligt!", "home.pending_critical_update.body": "Opdater din Mastodon-server snarest muligt!",
"home.pending_critical_update.link": "Se opdateringer", "home.pending_critical_update.link": "Se opdateringer",
@ -408,7 +412,6 @@
"navigation_bar.direct": "Private omtaler", "navigation_bar.direct": "Private omtaler",
"navigation_bar.discover": "Opdag", "navigation_bar.discover": "Opdag",
"navigation_bar.domain_blocks": "Blokerede domæner", "navigation_bar.domain_blocks": "Blokerede domæner",
"navigation_bar.edit_profile": "Redigér profil",
"navigation_bar.explore": "Udforsk", "navigation_bar.explore": "Udforsk",
"navigation_bar.favourites": "Favoritter", "navigation_bar.favourites": "Favoritter",
"navigation_bar.filters": "Skjulte ord (mutede)", "navigation_bar.filters": "Skjulte ord (mutede)",
@ -526,14 +529,15 @@
"poll_button.add_poll": "Tilføj en afstemning", "poll_button.add_poll": "Tilføj en afstemning",
"poll_button.remove_poll": "Fjern afstemning", "poll_button.remove_poll": "Fjern afstemning",
"privacy.change": "Tilpas indlægsfortrolighed", "privacy.change": "Tilpas indlægsfortrolighed",
"privacy.direct.long": "Kun synlig for nævnte brugere", "privacy.direct.long": "Alle nævnt i indlægget",
"privacy.direct.short": "Kun omtalte personer", "privacy.direct.short": "Bestemte personer",
"privacy.private.long": "Kun synlig for følgere", "privacy.private.long": "Kun dine følgere",
"privacy.private.short": "Kun følgere", "privacy.private.short": "Følgere",
"privacy.public.long": "Synlig for alle", "privacy.public.long": "Alle på og udenfor Mastodon",
"privacy.public.short": "Offentlig", "privacy.public.short": "Offentlig",
"privacy.unlisted.long": "Synlig for alle, men med fravalgt visning i opdagelsesfunktioner", "privacy.unlisted.additional": "Dette er præcis som offentlig adfærd, dog vises indlægget ikke i live feeds/hashtags, udforsk eller Mastodon-søgning, selv hvis valget gælder hele kontoen.",
"privacy.unlisted.short": "Diskret", "privacy.unlisted.long": "Færre algoritmiske fanfarer",
"privacy.unlisted.short": "Tavsgøre offentligt",
"privacy_policy.last_updated": "Senest opdateret {date}", "privacy_policy.last_updated": "Senest opdateret {date}",
"privacy_policy.title": "Privatlivspolitik", "privacy_policy.title": "Privatlivspolitik",
"recommended": "Anbefalet", "recommended": "Anbefalet",
@ -551,7 +555,9 @@
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "i dag", "relative_time.today": "i dag",
"reply_indicator.attachments": "{count, plural, one {# vedhæftning} other {# vedhæftninger}}",
"reply_indicator.cancel": "Afbryd", "reply_indicator.cancel": "Afbryd",
"reply_indicator.poll": "Afstemning",
"report.block": "Blokér", "report.block": "Blokér",
"report.block_explanation": "Du vil ikke se vedkommendes indlæg. Vedkommende vil ikke kunne se dine indlæg eller følge dig. Vedkommende vil kunne se, at de er blokeret.", "report.block_explanation": "Du vil ikke se vedkommendes indlæg. Vedkommende vil ikke kunne se dine indlæg eller følge dig. Vedkommende vil kunne se, at de er blokeret.",
"report.categories.legal": "Juridisk", "report.categories.legal": "Juridisk",
@ -715,10 +721,8 @@
"upload_error.poll": "Filupload ikke tilladt for afstemninger.", "upload_error.poll": "Filupload ikke tilladt for afstemninger.",
"upload_form.audio_description": "Beskrivelse til hørehæmmede", "upload_form.audio_description": "Beskrivelse til hørehæmmede",
"upload_form.description": "Beskrivelse til svagtseende", "upload_form.description": "Beskrivelse til svagtseende",
"upload_form.description_missing": "Ingen beskrivelse tilføjet",
"upload_form.edit": "Redigér", "upload_form.edit": "Redigér",
"upload_form.thumbnail": "Skift miniature", "upload_form.thumbnail": "Skift miniature",
"upload_form.undo": "Slet",
"upload_form.video_description": "Beskrivelse for hørehæmmede eller synshandicappede personer", "upload_form.video_description": "Beskrivelse for hørehæmmede eller synshandicappede personer",
"upload_modal.analyzing_picture": "Analyserer billede…", "upload_modal.analyzing_picture": "Analyserer billede…",
"upload_modal.apply": "Anvend", "upload_modal.apply": "Anvend",

@ -89,7 +89,6 @@
"announcement.announcement": "Ankündigung", "announcement.announcement": "Ankündigung",
"attachments_list.unprocessed": "(ausstehend)", "attachments_list.unprocessed": "(ausstehend)",
"audio.hide": "Audio ausblenden", "audio.hide": "Audio ausblenden",
"autosuggest_hashtag.per_week": "{count} pro Woche",
"boost_modal.combo": "Mit {combo} wird dieses Fenster beim nächsten Mal nicht mehr angezeigt", "boost_modal.combo": "Mit {combo} wird dieses Fenster beim nächsten Mal nicht mehr angezeigt",
"bundle_column_error.copy_stacktrace": "Fehlerbericht kopieren", "bundle_column_error.copy_stacktrace": "Fehlerbericht kopieren",
"bundle_column_error.error.body": "Die angeforderte Seite konnte nicht dargestellt werden. Dies könnte auf einen Fehler in unserem Code oder auf ein Browser-Kompatibilitätsproblem zurückzuführen sein.", "bundle_column_error.error.body": "Die angeforderte Seite konnte nicht dargestellt werden. Dies könnte auf einen Fehler in unserem Code oder auf ein Browser-Kompatibilitätsproblem zurückzuführen sein.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Andere können dir folgen und deine Beiträge sehen, die nur für Follower bestimmt sind.", "compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Andere können dir folgen und deine Beiträge sehen, die nur für Follower bestimmt sind.",
"compose_form.lock_disclaimer.lock": "geschützt", "compose_form.lock_disclaimer.lock": "geschützt",
"compose_form.placeholder": "Was gibts Neues?", "compose_form.placeholder": "Was gibts Neues?",
"compose_form.poll.add_option": "Auswahl",
"compose_form.poll.duration": "Umfragedauer", "compose_form.poll.duration": "Umfragedauer",
"compose_form.poll.option_placeholder": "{number}. Auswahl", "compose_form.poll.multiple": "Mul­ti­ple-Choice",
"compose_form.poll.remove_option": "Auswahlfeld entfernen", "compose_form.poll.option_placeholder": "Option {number}",
"compose_form.poll.single": "Einfachauswahl",
"compose_form.poll.switch_to_multiple": "Mehrfachauswahl erlauben", "compose_form.poll.switch_to_multiple": "Mehrfachauswahl erlauben",
"compose_form.poll.switch_to_single": "Nur Einzelauswahl erlauben", "compose_form.poll.switch_to_single": "Nur Einfachauswahl erlauben",
"compose_form.poll.type": "Stil",
"compose_form.publish": "Veröffentlichen", "compose_form.publish": "Veröffentlichen",
"compose_form.publish_form": "Neuer Beitrag", "compose_form.publish_form": "Neuer Beitrag",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Antworten",
"compose_form.save_changes": "Änderungen speichern", "compose_form.save_changes": "Aktualisieren",
"compose_form.sensitive.hide": "{count, plural, one {Mit einer Inhaltswarnung versehen} other {Mit einer Inhaltswarnung versehen}}",
"compose_form.sensitive.marked": "{count, plural, one {Medien-Datei ist mit einer Inhaltswarnung versehen} other {Medien-Dateien sind mit einer Inhaltswarnung versehen}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Medien-Datei ist nicht mit einer Inhaltswarnung versehen} other {Medien-Dateien sind nicht mit einer Inhaltswarnung versehen}}",
"compose_form.spoiler.marked": "Inhaltswarnung entfernen", "compose_form.spoiler.marked": "Inhaltswarnung entfernen",
"compose_form.spoiler.unmarked": "Inhaltswarnung hinzufügen", "compose_form.spoiler.unmarked": "Inhaltswarnung hinzufügen",
"compose_form.spoiler_placeholder": "Inhaltswarnung", "compose_form.spoiler_placeholder": "Inhaltswarnung (optional)",
"confirmation_modal.cancel": "Abbrechen", "confirmation_modal.cancel": "Abbrechen",
"confirmations.block.block_and_report": "Blockieren und melden", "confirmations.block.block_and_report": "Blockieren und melden",
"confirmations.block.confirm": "Blockieren", "confirmations.block.confirm": "Blockieren",
@ -280,6 +277,17 @@
"follow_request.authorize": "Genehmigen", "follow_request.authorize": "Genehmigen",
"follow_request.reject": "Ablehnen", "follow_request.reject": "Ablehnen",
"follow_requests.unlocked_explanation": "Auch wenn dein Konto öffentlich bzw. nicht geschützt ist, haben die Moderator*innen von {domain} gedacht, dass du diesen Follower lieber manuell bestätigen solltest.", "follow_requests.unlocked_explanation": "Auch wenn dein Konto öffentlich bzw. nicht geschützt ist, haben die Moderator*innen von {domain} gedacht, dass du diesen Follower lieber manuell bestätigen solltest.",
"follow_suggestions.curated_suggestion": "Vom Server empfohlen",
"follow_suggestions.dismiss": "Nicht mehr anzeigen",
"follow_suggestions.hints.featured": "Dieses Profil wurde vom {domain}-Team ausgewählt.",
"follow_suggestions.hints.friends_of_friends": "Dieses Profil ist bei deinen Followern beliebt.",
"follow_suggestions.hints.most_followed": "Dieses Profil wird von den meisten auf {domain} gefolgt.",
"follow_suggestions.hints.most_interactions": "Dieses Profil erhielt auf {domain} in letzter Zeit viel Aufmerksamkeit.",
"follow_suggestions.hints.similar_to_recently_followed": "Dieses Profil ähnelt den Profilen, denen du in letzter Zeit gefolgt hast.",
"follow_suggestions.personalized_suggestion": "Persönliche Empfehlung",
"follow_suggestions.popular_suggestion": "Beliebte Empfehlung",
"follow_suggestions.view_all": "Alle anzeigen",
"follow_suggestions.who_to_follow": "Empfohlene Profile",
"followed_tags": "Gefolgte Hashtags", "followed_tags": "Gefolgte Hashtags",
"footer.about": "Über", "footer.about": "Über",
"footer.directory": "Profilverzeichnis", "footer.directory": "Profilverzeichnis",
@ -306,13 +314,9 @@
"hashtag.follow": "Hashtag folgen", "hashtag.follow": "Hashtag folgen",
"hashtag.unfollow": "Hashtag entfolgen", "hashtag.unfollow": "Hashtag entfolgen",
"hashtags.and_other": "… und {count, plural, one{# weiterer} other {# weitere}}", "hashtags.and_other": "… und {count, plural, one{# weiterer} other {# weitere}}",
"home.actions.go_to_explore": "Trends ansehen",
"home.actions.go_to_suggestions": "Profile zum Folgen finden",
"home.column_settings.basic": "Allgemein", "home.column_settings.basic": "Allgemein",
"home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen", "home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen",
"home.column_settings.show_replies": "Antworten anzeigen", "home.column_settings.show_replies": "Antworten anzeigen",
"home.explore_prompt.body": "Deine Startseite wird eine Mischung aus Beiträgen mit Hashtags und den Profilen, denen du folgst sowie den Beiträgen, die sie teilen, enthalten. Sollte es sich zu still anfühlen:",
"home.explore_prompt.title": "Das ist dein Zuhause bei Mastodon.",
"home.hide_announcements": "Ankündigungen ausblenden", "home.hide_announcements": "Ankündigungen ausblenden",
"home.pending_critical_update.body": "Bitte aktualisiere deinen Mastodon-Server so schnell wie möglich!", "home.pending_critical_update.body": "Bitte aktualisiere deinen Mastodon-Server so schnell wie möglich!",
"home.pending_critical_update.link": "Updates ansehen", "home.pending_critical_update.link": "Updates ansehen",
@ -408,7 +412,6 @@
"navigation_bar.direct": "Private Erwähnungen", "navigation_bar.direct": "Private Erwähnungen",
"navigation_bar.discover": "Entdecken", "navigation_bar.discover": "Entdecken",
"navigation_bar.domain_blocks": "Blockierte Domains", "navigation_bar.domain_blocks": "Blockierte Domains",
"navigation_bar.edit_profile": "Profil bearbeiten",
"navigation_bar.explore": "Entdecken", "navigation_bar.explore": "Entdecken",
"navigation_bar.favourites": "Favoriten", "navigation_bar.favourites": "Favoriten",
"navigation_bar.filters": "Stummgeschaltete Wörter", "navigation_bar.filters": "Stummgeschaltete Wörter",
@ -526,14 +529,15 @@
"poll_button.add_poll": "Umfrage erstellen", "poll_button.add_poll": "Umfrage erstellen",
"poll_button.remove_poll": "Umfrage entfernen", "poll_button.remove_poll": "Umfrage entfernen",
"privacy.change": "Sichtbarkeit anpassen", "privacy.change": "Sichtbarkeit anpassen",
"privacy.direct.long": "Nur für die erwähnten Profile sichtbar", "privacy.direct.long": "Alle in diesem Beitrag erwähnten Profile",
"privacy.direct.short": "Nur erwähnte Profile", "privacy.direct.short": "Bestimmte Profile",
"privacy.private.long": "Nur für deine Follower sichtbar", "privacy.private.long": "Nur deine Follower",
"privacy.private.short": "Nur Follower", "privacy.private.short": "Follower",
"privacy.public.long": "Für alle sichtbar", "privacy.public.long": "Alle in und außerhalb von Mastodon",
"privacy.public.short": "Öffentlich", "privacy.public.short": "Öffentlich",
"privacy.unlisted.long": "Für alle sichtbar, aber nicht über die Suche zu finden", "privacy.unlisted.additional": "Das Verhalten ist wie bei „Öffentlich“, jedoch erscheint dieser Beitrag nicht in „Live-Feeds“, „Erkunden“, Hashtags oder über die Mastodon-Suchfunktion selbst wenn du das in den Einstellungen aktiviert hast.",
"privacy.unlisted.short": "Nicht gelistet", "privacy.unlisted.long": "Weniger im Algorithmus berücksichtigt",
"privacy.unlisted.short": "Öffentlich (eingeschränkt)",
"privacy_policy.last_updated": "Stand: {date}", "privacy_policy.last_updated": "Stand: {date}",
"privacy_policy.title": "Datenschutzerklärung", "privacy_policy.title": "Datenschutzerklärung",
"recommended": "Empfohlen", "recommended": "Empfohlen",
@ -551,7 +555,9 @@
"relative_time.minutes": "{number} Min.", "relative_time.minutes": "{number} Min.",
"relative_time.seconds": "{number} Sek.", "relative_time.seconds": "{number} Sek.",
"relative_time.today": "heute", "relative_time.today": "heute",
"reply_indicator.attachments": "{count, plural, one {# Anhang} other {# Anhänge}}",
"reply_indicator.cancel": "Abbrechen", "reply_indicator.cancel": "Abbrechen",
"reply_indicator.poll": "Umfrage",
"report.block": "Blockieren", "report.block": "Blockieren",
"report.block_explanation": "Du wirst keine Beiträge mehr von diesem Konto sehen. Das blockierte Konto wird deine Beiträge nicht mehr sehen oder dir folgen können. Die Person könnte mitbekommen, dass du sie blockiert hast.", "report.block_explanation": "Du wirst keine Beiträge mehr von diesem Konto sehen. Das blockierte Konto wird deine Beiträge nicht mehr sehen oder dir folgen können. Die Person könnte mitbekommen, dass du sie blockiert hast.",
"report.categories.legal": "Rechtlich", "report.categories.legal": "Rechtlich",
@ -715,10 +721,8 @@
"upload_error.poll": "Medien-Anhänge sind zusammen mit Umfragen nicht erlaubt.", "upload_error.poll": "Medien-Anhänge sind zusammen mit Umfragen nicht erlaubt.",
"upload_form.audio_description": "Beschreibe für Menschen mit Hörbehinderung", "upload_form.audio_description": "Beschreibe für Menschen mit Hörbehinderung",
"upload_form.description": "Beschreibe für Menschen mit Sehbehinderung", "upload_form.description": "Beschreibe für Menschen mit Sehbehinderung",
"upload_form.description_missing": "Keine Beschreibung hinzugefügt",
"upload_form.edit": "Bearbeiten", "upload_form.edit": "Bearbeiten",
"upload_form.thumbnail": "Vorschaubild ändern", "upload_form.thumbnail": "Vorschaubild ändern",
"upload_form.undo": "Löschen",
"upload_form.video_description": "Beschreibe für Menschen mit einer Hör- oder Sehbehinderung", "upload_form.video_description": "Beschreibe für Menschen mit einer Hör- oder Sehbehinderung",
"upload_modal.analyzing_picture": "Bild wird analysiert …", "upload_modal.analyzing_picture": "Bild wird analysiert …",
"upload_modal.apply": "Übernehmen", "upload_modal.apply": "Übernehmen",

@ -85,7 +85,6 @@
"announcement.announcement": "Ανακοίνωση", "announcement.announcement": "Ανακοίνωση",
"attachments_list.unprocessed": "(μη επεξεργασμένο)", "attachments_list.unprocessed": "(μη επεξεργασμένο)",
"audio.hide": "Απόκρυψη αρχείου ήχου", "audio.hide": "Απόκρυψη αρχείου ήχου",
"autosuggest_hashtag.per_week": "{count} ανά εβδομάδα",
"boost_modal.combo": "Μπορείς να πατήσεις {combo} για να το προσπεράσεις την επόμενη φορά", "boost_modal.combo": "Μπορείς να πατήσεις {combo} για να το προσπεράσεις την επόμενη φορά",
"bundle_column_error.copy_stacktrace": "Αντιγραφή αναφοράς σφάλματος", "bundle_column_error.copy_stacktrace": "Αντιγραφή αναφοράς σφάλματος",
"bundle_column_error.error.body": "Δεν ήταν δυνατή η απόδοση της σελίδας που ζήτησες. Μπορεί να οφείλεται σε σφάλμα στον κώδικά μας ή σε πρόβλημα συμβατότητας του προγράμματος περιήγησης.", "bundle_column_error.error.body": "Δεν ήταν δυνατή η απόδοση της σελίδας που ζήτησες. Μπορεί να οφείλεται σε σφάλμα στον κώδικά μας ή σε πρόβλημα συμβατότητας του προγράμματος περιήγησης.",
@ -111,6 +110,7 @@
"column.direct": "Ιδιωτικές αναφορές", "column.direct": "Ιδιωτικές αναφορές",
"column.directory": "Περιήγηση στα προφίλ", "column.directory": "Περιήγηση στα προφίλ",
"column.domain_blocks": "Αποκλεισμένοι τομείς", "column.domain_blocks": "Αποκλεισμένοι τομείς",
"column.favourites": "Αγαπημένα",
"column.follow_requests": "Αιτήματα ακολούθησης", "column.follow_requests": "Αιτήματα ακολούθησης",
"column.home": "Αρχική", "column.home": "Αρχική",
"column.lists": "Λίστες", "column.lists": "Λίστες",
@ -131,28 +131,28 @@
"community.column_settings.remote_only": "Απομακρυσμένα μόνο", "community.column_settings.remote_only": "Απομακρυσμένα μόνο",
"compose.language.change": "Αλλαγή γλώσσας", "compose.language.change": "Αλλαγή γλώσσας",
"compose.language.search": "Αναζήτηση γλωσσών...", "compose.language.search": "Αναζήτηση γλωσσών...",
"compose.published.body": "Η ανάρτηση δημοσιεύτηκε.",
"compose.published.open": "Άνοιγμα",
"compose.saved.body": "Η ανάρτηση αποθηκεύτηκε.",
"compose_form.direct_message_warning_learn_more": "Μάθε περισσότερα", "compose_form.direct_message_warning_learn_more": "Μάθε περισσότερα",
"compose_form.encryption_warning": "Οι δημοσιεύσεις στο Mastodon δεν είναι κρυπτογραφημένες από άκρο σε άκρο. Μη μοιράζεσαι ευαίσθητες πληροφορίες μέσω του Mastodon.", "compose_form.encryption_warning": "Οι δημοσιεύσεις στο Mastodon δεν είναι κρυπτογραφημένες από άκρο σε άκρο. Μη μοιράζεσαι ευαίσθητες πληροφορίες μέσω του Mastodon.",
"compose_form.hashtag_warning": "Αυτή η δημοσίευση δεν θα εμφανίζεται κάτω από οποιαδήποτε ετικέτα καθώς δεν είναι δημόσια. Μόνο οι δημόσιες δημοσιεύσεις μπορούν να αναζητηθούν με ετικέτα.", "compose_form.hashtag_warning": "Αυτή η δημοσίευση δεν θα εμφανίζεται κάτω από οποιαδήποτε ετικέτα καθώς δεν είναι δημόσια. Μόνο οι δημόσιες δημοσιεύσεις μπορούν να αναζητηθούν με ετικέτα.",
"compose_form.lock_disclaimer": "Ο λογαριασμός σου δεν είναι {locked}. Οποιοσδήποτε μπορεί να σε ακολουθήσει για να δει τις δημοσιεύσεις σου προς τους ακολούθους σου.", "compose_form.lock_disclaimer": "Ο λογαριασμός σου δεν είναι {locked}. Οποιοσδήποτε μπορεί να σε ακολουθήσει για να δει τις δημοσιεύσεις σου προς τους ακολούθους σου.",
"compose_form.lock_disclaimer.lock": "κλειδωμένο", "compose_form.lock_disclaimer.lock": "κλειδωμένο",
"compose_form.placeholder": "Τι σκέφτεσαι;", "compose_form.placeholder": "Τι σκέφτεσαι;",
"compose_form.poll.add_option": "Προσθήκη επιλογής",
"compose_form.poll.duration": "Διάρκεια δημοσκόπησης", "compose_form.poll.duration": "Διάρκεια δημοσκόπησης",
"compose_form.poll.multiple": "Πολλαπλή επιλογή",
"compose_form.poll.option_placeholder": "Επιλογή {number}", "compose_form.poll.option_placeholder": "Επιλογή {number}",
"compose_form.poll.remove_option": "Αφαίρεση επιλογής",
"compose_form.poll.switch_to_multiple": "Ενημέρωση δημοσκόπησης με πολλαπλές επιλογές", "compose_form.poll.switch_to_multiple": "Ενημέρωση δημοσκόπησης με πολλαπλές επιλογές",
"compose_form.poll.switch_to_single": "Ενημέρωση δημοσκόπησης με μοναδική επιλογή", "compose_form.poll.switch_to_single": "Ενημέρωση δημοσκόπησης με μοναδική επιλογή",
"compose_form.publish": "Δημοσίευση", "compose_form.poll.type": "Στυλ",
"compose_form.publish": "Ανάρτηση",
"compose_form.publish_form": "Δημοσίευση", "compose_form.publish_form": "Δημοσίευση",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Απάντηση",
"compose_form.save_changes": "Αποθήκευση αλλαγών", "compose_form.save_changes": "Ενημέρωση",
"compose_form.sensitive.hide": "{count, plural, one {Επισήμανση πολυμέσου ως ευαίσθητο} other {Επισήμανση πολυμέσων ως ευαίσθητα}}",
"compose_form.sensitive.marked": "{count, plural, one {Το πολυμέσο έχει σημειωθεί ως ευαίσθητο} other {Τα πολυμέσα έχουν σημειωθεί ως ευαίσθητα}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Το πολυμέσο δεν έχει σημειωθεί ως ευαίσθητο} other {Τα πολυμέσα δεν έχουν σημειωθεί ως ευαίσθητα}}",
"compose_form.spoiler.marked": "Αφαίρεση προειδοποίηση περιεχομένου", "compose_form.spoiler.marked": "Αφαίρεση προειδοποίηση περιεχομένου",
"compose_form.spoiler.unmarked": "Προσθήκη προειδοποίησης περιεχομένου", "compose_form.spoiler.unmarked": "Προσθήκη προειδοποίησης περιεχομένου",
"compose_form.spoiler_placeholder": "Γράψε την προειδοποίησή σου εδώ", "compose_form.spoiler_placeholder": "Προειδοποίηση περιεχομένου (προαιρετική)",
"confirmation_modal.cancel": "Άκυρο", "confirmation_modal.cancel": "Άκυρο",
"confirmations.block.block_and_report": "Αποκλεισμός & Αναφορά", "confirmations.block.block_and_report": "Αποκλεισμός & Αναφορά",
"confirmations.block.confirm": "Αποκλεισμός", "confirmations.block.confirm": "Αποκλεισμός",
@ -184,6 +184,7 @@
"conversation.mark_as_read": "Σήμανση ως αναγνωσμένο", "conversation.mark_as_read": "Σήμανση ως αναγνωσμένο",
"conversation.open": "Προβολή συνομιλίας", "conversation.open": "Προβολή συνομιλίας",
"conversation.with": "Με {names}", "conversation.with": "Με {names}",
"copy_icon_button.copied": "Αντιγράφηκε στο πρόχειρο",
"copypaste.copied": "Αντιγράφηκε", "copypaste.copied": "Αντιγράφηκε",
"copypaste.copy_to_clipboard": "Αντιγραφή στο πρόχειρο", "copypaste.copy_to_clipboard": "Αντιγραφή στο πρόχειρο",
"directory.federated": "Από το γνωστό fediverse", "directory.federated": "Από το γνωστό fediverse",
@ -288,12 +289,9 @@
"hashtag.column_settings.tag_toggle": "Προσθήκη επιπλέον ταμπελών για την κολώνα", "hashtag.column_settings.tag_toggle": "Προσθήκη επιπλέον ταμπελών για την κολώνα",
"hashtag.follow": "Παρακολούθηση ετικέτας", "hashtag.follow": "Παρακολούθηση ετικέτας",
"hashtag.unfollow": "Διακοπή παρακολούθησης ετικέτας", "hashtag.unfollow": "Διακοπή παρακολούθησης ετικέτας",
"home.actions.go_to_suggestions": "Βρείτε άτομα για να ακολουθήσετε",
"home.column_settings.basic": "Βασικές ρυθμίσεις", "home.column_settings.basic": "Βασικές ρυθμίσεις",
"home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων", "home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων",
"home.column_settings.show_replies": "Εμφάνιση απαντήσεων", "home.column_settings.show_replies": "Εμφάνιση απαντήσεων",
"home.explore_prompt.body": "Your home feed will have a mix of posts from the hashtags you've chosen to follow, the people you've chosen to follow, and the posts they boost. If that feels too quiet, you may want to:\nΗ τροφοδοσία της αρχικής σελίδας σας είναι ένα μίγμα από αναρτήσεις με τις ετικέτες και τα άτομα που επιλέξατε να ακολουθείτε, και τις αναρτήσεις που προωθούν. Εάν αυτό σας φαίνεται πολύ ήσυχο, μπορεί να θέλετε:",
"home.explore_prompt.title": "Αυτό είναι το σπίτι σας στο Mastodon.",
"home.hide_announcements": "Απόκρυψη ανακοινώσεων", "home.hide_announcements": "Απόκρυψη ανακοινώσεων",
"home.pending_critical_update.link": "Δείτε ενημερώσεις", "home.pending_critical_update.link": "Δείτε ενημερώσεις",
"home.pending_critical_update.title": "Κρίσιμη ενημέρωση ασφαλείας διαθέσιμη!", "home.pending_critical_update.title": "Κρίσιμη ενημέρωση ασφαλείας διαθέσιμη!",
@ -380,7 +378,6 @@
"navigation_bar.direct": "Ιδιωτικές επισημάνσεις", "navigation_bar.direct": "Ιδιωτικές επισημάνσεις",
"navigation_bar.discover": "Ανακάλυψη", "navigation_bar.discover": "Ανακάλυψη",
"navigation_bar.domain_blocks": "Αποκλεισμένοι τομείς", "navigation_bar.domain_blocks": "Αποκλεισμένοι τομείς",
"navigation_bar.edit_profile": "Επεξεργασία προφίλ",
"navigation_bar.explore": "Εξερεύνηση", "navigation_bar.explore": "Εξερεύνηση",
"navigation_bar.filters": "Αποσιωπημένες λέξεις", "navigation_bar.filters": "Αποσιωπημένες λέξεις",
"navigation_bar.follow_requests": "Αιτήματα ακολούθησης", "navigation_bar.follow_requests": "Αιτήματα ακολούθησης",
@ -450,6 +447,12 @@
"onboarding.actions.go_to_home": "Πηγαίνετε στην αρχική σας ροή", "onboarding.actions.go_to_home": "Πηγαίνετε στην αρχική σας ροή",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!", "onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Δημοφιλή στο Mastodon", "onboarding.follows.title": "Δημοφιλή στο Mastodon",
"onboarding.profile.note": "Βιογραφικό",
"onboarding.profile.note_hint": "Μπορείτε να @αναφέρετε άλλα άτομα ή #hashtags…",
"onboarding.profile.save_and_continue": "Αποθήκευση και συνέχεια",
"onboarding.profile.title": "Ρύθμιση προφίλ",
"onboarding.profile.upload_avatar": "Μεταφόρτωση εικόνας προφίλ",
"onboarding.profile.upload_header": "Μεταφόρτωση κεφαλίδας προφίλ",
"onboarding.share.lead": "Let people know how they can find you on Mastodon!\nΕνημερώστε άλλα άτομα πώς μπορούν να σας βρουν στο Mastodon!", "onboarding.share.lead": "Let people know how they can find you on Mastodon!\nΕνημερώστε άλλα άτομα πώς μπορούν να σας βρουν στο Mastodon!",
"onboarding.share.next_steps": "Πιθανά επόμενα βήματα:", "onboarding.share.next_steps": "Πιθανά επόμενα βήματα:",
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:", "onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
@ -458,6 +461,7 @@
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.", "onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}", "onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
"onboarding.steps.publish_status.body": "Say hello to the world.", "onboarding.steps.publish_status.body": "Say hello to the world.",
"onboarding.steps.publish_status.title": "Κάντε την πρώτη σας δημοσίευση",
"onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.", "onboarding.steps.setup_profile.body": "Others are more likely to interact with you with a filled out profile.",
"onboarding.steps.setup_profile.title": "Customize your profile", "onboarding.steps.setup_profile.title": "Customize your profile",
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!", "onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
@ -467,6 +471,7 @@
"picture_in_picture.restore": "Βάλε το πίσω", "picture_in_picture.restore": "Βάλε το πίσω",
"poll.closed": "Κλειστή", "poll.closed": "Κλειστή",
"poll.refresh": "Ανανέωση", "poll.refresh": "Ανανέωση",
"poll.reveal": "Δείτε τα αποτελέσματα",
"poll.total_people": "{count, plural, one {# άτομο} other {# άτομα}}", "poll.total_people": "{count, plural, one {# άτομο} other {# άτομα}}",
"poll.total_votes": "{count, plural, one {# ψήφος} other {# ψήφοι}}", "poll.total_votes": "{count, plural, one {# ψήφος} other {# ψήφοι}}",
"poll.vote": "Ψήφισε", "poll.vote": "Ψήφισε",
@ -475,16 +480,14 @@
"poll_button.add_poll": "Προσθήκη δημοσκόπησης", "poll_button.add_poll": "Προσθήκη δημοσκόπησης",
"poll_button.remove_poll": "Αφαίρεση δημοσκόπησης", "poll_button.remove_poll": "Αφαίρεση δημοσκόπησης",
"privacy.change": "Προσαρμογή ιδιωτικότητας ανάρτησης", "privacy.change": "Προσαρμογή ιδιωτικότητας ανάρτησης",
"privacy.direct.long": "Δημοσίευση μόνο σε όσους επισημαίνονται", "privacy.direct.long": "Όλοι όσοι αναφέρθηκαν στη δημοσίευση",
"privacy.direct.short": "Αναφερόμενα άτομα μόνο", "privacy.direct.short": "Συγκεκριμένα άτομα",
"privacy.private.long": "Ορατό μόνο για τους ακολούθους", "privacy.private.long": "Μόνο οι ακόλουθοί σας",
"privacy.private.short": "Μόνο ακόλουθοι", "privacy.private.short": "Ακόλουθοι",
"privacy.public.long": "Ορατό σε όλους",
"privacy.public.short": "Δημόσιο", "privacy.public.short": "Δημόσιο",
"privacy.unlisted.long": "Ορατό για όλους, εκτός αυτών που δεν συμμετέχουν σε δυνατότητες ανακάλυψης",
"privacy.unlisted.short": "Μη καταχωρημένα",
"privacy_policy.last_updated": "Τελευταία ενημέρωση {date}", "privacy_policy.last_updated": "Τελευταία ενημέρωση {date}",
"privacy_policy.title": "Πολιτική Απορρήτου", "privacy_policy.title": "Πολιτική Απορρήτου",
"recommended": "Προτεινόμενα",
"refresh": "Ανανέωση", "refresh": "Ανανέωση",
"regeneration_indicator.label": "Φορτώνει…", "regeneration_indicator.label": "Φορτώνει…",
"regeneration_indicator.sublabel": "Η αρχική σου ροή ετοιμάζεται!", "regeneration_indicator.sublabel": "Η αρχική σου ροή ετοιμάζεται!",
@ -500,8 +503,10 @@
"relative_time.seconds": "{number}δ", "relative_time.seconds": "{number}δ",
"relative_time.today": "σήμερα", "relative_time.today": "σήμερα",
"reply_indicator.cancel": "Άκυρο", "reply_indicator.cancel": "Άκυρο",
"reply_indicator.poll": "Δημοσκόπηση",
"report.block": "Αποκλεισμός", "report.block": "Αποκλεισμός",
"report.block_explanation": "Δεν θα βλέπεις τις αναρτήσεις του. Δεν θα μπορεί να δει τις αναρτήσεις σου ή να σε ακολουθήσει. Θα μπορεί να δει ότι έχει αποκλειστεί.", "report.block_explanation": "Δεν θα βλέπεις τις αναρτήσεις του. Δεν θα μπορεί να δει τις αναρτήσεις σου ή να σε ακολουθήσει. Θα μπορεί να δει ότι έχει αποκλειστεί.",
"report.categories.legal": "Νομικό περιεχόμενο",
"report.categories.other": "Άλλες", "report.categories.other": "Άλλες",
"report.categories.spam": "Ανεπιθύμητα", "report.categories.spam": "Ανεπιθύμητα",
"report.categories.violation": "Το περιεχόμενο παραβιάζει έναν ή περισσότερους κανόνες διακομιστή", "report.categories.violation": "Το περιεχόμενο παραβιάζει έναν ή περισσότερους κανόνες διακομιστή",
@ -519,6 +524,8 @@
"report.placeholder": "Επιπλέον σχόλια", "report.placeholder": "Επιπλέον σχόλια",
"report.reasons.dislike": "Δεν μου αρέσει", "report.reasons.dislike": "Δεν μου αρέσει",
"report.reasons.dislike_description": "Δεν είναι κάτι που θα ήθελες να δεις", "report.reasons.dislike_description": "Δεν είναι κάτι που θα ήθελες να δεις",
"report.reasons.legal": "Είναι παράνομο",
"report.reasons.legal_description": "Πιστεύετε ότι παραβιάζει το νόμο της χώρας σας ή της χώρας του διακομιστή",
"report.reasons.other": "Είναι κάτι άλλο", "report.reasons.other": "Είναι κάτι άλλο",
"report.reasons.other_description": "Το ζήτημα δεν ταιριάζει σε άλλες κατηγορίες", "report.reasons.other_description": "Το ζήτημα δεν ταιριάζει σε άλλες κατηγορίες",
"report.reasons.spam": "Είναι σπαμ", "report.reasons.spam": "Είναι σπαμ",
@ -552,10 +559,12 @@
"search.search_or_paste": "Αναζήτηση ή εισαγωγή URL", "search.search_or_paste": "Αναζήτηση ή εισαγωγή URL",
"search_popout.quick_actions": "Γρήγορες ενέργειες", "search_popout.quick_actions": "Γρήγορες ενέργειες",
"search_popout.recent": "Πρόσφατες αναζητήσεις", "search_popout.recent": "Πρόσφατες αναζητήσεις",
"search_popout.user": "χρήστης",
"search_results.accounts": "Προφίλ", "search_results.accounts": "Προφίλ",
"search_results.all": "Όλα", "search_results.all": "Όλα",
"search_results.hashtags": "Ετικέτες", "search_results.hashtags": "Ετικέτες",
"search_results.nothing_found": "Δεν βρέθηκε τίποτα με αυτούς τους όρους αναζήτησης", "search_results.nothing_found": "Δεν βρέθηκε τίποτα με αυτούς τους όρους αναζήτησης",
"search_results.see_all": "Δες τα όλα",
"search_results.statuses": "Αναρτήσεις", "search_results.statuses": "Αναρτήσεις",
"search_results.title": "Αναζήτηση για {q}", "search_results.title": "Αναζήτηση για {q}",
"server_banner.about_active_users": "Άτομα που χρησιμοποιούν αυτόν τον διακομιστή κατά τις τελευταίες 30 ημέρες (Μηνιαία Ενεργοί Χρήστες)", "server_banner.about_active_users": "Άτομα που χρησιμοποιούν αυτόν τον διακομιστή κατά τις τελευταίες 30 ημέρες (Μηνιαία Ενεργοί Χρήστες)",
@ -566,6 +575,8 @@
"server_banner.server_stats": "Στατιστικά διακομιστή:", "server_banner.server_stats": "Στατιστικά διακομιστή:",
"sign_in_banner.create_account": "Δημιουργία λογαριασμού", "sign_in_banner.create_account": "Δημιουργία λογαριασμού",
"sign_in_banner.sign_in": "Σύνδεση", "sign_in_banner.sign_in": "Σύνδεση",
"sign_in_banner.sso_redirect": "Συνδεθείτε ή Εγγραφείτε",
"sign_in_banner.text": "Συνδεθείτε για να ακολουθήσετε προφίλ ή ετικέτες, αγαπήστε, μοιραστείτε και απαντήστε σε δημοσιεύσεις. Μπορείτε επίσης να αλληλεπιδράσετε από τον λογαριασμό σας σε διαφορετικό διακομιστή.",
"status.admin_account": "Άνοιγμα διεπαφής συντονισμού για τον/την @{name}", "status.admin_account": "Άνοιγμα διεπαφής συντονισμού για τον/την @{name}",
"status.admin_domain": "Άνοιγμα λειτουργίας διαμεσολάβησης για {domain}", "status.admin_domain": "Άνοιγμα λειτουργίας διαμεσολάβησης για {domain}",
"status.admin_status": "Άνοιγμα αυτής της ανάρτησης σε διεπαφή συντονισμού", "status.admin_status": "Άνοιγμα αυτής της ανάρτησης σε διεπαφή συντονισμού",
@ -582,6 +593,7 @@
"status.edited": "Επεξεργάστηκε στις {date}", "status.edited": "Επεξεργάστηκε στις {date}",
"status.edited_x_times": "Επεξεργάστηκε {count, plural, one {{count} φορά} other {{count} φορές}}", "status.edited_x_times": "Επεξεργάστηκε {count, plural, one {{count} φορά} other {{count} φορές}}",
"status.embed": "Ενσωμάτωσε", "status.embed": "Ενσωμάτωσε",
"status.favourite": "Αγαπημένα",
"status.filter": "Φιλτράρισμα αυτής της ανάρτησης", "status.filter": "Φιλτράρισμα αυτής της ανάρτησης",
"status.filtered": "Φιλτραρισμένα", "status.filtered": "Φιλτραρισμένα",
"status.hide": "Απόκρυψη ανάρτησης", "status.hide": "Απόκρυψη ανάρτησης",
@ -646,10 +658,8 @@
"upload_error.poll": "Στις δημοσκοπήσεις δεν επιτρέπεται η μεταφόρτωση αρχείου.", "upload_error.poll": "Στις δημοσκοπήσεις δεν επιτρέπεται η μεταφόρτωση αρχείου.",
"upload_form.audio_description": "Περιγραφή για άτομα με προβλήματα ακοής", "upload_form.audio_description": "Περιγραφή για άτομα με προβλήματα ακοής",
"upload_form.description": "Περιγραφή για άτομα με προβλήματα όρασης", "upload_form.description": "Περιγραφή για άτομα με προβλήματα όρασης",
"upload_form.description_missing": "Δεν προστέθηκε περιγραφή",
"upload_form.edit": "Επεξεργασία", "upload_form.edit": "Επεξεργασία",
"upload_form.thumbnail": "Αλλαγή μικρογραφίας", "upload_form.thumbnail": "Αλλαγή μικρογραφίας",
"upload_form.undo": "Διαγραφή",
"upload_form.video_description": "Περιγραφή για άτομα με προβλήματα ακοής ή όρασης", "upload_form.video_description": "Περιγραφή για άτομα με προβλήματα ακοής ή όρασης",
"upload_modal.analyzing_picture": "Ανάλυση εικόνας…", "upload_modal.analyzing_picture": "Ανάλυση εικόνας…",
"upload_modal.apply": "Εφαρμογή", "upload_modal.apply": "Εφαρμογή",

@ -32,6 +32,7 @@
"account.featured_tags.last_status_never": "No posts", "account.featured_tags.last_status_never": "No posts",
"account.featured_tags.title": "{name}'s featured hashtags", "account.featured_tags.title": "{name}'s featured hashtags",
"account.follow": "Follow", "account.follow": "Follow",
"account.follow_back": "Follow back",
"account.followers": "Followers", "account.followers": "Followers",
"account.followers.empty": "No one follows this user yet.", "account.followers.empty": "No one follows this user yet.",
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
@ -52,6 +53,7 @@
"account.mute_notifications_short": "Mute notifications", "account.mute_notifications_short": "Mute notifications",
"account.mute_short": "Mute", "account.mute_short": "Mute",
"account.muted": "Muted", "account.muted": "Muted",
"account.mutual": "Mutual",
"account.no_bio": "No description provided.", "account.no_bio": "No description provided.",
"account.open_original_page": "Open original page", "account.open_original_page": "Open original page",
"account.posts": "Posts", "account.posts": "Posts",
@ -87,7 +89,6 @@
"announcement.announcement": "Announcement", "announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)", "attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio", "audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time", "boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.copy_stacktrace": "Copy error report", "bundle_column_error.copy_stacktrace": "Copy error report",
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
@ -144,22 +145,20 @@
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked", "compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "What's on your mind?", "compose_form.placeholder": "What's on your mind?",
"compose_form.poll.add_option": "Add a choice",
"compose_form.poll.duration": "Poll duration", "compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Choice {number}", "compose_form.poll.multiple": "Multiple choice",
"compose_form.poll.remove_option": "Remove this choice", "compose_form.poll.option_placeholder": "Option {number}",
"compose_form.poll.single": "Pick one",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices", "compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice", "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
"compose_form.publish": "Publish", "compose_form.poll.type": "Style",
"compose_form.publish": "Post",
"compose_form.publish_form": "New post", "compose_form.publish_form": "New post",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Reply",
"compose_form.save_changes": "Save changes", "compose_form.save_changes": "Update",
"compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
"compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
"compose_form.spoiler.marked": "Remove content warning", "compose_form.spoiler.marked": "Remove content warning",
"compose_form.spoiler.unmarked": "Add content warning", "compose_form.spoiler.unmarked": "Add content warning",
"compose_form.spoiler_placeholder": "Write your warning here", "compose_form.spoiler_placeholder": "Content warning (optional)",
"confirmation_modal.cancel": "Cancel", "confirmation_modal.cancel": "Cancel",
"confirmations.block.block_and_report": "Block & Report", "confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Block", "confirmations.block.confirm": "Block",
@ -278,6 +277,11 @@
"follow_request.authorize": "Authorise", "follow_request.authorize": "Authorise",
"follow_request.reject": "Reject", "follow_request.reject": "Reject",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.", "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"follow_suggestions.dismiss": "Don't show again",
"follow_suggestions.personalized_suggestion": "Personalised suggestion",
"follow_suggestions.popular_suggestion": "Popular suggestion",
"follow_suggestions.view_all": "View all",
"follow_suggestions.who_to_follow": "Who to follow",
"followed_tags": "Followed hashtags", "followed_tags": "Followed hashtags",
"footer.about": "About", "footer.about": "About",
"footer.directory": "Profiles directory", "footer.directory": "Profiles directory",
@ -303,14 +307,10 @@
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} post} other {{counter} posts}} today", "hashtag.counter_by_uses_today": "{count, plural, one {{counter} post} other {{counter} posts}} today",
"hashtag.follow": "Follow hashtag", "hashtag.follow": "Follow hashtag",
"hashtag.unfollow": "Unfollow hashtag", "hashtag.unfollow": "Unfollow hashtag",
"hashtags.and_other": "…and {count, plural, one {}other {# more}}", "hashtags.and_other": "…and {count, plural, one {one more} other {# more}}",
"home.actions.go_to_explore": "See what's trending",
"home.actions.go_to_suggestions": "Find people to follow",
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.explore_prompt.body": "Your home feed will have a mix of posts from the hashtags you've chosen to follow, the people you've chosen to follow, and the posts they boost. If that feels too quiet, you may want to:",
"home.explore_prompt.title": "This is your home base within Mastodon.",
"home.hide_announcements": "Hide announcements", "home.hide_announcements": "Hide announcements",
"home.pending_critical_update.body": "Please update your Mastodon server as soon as possible!", "home.pending_critical_update.body": "Please update your Mastodon server as soon as possible!",
"home.pending_critical_update.link": "See updates", "home.pending_critical_update.link": "See updates",
@ -406,7 +406,6 @@
"navigation_bar.direct": "Private mentions", "navigation_bar.direct": "Private mentions",
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Blocked domains", "navigation_bar.domain_blocks": "Blocked domains",
"navigation_bar.edit_profile": "Edit profile",
"navigation_bar.explore": "Explore", "navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
@ -524,14 +523,15 @@
"poll_button.add_poll": "Add a poll", "poll_button.add_poll": "Add a poll",
"poll_button.remove_poll": "Remove poll", "poll_button.remove_poll": "Remove poll",
"privacy.change": "Change post privacy", "privacy.change": "Change post privacy",
"privacy.direct.long": "Visible for mentioned users only", "privacy.direct.long": "Everyone mentioned in the post",
"privacy.direct.short": "Mentioned people only", "privacy.direct.short": "Specific people",
"privacy.private.long": "Visible for followers only", "privacy.private.long": "Only your followers",
"privacy.private.short": "Followers-only", "privacy.private.short": "Followers",
"privacy.public.long": "Visible for all", "privacy.public.long": "Anyone on and off Mastodon",
"privacy.public.short": "Public", "privacy.public.short": "Public",
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.additional": "This behaves exactly like public, except the post will not appear in live feeds or hashtags, explore, or Mastodon search, even if you are opted-in account-wide.",
"privacy.unlisted.short": "Unlisted", "privacy.unlisted.long": "Fewer algorithmic fanfares",
"privacy.unlisted.short": "Quiet public",
"privacy_policy.last_updated": "Last updated {date}", "privacy_policy.last_updated": "Last updated {date}",
"privacy_policy.title": "Privacy Policy", "privacy_policy.title": "Privacy Policy",
"recommended": "Recommended", "recommended": "Recommended",
@ -549,7 +549,9 @@
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today", "relative_time.today": "today",
"reply_indicator.attachments": "{count, plural, one {# attachment} other {# attachments}}",
"reply_indicator.cancel": "Cancel", "reply_indicator.cancel": "Cancel",
"reply_indicator.poll": "Poll",
"report.block": "Block", "report.block": "Block",
"report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
"report.categories.legal": "Legal", "report.categories.legal": "Legal",
@ -713,10 +715,8 @@
"upload_error.poll": "File upload not allowed with polls.", "upload_error.poll": "File upload not allowed with polls.",
"upload_form.audio_description": "Describe for people who are deaf or hard of hearing", "upload_form.audio_description": "Describe for people who are deaf or hard of hearing",
"upload_form.description": "Describe for people who are blind or have low vision", "upload_form.description": "Describe for people who are blind or have low vision",
"upload_form.description_missing": "No description added",
"upload_form.edit": "Edit", "upload_form.edit": "Edit",
"upload_form.thumbnail": "Change thumbnail", "upload_form.thumbnail": "Change thumbnail",
"upload_form.undo": "Delete",
"upload_form.video_description": "Describe for people who are deaf, hard of hearing, blind or have low vision", "upload_form.video_description": "Describe for people who are deaf, hard of hearing, blind or have low vision",
"upload_modal.analyzing_picture": "Analysing picture…", "upload_modal.analyzing_picture": "Analysing picture…",
"upload_modal.apply": "Apply", "upload_modal.apply": "Apply",

@ -145,11 +145,9 @@
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked", "compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "What's on your mind?", "compose_form.placeholder": "What's on your mind?",
"compose_form.poll.add_option": "Add option",
"compose_form.poll.duration": "Poll duration", "compose_form.poll.duration": "Poll duration",
"compose_form.poll.multiple": "Multiple choice", "compose_form.poll.multiple": "Multiple choice",
"compose_form.poll.option_placeholder": "Option {number}", "compose_form.poll.option_placeholder": "Option {number}",
"compose_form.poll.remove_option": "Remove this option",
"compose_form.poll.single": "Pick one", "compose_form.poll.single": "Pick one",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices", "compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice", "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
@ -279,6 +277,17 @@
"follow_request.authorize": "Authorize", "follow_request.authorize": "Authorize",
"follow_request.reject": "Reject", "follow_request.reject": "Reject",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.", "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"follow_suggestions.curated_suggestion": "Staff pick",
"follow_suggestions.dismiss": "Don't show again",
"follow_suggestions.hints.featured": "This profile has been hand-picked by the {domain} team.",
"follow_suggestions.hints.friends_of_friends": "This profile is popular among the people you follow.",
"follow_suggestions.hints.most_followed": "This profile is one of the most followed on {domain}.",
"follow_suggestions.hints.most_interactions": "This profile has been recently getting a lot of attention on {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "This profile is similar to the profiles you have most recently followed.",
"follow_suggestions.personalized_suggestion": "Personalized suggestion",
"follow_suggestions.popular_suggestion": "Popular suggestion",
"follow_suggestions.view_all": "View all",
"follow_suggestions.who_to_follow": "Who to follow",
"followed_tags": "Followed hashtags", "followed_tags": "Followed hashtags",
"footer.about": "About", "footer.about": "About",
"footer.directory": "Profiles directory", "footer.directory": "Profiles directory",
@ -305,13 +314,9 @@
"hashtag.follow": "Follow hashtag", "hashtag.follow": "Follow hashtag",
"hashtag.unfollow": "Unfollow hashtag", "hashtag.unfollow": "Unfollow hashtag",
"hashtags.and_other": "…and {count, plural, other {# more}}", "hashtags.and_other": "…and {count, plural, other {# more}}",
"home.actions.go_to_explore": "See what's trending",
"home.actions.go_to_suggestions": "Find people to follow",
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.explore_prompt.body": "Your home feed will have a mix of posts from the hashtags you've chosen to follow, the people you've chosen to follow, and the posts they boost. If that feels too quiet, you may want to:",
"home.explore_prompt.title": "This is your home base within Mastodon.",
"home.hide_announcements": "Hide announcements", "home.hide_announcements": "Hide announcements",
"home.pending_critical_update.body": "Please update your Mastodon server as soon as possible!", "home.pending_critical_update.body": "Please update your Mastodon server as soon as possible!",
"home.pending_critical_update.link": "See updates", "home.pending_critical_update.link": "See updates",

@ -89,7 +89,6 @@
"announcement.announcement": "Anoncoj", "announcement.announcement": "Anoncoj",
"attachments_list.unprocessed": "(neprilaborita)", "attachments_list.unprocessed": "(neprilaborita)",
"audio.hide": "Kaŝi aŭdion", "audio.hide": "Kaŝi aŭdion",
"autosuggest_hashtag.per_week": "po {count} por semajno",
"boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje", "boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje",
"bundle_column_error.copy_stacktrace": "Kopii la eraran raporton", "bundle_column_error.copy_stacktrace": "Kopii la eraran raporton",
"bundle_column_error.error.body": "La petita paĝo ne povas redonitis. Eble estas eraro.", "bundle_column_error.error.body": "La petita paĝo ne povas redonitis. Eble estas eraro.",
@ -116,7 +115,7 @@
"column.directory": "Foliumi la profilojn", "column.directory": "Foliumi la profilojn",
"column.domain_blocks": "Blokitaj domajnoj", "column.domain_blocks": "Blokitaj domajnoj",
"column.favourites": "Stelumoj", "column.favourites": "Stelumoj",
"column.firehose": "Vivantaj fluoj", "column.firehose": "Rektaj fluoj",
"column.follow_requests": "Petoj de sekvado", "column.follow_requests": "Petoj de sekvado",
"column.home": "Hejmo", "column.home": "Hejmo",
"column.lists": "Listoj", "column.lists": "Listoj",
@ -146,22 +145,12 @@
"compose_form.lock_disclaimer": "Via konto ne estas {locked}. Iu ajn povas sekvi vin por vidi viajn afiŝojn nur al la sekvantoj.", "compose_form.lock_disclaimer": "Via konto ne estas {locked}. Iu ajn povas sekvi vin por vidi viajn afiŝojn nur al la sekvantoj.",
"compose_form.lock_disclaimer.lock": "ŝlosita", "compose_form.lock_disclaimer.lock": "ŝlosita",
"compose_form.placeholder": "Kion vi pensas?", "compose_form.placeholder": "Kion vi pensas?",
"compose_form.poll.add_option": "Aldoni elekteblon",
"compose_form.poll.duration": "Daŭro de la balotenketo", "compose_form.poll.duration": "Daŭro de la balotenketo",
"compose_form.poll.option_placeholder": "Elekteblo {number}",
"compose_form.poll.remove_option": "Forigi ĉi tiu elekteblon",
"compose_form.poll.switch_to_multiple": "Ŝanĝi la balotenketon por permesi multajn elektojn", "compose_form.poll.switch_to_multiple": "Ŝanĝi la balotenketon por permesi multajn elektojn",
"compose_form.poll.switch_to_single": "Ŝanĝi la balotenketon por permesi unu solan elekton", "compose_form.poll.switch_to_single": "Ŝanĝi la balotenketon por permesi unu solan elekton",
"compose_form.publish": "Afiŝi",
"compose_form.publish_form": "Afiŝi", "compose_form.publish_form": "Afiŝi",
"compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Konservi ŝanĝojn",
"compose_form.sensitive.hide": "{count, plural, one {Marki la plurmedio kiel tikla} other {Marki la plurmedioj kiel tiklaj}}",
"compose_form.sensitive.marked": "{count, plural, one {La plurmedio estas markita kiel tikla} other {La plurmedioj estas markitaj kiel tiklaj}}",
"compose_form.sensitive.unmarked": "{count, plural, one {La plurmedio ne estas markita kiel tikla} other {La plurmedioj ne estas markitaj kiel tiklaj}}",
"compose_form.spoiler.marked": "Forigi la averton de enhavo", "compose_form.spoiler.marked": "Forigi la averton de enhavo",
"compose_form.spoiler.unmarked": "Aldoni averton de enhavo", "compose_form.spoiler.unmarked": "Aldoni averton de enhavo",
"compose_form.spoiler_placeholder": "Skribu vian averton ĉi tie",
"confirmation_modal.cancel": "Nuligi", "confirmation_modal.cancel": "Nuligi",
"confirmations.block.block_and_report": "Bloki kaj raporti", "confirmations.block.block_and_report": "Bloki kaj raporti",
"confirmations.block.confirm": "Bloki", "confirmations.block.confirm": "Bloki",
@ -306,13 +295,9 @@
"hashtag.follow": "Sekvi la kradvorton", "hashtag.follow": "Sekvi la kradvorton",
"hashtag.unfollow": "Ne plu sekvi la kradvorton", "hashtag.unfollow": "Ne plu sekvi la kradvorton",
"hashtags.and_other": "…kaj {count, plural,other {# pli}}", "hashtags.and_other": "…kaj {count, plural,other {# pli}}",
"home.actions.go_to_explore": "Vidi kio populariĝas",
"home.actions.go_to_suggestions": "Trovi homojn por sekvi",
"home.column_settings.basic": "Bazaj agordoj", "home.column_settings.basic": "Bazaj agordoj",
"home.column_settings.show_reblogs": "Montri diskonigojn", "home.column_settings.show_reblogs": "Montri diskonigojn",
"home.column_settings.show_replies": "Montri respondojn", "home.column_settings.show_replies": "Montri respondojn",
"home.explore_prompt.body": "Via hejmafiŝaro havos miksitajn afiŝojn de kradvortoj kiujn vi elektis sekvi, personoj kiujn vi elektis sekvi, kaj afiŝoj kiujn ili suprenigis.",
"home.explore_prompt.title": "Ĉi tio estas via hejma paĝo en Mastodon.",
"home.hide_announcements": "Kaŝi la anoncojn", "home.hide_announcements": "Kaŝi la anoncojn",
"home.pending_critical_update.body": "Ĝisdatigu vian servilon de Mastodon kiel eble plej baldau!", "home.pending_critical_update.body": "Ĝisdatigu vian servilon de Mastodon kiel eble plej baldau!",
"home.pending_critical_update.link": "Vidi ĝisdatigojn", "home.pending_critical_update.link": "Vidi ĝisdatigojn",
@ -408,7 +393,6 @@
"navigation_bar.direct": "Privataj mencioj", "navigation_bar.direct": "Privataj mencioj",
"navigation_bar.discover": "Esplori", "navigation_bar.discover": "Esplori",
"navigation_bar.domain_blocks": "Blokitaj domajnoj", "navigation_bar.domain_blocks": "Blokitaj domajnoj",
"navigation_bar.edit_profile": "Redakti profilon",
"navigation_bar.explore": "Esplori", "navigation_bar.explore": "Esplori",
"navigation_bar.favourites": "Stelumoj", "navigation_bar.favourites": "Stelumoj",
"navigation_bar.filters": "Silentigitaj vortoj", "navigation_bar.filters": "Silentigitaj vortoj",
@ -526,14 +510,7 @@
"poll_button.add_poll": "Aldoni balotenketon", "poll_button.add_poll": "Aldoni balotenketon",
"poll_button.remove_poll": "Forigi balotenketon", "poll_button.remove_poll": "Forigi balotenketon",
"privacy.change": "Agordi mesaĝan privatecon", "privacy.change": "Agordi mesaĝan privatecon",
"privacy.direct.long": "Videbla nur al menciitaj uzantoj",
"privacy.direct.short": "Nur menciitaj personoj",
"privacy.private.long": "Videbla nur al viaj sekvantoj",
"privacy.private.short": "Nur abonantoj",
"privacy.public.long": "Videbla por ĉiuj",
"privacy.public.short": "Publika", "privacy.public.short": "Publika",
"privacy.unlisted.long": "Videbla por ĉiuj, sed ekskluzive el la funkcio de esploro",
"privacy.unlisted.short": "Nelistigita",
"privacy_policy.last_updated": "Laste ĝisdatigita en {date}", "privacy_policy.last_updated": "Laste ĝisdatigita en {date}",
"privacy_policy.title": "Politiko de privateco", "privacy_policy.title": "Politiko de privateco",
"recommended": "Rekomendita", "recommended": "Rekomendita",
@ -715,10 +692,8 @@
"upload_error.poll": "Alŝuto de dosiero ne permesita kun balotenketo.", "upload_error.poll": "Alŝuto de dosiero ne permesita kun balotenketo.",
"upload_form.audio_description": "Priskribi por homoj kiuj malfacile aŭdi", "upload_form.audio_description": "Priskribi por homoj kiuj malfacile aŭdi",
"upload_form.description": "Priskribi por personoj, kiuj estas blindaj aŭ havas vidmalsufiĉon", "upload_form.description": "Priskribi por personoj, kiuj estas blindaj aŭ havas vidmalsufiĉon",
"upload_form.description_missing": "Neniu priskribo aldonita",
"upload_form.edit": "Redakti", "upload_form.edit": "Redakti",
"upload_form.thumbnail": "Ŝanĝi etigita bildo", "upload_form.thumbnail": "Ŝanĝi etigita bildo",
"upload_form.undo": "Forigi",
"upload_form.video_description": "Priskribi por homoj kiuj malfacile aŭdi aŭ vidi", "upload_form.video_description": "Priskribi por homoj kiuj malfacile aŭdi aŭ vidi",
"upload_modal.analyzing_picture": "Bilda analizado…", "upload_modal.analyzing_picture": "Bilda analizado…",
"upload_modal.apply": "Apliki", "upload_modal.apply": "Apliki",

@ -89,7 +89,6 @@
"announcement.announcement": "Anuncio", "announcement.announcement": "Anuncio",
"attachments_list.unprocessed": "[sin procesar]", "attachments_list.unprocessed": "[sin procesar]",
"audio.hide": "Ocultar audio", "audio.hide": "Ocultar audio",
"autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Podés hacer clic en {combo} para saltar esto la próxima vez", "boost_modal.combo": "Podés hacer clic en {combo} para saltar esto la próxima vez",
"bundle_column_error.copy_stacktrace": "Copiar informe de error", "bundle_column_error.copy_stacktrace": "Copiar informe de error",
"bundle_column_error.error.body": "La página solicitada no pudo ser cargada. Podría deberse a un error de programación en nuestro código o a un problema de compatibilidad con el navegador web.", "bundle_column_error.error.body": "La página solicitada no pudo ser cargada. Podría deberse a un error de programación en nuestro código o a un problema de compatibilidad con el navegador web.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Tu cuenta no es {locked}. Todos pueden seguirte para ver tus mensajes marcados como \"Sólo para seguidores\".", "compose_form.lock_disclaimer": "Tu cuenta no es {locked}. Todos pueden seguirte para ver tus mensajes marcados como \"Sólo para seguidores\".",
"compose_form.lock_disclaimer.lock": "privada", "compose_form.lock_disclaimer.lock": "privada",
"compose_form.placeholder": "¿Qué onda?", "compose_form.placeholder": "¿Qué onda?",
"compose_form.poll.add_option": "Agregá una opción",
"compose_form.poll.duration": "Duración de la encuesta", "compose_form.poll.duration": "Duración de la encuesta",
"compose_form.poll.multiple": "Múltiples opciones",
"compose_form.poll.option_placeholder": "Opción {number}", "compose_form.poll.option_placeholder": "Opción {number}",
"compose_form.poll.remove_option": "Quitar esta opción", "compose_form.poll.single": "Elegí una",
"compose_form.poll.switch_to_multiple": "Cambiar encuesta para permitir opciones múltiples", "compose_form.poll.switch_to_multiple": "Cambiar encuesta para permitir opciones múltiples",
"compose_form.poll.switch_to_single": "Cambiar encuesta para permitir una sola opción", "compose_form.poll.switch_to_single": "Cambiar encuesta para permitir una sola opción",
"compose_form.publish": "Publicar", "compose_form.poll.type": "Estilo",
"compose_form.publish": "Enviar",
"compose_form.publish_form": "Nuevo mensaje", "compose_form.publish_form": "Nuevo mensaje",
"compose_form.publish_loud": "¡{publish}!", "compose_form.reply": "Responder",
"compose_form.save_changes": "Guardar cambios", "compose_form.save_changes": "Actualizar",
"compose_form.sensitive.hide": "Marcar medio como sensible",
"compose_form.sensitive.marked": "{count, plural, one {El medio está marcado como sensible} other {Los medios están marcados como sensibles}}",
"compose_form.sensitive.unmarked": "El medio no está marcado como sensible",
"compose_form.spoiler.marked": "Quitar advertencia de contenido", "compose_form.spoiler.marked": "Quitar advertencia de contenido",
"compose_form.spoiler.unmarked": "Agregar advertencia de contenido", "compose_form.spoiler.unmarked": "Agregar advertencia de contenido",
"compose_form.spoiler_placeholder": "Escribí tu advertencia acá", "compose_form.spoiler_placeholder": "Advertencia de contenido (opcional)",
"confirmation_modal.cancel": "Cancelar", "confirmation_modal.cancel": "Cancelar",
"confirmations.block.block_and_report": "Bloquear y denunciar", "confirmations.block.block_and_report": "Bloquear y denunciar",
"confirmations.block.confirm": "Bloquear", "confirmations.block.confirm": "Bloquear",
@ -280,6 +277,17 @@
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
"follow_request.reject": "Rechazar", "follow_request.reject": "Rechazar",
"follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el equipo de {domain} pensó que podrías querer revisar manualmente las solicitudes de seguimiento de estas cuentas.", "follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el equipo de {domain} pensó que podrías querer revisar manualmente las solicitudes de seguimiento de estas cuentas.",
"follow_suggestions.curated_suggestion": "Selección del equipo",
"follow_suggestions.dismiss": "No mostrar de nuevo",
"follow_suggestions.hints.featured": "Este perfil fue seleccionado a mano por el equipo de {domain}.",
"follow_suggestions.hints.friends_of_friends": "Este perfil es popular entre las cuentas que seguís.",
"follow_suggestions.hints.most_followed": "Este perfil es uno de los más seguidos en {domain}.",
"follow_suggestions.hints.most_interactions": "Este perfil ha estado recibiendo recientemente mucha atención en {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "Este perfil es similar a los que comenzaste a seguir.",
"follow_suggestions.personalized_suggestion": "Sugerencia personalizada",
"follow_suggestions.popular_suggestion": "Sugerencia popular",
"follow_suggestions.view_all": "Ver todo",
"follow_suggestions.who_to_follow": "A quién seguir",
"followed_tags": "Etiquetas seguidas", "followed_tags": "Etiquetas seguidas",
"footer.about": "Información", "footer.about": "Información",
"footer.directory": "Directorio de perfiles", "footer.directory": "Directorio de perfiles",
@ -306,13 +314,9 @@
"hashtag.follow": "Seguir etiqueta", "hashtag.follow": "Seguir etiqueta",
"hashtag.unfollow": "Dejar de seguir etiqueta", "hashtag.unfollow": "Dejar de seguir etiqueta",
"hashtags.and_other": "…y {count, plural, other {# más}}", "hashtags.and_other": "…y {count, plural, other {# más}}",
"home.actions.go_to_explore": "Ver qué está en tendencia",
"home.actions.go_to_suggestions": "Encontrar cuentas para seguir",
"home.column_settings.basic": "Básico", "home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar adhesiones", "home.column_settings.show_reblogs": "Mostrar adhesiones",
"home.column_settings.show_replies": "Mostrar respuestas", "home.column_settings.show_replies": "Mostrar respuestas",
"home.explore_prompt.body": "Tu línea temporal principal tendrá una mezcla de mensajes de etiquetas que hayás decidido seguir, cuentas que hayás seguido y mensajes a los que éstas adhieran. Si está muy tranquilo por acá, quizás quieras:",
"home.explore_prompt.title": "Este es tu inicio en Mastodon.",
"home.hide_announcements": "Ocultar anuncios", "home.hide_announcements": "Ocultar anuncios",
"home.pending_critical_update.body": "Por favor, ¡actualizá tu servidor de Mastodon lo antes posible!", "home.pending_critical_update.body": "Por favor, ¡actualizá tu servidor de Mastodon lo antes posible!",
"home.pending_critical_update.link": "Ver actualizaciones", "home.pending_critical_update.link": "Ver actualizaciones",
@ -408,7 +412,6 @@
"navigation_bar.direct": "Menciones privadas", "navigation_bar.direct": "Menciones privadas",
"navigation_bar.discover": "Descubrir", "navigation_bar.discover": "Descubrir",
"navigation_bar.domain_blocks": "Dominios bloqueados", "navigation_bar.domain_blocks": "Dominios bloqueados",
"navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.explore": "Explorá", "navigation_bar.explore": "Explorá",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Palabras silenciadas", "navigation_bar.filters": "Palabras silenciadas",
@ -526,14 +529,15 @@
"poll_button.add_poll": "Agregar encuesta", "poll_button.add_poll": "Agregar encuesta",
"poll_button.remove_poll": "Quitar encuesta", "poll_button.remove_poll": "Quitar encuesta",
"privacy.change": "Configurar privacidad del mensaje", "privacy.change": "Configurar privacidad del mensaje",
"privacy.direct.long": "Visible sólo para los usuarios mencionados", "privacy.direct.long": "Todas las cuentas mencionadas en el mensaje",
"privacy.direct.short": "Sólo cuentas mencionadas", "privacy.direct.short": "Cuentas específicas",
"privacy.private.long": "Visible sólo para los seguidores", "privacy.private.long": "Solo tus seguidores",
"privacy.private.short": "Sólo para seguidores", "privacy.private.short": "Seguidores",
"privacy.public.long": "Visible para todos", "privacy.public.long": "Cualquier persona dentro y fuera de Mastodon",
"privacy.public.short": "Público", "privacy.public.short": "Público",
"privacy.unlisted.long": "Visible para todos, pero excluido de las características de descubrimiento", "privacy.unlisted.additional": "Esto se comporta exactamente igual que con la configuración de privacidad de mensaje \"Público\", excepto que el mensaje no aparecerá en los líneas temporales en vivo, ni en las etiquetas, ni en la línea temporal \"Explorá\", ni en la búsqueda de Mastodon; incluso si optaste por hacer tu cuenta visible.",
"privacy.unlisted.short": "No listado", "privacy.unlisted.long": "Menos fanfarrias algorítmicas",
"privacy.unlisted.short": "Público silencioso",
"privacy_policy.last_updated": "Última actualización: {date}", "privacy_policy.last_updated": "Última actualización: {date}",
"privacy_policy.title": "Política de privacidad", "privacy_policy.title": "Política de privacidad",
"recommended": "Opción recomendada", "recommended": "Opción recomendada",
@ -551,7 +555,9 @@
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "hoy", "relative_time.today": "hoy",
"reply_indicator.attachments": "{count, plural,one {# adjunto} other {# adjuntos}}",
"reply_indicator.cancel": "Cancelar", "reply_indicator.cancel": "Cancelar",
"reply_indicator.poll": "Encuesta",
"report.block": "Bloquear", "report.block": "Bloquear",
"report.block_explanation": "No verás sus mensajes. No podrán ver tus mensajes ni seguirte. Se van a dar cuentra de que están bloqueados.", "report.block_explanation": "No verás sus mensajes. No podrán ver tus mensajes ni seguirte. Se van a dar cuentra de que están bloqueados.",
"report.categories.legal": "Legales", "report.categories.legal": "Legales",
@ -651,8 +657,8 @@
"status.filter": "Filtrar este mensaje", "status.filter": "Filtrar este mensaje",
"status.filtered": "Filtrado", "status.filtered": "Filtrado",
"status.hide": "Ocultar mensaje", "status.hide": "Ocultar mensaje",
"status.history.created": "Creado por {name} el {date}", "status.history.created": "Creado por {name}, {date}",
"status.history.edited": "Editado por {name} el {date}", "status.history.edited": "Editado por {name}, {date}",
"status.load_more": "Cargar más", "status.load_more": "Cargar más",
"status.media.open": "Clic para abrir", "status.media.open": "Clic para abrir",
"status.media.show": "Clic para mostrar", "status.media.show": "Clic para mostrar",
@ -715,10 +721,8 @@
"upload_error.poll": "No se permite la subida de archivos en encuestas.", "upload_error.poll": "No se permite la subida de archivos en encuestas.",
"upload_form.audio_description": "Agregá una descripción para personas con dificultades auditivas", "upload_form.audio_description": "Agregá una descripción para personas con dificultades auditivas",
"upload_form.description": "Agregá una descripción para personas con dificultades visuales", "upload_form.description": "Agregá una descripción para personas con dificultades visuales",
"upload_form.description_missing": "No se agregó descripción",
"upload_form.edit": "Editar", "upload_form.edit": "Editar",
"upload_form.thumbnail": "Cambiar miniatura", "upload_form.thumbnail": "Cambiar miniatura",
"upload_form.undo": "Eliminar",
"upload_form.video_description": "Agregá una descripción para personas con dificultades auditivas o visuales", "upload_form.video_description": "Agregá una descripción para personas con dificultades auditivas o visuales",
"upload_modal.analyzing_picture": "Analizando imagen…", "upload_modal.analyzing_picture": "Analizando imagen…",
"upload_modal.apply": "Aplicar", "upload_modal.apply": "Aplicar",

@ -89,7 +89,6 @@
"announcement.announcement": "Anuncio", "announcement.announcement": "Anuncio",
"attachments_list.unprocessed": "(sin procesar)", "attachments_list.unprocessed": "(sin procesar)",
"audio.hide": "Ocultar audio", "audio.hide": "Ocultar audio",
"autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez", "boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
"bundle_column_error.copy_stacktrace": "Copiar informe de error", "bundle_column_error.copy_stacktrace": "Copiar informe de error",
"bundle_column_error.error.body": "La página solicitada no pudo ser renderizada. Podría deberse a un error en nuestro código o a un problema de compatibilidad con el navegador.", "bundle_column_error.error.body": "La página solicitada no pudo ser renderizada. Podría deberse a un error en nuestro código o a un problema de compatibilidad con el navegador.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Tu cuenta no está bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.", "compose_form.lock_disclaimer": "Tu cuenta no está bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.",
"compose_form.lock_disclaimer.lock": "bloqueado", "compose_form.lock_disclaimer.lock": "bloqueado",
"compose_form.placeholder": "¿En qué estás pensando?", "compose_form.placeholder": "¿En qué estás pensando?",
"compose_form.poll.add_option": "Añadir una opción",
"compose_form.poll.duration": "Duración de la encuesta", "compose_form.poll.duration": "Duración de la encuesta",
"compose_form.poll.option_placeholder": "Elección {number}", "compose_form.poll.multiple": "Selección múltiple",
"compose_form.poll.remove_option": "Eliminar esta opción", "compose_form.poll.option_placeholder": "Opción {number}",
"compose_form.poll.single": "Seleccione uno",
"compose_form.poll.switch_to_multiple": "Modificar encuesta para permitir múltiples opciones", "compose_form.poll.switch_to_multiple": "Modificar encuesta para permitir múltiples opciones",
"compose_form.poll.switch_to_single": "Modificar encuesta para permitir una única opción", "compose_form.poll.switch_to_single": "Modificar encuesta para permitir una única opción",
"compose_form.publish": "Publicar", "compose_form.poll.type": "Estilo",
"compose_form.publish": "Publicación",
"compose_form.publish_form": "Publicar", "compose_form.publish_form": "Publicar",
"compose_form.publish_loud": "¡{publish}!", "compose_form.reply": "Respuesta",
"compose_form.save_changes": "Guardar cambios", "compose_form.save_changes": "Actualización",
"compose_form.sensitive.hide": "Marcar multimedia como sensible",
"compose_form.sensitive.marked": "Material marcado como sensible",
"compose_form.sensitive.unmarked": "Material no marcado como sensible",
"compose_form.spoiler.marked": "Texto oculto tras la advertencia", "compose_form.spoiler.marked": "Texto oculto tras la advertencia",
"compose_form.spoiler.unmarked": "Texto no oculto", "compose_form.spoiler.unmarked": "Texto no oculto",
"compose_form.spoiler_placeholder": "Advertencia de contenido", "compose_form.spoiler_placeholder": "Advertencia de contenido (opcional)",
"confirmation_modal.cancel": "Cancelar", "confirmation_modal.cancel": "Cancelar",
"confirmations.block.block_and_report": "Bloquear y Denunciar", "confirmations.block.block_and_report": "Bloquear y Denunciar",
"confirmations.block.confirm": "Bloquear", "confirmations.block.confirm": "Bloquear",
@ -280,6 +277,17 @@
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
"follow_request.reject": "Rechazar", "follow_request.reject": "Rechazar",
"follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el personal de {domain} ha pensado que quizás deberías revisar manualmente las solicitudes de seguimiento de estas cuentas.", "follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el personal de {domain} ha pensado que quizás deberías revisar manualmente las solicitudes de seguimiento de estas cuentas.",
"follow_suggestions.curated_suggestion": "Recomendaciones del equipo",
"follow_suggestions.dismiss": "No mostrar de nuevo",
"follow_suggestions.hints.featured": "Este perfil ha sido elegido a mano por el equipo de {domain}.",
"follow_suggestions.hints.friends_of_friends": "Este perfil es popular entre las personas que sigues.",
"follow_suggestions.hints.most_followed": "Este perfil es uno de los más seguidos en {domain}.",
"follow_suggestions.hints.most_interactions": "Este perfil ha estado recibiendo recientemente mucha atención en {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "Este perfil es similar a los perfiles que has seguido recientemente.",
"follow_suggestions.personalized_suggestion": "Sugerencia personalizada",
"follow_suggestions.popular_suggestion": "Sugerencia popular",
"follow_suggestions.view_all": "Ver todo",
"follow_suggestions.who_to_follow": "A quién seguir",
"followed_tags": "Hashtags seguidos", "followed_tags": "Hashtags seguidos",
"footer.about": "Acerca de", "footer.about": "Acerca de",
"footer.directory": "Directorio de perfiles", "footer.directory": "Directorio de perfiles",
@ -306,13 +314,9 @@
"hashtag.follow": "Seguir etiqueta", "hashtag.follow": "Seguir etiqueta",
"hashtag.unfollow": "Dejar de seguir etiqueta", "hashtag.unfollow": "Dejar de seguir etiqueta",
"hashtags.and_other": "…y {count, plural, other {# más}}", "hashtags.and_other": "…y {count, plural, other {# más}}",
"home.actions.go_to_explore": "Ver tendencias",
"home.actions.go_to_suggestions": "Encuentra gente a la que seguir",
"home.column_settings.basic": "Básico", "home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar retoots", "home.column_settings.show_reblogs": "Mostrar retoots",
"home.column_settings.show_replies": "Mostrar respuestas", "home.column_settings.show_replies": "Mostrar respuestas",
"home.explore_prompt.body": "Tu cronología de inicio tendrá una mezcla de publicaciones de los hashtags que has escogido seguir, las personas que has decidido seguir y las publicaciones que impulsen. Si crees que está demasiado tranquila, quizás quieras:",
"home.explore_prompt.title": "Este es tu punto de partida en Mastodon.",
"home.hide_announcements": "Ocultar anuncios", "home.hide_announcements": "Ocultar anuncios",
"home.pending_critical_update.body": "¡Por favor actualiza tu servidor Mastodon lo antes posible!", "home.pending_critical_update.body": "¡Por favor actualiza tu servidor Mastodon lo antes posible!",
"home.pending_critical_update.link": "Ver actualizaciones", "home.pending_critical_update.link": "Ver actualizaciones",
@ -408,7 +412,6 @@
"navigation_bar.direct": "Menciones privadas", "navigation_bar.direct": "Menciones privadas",
"navigation_bar.discover": "Descubrir", "navigation_bar.discover": "Descubrir",
"navigation_bar.domain_blocks": "Dominios ocultos", "navigation_bar.domain_blocks": "Dominios ocultos",
"navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.explore": "Explorar", "navigation_bar.explore": "Explorar",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Palabras silenciadas", "navigation_bar.filters": "Palabras silenciadas",
@ -526,14 +529,15 @@
"poll_button.add_poll": "Añadir una encuesta", "poll_button.add_poll": "Añadir una encuesta",
"poll_button.remove_poll": "Eliminar encuesta", "poll_button.remove_poll": "Eliminar encuesta",
"privacy.change": "Ajustar privacidad", "privacy.change": "Ajustar privacidad",
"privacy.direct.long": "Sólo mostrar a los usuarios mencionados", "privacy.direct.long": "Todos los mencionados en la publicación",
"privacy.direct.short": "Solo personas mencionadas", "privacy.direct.short": "Personas específicas",
"privacy.private.long": "Sólo mostrar a seguidores", "privacy.private.long": "Sólo tus seguidores",
"privacy.private.short": "Solo seguidores", "privacy.private.short": "Seguidores",
"privacy.public.long": "Visible para todos", "privacy.public.long": "Cualquiera dentro y fuera de Mastodon",
"privacy.public.short": "Público", "privacy.public.short": "Público",
"privacy.unlisted.long": "Visible para todos, pero excluido de las funciones de descubrimiento", "privacy.unlisted.additional": "Esto se comporta exactamente igual que el público, excepto que el post no aparecerá en las cronologías en directo o en los hashtags, la exploración o busquedas en Mastodon, incluso si está optado por activar la cuenta de usuario.",
"privacy.unlisted.short": "No listado", "privacy.unlisted.long": "Menos fanfares algorítmicos",
"privacy.unlisted.short": "Público silencioso",
"privacy_policy.last_updated": "Actualizado por última vez {date}", "privacy_policy.last_updated": "Actualizado por última vez {date}",
"privacy_policy.title": "Política de Privacidad", "privacy_policy.title": "Política de Privacidad",
"recommended": "Recomendado", "recommended": "Recomendado",
@ -551,7 +555,9 @@
"relative_time.minutes": "{number} m", "relative_time.minutes": "{number} m",
"relative_time.seconds": "{number} s", "relative_time.seconds": "{number} s",
"relative_time.today": "hoy", "relative_time.today": "hoy",
"reply_indicator.attachments": "{count, plural, one {# adjunto} other {# adjuntos}}",
"reply_indicator.cancel": "Cancelar", "reply_indicator.cancel": "Cancelar",
"reply_indicator.poll": "Encuesta",
"report.block": "Bloquear", "report.block": "Bloquear",
"report.block_explanation": "No veras sus publicaciones. No podrán ver tus publicaciones ni seguirte. Podrán saber que están bloqueados.", "report.block_explanation": "No veras sus publicaciones. No podrán ver tus publicaciones ni seguirte. Podrán saber que están bloqueados.",
"report.categories.legal": "Legal", "report.categories.legal": "Legal",
@ -715,10 +721,8 @@
"upload_error.poll": "Subida de archivos no permitida con encuestas.", "upload_error.poll": "Subida de archivos no permitida con encuestas.",
"upload_form.audio_description": "Describir para personas con problemas auditivos", "upload_form.audio_description": "Describir para personas con problemas auditivos",
"upload_form.description": "Describir para los usuarios con dificultad visual", "upload_form.description": "Describir para los usuarios con dificultad visual",
"upload_form.description_missing": "Sin descripción añadida",
"upload_form.edit": "Editar", "upload_form.edit": "Editar",
"upload_form.thumbnail": "Cambiar miniatura", "upload_form.thumbnail": "Cambiar miniatura",
"upload_form.undo": "Borrar",
"upload_form.video_description": "Describir para personas con problemas auditivos o visuales", "upload_form.video_description": "Describir para personas con problemas auditivos o visuales",
"upload_modal.analyzing_picture": "Analizando imagen…", "upload_modal.analyzing_picture": "Analizando imagen…",
"upload_modal.apply": "Aplicar", "upload_modal.apply": "Aplicar",

@ -89,7 +89,6 @@
"announcement.announcement": "Anuncio", "announcement.announcement": "Anuncio",
"attachments_list.unprocessed": "(sin procesar)", "attachments_list.unprocessed": "(sin procesar)",
"audio.hide": "Ocultar audio", "audio.hide": "Ocultar audio",
"autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez", "boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
"bundle_column_error.copy_stacktrace": "Copiar informe de error", "bundle_column_error.copy_stacktrace": "Copiar informe de error",
"bundle_column_error.error.body": "La página solicitada no pudo ser renderizada. Podría deberse a un error en nuestro código o a un problema de compatibilidad con el navegador.", "bundle_column_error.error.body": "La página solicitada no pudo ser renderizada. Podría deberse a un error en nuestro código o a un problema de compatibilidad con el navegador.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Tu cuenta no está {locked}. Todos pueden seguirte para ver tus publicaciones solo para seguidores.", "compose_form.lock_disclaimer": "Tu cuenta no está {locked}. Todos pueden seguirte para ver tus publicaciones solo para seguidores.",
"compose_form.lock_disclaimer.lock": "bloqueado", "compose_form.lock_disclaimer.lock": "bloqueado",
"compose_form.placeholder": "¿En qué estás pensando?", "compose_form.placeholder": "¿En qué estás pensando?",
"compose_form.poll.add_option": "Añadir una opción",
"compose_form.poll.duration": "Duración de la encuesta", "compose_form.poll.duration": "Duración de la encuesta",
"compose_form.poll.option_placeholder": "Elección {number}", "compose_form.poll.multiple": "Selección múltiple",
"compose_form.poll.remove_option": "Eliminar esta opción", "compose_form.poll.option_placeholder": "Opción {number}",
"compose_form.poll.single": "Elige uno",
"compose_form.poll.switch_to_multiple": "Modificar encuesta para permitir múltiples opciones", "compose_form.poll.switch_to_multiple": "Modificar encuesta para permitir múltiples opciones",
"compose_form.poll.switch_to_single": "Modificar encuesta para permitir una única opción", "compose_form.poll.switch_to_single": "Modificar encuesta para permitir una única opción",
"compose_form.poll.type": "Estilo",
"compose_form.publish": "Publicar", "compose_form.publish": "Publicar",
"compose_form.publish_form": "Publicar", "compose_form.publish_form": "Publicar",
"compose_form.publish_loud": "¡{publish}!", "compose_form.reply": "Responder",
"compose_form.save_changes": "Guardar cambios", "compose_form.save_changes": "Actualizar",
"compose_form.sensitive.hide": "{count, plural, one {Marcar material como sensible} other {Marcar material como sensible}}",
"compose_form.sensitive.marked": "{count, plural, one {Material marcado como sensible} other {Material marcado como sensible}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Material no marcado como sensible} other {Material no marcado como sensible}}",
"compose_form.spoiler.marked": "Quitar advertencia de contenido", "compose_form.spoiler.marked": "Quitar advertencia de contenido",
"compose_form.spoiler.unmarked": "Añadir advertencia de contenido", "compose_form.spoiler.unmarked": "Añadir advertencia de contenido",
"compose_form.spoiler_placeholder": "Escribe aquí tu advertencia", "compose_form.spoiler_placeholder": "Advertencia de contenido (opcional)",
"confirmation_modal.cancel": "Cancelar", "confirmation_modal.cancel": "Cancelar",
"confirmations.block.block_and_report": "Bloquear y Reportar", "confirmations.block.block_and_report": "Bloquear y Reportar",
"confirmations.block.confirm": "Bloquear", "confirmations.block.confirm": "Bloquear",
@ -174,21 +171,21 @@
"confirmations.delete_list.message": "¿Seguro que quieres borrar esta lista permanentemente?", "confirmations.delete_list.message": "¿Seguro que quieres borrar esta lista permanentemente?",
"confirmations.discard_edit_media.confirm": "Descartar", "confirmations.discard_edit_media.confirm": "Descartar",
"confirmations.discard_edit_media.message": "Tienes cambios sin guardar en la descripción o vista previa del archivo audiovisual, ¿descartarlos de todos modos?", "confirmations.discard_edit_media.message": "Tienes cambios sin guardar en la descripción o vista previa del archivo audiovisual, ¿descartarlos de todos modos?",
"confirmations.domain_block.confirm": "Bloquear dominio entero", "confirmations.domain_block.confirm": "Bloquear todo el dominio",
"confirmations.domain_block.message": "¿Seguro de que quieres bloquear al dominio {domain} entero? En general unos cuantos bloqueos y silenciados concretos es suficiente y preferible.", "confirmations.domain_block.message": "¿Seguro que quieres bloquear todo el dominio {domain}? En general, unos cuantos bloqueos y silenciados concretos es suficiente y preferible. No verás contenido del dominio en ninguna cronología pública ni en tus notificaciones. Se eliminarán tus seguidores procedentes de ese dominio.",
"confirmations.edit.confirm": "Editar", "confirmations.edit.confirm": "Editar",
"confirmations.edit.message": "Editar ahora reemplazará el mensaje que está escribiendo. ¿Está seguro que quiere proceder?", "confirmations.edit.message": "Editar ahora reemplazará el mensaje que estás escribiendo. ¿Seguro que quieres proceder?",
"confirmations.logout.confirm": "Cerrar sesión", "confirmations.logout.confirm": "Cerrar sesión",
"confirmations.logout.message": "¿Estás seguro de querer cerrar la sesión?", "confirmations.logout.message": "¿Seguro que quieres cerrar la sesión?",
"confirmations.mute.confirm": "Silenciar", "confirmations.mute.confirm": "Silenciar",
"confirmations.mute.explanation": "Esto esconderá las publicaciones de ellos y en las que los has mencionado, pero les permitirá ver tus mensajes y seguirte.", "confirmations.mute.explanation": "Esto esconderá sus publicaciones y las publicaciones que los mencionen, pero podrán seguir viendo tus mensajes y seguirte.",
"confirmations.mute.message": "¿Estás seguro de que quieres silenciar a {name}?", "confirmations.mute.message": "¿Seguro que quieres silenciar a {name}?",
"confirmations.redraft.confirm": "Borrar y volver a borrador", "confirmations.redraft.confirm": "Borrar y volver a borrador",
"confirmations.redraft.message": "¿Estás seguro de querer borrar esta publicación y reescribirla? Los favoritos e impulsos se perderán, y las respuestas a la publicación original quedarán sin contexto.", "confirmations.redraft.message": "¿Estás seguro de querer borrar esta publicación y reescribirla? Los favoritos e impulsos se perderán, y las respuestas a la publicación original quedarán sin contexto.",
"confirmations.reply.confirm": "Responder", "confirmations.reply.confirm": "Responder",
"confirmations.reply.message": "Responder sobrescribirá el mensaje que estás escribiendo. ¿Seguro que deseas continuar?", "confirmations.reply.message": "Responder sobrescribirá el mensaje que estás escribiendo. ¿Seguro que deseas continuar?",
"confirmations.unfollow.confirm": "Dejar de seguir", "confirmations.unfollow.confirm": "Dejar de seguir",
"confirmations.unfollow.message": "¿Estás seguro de que quieres dejar de seguir a {name}?", "confirmations.unfollow.message": "¿Seguro que quieres dejar de seguir a {name}?",
"conversation.delete": "Borrar conversación", "conversation.delete": "Borrar conversación",
"conversation.mark_as_read": "Marcar como leído", "conversation.mark_as_read": "Marcar como leído",
"conversation.open": "Ver conversación", "conversation.open": "Ver conversación",
@ -197,7 +194,7 @@
"copypaste.copied": "Copiado", "copypaste.copied": "Copiado",
"copypaste.copy_to_clipboard": "Copiar al portapapeles", "copypaste.copy_to_clipboard": "Copiar al portapapeles",
"directory.federated": "Desde el fediverso conocido", "directory.federated": "Desde el fediverso conocido",
"directory.local": "Sólo de {domain}", "directory.local": "Solo de {domain}",
"directory.new_arrivals": "Recién llegados", "directory.new_arrivals": "Recién llegados",
"directory.recently_active": "Recientemente activo", "directory.recently_active": "Recientemente activo",
"disabled_account_banner.account_settings": "Ajustes de la cuenta", "disabled_account_banner.account_settings": "Ajustes de la cuenta",
@ -213,11 +210,11 @@
"emoji_button.activity": "Actividad", "emoji_button.activity": "Actividad",
"emoji_button.clear": "Limpiar", "emoji_button.clear": "Limpiar",
"emoji_button.custom": "Personalizado", "emoji_button.custom": "Personalizado",
"emoji_button.flags": "Marcas", "emoji_button.flags": "Banderas",
"emoji_button.food": "Comida y bebida", "emoji_button.food": "Comida y bebida",
"emoji_button.label": "Insertar emoji", "emoji_button.label": "Insertar emoji",
"emoji_button.nature": "Naturaleza", "emoji_button.nature": "Naturaleza",
"emoji_button.not_found": "No hay emojis!! ¯\\_(ツ)_/¯", "emoji_button.not_found": "No se encontró ningún emoji coincidente",
"emoji_button.objects": "Objetos", "emoji_button.objects": "Objetos",
"emoji_button.people": "Personas", "emoji_button.people": "Personas",
"emoji_button.recent": "Usados frecuentemente", "emoji_button.recent": "Usados frecuentemente",
@ -233,8 +230,8 @@
"empty_column.bookmarked_statuses": "Aún no tienes ninguna publicación guardada como marcador. Cuando guardes una, se mostrará aquí.", "empty_column.bookmarked_statuses": "Aún no tienes ninguna publicación guardada como marcador. Cuando guardes una, se mostrará aquí.",
"empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!", "empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!",
"empty_column.direct": "Aún no tienes menciones privadas. Cuando envíes o recibas una, aparecerán aquí.", "empty_column.direct": "Aún no tienes menciones privadas. Cuando envíes o recibas una, aparecerán aquí.",
"empty_column.domain_blocks": "Todavía no hay dominios ocultos.", "empty_column.domain_blocks": "Todavía no hay dominios bloqueados.",
"empty_column.explore_statuses": "Nada está en tendencia en este momento. ¡Revisa más tarde!", "empty_column.explore_statuses": "No hay nada en tendencia en este momento. ¡Revisa más tarde!",
"empty_column.favourited_statuses": "Todavía no tienes publicaciones favoritas. Cuando marques una publicación como favorita, se mostrarán aquí.", "empty_column.favourited_statuses": "Todavía no tienes publicaciones favoritas. Cuando marques una publicación como favorita, se mostrarán aquí.",
"empty_column.favourites": "Todavía nadie marcó esta publicación como favorita. Cuando alguien lo haga, se mostrarán aquí.", "empty_column.favourites": "Todavía nadie marcó esta publicación como favorita. Cuando alguien lo haga, se mostrarán aquí.",
"empty_column.follow_requests": "No tienes ninguna petición de seguidor. Cuando recibas una, se mostrará aquí.", "empty_column.follow_requests": "No tienes ninguna petición de seguidor. Cuando recibas una, se mostrará aquí.",
@ -280,6 +277,17 @@
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
"follow_request.reject": "Rechazar", "follow_request.reject": "Rechazar",
"follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el personal de {domain} ha pensado que quizás deberías revisar manualmente las solicitudes de seguimiento de estas cuentas.", "follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el personal de {domain} ha pensado que quizás deberías revisar manualmente las solicitudes de seguimiento de estas cuentas.",
"follow_suggestions.curated_suggestion": "Recomendaciones del equipo",
"follow_suggestions.dismiss": "No mostrar de nuevo",
"follow_suggestions.hints.featured": "Este perfil ha sido elegido a mano por el equipo de {domain}.",
"follow_suggestions.hints.friends_of_friends": "Este perfil es popular entre las personas que sigues.",
"follow_suggestions.hints.most_followed": "Este perfil es uno de los más seguidos en {domain}.",
"follow_suggestions.hints.most_interactions": "Este perfil ha estado recibiendo recientemente mucha atención en {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "Este perfil es similar a los perfiles que has seguido recientemente.",
"follow_suggestions.personalized_suggestion": "Sugerencia personalizada",
"follow_suggestions.popular_suggestion": "Sugerencia popular",
"follow_suggestions.view_all": "Ver todo",
"follow_suggestions.who_to_follow": "A quién seguir",
"followed_tags": "Etiquetas seguidas", "followed_tags": "Etiquetas seguidas",
"footer.about": "Acerca de", "footer.about": "Acerca de",
"footer.directory": "Directorio de perfiles", "footer.directory": "Directorio de perfiles",
@ -306,13 +314,9 @@
"hashtag.follow": "Seguir etiqueta", "hashtag.follow": "Seguir etiqueta",
"hashtag.unfollow": "Dejar de seguir etiqueta", "hashtag.unfollow": "Dejar de seguir etiqueta",
"hashtags.and_other": "…y {count, plural, other {# más}}", "hashtags.and_other": "…y {count, plural, other {# más}}",
"home.actions.go_to_explore": "Ver tendencias",
"home.actions.go_to_suggestions": "Encuentra personas a las que seguir",
"home.column_settings.basic": "Básico", "home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar impulsos", "home.column_settings.show_reblogs": "Mostrar impulsos",
"home.column_settings.show_replies": "Mostrar respuestas", "home.column_settings.show_replies": "Mostrar respuestas",
"home.explore_prompt.body": "Tu cronología de inicio tendrá una mezcla de publicaciones de las etiquetas que has escogido seguir, las personas que has decidido seguir y las publicaciones que impulsen. Si crees que está demasiado tranquila, quizás quieras:",
"home.explore_prompt.title": "Este es tu punto de partida en Mastodon.",
"home.hide_announcements": "Ocultar anuncios", "home.hide_announcements": "Ocultar anuncios",
"home.pending_critical_update.body": "Por favor, ¡actualiza tu servidor Mastodon lo antes posible!", "home.pending_critical_update.body": "Por favor, ¡actualiza tu servidor Mastodon lo antes posible!",
"home.pending_critical_update.link": "Ver actualizaciones", "home.pending_critical_update.link": "Ver actualizaciones",
@ -408,7 +412,6 @@
"navigation_bar.direct": "Menciones privadas", "navigation_bar.direct": "Menciones privadas",
"navigation_bar.discover": "Descubrir", "navigation_bar.discover": "Descubrir",
"navigation_bar.domain_blocks": "Dominios ocultos", "navigation_bar.domain_blocks": "Dominios ocultos",
"navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.explore": "Explorar", "navigation_bar.explore": "Explorar",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Palabras silenciadas", "navigation_bar.filters": "Palabras silenciadas",
@ -526,14 +529,15 @@
"poll_button.add_poll": "Añadir una encuesta", "poll_button.add_poll": "Añadir una encuesta",
"poll_button.remove_poll": "Eliminar encuesta", "poll_button.remove_poll": "Eliminar encuesta",
"privacy.change": "Ajustar privacidad", "privacy.change": "Ajustar privacidad",
"privacy.direct.long": "Visible solo para usuarios mencionados", "privacy.direct.long": "Todos los mencionados en el post",
"privacy.direct.short": "Sólo cuentas mencionadas", "privacy.direct.short": "Personas específicas",
"privacy.private.long": "Sólo mostrar a seguidores", "privacy.private.long": "Solo tus seguidores",
"privacy.private.short": "Solo seguidores", "privacy.private.short": "Seguidores",
"privacy.public.long": "Visible para todos", "privacy.public.long": "Cualquiera dentro y fuera de Mastodon",
"privacy.public.short": "Público", "privacy.public.short": "Público",
"privacy.unlisted.long": "Visible para todos, pero excluido de las funciones de descubrimiento", "privacy.unlisted.additional": "Esto se comporta exactamente igual que el público, excepto que la publicación no aparecerá en la cronología en directo o en las etiquetas, la exploración o búsqueda de Mastodon, incluso si está optado por activar la cuenta de usuario.",
"privacy.unlisted.short": "No listado", "privacy.unlisted.long": "Menos fanfares algorítmicos",
"privacy.unlisted.short": "Público tranquilo",
"privacy_policy.last_updated": "Actualizado por última vez {date}", "privacy_policy.last_updated": "Actualizado por última vez {date}",
"privacy_policy.title": "Política de Privacidad", "privacy_policy.title": "Política de Privacidad",
"recommended": "Recomendado", "recommended": "Recomendado",
@ -551,7 +555,9 @@
"relative_time.minutes": "{number} m", "relative_time.minutes": "{number} m",
"relative_time.seconds": "{number} s", "relative_time.seconds": "{number} s",
"relative_time.today": "hoy", "relative_time.today": "hoy",
"reply_indicator.attachments": "{count, plural, one {# adjunto} other {# adjuntos}}",
"reply_indicator.cancel": "Cancelar", "reply_indicator.cancel": "Cancelar",
"reply_indicator.poll": "Encuesta",
"report.block": "Bloquear", "report.block": "Bloquear",
"report.block_explanation": "No verás sus publicaciones. No podrán ver tus publicaciones ni seguirte. Podrán saber que están bloqueados.", "report.block_explanation": "No verás sus publicaciones. No podrán ver tus publicaciones ni seguirte. Podrán saber que están bloqueados.",
"report.categories.legal": "Legal", "report.categories.legal": "Legal",
@ -715,10 +721,8 @@
"upload_error.poll": "No se permite la subida de archivos con encuestas.", "upload_error.poll": "No se permite la subida de archivos con encuestas.",
"upload_form.audio_description": "Describir para personas con problemas auditivos", "upload_form.audio_description": "Describir para personas con problemas auditivos",
"upload_form.description": "Describir para personas con discapacidad visual", "upload_form.description": "Describir para personas con discapacidad visual",
"upload_form.description_missing": "No se ha añadido ninguna descripción",
"upload_form.edit": "Editar", "upload_form.edit": "Editar",
"upload_form.thumbnail": "Cambiar miniatura", "upload_form.thumbnail": "Cambiar miniatura",
"upload_form.undo": "Eliminar",
"upload_form.video_description": "Describir para personas con problemas auditivos o visuales", "upload_form.video_description": "Describir para personas con problemas auditivos o visuales",
"upload_modal.analyzing_picture": "Analizando imagen…", "upload_modal.analyzing_picture": "Analizando imagen…",
"upload_modal.apply": "Aplicar", "upload_modal.apply": "Aplicar",

@ -89,7 +89,6 @@
"announcement.announcement": "Teadaanne", "announcement.announcement": "Teadaanne",
"attachments_list.unprocessed": "(töötlemata)", "attachments_list.unprocessed": "(töötlemata)",
"audio.hide": "Peida audio", "audio.hide": "Peida audio",
"autosuggest_hashtag.per_week": "{count} nädalas",
"boost_modal.combo": "Vajutades {combo}, saab selle edaspidi vahele jätta", "boost_modal.combo": "Vajutades {combo}, saab selle edaspidi vahele jätta",
"bundle_column_error.copy_stacktrace": "Kopeeri veateade", "bundle_column_error.copy_stacktrace": "Kopeeri veateade",
"bundle_column_error.error.body": "Soovitud lehte ei õnnestunud esitada. See võib olla meie koodiviga või probleem brauseri ühilduvusega.", "bundle_column_error.error.body": "Soovitud lehte ei õnnestunud esitada. See võib olla meie koodiviga või probleem brauseri ühilduvusega.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Su konto ei ole {locked}. Igaüks saab sind jälgida, et näha su ainult-jälgijatele postitusi.", "compose_form.lock_disclaimer": "Su konto ei ole {locked}. Igaüks saab sind jälgida, et näha su ainult-jälgijatele postitusi.",
"compose_form.lock_disclaimer.lock": "lukus", "compose_form.lock_disclaimer.lock": "lukus",
"compose_form.placeholder": "Millest mõtled?", "compose_form.placeholder": "Millest mõtled?",
"compose_form.poll.add_option": "Lisa valik",
"compose_form.poll.duration": "Küsitluse kestus", "compose_form.poll.duration": "Küsitluse kestus",
"compose_form.poll.multiple": "Valikvastustega",
"compose_form.poll.option_placeholder": "Valik {number}", "compose_form.poll.option_placeholder": "Valik {number}",
"compose_form.poll.remove_option": "Eemalda see valik", "compose_form.poll.single": "Vali üks",
"compose_form.poll.switch_to_multiple": "Muuda küsitlust mitmikvaliku lubamiseks", "compose_form.poll.switch_to_multiple": "Muuda küsitlust mitmikvaliku lubamiseks",
"compose_form.poll.switch_to_single": "Muuda küsitlust ainult ühe valiku lubamiseks", "compose_form.poll.switch_to_single": "Muuda küsitlust ainult ühe valiku lubamiseks",
"compose_form.poll.type": "Stiil",
"compose_form.publish": "Postita", "compose_form.publish": "Postita",
"compose_form.publish_form": "Postita", "compose_form.publish_form": "Postita",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Vasta",
"compose_form.save_changes": "Salvesta muudatused", "compose_form.save_changes": "Uuenda",
"compose_form.sensitive.hide": "{count, plural, one {Märgi meedia tundlikuks} other {Märgi meediad tundlikuks}}",
"compose_form.sensitive.marked": "{count, plural, one {Meedia on märgitud tundlikuks} other {Meediad on märgitud tundlikuks}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Meedia ei ole tundlikuks märgitud} other {Meediad ei ole märgitud tundlikuks}}",
"compose_form.spoiler.marked": "Tekst on hoiatuse taha peidetud", "compose_form.spoiler.marked": "Tekst on hoiatuse taha peidetud",
"compose_form.spoiler.unmarked": "Märgi sisu tundlikuks", "compose_form.spoiler.unmarked": "Märgi sisu tundlikuks",
"compose_form.spoiler_placeholder": "Kirjuta hoiatus siia", "compose_form.spoiler_placeholder": "Sisuhoiatus (valikuline)",
"confirmation_modal.cancel": "Katkesta", "confirmation_modal.cancel": "Katkesta",
"confirmations.block.block_and_report": "Blokeeri ja teata", "confirmations.block.block_and_report": "Blokeeri ja teata",
"confirmations.block.confirm": "Blokeeri", "confirmations.block.confirm": "Blokeeri",
@ -306,13 +303,9 @@
"hashtag.follow": "Jälgi silti", "hashtag.follow": "Jälgi silti",
"hashtag.unfollow": "Lõpeta sildi jälgimine", "hashtag.unfollow": "Lõpeta sildi jälgimine",
"hashtags.and_other": "…ja {count, plural, one {}other {# veel}}", "hashtags.and_other": "…ja {count, plural, one {}other {# veel}}",
"home.actions.go_to_explore": "Vaata, mis on populaarne",
"home.actions.go_to_suggestions": "Leia inimesi, keda jälgida",
"home.column_settings.basic": "Peamine", "home.column_settings.basic": "Peamine",
"home.column_settings.show_reblogs": "Näita jagamisi", "home.column_settings.show_reblogs": "Näita jagamisi",
"home.column_settings.show_replies": "Näita vastuseid", "home.column_settings.show_replies": "Näita vastuseid",
"home.explore_prompt.body": "Sinu koduvoos on koos jälgimiseks valitud siltidega postitused, sinu jälgitavate inimeste postitused ja postitused, mida nad jagavad. Kui see tundub liiga vaikne, võid sa soovida:",
"home.explore_prompt.title": "See on sinu kodubaas Mastodonis.",
"home.hide_announcements": "Peida teadaanded", "home.hide_announcements": "Peida teadaanded",
"home.pending_critical_update.body": "Palun uuenda oma Mastodoni server nii ruttu kui võimalik!", "home.pending_critical_update.body": "Palun uuenda oma Mastodoni server nii ruttu kui võimalik!",
"home.pending_critical_update.link": "Vaata uuendusi", "home.pending_critical_update.link": "Vaata uuendusi",
@ -408,7 +401,6 @@
"navigation_bar.direct": "Privaatsed mainimised", "navigation_bar.direct": "Privaatsed mainimised",
"navigation_bar.discover": "Avasta", "navigation_bar.discover": "Avasta",
"navigation_bar.domain_blocks": "Peidetud domeenid", "navigation_bar.domain_blocks": "Peidetud domeenid",
"navigation_bar.edit_profile": "Muuda profiili",
"navigation_bar.explore": "Avasta", "navigation_bar.explore": "Avasta",
"navigation_bar.favourites": "Lemmikud", "navigation_bar.favourites": "Lemmikud",
"navigation_bar.filters": "Vaigistatud sõnad", "navigation_bar.filters": "Vaigistatud sõnad",
@ -526,14 +518,14 @@
"poll_button.add_poll": "Lisa küsitlus", "poll_button.add_poll": "Lisa küsitlus",
"poll_button.remove_poll": "Eemalda küsitlus", "poll_button.remove_poll": "Eemalda küsitlus",
"privacy.change": "Muuda postituse nähtavust", "privacy.change": "Muuda postituse nähtavust",
"privacy.direct.long": "Postita ainult mainitud kasutajatele", "privacy.direct.long": "Kõik postituses mainitud",
"privacy.direct.short": "Mainitud inimesed ainult", "privacy.direct.short": "Määratud kasutajad",
"privacy.private.long": "Postita ainult jälgijatele", "privacy.private.long": "Ainult jälgijad",
"privacy.private.short": "Jälgijad ainult", "privacy.private.short": "Jälgijad",
"privacy.public.long": "Kõigile nähtav", "privacy.public.long": "Nii kasutajad kui mittekasutajad",
"privacy.public.short": "Avalik", "privacy.public.short": "Avalik",
"privacy.unlisted.long": "Kõigile nähtav, aga ei ilmu avastamise vaadetes", "privacy.unlisted.long": "Vähem algoritmilisi teavitusi",
"privacy.unlisted.short": "Määramata", "privacy.unlisted.short": "Vaikselt avalik",
"privacy_policy.last_updated": "Viimati uuendatud {date}", "privacy_policy.last_updated": "Viimati uuendatud {date}",
"privacy_policy.title": "Isikuandmete kaitse", "privacy_policy.title": "Isikuandmete kaitse",
"recommended": "Soovitatud", "recommended": "Soovitatud",
@ -551,7 +543,9 @@
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "täna", "relative_time.today": "täna",
"reply_indicator.attachments": "{count, plural, one {# lisa} other {# lisa}}",
"reply_indicator.cancel": "Tühista", "reply_indicator.cancel": "Tühista",
"reply_indicator.poll": "Küsitlus",
"report.block": "Blokeeri", "report.block": "Blokeeri",
"report.block_explanation": "Sa ei näe tema postitusi. Tema ei saa näha sinu postitusi ega sind jälgida. Talle on näha, et ta on blokeeritud.", "report.block_explanation": "Sa ei näe tema postitusi. Tema ei saa näha sinu postitusi ega sind jälgida. Talle on näha, et ta on blokeeritud.",
"report.categories.legal": "Juriidiline", "report.categories.legal": "Juriidiline",
@ -715,10 +709,8 @@
"upload_error.poll": "Küsitlustes pole faili üleslaadimine lubatud.", "upload_error.poll": "Küsitlustes pole faili üleslaadimine lubatud.",
"upload_form.audio_description": "Kirjelda kuulmispuudega inimeste jaoks", "upload_form.audio_description": "Kirjelda kuulmispuudega inimeste jaoks",
"upload_form.description": "Kirjelda vaegnägijatele", "upload_form.description": "Kirjelda vaegnägijatele",
"upload_form.description_missing": "Kirjeldus puudub",
"upload_form.edit": "Muuda", "upload_form.edit": "Muuda",
"upload_form.thumbnail": "Muuda pisipilti", "upload_form.thumbnail": "Muuda pisipilti",
"upload_form.undo": "Kustuta",
"upload_form.video_description": "Kirjelda kuulmis- või nägemispuudega inimeste jaoks", "upload_form.video_description": "Kirjelda kuulmis- või nägemispuudega inimeste jaoks",
"upload_modal.analyzing_picture": "Analüüsime pilti…", "upload_modal.analyzing_picture": "Analüüsime pilti…",
"upload_modal.apply": "Rakenda", "upload_modal.apply": "Rakenda",

@ -25,7 +25,7 @@
"account.direct": "Aipatu pribatuki @{name}", "account.direct": "Aipatu pribatuki @{name}",
"account.disable_notifications": "Utzi jakinarazteari @{name} erabiltzaileak argitaratzean", "account.disable_notifications": "Utzi jakinarazteari @{name} erabiltzaileak argitaratzean",
"account.domain_blocked": "Ezkutatutako domeinua", "account.domain_blocked": "Ezkutatutako domeinua",
"account.edit_profile": "Aldatu profila", "account.edit_profile": "Editatu profila",
"account.enable_notifications": "Jakinarazi @{name} erabiltzaileak argitaratzean", "account.enable_notifications": "Jakinarazi @{name} erabiltzaileak argitaratzean",
"account.endorse": "Nabarmendu profilean", "account.endorse": "Nabarmendu profilean",
"account.featured_tags.last_status_at": "Azken bidalketa {date} datan", "account.featured_tags.last_status_at": "Azken bidalketa {date} datan",
@ -89,7 +89,6 @@
"announcement.announcement": "Iragarpena", "announcement.announcement": "Iragarpena",
"attachments_list.unprocessed": "(prozesatu gabe)", "attachments_list.unprocessed": "(prozesatu gabe)",
"audio.hide": "Ezkutatu audioa", "audio.hide": "Ezkutatu audioa",
"autosuggest_hashtag.per_week": "{count} asteko",
"boost_modal.combo": "{combo} sakatu dezakezu hurrengoan hau saltatzeko", "boost_modal.combo": "{combo} sakatu dezakezu hurrengoan hau saltatzeko",
"bundle_column_error.copy_stacktrace": "Kopiatu errore-txostena", "bundle_column_error.copy_stacktrace": "Kopiatu errore-txostena",
"bundle_column_error.error.body": "Eskatutako orria ezin izan da bistaratu. Kodeko errore bategatik izan daiteke edo nabigatzailearen bateragarritasun arazo bategatik.", "bundle_column_error.error.body": "Eskatutako orria ezin izan da bistaratu. Kodeko errore bategatik izan daiteke edo nabigatzailearen bateragarritasun arazo bategatik.",
@ -133,7 +132,7 @@
"column_header.unpin": "Desfinkatu", "column_header.unpin": "Desfinkatu",
"column_subheading.settings": "Ezarpenak", "column_subheading.settings": "Ezarpenak",
"community.column_settings.local_only": "Lokala soilik", "community.column_settings.local_only": "Lokala soilik",
"community.column_settings.media_only": "Multimedia besterik ez", "community.column_settings.media_only": "Edukiak soilik",
"community.column_settings.remote_only": "Urrunekoa soilik", "community.column_settings.remote_only": "Urrunekoa soilik",
"compose.language.change": "Aldatu hizkuntza", "compose.language.change": "Aldatu hizkuntza",
"compose.language.search": "Bilatu hizkuntzak...", "compose.language.search": "Bilatu hizkuntzak...",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Zure kontua ez dago {locked}. Edonork jarraitu zaitzake zure jarraitzaileentzako soilik diren bidalketak ikusteko.", "compose_form.lock_disclaimer": "Zure kontua ez dago {locked}. Edonork jarraitu zaitzake zure jarraitzaileentzako soilik diren bidalketak ikusteko.",
"compose_form.lock_disclaimer.lock": "giltzapetuta", "compose_form.lock_disclaimer.lock": "giltzapetuta",
"compose_form.placeholder": "Zer duzu buruan?", "compose_form.placeholder": "Zer duzu buruan?",
"compose_form.poll.add_option": "Gehitu aukera bat",
"compose_form.poll.duration": "Inkestaren iraupena", "compose_form.poll.duration": "Inkestaren iraupena",
"compose_form.poll.multiple": "Aukera aniza",
"compose_form.poll.option_placeholder": "{number}. aukera", "compose_form.poll.option_placeholder": "{number}. aukera",
"compose_form.poll.remove_option": "Kendu aukera hau", "compose_form.poll.single": "Hautatu bat",
"compose_form.poll.switch_to_multiple": "Aldatu inkesta hainbat aukera onartzeko", "compose_form.poll.switch_to_multiple": "Aldatu inkesta hainbat aukera onartzeko",
"compose_form.poll.switch_to_single": "Aldatu inkesta aukera bakarra onartzeko", "compose_form.poll.switch_to_single": "Aldatu inkesta aukera bakarra onartzeko",
"compose_form.poll.type": "Estiloa",
"compose_form.publish": "Argitaratu", "compose_form.publish": "Argitaratu",
"compose_form.publish_form": "Argitaratu", "compose_form.publish_form": "Argitaratu",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Erantzun",
"compose_form.save_changes": "Gorde aldaketak", "compose_form.save_changes": "Eguneratu",
"compose_form.sensitive.hide": "Markatu multimedia hunkigarri gisa",
"compose_form.sensitive.marked": "Multimedia edukia hunkigarri gisa markatu da",
"compose_form.sensitive.unmarked": "Multimedia edukia ez da hunkigarri gisa markatu",
"compose_form.spoiler.marked": "Testua abisu batek ezkutatzen du", "compose_form.spoiler.marked": "Testua abisu batek ezkutatzen du",
"compose_form.spoiler.unmarked": "Testua ez dago ezkutatuta", "compose_form.spoiler.unmarked": "Testua ez dago ezkutatuta",
"compose_form.spoiler_placeholder": "Idatzi zure abisua hemen", "compose_form.spoiler_placeholder": "Edukiaren abisua (aukerakoa)",
"confirmation_modal.cancel": "Utzi", "confirmation_modal.cancel": "Utzi",
"confirmations.block.block_and_report": "Blokeatu eta salatu", "confirmations.block.block_and_report": "Blokeatu eta salatu",
"confirmations.block.confirm": "Blokeatu", "confirmations.block.confirm": "Blokeatu",
@ -280,6 +277,17 @@
"follow_request.authorize": "Baimendu", "follow_request.authorize": "Baimendu",
"follow_request.reject": "Ukatu", "follow_request.reject": "Ukatu",
"follow_requests.unlocked_explanation": "Zure kontua blokeatuta ez badago ere, {domain} domeinuko arduradunek uste dute kontu hauetako jarraipen eskaerak agian eskuz begiratu nahiko dituzula.", "follow_requests.unlocked_explanation": "Zure kontua blokeatuta ez badago ere, {domain} domeinuko arduradunek uste dute kontu hauetako jarraipen eskaerak agian eskuz begiratu nahiko dituzula.",
"follow_suggestions.curated_suggestion": "Domeinuaren iradokizuna",
"follow_suggestions.dismiss": "Ez erakutsi berriro",
"follow_suggestions.hints.featured": "Profil hau {domain} domeinuko taldeak eskuz aukeratu du.",
"follow_suggestions.hints.friends_of_friends": "Profil hau ezaguna da jarraitzen duzun jendearen artean.",
"follow_suggestions.hints.most_followed": "Profil hau {domain} domeinuan gehien jarraitzen den profiletako bat da.",
"follow_suggestions.hints.most_interactions": "Profil hau arreta handia jasotzen ari da berriki {domain} domeinuan.",
"follow_suggestions.hints.similar_to_recently_followed": "Profil hau duela gutxi jarraitu dituzun profil askoren antzekoa da.",
"follow_suggestions.personalized_suggestion": "Iradokizun pertsonalizatua",
"follow_suggestions.popular_suggestion": "Iradokizun ezaguna",
"follow_suggestions.view_all": "Ikusi denak",
"follow_suggestions.who_to_follow": "Zein jarraitu",
"followed_tags": "Jarraitutako traolak", "followed_tags": "Jarraitutako traolak",
"footer.about": "Honi buruz", "footer.about": "Honi buruz",
"footer.directory": "Profil-direktorioa", "footer.directory": "Profil-direktorioa",
@ -306,13 +314,9 @@
"hashtag.follow": "Jarraitu traolari", "hashtag.follow": "Jarraitu traolari",
"hashtag.unfollow": "Utzi traola jarraitzeari", "hashtag.unfollow": "Utzi traola jarraitzeari",
"hashtags.and_other": "…eta {count, plural, one {}other {# gehiago}}", "hashtags.and_other": "…eta {count, plural, one {}other {# gehiago}}",
"home.actions.go_to_explore": "Ikusi zer dagoen pil-pilean",
"home.actions.go_to_suggestions": "Aurkitu jendea jarraitzeko",
"home.column_settings.basic": "Oinarrizkoa", "home.column_settings.basic": "Oinarrizkoa",
"home.column_settings.show_reblogs": "Erakutsi bultzadak", "home.column_settings.show_reblogs": "Erakutsi bultzadak",
"home.column_settings.show_replies": "Erakutsi erantzunak", "home.column_settings.show_replies": "Erakutsi erantzunak",
"home.explore_prompt.body": "Zure hasierako jarioak jarraitzeko aukeratu dituzun traolen, jarraitzeko aukeratu duzun jendearen eta beraiek bultzatutako argitalpenen nahasketa bat edukiko du. Nahiko isila dirudi oraintxe, beraz, zergatik ez:",
"home.explore_prompt.title": "Hau zure hasiera da Mastodonen.",
"home.hide_announcements": "Ezkutatu iragarpenak", "home.hide_announcements": "Ezkutatu iragarpenak",
"home.pending_critical_update.body": "Eguneratu zure Mastodoneko zerbitzaria leheinbailehen!", "home.pending_critical_update.body": "Eguneratu zure Mastodoneko zerbitzaria leheinbailehen!",
"home.pending_critical_update.link": "Ikusi eguneraketak", "home.pending_critical_update.link": "Ikusi eguneraketak",
@ -357,7 +361,7 @@
"keyboard_shortcuts.muted": "mutututako erabiltzaileen zerrenda irekitzeko", "keyboard_shortcuts.muted": "mutututako erabiltzaileen zerrenda irekitzeko",
"keyboard_shortcuts.my_profile": "zure profila irekitzeko", "keyboard_shortcuts.my_profile": "zure profila irekitzeko",
"keyboard_shortcuts.notifications": "jakinarazpenen zutabea irekitzeko", "keyboard_shortcuts.notifications": "jakinarazpenen zutabea irekitzeko",
"keyboard_shortcuts.open_media": "media zabaltzeko", "keyboard_shortcuts.open_media": "Ireki edukia",
"keyboard_shortcuts.pinned": "Ireki finkatutako bidalketen zerrenda", "keyboard_shortcuts.pinned": "Ireki finkatutako bidalketen zerrenda",
"keyboard_shortcuts.profile": "egilearen profila irekitzeko", "keyboard_shortcuts.profile": "egilearen profila irekitzeko",
"keyboard_shortcuts.reply": "Erantzun bidalketari", "keyboard_shortcuts.reply": "Erantzun bidalketari",
@ -408,7 +412,6 @@
"navigation_bar.direct": "Aipamen pribatuak", "navigation_bar.direct": "Aipamen pribatuak",
"navigation_bar.discover": "Aurkitu", "navigation_bar.discover": "Aurkitu",
"navigation_bar.domain_blocks": "Ezkutatutako domeinuak", "navigation_bar.domain_blocks": "Ezkutatutako domeinuak",
"navigation_bar.edit_profile": "Aldatu profila",
"navigation_bar.explore": "Arakatu", "navigation_bar.explore": "Arakatu",
"navigation_bar.favourites": "Gogokoak", "navigation_bar.favourites": "Gogokoak",
"navigation_bar.filters": "Mutututako hitzak", "navigation_bar.filters": "Mutututako hitzak",
@ -526,14 +529,15 @@
"poll_button.add_poll": "Gehitu inkesta bat", "poll_button.add_poll": "Gehitu inkesta bat",
"poll_button.remove_poll": "Kendu inkesta", "poll_button.remove_poll": "Kendu inkesta",
"privacy.change": "Aldatu bidalketaren pribatutasuna", "privacy.change": "Aldatu bidalketaren pribatutasuna",
"privacy.direct.long": "Bidali aipatutako erabiltzaileei besterik ez", "privacy.direct.long": "Argitalpen honetan aipatutako denak",
"privacy.direct.short": "Aipatutako jendea soilik", "privacy.direct.short": "Jende jakina",
"privacy.private.long": "Bidali jarraitzaileei besterik ez", "privacy.private.long": "Soilik jarraitzaileak",
"privacy.private.short": "Jarraitzaileak soilik", "privacy.private.short": "Jarraitzaileak",
"privacy.public.long": "Guztientzat ikusgai", "privacy.public.long": "Mastodonen dagoen edo ez dagoen edonor",
"privacy.public.short": "Publikoa", "privacy.public.short": "Publikoa",
"privacy.unlisted.long": "Guztientzat ikusgai, baina ez aurkitzeko ezaugarrietan", "privacy.unlisted.additional": "Aukera honek publiko modua bezala funtzionatzen du, baina argitalpena ez da agertuko zuzeneko jarioetan edo traoletan, \"Arakatu\" atalean edo Mastodonen bilaketan, nahiz eta kontua zabaltzeko onartu duzun.",
"privacy.unlisted.short": "Zerrendatu gabea", "privacy.unlisted.long": "Tontakeria algoritmiko gutxiago",
"privacy.unlisted.short": "Deiadar urrikoa",
"privacy_policy.last_updated": "Azkenengo eguneraketa {date}", "privacy_policy.last_updated": "Azkenengo eguneraketa {date}",
"privacy_policy.title": "Pribatutasun politika", "privacy_policy.title": "Pribatutasun politika",
"recommended": "Gomendatua", "recommended": "Gomendatua",
@ -551,7 +555,9 @@
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "gaur", "relative_time.today": "gaur",
"reply_indicator.attachments": "{count, plural, one {# eranskin} other {# eranskin}}",
"reply_indicator.cancel": "Utzi", "reply_indicator.cancel": "Utzi",
"reply_indicator.poll": "Inkesta",
"report.block": "Blokeatu", "report.block": "Blokeatu",
"report.block_explanation": "Ez dituzu bere bidalketak ikusiko. Ezingo dituzte zure bidalketak ikusi eta ez jarraitu. Blokeatu dituzula jakin dezakete.", "report.block_explanation": "Ez dituzu bere bidalketak ikusiko. Ezingo dituzte zure bidalketak ikusi eta ez jarraitu. Blokeatu dituzula jakin dezakete.",
"report.categories.legal": "Juridikoa", "report.categories.legal": "Juridikoa",
@ -715,10 +721,8 @@
"upload_error.poll": "Ez da inkestetan fitxategiak igotzea onartzen.", "upload_error.poll": "Ez da inkestetan fitxategiak igotzea onartzen.",
"upload_form.audio_description": "Deskribatu entzumen galera duten pertsonentzat", "upload_form.audio_description": "Deskribatu entzumen galera duten pertsonentzat",
"upload_form.description": "Deskribatu ikusmen arazoak dituztenentzat", "upload_form.description": "Deskribatu ikusmen arazoak dituztenentzat",
"upload_form.description_missing": "Ez da deskribapenik gehitu",
"upload_form.edit": "Editatu", "upload_form.edit": "Editatu",
"upload_form.thumbnail": "Aldatu koadro txikia", "upload_form.thumbnail": "Aldatu koadro txikia",
"upload_form.undo": "Ezabatu",
"upload_form.video_description": "Deskribatu entzumen galera edo ikusmen urritasuna duten pertsonentzat", "upload_form.video_description": "Deskribatu entzumen galera edo ikusmen urritasuna duten pertsonentzat",
"upload_modal.analyzing_picture": "Irudia aztertzen…", "upload_modal.analyzing_picture": "Irudia aztertzen…",
"upload_modal.apply": "Aplikatu", "upload_modal.apply": "Aplikatu",

@ -89,7 +89,6 @@
"announcement.announcement": "اعلامیه", "announcement.announcement": "اعلامیه",
"attachments_list.unprocessed": "(پردازش نشده)", "attachments_list.unprocessed": "(پردازش نشده)",
"audio.hide": "نهفتن صدا", "audio.hide": "نهفتن صدا",
"autosuggest_hashtag.per_week": "{count} در هفته",
"boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید", "boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید",
"bundle_column_error.copy_stacktrace": "رونوشت از گزارش خطا", "bundle_column_error.copy_stacktrace": "رونوشت از گزارش خطا",
"bundle_column_error.error.body": "صفحهٔ درخواستی نتوانست پرداخت شود. ممکن است به خاطر اشکالی در کدمان یا مشکل سازگاری مرورگر باشد.", "bundle_column_error.error.body": "صفحهٔ درخواستی نتوانست پرداخت شود. ممکن است به خاطر اشکالی در کدمان یا مشکل سازگاری مرورگر باشد.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "حسابتان {locked} نیست. هر کسی می‌تواند پی‌گیرتان شده و فرسته‌های ویژهٔ پی‌گیرانتان را ببیند.", "compose_form.lock_disclaimer": "حسابتان {locked} نیست. هر کسی می‌تواند پی‌گیرتان شده و فرسته‌های ویژهٔ پی‌گیرانتان را ببیند.",
"compose_form.lock_disclaimer.lock": "قفل‌شده", "compose_form.lock_disclaimer.lock": "قفل‌شده",
"compose_form.placeholder": "تازه چه خبر؟", "compose_form.placeholder": "تازه چه خبر؟",
"compose_form.poll.add_option": "افزودن گزینه",
"compose_form.poll.duration": "مدت نظرسنجی", "compose_form.poll.duration": "مدت نظرسنجی",
"compose_form.poll.multiple": "چند گزینه‌ای",
"compose_form.poll.option_placeholder": "گزینهٔ {number}", "compose_form.poll.option_placeholder": "گزینهٔ {number}",
"compose_form.poll.remove_option": "برداشتن این گزینه", "compose_form.poll.single": "گزینش یکی",
"compose_form.poll.switch_to_multiple": "تغییر نظرسنجی برای اجازه به چندین گزینه", "compose_form.poll.switch_to_multiple": "تغییر نظرسنجی برای اجازه به چندین گزینه",
"compose_form.poll.switch_to_single": "تبدیل به نظرسنجی تک‌گزینه‌ای", "compose_form.poll.switch_to_single": "تبدیل به نظرسنجی تک‌گزینه‌ای",
"compose_form.publish": "انتشار", "compose_form.poll.type": "سبک",
"compose_form.publish": "فرستادن",
"compose_form.publish_form": "انتشار", "compose_form.publish_form": "انتشار",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "پاسخ",
"compose_form.save_changes": "ذخیرهٔ تغییرات", "compose_form.save_changes": "به‌روز رسانی",
"compose_form.sensitive.hide": "{count, plural, one {علامت‌گذاری رسانه به عنوان حساس} other {علامت‌گذاری رسانه‌ها به عنوان حساس}}",
"compose_form.sensitive.marked": "{count, plural, one {رسانه به عنوان حساس علامت‌گذاری شد} other {رسانه‌ها به عنوان حساس علامت‌گذاری شدند}}",
"compose_form.sensitive.unmarked": "{count, plural, one {رسانه به عنوان حساس علامت‌گذاری نشد} other {رسانه‌ها به عنوان حساس علامت‌گذاری نشدند}}",
"compose_form.spoiler.marked": "برداشتن هشدار محتوا", "compose_form.spoiler.marked": "برداشتن هشدار محتوا",
"compose_form.spoiler.unmarked": "افزودن هشدار محتوا", "compose_form.spoiler.unmarked": "افزودن هشدار محتوا",
"compose_form.spoiler_placeholder": "هشدارتان را این‌جا بنویسید", "compose_form.spoiler_placeholder": "هشدار محتوا (اختیاری)",
"confirmation_modal.cancel": "لغو", "confirmation_modal.cancel": "لغو",
"confirmations.block.block_and_report": "انسداد و گزارش", "confirmations.block.block_and_report": "انسداد و گزارش",
"confirmations.block.confirm": "انسداد", "confirmations.block.confirm": "انسداد",
@ -306,13 +303,9 @@
"hashtag.follow": "پی‌گرفتن برچسب", "hashtag.follow": "پی‌گرفتن برچسب",
"hashtag.unfollow": "پی‌نگرفتن برچسب", "hashtag.unfollow": "پی‌نگرفتن برچسب",
"hashtags.and_other": "…و {count, plural, other {# بیش‌تر}}", "hashtags.and_other": "…و {count, plural, other {# بیش‌تر}}",
"home.actions.go_to_explore": "ببینید چه داغ است",
"home.actions.go_to_suggestions": "یافتن افراد برای پی‌گیری",
"home.column_settings.basic": "پایه‌ای", "home.column_settings.basic": "پایه‌ای",
"home.column_settings.show_reblogs": "نمایش تقویت‌ها", "home.column_settings.show_reblogs": "نمایش تقویت‌ها",
"home.column_settings.show_replies": "نمایش پاسخ‌ها", "home.column_settings.show_replies": "نمایش پاسخ‌ها",
"home.explore_prompt.body": "خوراک خانگیتان ترکیبی از فرسته‌ها از برچسب‌هایی که برای پی‌گیری گزیده‌اید، افرادی که پی می‌گیرید و فرسته‌هایی که تقویت می‌کنند را خواهد داشت. اگر خیلی خلوت به نظر می‌رسد،‌ شاید بخواهید:",
"home.explore_prompt.title": "این پایگاه خانگیتان در ماستودون است.",
"home.hide_announcements": "نهفتن اعلامیه‌ها", "home.hide_announcements": "نهفتن اعلامیه‌ها",
"home.pending_critical_update.body": "لطفاً کارساز ماستودونتان را در نخستین فرصت به‌روز کنید!", "home.pending_critical_update.body": "لطفاً کارساز ماستودونتان را در نخستین فرصت به‌روز کنید!",
"home.pending_critical_update.link": "دیدن به‌روز رسانی‌ها", "home.pending_critical_update.link": "دیدن به‌روز رسانی‌ها",
@ -408,7 +401,6 @@
"navigation_bar.direct": "اشاره‌های خصوصی", "navigation_bar.direct": "اشاره‌های خصوصی",
"navigation_bar.discover": "گشت و گذار", "navigation_bar.discover": "گشت و گذار",
"navigation_bar.domain_blocks": "دامنه‌های مسدود شده", "navigation_bar.domain_blocks": "دامنه‌های مسدود شده",
"navigation_bar.edit_profile": "ویرایش نمایه",
"navigation_bar.explore": "کاوش", "navigation_bar.explore": "کاوش",
"navigation_bar.favourites": "برگزیده‌ها", "navigation_bar.favourites": "برگزیده‌ها",
"navigation_bar.filters": "واژه‌های خموش", "navigation_bar.filters": "واژه‌های خموش",
@ -524,14 +516,14 @@
"poll_button.add_poll": "افزودن نظرسنجی", "poll_button.add_poll": "افزودن نظرسنجی",
"poll_button.remove_poll": "برداشتن نظرسنجی", "poll_button.remove_poll": "برداشتن نظرسنجی",
"privacy.change": "تغییر محرمانگی فرسته", "privacy.change": "تغییر محرمانگی فرسته",
"privacy.direct.long": "نمایان فقط برای کاربران اشاره شده", "privacy.direct.long": "هرکسی که در فرسته نام برده شده",
"privacy.direct.short": "فقط افراد اشاره شده", "privacy.direct.short": "افراد مشخّص",
"privacy.private.long": "نمایان فقط برای پی‌گیرندگان", "privacy.private.long": "تنها پی‌گیرندگانتان",
"privacy.private.short": "فقط پی‌گیرندگان", "privacy.private.short": "پی‌گیرندگان",
"privacy.public.long": "نمایان برای همه", "privacy.public.long": "هرکسی در و بیرون از ماستودون",
"privacy.public.short": "عمومی", "privacy.public.short": "عمومی",
"privacy.unlisted.long": "نمایان برای همه، ولی خارج از قابلیت‌های کشف", "privacy.unlisted.long": "سروصدای الگوریتمی کم‌تر",
"privacy.unlisted.short": "فهرست نشده", "privacy.unlisted.short": "عمومی ساکت",
"privacy_policy.last_updated": "آخرین به‌روز رسانی در {date}", "privacy_policy.last_updated": "آخرین به‌روز رسانی در {date}",
"privacy_policy.title": "سیاست محرمانگی", "privacy_policy.title": "سیاست محرمانگی",
"recommended": "پیشنهادشده", "recommended": "پیشنهادشده",
@ -550,6 +542,7 @@
"relative_time.seconds": "{number} ثانیه", "relative_time.seconds": "{number} ثانیه",
"relative_time.today": "امروز", "relative_time.today": "امروز",
"reply_indicator.cancel": "لغو", "reply_indicator.cancel": "لغو",
"reply_indicator.poll": "نظرسنجی",
"report.block": "انسداد", "report.block": "انسداد",
"report.block_explanation": "شما فرسته‌هایشان را نخواهید دید. آن‌ها نمی‌توانند فرسته‌هایتان را ببینند یا شما را پی‌بگیرند. آنها می‌توانند بگویند که مسدود شده‌اند.", "report.block_explanation": "شما فرسته‌هایشان را نخواهید دید. آن‌ها نمی‌توانند فرسته‌هایتان را ببینند یا شما را پی‌بگیرند. آنها می‌توانند بگویند که مسدود شده‌اند.",
"report.categories.legal": "حقوقی", "report.categories.legal": "حقوقی",
@ -713,10 +706,8 @@
"upload_error.poll": "بارگذاری پرونده در نظرسنجی‌ها مجاز نیست.", "upload_error.poll": "بارگذاری پرونده در نظرسنجی‌ها مجاز نیست.",
"upload_form.audio_description": "برای ناشنوایان توصیفش کنید", "upload_form.audio_description": "برای ناشنوایان توصیفش کنید",
"upload_form.description": "برای کم‌بینایان توصیفش کنید", "upload_form.description": "برای کم‌بینایان توصیفش کنید",
"upload_form.description_missing": "شرحی افزوده نشده",
"upload_form.edit": "ویرایش", "upload_form.edit": "ویرایش",
"upload_form.thumbnail": "تغییر بندانگشتی", "upload_form.thumbnail": "تغییر بندانگشتی",
"upload_form.undo": "حذف",
"upload_form.video_description": "برای کم‌بینایان یا ناشنوایان توصیفش کنید", "upload_form.video_description": "برای کم‌بینایان یا ناشنوایان توصیفش کنید",
"upload_modal.analyzing_picture": "در حال پردازش تصویر…", "upload_modal.analyzing_picture": "در حال پردازش تصویر…",
"upload_modal.apply": "اعمال", "upload_modal.apply": "اعمال",

@ -2,8 +2,8 @@
"about.blocks": "Moderoidut palvelimet", "about.blocks": "Moderoidut palvelimet",
"about.contact": "Ota yhteys:", "about.contact": "Ota yhteys:",
"about.disclaimer": "Mastodon on vapaa avoimen lähdekoodin ohjelmisto ja Mastodon gGmbH:n tavaramerkki.", "about.disclaimer": "Mastodon on vapaa avoimen lähdekoodin ohjelmisto ja Mastodon gGmbH:n tavaramerkki.",
"about.domain_blocks.no_reason_available": "Syytä ei ole ilmoitettu", "about.domain_blocks.no_reason_available": "Syy ei ole tiedossa",
"about.domain_blocks.preamble": "Mastodonin avulla voidaan yleensä tarkastella minkä tahansa fediversumiin kuuluvan palvelimen sisältöä ja vuorovaikuttaa eri palvelinten käyttäjien kanssa. Nämä ovat tälle palvelimelle määritetyt poikkeukset.", "about.domain_blocks.preamble": "Mastodonin avulla voidaan yleensä tarkastella minkä tahansa fediversumiin kuuluvan palvelimen sisältöä, ja olla yhteyksissä eri palvelinten käyttäjien kanssa. Nämä poikkeukset koskevat yksin tätä palvelinta.",
"about.domain_blocks.silenced.explanation": "Et yleensä näe tämän palvelimen profiileja ja sisältöä, jollet erityisesti etsi juuri sitä tai liity siihen seuraamalla.", "about.domain_blocks.silenced.explanation": "Et yleensä näe tämän palvelimen profiileja ja sisältöä, jollet erityisesti etsi juuri sitä tai liity siihen seuraamalla.",
"about.domain_blocks.silenced.title": "Rajoitettu", "about.domain_blocks.silenced.title": "Rajoitettu",
"about.domain_blocks.suspended.explanation": "Mitään tämän palvelimen tietoja ei käsitellä, tallenneta tai vaihdeta, mikä tekee vuorovaikutuksesta ja viestinnästä sen käyttäjien kanssa mahdotonta.", "about.domain_blocks.suspended.explanation": "Mitään tämän palvelimen tietoja ei käsitellä, tallenneta tai vaihdeta, mikä tekee vuorovaikutuksesta ja viestinnästä sen käyttäjien kanssa mahdotonta.",
@ -19,7 +19,7 @@
"account.block_domain": "Estä verkkotunnus {domain}", "account.block_domain": "Estä verkkotunnus {domain}",
"account.block_short": "Estä", "account.block_short": "Estä",
"account.blocked": "Estetty", "account.blocked": "Estetty",
"account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella", "account.browse_more_on_origin_server": "Selaile kattavampaa alkuperäprofiilia",
"account.cancel_follow_request": "Peruuta seurantapyyntö", "account.cancel_follow_request": "Peruuta seurantapyyntö",
"account.copy": "Kopioi linkki profiiliin", "account.copy": "Kopioi linkki profiiliin",
"account.direct": "Mainitse @{name} yksityisesti", "account.direct": "Mainitse @{name} yksityisesti",
@ -27,7 +27,7 @@
"account.domain_blocked": "Verkkotunnus estetty", "account.domain_blocked": "Verkkotunnus estetty",
"account.edit_profile": "Muokkaa profiilia", "account.edit_profile": "Muokkaa profiilia",
"account.enable_notifications": "Ilmoita minulle, kun @{name} julkaisee", "account.enable_notifications": "Ilmoita minulle, kun @{name} julkaisee",
"account.endorse": "Pidä esillä profiilissa", "account.endorse": "Suosittele profiilissasi",
"account.featured_tags.last_status_at": "Viimeisin julkaisu {date}", "account.featured_tags.last_status_at": "Viimeisin julkaisu {date}",
"account.featured_tags.last_status_never": "Ei julkaisuja", "account.featured_tags.last_status_never": "Ei julkaisuja",
"account.featured_tags.title": "Käyttäjän {name} esillä pidettävät aihetunnisteet", "account.featured_tags.title": "Käyttäjän {name} esillä pidettävät aihetunnisteet",
@ -39,7 +39,7 @@
"account.following": "Seuratut", "account.following": "Seuratut",
"account.following_counter": "{count, plural, one {{counter} seurattu} other {{counter} seurattua}}", "account.following_counter": "{count, plural, one {{counter} seurattu} other {{counter} seurattua}}",
"account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.", "account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.",
"account.go_to_profile": "Avaa profiili", "account.go_to_profile": "Mene profiiliin",
"account.hide_reblogs": "Piilota käyttäjän @{name} tehostukset", "account.hide_reblogs": "Piilota käyttäjän @{name} tehostukset",
"account.in_memoriam": "Muistoissamme.", "account.in_memoriam": "Muistoissamme.",
"account.joined_short": "Liittynyt", "account.joined_short": "Liittynyt",
@ -64,10 +64,10 @@
"account.share": "Jaa käyttäjän @{name} profiili", "account.share": "Jaa käyttäjän @{name} profiili",
"account.show_reblogs": "Näytä käyttäjän @{name} tehostukset", "account.show_reblogs": "Näytä käyttäjän @{name} tehostukset",
"account.statuses_counter": "{count, plural, one {{counter} julkaisu} other {{counter} julkaisua}}", "account.statuses_counter": "{count, plural, one {{counter} julkaisu} other {{counter} julkaisua}}",
"account.unblock": "Poista käyttäjän @{name} esto", "account.unblock": "Kumoa käyttäjän @{name} esto",
"account.unblock_domain": "Poista verkkotunnuksen {domain} esto", "account.unblock_domain": "Kumoa verkkotunnuksen {domain} esto",
"account.unblock_short": "Poista esto", "account.unblock_short": "Poista esto",
"account.unendorse": "Älä pidä esillä profiilissa", "account.unendorse": "Kumoa suosittelu profiilissasi",
"account.unfollow": "Lopeta seuraaminen", "account.unfollow": "Lopeta seuraaminen",
"account.unmute": "Poista käyttäjän @{name} mykistys", "account.unmute": "Poista käyttäjän @{name} mykistys",
"account.unmute_notifications_short": "Poista ilmoitusten mykistys", "account.unmute_notifications_short": "Poista ilmoitusten mykistys",
@ -75,7 +75,7 @@
"account_note.placeholder": "Lisää muistiinpano napsauttamalla", "account_note.placeholder": "Lisää muistiinpano napsauttamalla",
"admin.dashboard.daily_retention": "Käyttäjien pysyvyys rekisteröitymisen jälkeen päivittäin", "admin.dashboard.daily_retention": "Käyttäjien pysyvyys rekisteröitymisen jälkeen päivittäin",
"admin.dashboard.monthly_retention": "Käyttäjien pysyvyys rekisteröitymisen jälkeen kuukausittain", "admin.dashboard.monthly_retention": "Käyttäjien pysyvyys rekisteröitymisen jälkeen kuukausittain",
"admin.dashboard.retention.average": "Keskimäärin", "admin.dashboard.retention.average": "Keskiarvo",
"admin.dashboard.retention.cohort": "Rekisteröitymis-kk.", "admin.dashboard.retention.cohort": "Rekisteröitymis-kk.",
"admin.dashboard.retention.cohort_size": "Uusia käyttäjiä", "admin.dashboard.retention.cohort_size": "Uusia käyttäjiä",
"admin.impact_report.instance_accounts": "Tilien profiilit, jotka tämä poistaisi", "admin.impact_report.instance_accounts": "Tilien profiilit, jotka tämä poistaisi",
@ -86,10 +86,9 @@
"alert.rate_limited.title": "Pyyntömäärää rajoitettu", "alert.rate_limited.title": "Pyyntömäärää rajoitettu",
"alert.unexpected.message": "Tapahtui odottamaton virhe.", "alert.unexpected.message": "Tapahtui odottamaton virhe.",
"alert.unexpected.title": "Hups!", "alert.unexpected.title": "Hups!",
"announcement.announcement": "Ilmoitus", "announcement.announcement": "Tiedote",
"attachments_list.unprocessed": "(käsittelemätön)", "attachments_list.unprocessed": "(käsittelemätön)",
"audio.hide": "Piilota ääni", "audio.hide": "Piilota ääni",
"autosuggest_hashtag.per_week": "{count} viikossa",
"boost_modal.combo": "Ensi kerralla voit ohittaa tämän painamalla {combo}", "boost_modal.combo": "Ensi kerralla voit ohittaa tämän painamalla {combo}",
"bundle_column_error.copy_stacktrace": "Kopioi virheraportti", "bundle_column_error.copy_stacktrace": "Kopioi virheraportti",
"bundle_column_error.error.body": "Pyydettyä sivua ei voitu hahmontaa. Se voi johtua virheestä koodissamme tai selaimen yhteensopivuudessa.", "bundle_column_error.error.body": "Pyydettyä sivua ei voitu hahmontaa. Se voi johtua virheestä koodissamme tai selaimen yhteensopivuudessa.",
@ -146,34 +145,32 @@
"compose_form.lock_disclaimer": "Tilisi ei ole {locked}. Kuka tahansa voi seurata tiliäsi ja nähdä vain seuraajille rajaamasi julkaisut.", "compose_form.lock_disclaimer": "Tilisi ei ole {locked}. Kuka tahansa voi seurata tiliäsi ja nähdä vain seuraajille rajaamasi julkaisut.",
"compose_form.lock_disclaimer.lock": "lukittu", "compose_form.lock_disclaimer.lock": "lukittu",
"compose_form.placeholder": "Mitä mietit?", "compose_form.placeholder": "Mitä mietit?",
"compose_form.poll.add_option": "Lisää valinta",
"compose_form.poll.duration": "Äänestyksen kesto", "compose_form.poll.duration": "Äänestyksen kesto",
"compose_form.poll.option_placeholder": "Valinta {number}", "compose_form.poll.multiple": "Monivalinta",
"compose_form.poll.remove_option": "Poista tämä valinta", "compose_form.poll.option_placeholder": "Vaihtoehto {number}",
"compose_form.poll.switch_to_multiple": "Muuta äänestys monivalinnaksi", "compose_form.poll.single": "Valitse yksi",
"compose_form.poll.switch_to_single": "Muuta äänestys sallimaan vain yksi valinta", "compose_form.poll.switch_to_multiple": "Muuta kysely monivalinnaksi",
"compose_form.poll.switch_to_single": "Muuta kysely sallimaan vain yksi valinta",
"compose_form.poll.type": "Tyyli",
"compose_form.publish": "Julkaise", "compose_form.publish": "Julkaise",
"compose_form.publish_form": "Uusi julkaisu", "compose_form.publish_form": "Uusi julkaisu",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Vastaa",
"compose_form.save_changes": "Tallenna muutokset", "compose_form.save_changes": "Päivitä",
"compose_form.sensitive.hide": "{count, plural, one {Merkitse media arkaluonteiseksi} other {Merkitse mediat arkaluonteisiksi}}",
"compose_form.sensitive.marked": "{count, plural, one {Media on merkitty arkaluonteiseksi} other {Mediat on merkitty arkaluonteisiksi}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Mediaa ei ole merkitty arkaluonteiseksi} other {Medioita ei ole merkitty arkaluonteisiksi}}",
"compose_form.spoiler.marked": "Poista sisältövaroitus", "compose_form.spoiler.marked": "Poista sisältövaroitus",
"compose_form.spoiler.unmarked": "Lisää sisältövaroitus", "compose_form.spoiler.unmarked": "Lisää sisältövaroitus",
"compose_form.spoiler_placeholder": "Kirjoita varoituksesi tähän", "compose_form.spoiler_placeholder": "Sisältövaroitus (valinnainen)",
"confirmation_modal.cancel": "Peruuta", "confirmation_modal.cancel": "Peruuta",
"confirmations.block.block_and_report": "Estä ja raportoi", "confirmations.block.block_and_report": "Estä ja raportoi",
"confirmations.block.confirm": "Estä", "confirmations.block.confirm": "Estä",
"confirmations.block.message": "Haluatko varmasti estää käyttäjän {name}?", "confirmations.block.message": "Haluatko varmasti estää käyttäjän {name}?",
"confirmations.cancel_follow_request.confirm": "Peruuta pyyntö", "confirmations.cancel_follow_request.confirm": "Peruuta pyyntö",
"confirmations.cancel_follow_request.message": "Haluatko varmasti peruuttaa pyyntösi seurata profiilia {name}?", "confirmations.cancel_follow_request.message": "Haluatko varmasti perua pyyntösi seurata käyttäjätiliä {name}?",
"confirmations.delete.confirm": "Poista", "confirmations.delete.confirm": "Poista",
"confirmations.delete.message": "Haluatko varmasti poistaa tämän julkaisun?", "confirmations.delete.message": "Haluatko varmasti poistaa tämän julkaisun?",
"confirmations.delete_list.confirm": "Poista", "confirmations.delete_list.confirm": "Poista",
"confirmations.delete_list.message": "Haluatko varmasti poistaa tämän listan pysyvästi?", "confirmations.delete_list.message": "Haluatko varmasti poistaa tämän listan pysyvästi?",
"confirmations.discard_edit_media.confirm": "Hylkää", "confirmations.discard_edit_media.confirm": "Hylkää",
"confirmations.discard_edit_media.message": "Sinulla on tallentamattomia muutoksia median kuvaukseen tai esikatseluun, hylätäänkö ne silti?", "confirmations.discard_edit_media.message": "Sinulla on tallentamattomia muutoksia median kuvaukseen tai esikatseluun. Hylätäänkö ne silti?",
"confirmations.domain_block.confirm": "Estä koko verkkotunnus", "confirmations.domain_block.confirm": "Estä koko verkkotunnus",
"confirmations.domain_block.message": "Haluatko aivan varmasti estää koko verkkotunnuksen {domain}? Useimmiten muutama kohdistettu esto tai mykistys on riittävä ja suositeltava toimi. Et näe sisältöä tästä verkkotunnuksesta millään julkisilla aikajanoilla tai ilmoituksissa. Tähän verkkotunnukseen kuuluvat seuraajasi poistetaan.", "confirmations.domain_block.message": "Haluatko aivan varmasti estää koko verkkotunnuksen {domain}? Useimmiten muutama kohdistettu esto tai mykistys on riittävä ja suositeltava toimi. Et näe sisältöä tästä verkkotunnuksesta millään julkisilla aikajanoilla tai ilmoituksissa. Tähän verkkotunnukseen kuuluvat seuraajasi poistetaan.",
"confirmations.edit.confirm": "Muokkaa", "confirmations.edit.confirm": "Muokkaa",
@ -183,12 +180,12 @@
"confirmations.mute.confirm": "Mykistä", "confirmations.mute.confirm": "Mykistä",
"confirmations.mute.explanation": "Tämä toiminto piilottaa heidän julkaisunsa sinulta mukaan lukien ne, joissa heidät mainitaan sallien heidän yhä nähdä julkaisusi ja seurata sinua.", "confirmations.mute.explanation": "Tämä toiminto piilottaa heidän julkaisunsa sinulta mukaan lukien ne, joissa heidät mainitaan sallien heidän yhä nähdä julkaisusi ja seurata sinua.",
"confirmations.mute.message": "Haluatko varmasti mykistää käyttäjän {name}?", "confirmations.mute.message": "Haluatko varmasti mykistää käyttäjän {name}?",
"confirmations.redraft.confirm": "Poista & palauta muokattavaksi", "confirmations.redraft.confirm": "Poista ja palauta muokattavaksi",
"confirmations.redraft.message": "Haluatko varmasti poistaa julkaisun ja tehdä siitä luonnoksen? Suosikit ja tehostukset menetetään, ja alkuperäisen julkaisun vastaukset jäävät orvoiksi.", "confirmations.redraft.message": "Haluatko varmasti poistaa julkaisun ja tehdä siitä luonnoksen? Suosikit ja tehostukset menetetään, ja alkuperäisen julkaisun vastaukset jäävät orvoiksi.",
"confirmations.reply.confirm": "Vastaa", "confirmations.reply.confirm": "Vastaa",
"confirmations.reply.message": "Jos vastaat nyt, vastaus korvaa parhaillaan työstämäsi viestin. Haluatko varmasti jatkaa?", "confirmations.reply.message": "Jos vastaat nyt, vastaus korvaa parhaillaan työstämäsi viestin. Haluatko varmasti jatkaa?",
"confirmations.unfollow.confirm": "Lopeta seuraaminen", "confirmations.unfollow.confirm": "Lopeta seuraaminen",
"confirmations.unfollow.message": "Haluatko varmasti lakata seuraamasta profiilia {name}?", "confirmations.unfollow.message": "Haluatko varmasti lopettaa profiilin {name} seuraamisen?",
"conversation.delete": "Poista keskustelu", "conversation.delete": "Poista keskustelu",
"conversation.mark_as_read": "Merkitse luetuksi", "conversation.mark_as_read": "Merkitse luetuksi",
"conversation.open": "Näytä keskustelu", "conversation.open": "Näytä keskustelu",
@ -202,10 +199,10 @@
"directory.recently_active": "Hiljattain aktiiviset", "directory.recently_active": "Hiljattain aktiiviset",
"disabled_account_banner.account_settings": "Tilin asetukset", "disabled_account_banner.account_settings": "Tilin asetukset",
"disabled_account_banner.text": "Tilisi {disabledAccount} on tällä hetkellä poissa käytöstä.", "disabled_account_banner.text": "Tilisi {disabledAccount} on tällä hetkellä poissa käytöstä.",
"dismissable_banner.community_timeline": "Nämä ovat viimeisimpiä julkaisuja käyttäjiltä, joiden tili sijaitsee palvelimella {domain}.", "dismissable_banner.community_timeline": "Nämä ovat tuoreimpia julkaisuja käyttäjiltä, joiden tili on palvelimella {domain}.",
"dismissable_banner.dismiss": "Hylkää", "dismissable_banner.dismiss": "Hylkää",
"dismissable_banner.explore_links": "Näitä uutisia jaetaan tänään sosiaalisessa verkossa eniten. Uusimmat ja eri käyttäjien eniten lähettämät uutiset nousevat listauksessa korkeimmalle.", "dismissable_banner.explore_links": "Näitä uutisia jaetaan tänään sosiaalisessa verkossa eniten. Uusimmat ja eri käyttäjien eniten lähettämät uutiset nousevat listauksessa korkeimmalle.",
"dismissable_banner.explore_statuses": "Nämä sosiaalisen verkon julkaisut keräävät tänään eniten huomiota. Uusimmat, tehostetuimmat ja suosikiksi lisätyimmät nousevat listauksessa korkeimmalle.", "dismissable_banner.explore_statuses": "Tänään nämä sosiaalisen verkon julkaisut keräävät eniten huomiota. Uusimmat, tehostetuimmat ja suosikeiksi lisätyimmät julkaisut nousevat listauksessa korkeammalle.",
"dismissable_banner.explore_tags": "Nämä sosiaalisen verkon aihetunnisteet keräävät tänään eniten huomiota. Useimman käyttäjän käyttämät aihetunnisteet nousevat listauksessa korkeimmalle.", "dismissable_banner.explore_tags": "Nämä sosiaalisen verkon aihetunnisteet keräävät tänään eniten huomiota. Useimman käyttäjän käyttämät aihetunnisteet nousevat listauksessa korkeimmalle.",
"dismissable_banner.public_timeline": "Nämä ovat viimeisimpiä julkaisuja sosiaalisen verkon käyttäjiltä, joita seurataan palvelimella {domain}.", "dismissable_banner.public_timeline": "Nämä ovat viimeisimpiä julkaisuja sosiaalisen verkon käyttäjiltä, joita seurataan palvelimella {domain}.",
"embed.instructions": "Upota julkaisu verkkosivullesi kopioimalla alla oleva koodi.", "embed.instructions": "Upota julkaisu verkkosivullesi kopioimalla alla oleva koodi.",
@ -217,18 +214,18 @@
"emoji_button.food": "Ruoka ja juoma", "emoji_button.food": "Ruoka ja juoma",
"emoji_button.label": "Lisää emoji", "emoji_button.label": "Lisää emoji",
"emoji_button.nature": "Luonto", "emoji_button.nature": "Luonto",
"emoji_button.not_found": "Vastaavia emojeja ei löytynyt", "emoji_button.not_found": "Vastaavia emojeita ei löytynyt",
"emoji_button.objects": "Esineet", "emoji_button.objects": "Esineet",
"emoji_button.people": "Ihmiset", "emoji_button.people": "Ihmiset",
"emoji_button.recent": "Usein käytetyt", "emoji_button.recent": "Usein käytetyt",
"emoji_button.search": "Hae...", "emoji_button.search": "Etsi...",
"emoji_button.search_results": "Hakutulokset", "emoji_button.search_results": "Hakutulokset",
"emoji_button.symbols": "Symbolit", "emoji_button.symbols": "Symbolit",
"emoji_button.travel": "Matkailu ja paikat", "emoji_button.travel": "Matkailu ja paikat",
"empty_column.account_hides_collections": "Käyttäjä on päättänyt olla julkaisematta näitä tietoja", "empty_column.account_hides_collections": "Käyttäjä on päättänyt pitää nämä tiedot yksityisinä",
"empty_column.account_suspended": "Tili jäädytetty", "empty_column.account_suspended": "Tili jäädytetty",
"empty_column.account_timeline": "Ei viestejä täällä.", "empty_column.account_timeline": "Ei viestejä täällä.",
"empty_column.account_unavailable": "Profiilia ei löydy", "empty_column.account_unavailable": "Profiilia ei ole saatavilla",
"empty_column.blocks": "Et ole vielä estänyt käyttäjiä.", "empty_column.blocks": "Et ole vielä estänyt käyttäjiä.",
"empty_column.bookmarked_statuses": "Et ole vielä lisännyt julkaisuja kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.", "empty_column.bookmarked_statuses": "Et ole vielä lisännyt julkaisuja kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.",
"empty_column.community": "Paikallinen aikajana on tyhjä. Kirjoita jotain julkista, niin homma lähtee käyntiin!", "empty_column.community": "Paikallinen aikajana on tyhjä. Kirjoita jotain julkista, niin homma lähtee käyntiin!",
@ -239,17 +236,17 @@
"empty_column.favourites": "Kukaan ei ole vielä lisännyt tätä julkaisua suosikkeihinsa. Kun joku tekee niin, tulee hän tähän näkyviin.", "empty_column.favourites": "Kukaan ei ole vielä lisännyt tätä julkaisua suosikkeihinsa. Kun joku tekee niin, tulee hän tähän näkyviin.",
"empty_column.follow_requests": "Et ole vielä vastaanottanut seuraamispyyntöjä. Saamasi pyynnöt näkyvät täällä.", "empty_column.follow_requests": "Et ole vielä vastaanottanut seuraamispyyntöjä. Saamasi pyynnöt näkyvät täällä.",
"empty_column.followed_tags": "Et seuraa vielä yhtäkään aihetunnistetta. Kun alat seurata, ne tulevat tähän näkyviin.", "empty_column.followed_tags": "Et seuraa vielä yhtäkään aihetunnistetta. Kun alat seurata, ne tulevat tähän näkyviin.",
"empty_column.hashtag": "Tällä aihetunnisteella ei ole vielä mitään.", "empty_column.hashtag": "Tällä aihetunnisteella ei löydy vielä sisältöä.",
"empty_column.home": "Kotiaikajanasi on tyhjä! Seuraa useampia henkilöjä, niin näet enemmän sisältöä.", "empty_column.home": "Kotiaikajanasi on tyhjä! Seuraa useampia henkilöjä, niin näet enemmän sisältöä.",
"empty_column.list": "Tällä listalla ei ole vielä mitään. Kun tämän listan jäsenet lähettävät uusia julkaisuja, ne näkyvät tässä.", "empty_column.list": "Tällä listalla ei ole vielä mitään. Kun tämän listan jäsenet lähettävät uusia julkaisuja, ne näkyvät tässä.",
"empty_column.lists": "Sinulla ei ole vielä yhtään listaa. Kun luot sellaisen, näkyy se tässä.", "empty_column.lists": "Sinulla ei ole vielä yhtään listaa. Kun luot sellaisen, näkyy se tässä.",
"empty_column.mutes": "Et ole mykistänyt vielä yhtään käyttäjää.", "empty_column.mutes": "Et ole mykistänyt vielä yhtään käyttäjää.",
"empty_column.notifications": "Sinulla ei ole vielä ilmoituksia. Kun keskustelet muille, näet sen täällä.", "empty_column.notifications": "Sinulla ei ole vielä ilmoituksia. Kun keskustelet muille, näet sen täällä.",
"empty_column.public": "Täällä ei ole mitään! Kirjoita jotain julkisesti. Voit myös seurata muiden palvelimien käyttäjiä", "empty_column.public": "Täällä ei ole mitään! Kirjoita jotain julkisesti. Voit myös seurata muiden palvelimien käyttäjiä",
"error.unexpected_crash.explanation": "Sivua ei voi näyttää oikein, johtuen bugista tai ongelmasta selaimen yhteensopivuudessa.", "error.unexpected_crash.explanation": "Sivua ei voida näyttää oikein ohjelmointivirheen tai selaimen yhteensopivuusvajeen vuoksi.",
"error.unexpected_crash.explanation_addons": "Sivua ei voitu näyttää oikein. Tämä virhe johtuu todennäköisesti selaimen lisäosasta tai automaattisista käännöstyökaluista.", "error.unexpected_crash.explanation_addons": "Sivua ei voitu näyttää oikein. Tämä virhe johtuu todennäköisesti selaimen lisäosasta tai automaattisista käännöstyökaluista.",
"error.unexpected_crash.next_steps": "Kokeile päivittää sivu. Jos se ei auta, voi Mastodonin käyttö ehkä onnistua eri selaimella tai natiivisovelluksella.", "error.unexpected_crash.next_steps": "Kokeile päivittää sivu. Jos se ei auta, voi Mastodonin käyttö ehkä onnistua eri selaimella tai natiivisovelluksella.",
"error.unexpected_crash.next_steps_addons": "Yritä poistaa ne käytöstä ja päivittää sivu. Jos se ei auta, voit silti käyttää Mastodonia eri selaimen tai sovelluksen kautta.", "error.unexpected_crash.next_steps_addons": "Yritä poistaa ne käytöstä, ja virkistä sitten sivunlataus. Mikäli ongelma jatkuu, voit mahdollisesti käyttää Mastodonia eri selaimella tai natiivilla sovelluksella.",
"errors.unexpected_crash.copy_stacktrace": "Kopioi pinon jäljitys leikepöydälle", "errors.unexpected_crash.copy_stacktrace": "Kopioi pinon jäljitys leikepöydälle",
"errors.unexpected_crash.report_issue": "Ilmoita ongelmasta", "errors.unexpected_crash.report_issue": "Ilmoita ongelmasta",
"explore.search_results": "Hakutulokset", "explore.search_results": "Hakutulokset",
@ -258,13 +255,13 @@
"explore.trending_links": "Uutiset", "explore.trending_links": "Uutiset",
"explore.trending_statuses": "Julkaisut", "explore.trending_statuses": "Julkaisut",
"explore.trending_tags": "Aihetunnisteet", "explore.trending_tags": "Aihetunnisteet",
"filter_modal.added.context_mismatch_explanation": "Tämä suodatinluokka ei koske kontekstia, jossa olet tarkastellut tätä julkaisua. Jos haluat, että julkaisu suodatetaan myös tässä kontekstissa, sinun pitää muokata suodatinta.", "filter_modal.added.context_mismatch_explanation": "Tämä suodatinluokka ei koske asiayhteyttä, jossa olet tarkastellut tätä julkaisua. Jos haluat julkaisun suodatettavan myös tässä asiayhteydessä, muokkaa suodatinta.",
"filter_modal.added.context_mismatch_title": "Konteksti ei täsmää!", "filter_modal.added.context_mismatch_title": "Asiayhteys ei täsmää!",
"filter_modal.added.expired_explanation": "Tämä suodatinluokka on vanhentunut, joten sinun on muutettava viimeistä voimassaolopäivää, jotta suodatin on voimassa.", "filter_modal.added.expired_explanation": "Tämä suodatinluokka on vanhentunut, joten sinun on muutettava viimeistä voimassaolopäivää, jotta suodatusta käytettäisiin.",
"filter_modal.added.expired_title": "Vanhentunut suodatin!", "filter_modal.added.expired_title": "Vanhentunut suodatin!",
"filter_modal.added.review_and_configure": "Voit tarkastella tätä suodatinluokkaa ja määrittää sen tarkemmin kohdassa {settings_link}.", "filter_modal.added.review_and_configure": "Voit tarkastella tätä suodatinluokkaa ja määrittää sen tarkemmin {settings_link}.",
"filter_modal.added.review_and_configure_title": "Suodattimen asetukset", "filter_modal.added.review_and_configure_title": "Suodattimen asetukset",
"filter_modal.added.settings_link": "asetukset-sivulle", "filter_modal.added.settings_link": "asetussivulla",
"filter_modal.added.short_explanation": "Tämä julkaisu on lisätty seuraavaan suodatinluokkaan: {title}.", "filter_modal.added.short_explanation": "Tämä julkaisu on lisätty seuraavaan suodatinluokkaan: {title}.",
"filter_modal.added.title": "Suodatin lisätty!", "filter_modal.added.title": "Suodatin lisätty!",
"filter_modal.select_filter.context_mismatch": "ei sovellu tähän kontekstiin", "filter_modal.select_filter.context_mismatch": "ei sovellu tähän kontekstiin",
@ -280,6 +277,17 @@
"follow_request.authorize": "Valtuuta", "follow_request.authorize": "Valtuuta",
"follow_request.reject": "Hylkää", "follow_request.reject": "Hylkää",
"follow_requests.unlocked_explanation": "Vaikkei tiliäsi ole lukittu, palvelimen {domain} ylläpito on arvioinut, että saatat olla halukas tarkistamaan nämä seuraamispyynnöt erikseen.", "follow_requests.unlocked_explanation": "Vaikkei tiliäsi ole lukittu, palvelimen {domain} ylläpito on arvioinut, että saatat olla halukas tarkistamaan nämä seuraamispyynnöt erikseen.",
"follow_suggestions.curated_suggestion": "Ylläpidon valinta",
"follow_suggestions.dismiss": "Älä näytä uudelleen",
"follow_suggestions.hints.featured": "Tämän profiilin on valinnut palvelimen {domain} tiimi.",
"follow_suggestions.hints.friends_of_friends": "Tämä profiili on suosittu seuraamiesi henkilöiden parissa.",
"follow_suggestions.hints.most_followed": "Tämä profiili on yksi seuratuimmista palvelimella {domain}.",
"follow_suggestions.hints.most_interactions": "Tämä profiili on viime aikoina saanut paljon huomiota palvelimella {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "Tämä profiili on samankaltainen kuin profiilit, joita olet viimeksi seurannut.",
"follow_suggestions.personalized_suggestion": "Personoitu ehdotus",
"follow_suggestions.popular_suggestion": "Suosittu ehdotus",
"follow_suggestions.view_all": "Näytä kaikki",
"follow_suggestions.who_to_follow": "Ehdotuksia seurattavaksi",
"followed_tags": "Seuratut aihetunnisteet", "followed_tags": "Seuratut aihetunnisteet",
"footer.about": "Tietoja", "footer.about": "Tietoja",
"footer.directory": "Profiilihakemisto", "footer.directory": "Profiilihakemisto",
@ -306,15 +314,11 @@
"hashtag.follow": "Seuraa aihetunnistetta", "hashtag.follow": "Seuraa aihetunnistetta",
"hashtag.unfollow": "Lopeta aihetunnisteen seuraaminen", "hashtag.unfollow": "Lopeta aihetunnisteen seuraaminen",
"hashtags.and_other": "…ja {count, plural, other {# lisää}}", "hashtags.and_other": "…ja {count, plural, other {# lisää}}",
"home.actions.go_to_explore": "Katso, mikä on suosittua",
"home.actions.go_to_suggestions": "Löydä seurattavia käyttäjiä",
"home.column_settings.basic": "Perusasetukset", "home.column_settings.basic": "Perusasetukset",
"home.column_settings.show_reblogs": "Näytä tehostukset", "home.column_settings.show_reblogs": "Näytä tehostukset",
"home.column_settings.show_replies": "Näytä vastaukset", "home.column_settings.show_replies": "Näytä vastaukset",
"home.explore_prompt.body": "Kotisyötteesi on sekoitus seuraamiasi aihetunnisteita ja käyttäjiä sekä heidän tehostamiaan julkaisuja. Jos se tuntuu liian hiljaiselta, saatat haluta:",
"home.explore_prompt.title": "Tämä on tukikohtasi Mastodonissa.",
"home.hide_announcements": "Piilota tiedotteet", "home.hide_announcements": "Piilota tiedotteet",
"home.pending_critical_update.body": "Päivitäthän Mastodon-palvelimen mahdollisimman pian!", "home.pending_critical_update.body": "Päivitäthän Mastodon-palvelinohjelmistosi mahdollisimman pian!",
"home.pending_critical_update.link": "Tutustu päivityssisältöihin", "home.pending_critical_update.link": "Tutustu päivityssisältöihin",
"home.pending_critical_update.title": "Kriittinen tietoturvapäivitys saatavilla!", "home.pending_critical_update.title": "Kriittinen tietoturvapäivitys saatavilla!",
"home.show_announcements": "Näytä tiedotteet", "home.show_announcements": "Näytä tiedotteet",
@ -353,7 +357,7 @@
"keyboard_shortcuts.hotkey": "Pikanäppäin", "keyboard_shortcuts.hotkey": "Pikanäppäin",
"keyboard_shortcuts.legend": "Näytä tämä ohje", "keyboard_shortcuts.legend": "Näytä tämä ohje",
"keyboard_shortcuts.local": "Avaa paikallinen aikajana", "keyboard_shortcuts.local": "Avaa paikallinen aikajana",
"keyboard_shortcuts.mention": "Mainitse kirjoittaja", "keyboard_shortcuts.mention": "Mainitse julkaisija",
"keyboard_shortcuts.muted": "Avaa mykistettyjen käyttäjien luettelo", "keyboard_shortcuts.muted": "Avaa mykistettyjen käyttäjien luettelo",
"keyboard_shortcuts.my_profile": "Avaa profiilisi", "keyboard_shortcuts.my_profile": "Avaa profiilisi",
"keyboard_shortcuts.notifications": "Avaa ilmoitussarake", "keyboard_shortcuts.notifications": "Avaa ilmoitussarake",
@ -371,12 +375,12 @@
"keyboard_shortcuts.unfocus": "Poistu teksti-/hakukentästä", "keyboard_shortcuts.unfocus": "Poistu teksti-/hakukentästä",
"keyboard_shortcuts.up": "Siirry listassa ylöspäin", "keyboard_shortcuts.up": "Siirry listassa ylöspäin",
"lightbox.close": "Sulje", "lightbox.close": "Sulje",
"lightbox.compress": "Pakkaa kuvan näkymälaatikko", "lightbox.compress": "Tiivis kuvankatselunäkymä",
"lightbox.expand": "Laajenna kuvan näkymälaatikko", "lightbox.expand": "Laajennettu kuvankatselunäkymä",
"lightbox.next": "Seuraava", "lightbox.next": "Seuraava",
"lightbox.previous": "Edellinen", "lightbox.previous": "Edellinen",
"limited_account_hint.action": "Näytä profiili joka tapauksessa", "limited_account_hint.action": "Näytä profiili joka tapauksessa",
"limited_account_hint.title": "Palvelun {domain} valvojat ovat piilottaneet tämän profiilin.", "limited_account_hint.title": "Palvelimen {domain} valvojat ovat piilottaneet tämän käyttäjätilin.",
"link_preview.author": "Julkaissut {name}", "link_preview.author": "Julkaissut {name}",
"lists.account.add": "Lisää listalle", "lists.account.add": "Lisää listalle",
"lists.account.remove": "Poista listalta", "lists.account.remove": "Poista listalta",
@ -390,25 +394,24 @@
"lists.replies_policy.list": "Listan jäsenille", "lists.replies_policy.list": "Listan jäsenille",
"lists.replies_policy.none": "Ei kellekään", "lists.replies_policy.none": "Ei kellekään",
"lists.replies_policy.title": "Näytä vastaukset:", "lists.replies_policy.title": "Näytä vastaukset:",
"lists.search": "Etsi seuraamistasi henkilöistä", "lists.search": "Etsi seuraamiesi henkilöiden keskuudesta",
"lists.subheading": "Omat listasi", "lists.subheading": "Omat listasi",
"load_pending": "{count, plural, one {# uusi kohde} other {# uutta kohdetta}}", "load_pending": "{count, plural, one {# uusi kohde} other {# uutta kohdetta}}",
"loading_indicator.label": "Ladataan…", "loading_indicator.label": "Ladataan…",
"media_gallery.toggle_visible": "{number, plural, one {Piilota kuva} other {Piilota kuvat}}", "media_gallery.toggle_visible": "{number, plural, one {Piilota kuva} other {Piilota kuvat}}",
"moved_to_account_banner.text": "Tilisi {disabledAccount} on tällä hetkellä poissa käytöstä, koska teit siirron tiliin {movedToAccount}.", "moved_to_account_banner.text": "Tilisi {disabledAccount} on tällä hetkellä poissa käytöstä, koska teit siirron tiliin {movedToAccount}.",
"mute_modal.duration": "Kesto", "mute_modal.duration": "Kesto",
"mute_modal.hide_notifications": "Piilota tältä käyttäjältä tulevat ilmoitukset?", "mute_modal.hide_notifications": "Piilotetaanko tältä käyttäjältä tulevat ilmoitukset?",
"mute_modal.indefinite": "Ikuisesti", "mute_modal.indefinite": "Ikuisesti",
"navigation_bar.about": "Tietoja", "navigation_bar.about": "Tietoja",
"navigation_bar.advanced_interface": "Avaa edistyneessä selainkäyttöliittymässä", "navigation_bar.advanced_interface": "Avaa edistyneessä selainkäyttöliittymässä",
"navigation_bar.blocks": "Estetyt käyttäjät", "navigation_bar.blocks": "Estetyt käyttäjät",
"navigation_bar.bookmarks": "Kirjanmerkit", "navigation_bar.bookmarks": "Kirjanmerkit",
"navigation_bar.community_timeline": "Paikallinen aikajana", "navigation_bar.community_timeline": "Paikallinen aikajana",
"navigation_bar.compose": "Kirjoita uusi julkaisu", "navigation_bar.compose": "Luo uusi julkaisu",
"navigation_bar.direct": "Yksityiset maininnat", "navigation_bar.direct": "Yksityiset maininnat",
"navigation_bar.discover": "Löydä uutta", "navigation_bar.discover": "Löydä uutta",
"navigation_bar.domain_blocks": "Estetyt verkkotunnukset", "navigation_bar.domain_blocks": "Estetyt verkkotunnukset",
"navigation_bar.edit_profile": "Muokkaa profiilia",
"navigation_bar.explore": "Selaa", "navigation_bar.explore": "Selaa",
"navigation_bar.favourites": "Suosikit", "navigation_bar.favourites": "Suosikit",
"navigation_bar.filters": "Mykistetyt sanat", "navigation_bar.filters": "Mykistetyt sanat",
@ -430,10 +433,10 @@
"notification.admin.sign_up": "{name} rekisteröityi", "notification.admin.sign_up": "{name} rekisteröityi",
"notification.favourite": "{name} lisäsi julkaisusi suosikkeihinsa", "notification.favourite": "{name} lisäsi julkaisusi suosikkeihinsa",
"notification.follow": "{name} seurasi sinua", "notification.follow": "{name} seurasi sinua",
"notification.follow_request": "{name} haluaa seurata sinua", "notification.follow_request": "{name} on pyytänyt lupaa saada seurata sinua",
"notification.mention": "{name} mainitsi sinut", "notification.mention": "{name} mainitsi sinut",
"notification.own_poll": "Äänestyksesi on päättynyt", "notification.own_poll": "Äänestyksesi on päättynyt",
"notification.poll": "Äänestys, johon osallistuit, on päättynyt", "notification.poll": "Kysely, johon osallistuit, on päättynyt",
"notification.reblog": "{name} tehosti julkaisuasi", "notification.reblog": "{name} tehosti julkaisuasi",
"notification.status": "{name} julkaisi juuri", "notification.status": "{name} julkaisi juuri",
"notification.update": "{name} muokkasi julkaisua", "notification.update": "{name} muokkasi julkaisua",
@ -480,7 +483,7 @@
"onboarding.actions.go_to_home": "Siirry kotisyötteeseeni", "onboarding.actions.go_to_home": "Siirry kotisyötteeseeni",
"onboarding.compose.template": "Tervehdys #Mastodon!", "onboarding.compose.template": "Tervehdys #Mastodon!",
"onboarding.follows.empty": "Valitettavasti tuloksia ei voida näyttää juuri nyt. Voit kokeilla hakua tai selata tutustumissivua löytääksesi seurattavaa tai yrittää myöhemmin uudelleen.", "onboarding.follows.empty": "Valitettavasti tuloksia ei voida näyttää juuri nyt. Voit kokeilla hakua tai selata tutustumissivua löytääksesi seurattavaa tai yrittää myöhemmin uudelleen.",
"onboarding.follows.lead": "Kokoat oman kotisyötteesi itse. Mitä enemmän ihmisiä seuraat, sitä aktiivisempi ja kiinnostavampi syöte on. Nämä profiilit voivat olla alkuun hyvä lähtökohta — voit aina lopettaa niiden seuraamisen myöhemmin!", "onboarding.follows.lead": "Kokoat oman kotisyötteesi itse. Mitä enemmän ihmisiä seuraat, sitä aktiivisempi ja kiinnostavampi syöte on. Nämä profiilit voivat olla alkuun hyvä lähtökohta voit milloin tahansa myös lopettaa niiden seuraamisen:",
"onboarding.follows.title": "Mukauta kotisyötettäsi", "onboarding.follows.title": "Mukauta kotisyötettäsi",
"onboarding.profile.discoverable": "Aseta profiilini löydettäväksi", "onboarding.profile.discoverable": "Aseta profiilini löydettäväksi",
"onboarding.profile.discoverable_hint": "Kun olet määrittänyt itsesi löydettäväksi Mastodonista, julkaisusi voivat näkyä hakutuloksissa ja suosituissa kohteissa. Lisäksi profiiliasi voidaan ehdottaa käyttäjille, jotka ovat kiinnostuneita kanssasi samoista aiheista.", "onboarding.profile.discoverable_hint": "Kun olet määrittänyt itsesi löydettäväksi Mastodonista, julkaisusi voivat näkyä hakutuloksissa ja suosituissa kohteissa. Lisäksi profiiliasi voidaan ehdottaa käyttäjille, jotka ovat kiinnostuneita kanssasi samoista aiheista.",
@ -508,7 +511,7 @@
"onboarding.steps.setup_profile.title": "Mukauta profiiliasi", "onboarding.steps.setup_profile.title": "Mukauta profiiliasi",
"onboarding.steps.share_profile.body": "Kerro kavereillesi, kuinka sinut löytää Mastodonista", "onboarding.steps.share_profile.body": "Kerro kavereillesi, kuinka sinut löytää Mastodonista",
"onboarding.steps.share_profile.title": "Jaa Mastodon-profiilisi", "onboarding.steps.share_profile.title": "Jaa Mastodon-profiilisi",
"onboarding.tips.2fa": "<strong>Tiesitkö?</strong> Voit suojata tilisi ottamalla kaksivaiheisen todennuksen käyttöön tilisi asetuksista. Se toimii millä tahansa TOTP-sovelluksella, eikä sen käyttö edellytä puhelinnumeroa!", "onboarding.tips.2fa": "<strong>Tiesitkö?</strong> Voit suojata tilisi ottamalla kaksivaiheisen todennuksen käyttöön tilisi asetuksista. Se toimii millä tahansa TOTP-sovelluksella, eikä sen käyttö edellytä puhelinnumeron antoa!",
"onboarding.tips.accounts_from_other_servers": "<strong>Tiesitkö?</strong> Koska Mastodon on hajautettu, osa kohtaamistasi profiileista sijaitsee muilla kuin sinun palvelimellasi. Voit silti viestiä saumattomasti heidän kanssaan! Heidän palvelimensa mainitaan käyttäjänimen jälkiosassa!", "onboarding.tips.accounts_from_other_servers": "<strong>Tiesitkö?</strong> Koska Mastodon on hajautettu, osa kohtaamistasi profiileista sijaitsee muilla kuin sinun palvelimellasi. Voit silti viestiä saumattomasti heidän kanssaan! Heidän palvelimensa mainitaan käyttäjänimen jälkiosassa!",
"onboarding.tips.migration": "<strong>Tiesitkö?</strong> Jos koet, ettei {domain} ole jatkossa itsellesi hyvä palvelinvalinta, voit siirtyä toiselle Mastodon-palvelimelle menettämättä seuraajiasi. Voit jopa isännöidä omaa palvelintasi!", "onboarding.tips.migration": "<strong>Tiesitkö?</strong> Jos koet, ettei {domain} ole jatkossa itsellesi hyvä palvelinvalinta, voit siirtyä toiselle Mastodon-palvelimelle menettämättä seuraajiasi. Voit jopa isännöidä omaa palvelintasi!",
"onboarding.tips.verification": "<strong>Tiesitkö?</strong> Voit vahvistaa tilisi lisäämällä omalle verkkosivustollesi linkin Mastodon-profiiliisi ja lisäämällä sitten verkkosivustosi osoitteen Mastodon-profiilisi lisäkenttään. Tämä ei maksa mitään, eikä sinun tarvitse lähetellä asiakirjoja!", "onboarding.tips.verification": "<strong>Tiesitkö?</strong> Voit vahvistaa tilisi lisäämällä omalle verkkosivustollesi linkin Mastodon-profiiliisi ja lisäämällä sitten verkkosivustosi osoitteen Mastodon-profiilisi lisäkenttään. Tämä ei maksa mitään, eikä sinun tarvitse lähetellä asiakirjoja!",
@ -523,17 +526,18 @@
"poll.vote": "Äänestä", "poll.vote": "Äänestä",
"poll.voted": "Äänestit tätä vastausta", "poll.voted": "Äänestit tätä vastausta",
"poll.votes": "{votes, plural, one {# ääni} other {# ääntä}}", "poll.votes": "{votes, plural, one {# ääni} other {# ääntä}}",
"poll_button.add_poll": "Lisää äänestys", "poll_button.add_poll": "Lisää kysely",
"poll_button.remove_poll": "Poista äänestys", "poll_button.remove_poll": "Poista kysely",
"privacy.change": "Muuta julkaisun näkyvyyttä", "privacy.change": "Muuta julkaisun näkyvyyttä",
"privacy.direct.long": "Näkyy vain mainituille käyttäjille", "privacy.direct.long": "Kaikki tässä julkaisussa mainitut",
"privacy.direct.short": "Vain mainitut käyttäjät", "privacy.direct.short": "Tietyt henkilöt",
"privacy.private.long": "Näkyy vain seuraajille", "privacy.private.long": "Vain seuraajasi",
"privacy.private.short": "Vain seuraajat", "privacy.private.short": "Seuraajat",
"privacy.public.long": "Näkyy kaikille", "privacy.public.long": "Kuka tahansa Mastodonissa ja sen ulkopuolella",
"privacy.public.short": "Julkinen", "privacy.public.short": "Julkinen",
"privacy.unlisted.long": "Näkyy kaikille mutta jää pois löytämisominaisuuksista", "privacy.unlisted.additional": "Tämä on muutoin kuin julkinen julkaisu, mutta sitä ei näytetä livesyöte-, aihetunniste- tai selailunäkymissä eikä Mastodon-hakutuloksissakaan, vaikka ne olisivat käyttäjätililläsi yleisesti sallittuina.",
"privacy.unlisted.short": "Listaamaton", "privacy.unlisted.long": "Vähemmän algoritmiperusteista sisältöä",
"privacy.unlisted.short": "Vaivihkaisesti julkinen",
"privacy_policy.last_updated": "Viimeksi päivitetty {date}", "privacy_policy.last_updated": "Viimeksi päivitetty {date}",
"privacy_policy.title": "Tietosuojakäytäntö", "privacy_policy.title": "Tietosuojakäytäntö",
"recommended": "Suositeltu", "recommended": "Suositeltu",
@ -551,19 +555,21 @@
"relative_time.minutes": "{number} min", "relative_time.minutes": "{number} min",
"relative_time.seconds": "{number} s", "relative_time.seconds": "{number} s",
"relative_time.today": "tänään", "relative_time.today": "tänään",
"reply_indicator.attachments": "{count, plural, one {# liite} other {# liitettä}}",
"reply_indicator.cancel": "Peruuta", "reply_indicator.cancel": "Peruuta",
"reply_indicator.poll": "Kysely",
"report.block": "Estä", "report.block": "Estä",
"report.block_explanation": "Et näe hänen viestejään, eikä hän voi nähdä viestejäsi tai seurata sinua. Hän näkee, että olet estänyt hänet.", "report.block_explanation": "Et näe hänen viestejään, eikä hän voi nähdä viestejäsi tai seurata sinua. Hän näkee, että olet estänyt hänet.",
"report.categories.legal": "Lakiasiat", "report.categories.legal": "Juridiset tiedot",
"report.categories.other": "Muu", "report.categories.other": "Muu",
"report.categories.spam": "Roskaposti", "report.categories.spam": "Roskaposti",
"report.categories.violation": "Sisältö rikkoo yhtä tai useampaa palvelimen sääntöä", "report.categories.violation": "Sisältö rikkoo yhtä tai useampaa palvelimen säännöistä",
"report.category.subtitle": "Valitse sopivin", "report.category.subtitle": "Valitse sopivin",
"report.category.title": "Kerro meille, miksi tämä {type} pitää raportoida", "report.category.title": "Kerro meille, miksi tämä {type} pitää raportoida",
"report.category.title_account": "profiili", "report.category.title_account": "profiilissa",
"report.category.title_status": "julkaisu", "report.category.title_status": "julkaisussa",
"report.close": "Valmis", "report.close": "Valmis",
"report.comment.title": "Olisiko jotain muuta, mitä meidän pitäisi tietää?", "report.comment.title": "Onko vielä jotain muuta, mitä meidän pitäisi tietää?",
"report.forward": "Välitä kohteeseen {target}", "report.forward": "Välitä kohteeseen {target}",
"report.forward_hint": "Tämä tili on toisella palvelimella. Haluatko lähettää nimettömän raportin myös sinne?", "report.forward_hint": "Tämä tili on toisella palvelimella. Haluatko lähettää nimettömän raportin myös sinne?",
"report.mute": "Mykistä", "report.mute": "Mykistä",
@ -571,18 +577,18 @@
"report.next": "Seuraava", "report.next": "Seuraava",
"report.placeholder": "Lisäkommentit", "report.placeholder": "Lisäkommentit",
"report.reasons.dislike": "En pidä siitä", "report.reasons.dislike": "En pidä siitä",
"report.reasons.dislike_description": "Et halua nähdä sitä", "report.reasons.dislike_description": "Sisältö on sen tyyppistä, ettet halua nähdä sitä",
"report.reasons.legal": "Se on laitonta", "report.reasons.legal": "Se on laitonta",
"report.reasons.legal_description": "Katsot sisällön rikkovan maasi tai palvelimen kotimaan lakeja", "report.reasons.legal_description": "Katsot sisällön rikkovan maasi tai palvelimen kotimaan lakeja",
"report.reasons.other": "Jotain muuta", "report.reasons.other": "Jotain muuta",
"report.reasons.other_description": "Ongelma ei sovi muihin kategorioihin", "report.reasons.other_description": "Muut raportointisyyt eivät kuvaa ongelmaa",
"report.reasons.spam": "Se on roskapostia", "report.reasons.spam": "Se on roskapostia",
"report.reasons.spam_description": "Haitalliset linkit, väärennetyt sitoutumiset tai toistuvat vastaukset", "report.reasons.spam_description": "Haitalliset linkit, henkilöväärennökset tai itseään toistavat vastaukset",
"report.reasons.violation": "Se rikkoo palvelimen sääntöjä", "report.reasons.violation": "Se rikkoo palvelimen sääntöjä",
"report.reasons.violation_description": "Tiedät, että se rikkoo tiettyjä sääntöjä", "report.reasons.violation_description": "Tiedät sisällön rikkovan tiettyjä sääntöjä",
"report.rules.subtitle": "Valitse kaikki sopivat", "report.rules.subtitle": "Valitse kaikki sopivat",
"report.rules.title": "Mitä sääntöjä rikotaan?", "report.rules.title": "Mitä sääntöjä rikotaan?",
"report.statuses.subtitle": "Valitse kaikki sopivat", "report.statuses.subtitle": "Valitse kaikki soveltuvat julkaisut",
"report.statuses.title": "Onko julkaisuja, jotka tukevat tätä raporttia?", "report.statuses.title": "Onko julkaisuja, jotka tukevat tätä raporttia?",
"report.submit": "Lähetä", "report.submit": "Lähetä",
"report.target": "Raportoidaan {target}", "report.target": "Raportoidaan {target}",
@ -596,14 +602,14 @@
"report_notification.categories.legal": "Laillinen", "report_notification.categories.legal": "Laillinen",
"report_notification.categories.other": "Muu", "report_notification.categories.other": "Muu",
"report_notification.categories.spam": "Roskaposti", "report_notification.categories.spam": "Roskaposti",
"report_notification.categories.violation": "Sääntöjen rikkominen", "report_notification.categories.violation": "Sääntörikkomus",
"report_notification.open": "Avaa raportti", "report_notification.open": "Avaa raportti",
"search.no_recent_searches": "Ei viimeaikaisia hakuja", "search.no_recent_searches": "Ei viimeaikaisia hakuja",
"search.placeholder": "Hae", "search.placeholder": "Hae",
"search.quick_action.account_search": "Profiilit haulla {x}", "search.quick_action.account_search": "Profiilit haulla {x}",
"search.quick_action.go_to_account": "Siirry profiiliin {x}", "search.quick_action.go_to_account": "Siirry profiiliin {x}",
"search.quick_action.go_to_hashtag": "Siirry aihetunnisteeseen {x}", "search.quick_action.go_to_hashtag": "Siirry aihetunnisteeseen {x}",
"search.quick_action.open_url": "Avaa URL-osoite Mastodonissa", "search.quick_action.open_url": "Avaa verkko-osoite Mastodonissa",
"search.quick_action.status_search": "Julkaisut haulla {x}", "search.quick_action.status_search": "Julkaisut haulla {x}",
"search.search_or_paste": "Hae tai liitä URL-osoite", "search.search_or_paste": "Hae tai liitä URL-osoite",
"search_popout.full_text_search_disabled_message": "Ei saatavilla palvelimella {domain}.", "search_popout.full_text_search_disabled_message": "Ei saatavilla palvelimella {domain}.",
@ -612,16 +618,16 @@
"search_popout.options": "Hakuvalinnat", "search_popout.options": "Hakuvalinnat",
"search_popout.quick_actions": "Pikatoiminnot", "search_popout.quick_actions": "Pikatoiminnot",
"search_popout.recent": "Viimeaikaiset haut", "search_popout.recent": "Viimeaikaiset haut",
"search_popout.specific_date": "tarkka päiväys", "search_popout.specific_date": "tietty päivämäärä",
"search_popout.user": "käyttäjä", "search_popout.user": "käyttäjä",
"search_results.accounts": "Profiilit", "search_results.accounts": "Profiilit",
"search_results.all": "Kaikki", "search_results.all": "Kaikki",
"search_results.hashtags": "Aihetunnisteet", "search_results.hashtags": "Aihetunnisteet",
"search_results.nothing_found": "Näille hakusanoille ei löytynyt mitään", "search_results.nothing_found": "Hakusi ei tuottanut tuloksia",
"search_results.see_all": "Näytä kaikki", "search_results.see_all": "Näytä kaikki",
"search_results.statuses": "Julkaisut", "search_results.statuses": "Julkaisut",
"search_results.title": "Hae {q}", "search_results.title": "Hae {q}",
"server_banner.about_active_users": "Palvelinta käyttäneet ihmiset viimeisen 30 päivän aikana (kuukauden aktiiviset käyttäjät)", "server_banner.about_active_users": "Palvelimen käyttäjät viimeisten 30 päivän ajalta (kuukauden aktiiviset käyttäjät)",
"server_banner.active_users": "aktiivista käyttäjää", "server_banner.active_users": "aktiivista käyttäjää",
"server_banner.administered_by": "Ylläpitäjä:", "server_banner.administered_by": "Ylläpitäjä:",
"server_banner.introduction": "{domain} kuuluu hajautettuun sosiaaliseen verkostoon, jonka voimanlähde on {mastodon}.", "server_banner.introduction": "{domain} kuuluu hajautettuun sosiaaliseen verkostoon, jonka voimanlähde on {mastodon}.",
@ -658,7 +664,7 @@
"status.media.show": "Napsauta näyttääksesi", "status.media.show": "Napsauta näyttääksesi",
"status.media_hidden": "Media piilotettu", "status.media_hidden": "Media piilotettu",
"status.mention": "Mainitse @{name}", "status.mention": "Mainitse @{name}",
"status.more": "Lisää", "status.more": "Enemmän",
"status.mute": "Mykistä @{name}", "status.mute": "Mykistä @{name}",
"status.mute_conversation": "Mykistä keskustelu", "status.mute_conversation": "Mykistä keskustelu",
"status.open": "Laajenna julkaisu", "status.open": "Laajenna julkaisu",
@ -680,14 +686,14 @@
"status.show_filter_reason": "Näytä joka tapauksessa", "status.show_filter_reason": "Näytä joka tapauksessa",
"status.show_less": "Näytä vähemmän", "status.show_less": "Näytä vähemmän",
"status.show_less_all": "Näytä kaikista vähemmän", "status.show_less_all": "Näytä kaikista vähemmän",
"status.show_more": "Näytä lisää", "status.show_more": "Näytä enemmän",
"status.show_more_all": "Näytä kaikista enemmän", "status.show_more_all": "Näytä kaikista enemmän",
"status.show_original": "Näytä alkuperäinen", "status.show_original": "Näytä alkuperäinen",
"status.title.with_attachments": "{user} liitti {attachmentCount, plural, one {{attachmentCount} tiedoston} other {{attachmentCount} tiedostoa}}", "status.title.with_attachments": "{user} liitti {attachmentCount, plural, one {{attachmentCount} tiedoston} other {{attachmentCount} tiedostoa}}",
"status.translate": "Käännä", "status.translate": "Käännä",
"status.translated_from_with": "Käännetty kielestä {lang} käyttäen {provider}", "status.translated_from_with": "Käännetty kielestä {lang} käyttäen palvelua {provider}",
"status.uncached_media_warning": "Esikatselu ei ole käytettävissä", "status.uncached_media_warning": "Esikatselu ei ole käytettävissä",
"status.unmute_conversation": "Poista keskustelun mykistys", "status.unmute_conversation": "Kumoa keskustelun mykistys",
"status.unpin": "Irrota profiilista", "status.unpin": "Irrota profiilista",
"subscribed_languages.lead": "Vain valituilla kielillä kirjoitetut julkaisut näkyvät koti- ja lista-aikajanoillasi muutoksen jälkeen. Älä valitse mitään, jos haluat nähdä julkaisuja kaikilla kielillä.", "subscribed_languages.lead": "Vain valituilla kielillä kirjoitetut julkaisut näkyvät koti- ja lista-aikajanoillasi muutoksen jälkeen. Älä valitse mitään, jos haluat nähdä julkaisuja kaikilla kielillä.",
"subscribed_languages.save": "Tallenna muutokset", "subscribed_languages.save": "Tallenna muutokset",
@ -697,9 +703,9 @@
"time_remaining.days": "{number, plural, one {# päivä} other {# päivää}} jäljellä", "time_remaining.days": "{number, plural, one {# päivä} other {# päivää}} jäljellä",
"time_remaining.hours": "{number, plural, one {# tunti} other {# tuntia}} jäljellä", "time_remaining.hours": "{number, plural, one {# tunti} other {# tuntia}} jäljellä",
"time_remaining.minutes": "{number, plural, one {# minuutti} other {# minuuttia}} jäljellä", "time_remaining.minutes": "{number, plural, one {# minuutti} other {# minuuttia}} jäljellä",
"time_remaining.moments": "Hetki jäljellä", "time_remaining.moments": "Hetkiä jäljellä",
"time_remaining.seconds": "{number, plural, one {# sekunti} other {# sekuntia}} jäljellä", "time_remaining.seconds": "{number, plural, one {# sekunti} other {# sekuntia}} jäljellä",
"timeline_hint.remote_resource_not_displayed": "{resource} muilta palvelimilta ei näytetä.", "timeline_hint.remote_resource_not_displayed": "Muiden palvelinten {resource}-tietoa ei näytetä täällä.",
"timeline_hint.resources.followers": "Seuraajat", "timeline_hint.resources.followers": "Seuraajat",
"timeline_hint.resources.follows": "seurattua", "timeline_hint.resources.follows": "seurattua",
"timeline_hint.resources.statuses": "Vanhemmat julkaisut", "timeline_hint.resources.statuses": "Vanhemmat julkaisut",
@ -712,25 +718,23 @@
"upload_area.title": "Lataa raahaamalla ja pudottamalla tähän", "upload_area.title": "Lataa raahaamalla ja pudottamalla tähän",
"upload_button.label": "Lisää kuvia, video tai äänitiedosto", "upload_button.label": "Lisää kuvia, video tai äänitiedosto",
"upload_error.limit": "Tiedostolatauksien rajoitus ylitetty.", "upload_error.limit": "Tiedostolatauksien rajoitus ylitetty.",
"upload_error.poll": "Tiedoston lataaminen ei ole sallittua äänestyksissä.", "upload_error.poll": "Tiedostojen lisääminen ei ole sallittua kyselyjen ohessa.",
"upload_form.audio_description": "Kuvaile sisältöä kuuroille ja kuulorajoitteisille", "upload_form.audio_description": "Kuvaile sisältöä kuuroille ja kuulorajoitteisille",
"upload_form.description": "Kuvaile sisältöä sokeille ja näkörajoitteisille", "upload_form.description": "Kuvaile sisältöä sokeille ja näkörajoitteisille",
"upload_form.description_missing": "Kuvausta ei ole lisätty",
"upload_form.edit": "Muokkaa", "upload_form.edit": "Muokkaa",
"upload_form.thumbnail": "Vaihda pikkukuva", "upload_form.thumbnail": "Vaihda pienoiskuva",
"upload_form.undo": "Poista",
"upload_form.video_description": "Kuvaile sisältöä kuuroille, kuulorajoitteisille, sokeille tai näkörajoitteisille", "upload_form.video_description": "Kuvaile sisältöä kuuroille, kuulorajoitteisille, sokeille tai näkörajoitteisille",
"upload_modal.analyzing_picture": "Analysoidaan kuvaa…", "upload_modal.analyzing_picture": "Analysoidaan kuvaa…",
"upload_modal.apply": "Käytä", "upload_modal.apply": "Käytä",
"upload_modal.applying": "Asetetaan…", "upload_modal.applying": "Otetaan käyttöön…",
"upload_modal.choose_image": "Valitse kuva", "upload_modal.choose_image": "Valitse kuva",
"upload_modal.description_placeholder": "Nopea ruskea kettu hyppää laiskan koiran yli", "upload_modal.description_placeholder": "Nopea ruskea kettu hyppää laiskan koiran yli",
"upload_modal.detect_text": "Tunnista teksti kuvasta", "upload_modal.detect_text": "Tunnista teksti kuvasta",
"upload_modal.edit_media": "Muokkaa mediaa", "upload_modal.edit_media": "Muokkaa mediaa",
"upload_modal.hint": "Klikkaa tai vedä ympyrä esikatselussa valitaksesi keskipiste, joka näkyy aina pienoiskuvissa.", "upload_modal.hint": "Napsauta tai vedä ympyrä esikatselussa valitaksesi keskipiste, joka näkyy aina pienoiskuvissa.",
"upload_modal.preparing_ocr": "Valmistellaan tekstintunnistusta…", "upload_modal.preparing_ocr": "Valmistellaan tekstintunnistusta…",
"upload_modal.preview_label": "Esikatselu ({ratio})", "upload_modal.preview_label": "Esikatselu ({ratio})",
"upload_progress.label": "Ladataan...", "upload_progress.label": "Tallennetaan...",
"upload_progress.processing": "Käsitellään…", "upload_progress.processing": "Käsitellään…",
"username.taken": "Käyttäjänimi on jo varattu. Kokeile toista", "username.taken": "Käyttäjänimi on jo varattu. Kokeile toista",
"video.close": "Sulje video", "video.close": "Sulje video",
@ -740,7 +744,7 @@
"video.fullscreen": "Koko näyttö", "video.fullscreen": "Koko näyttö",
"video.hide": "Piilota video", "video.hide": "Piilota video",
"video.mute": "Mykistä ääni", "video.mute": "Mykistä ääni",
"video.pause": "Keskeytä", "video.pause": "Tauko",
"video.play": "Toista", "video.play": "Toista",
"video.unmute": "Palauta ääni" "video.unmute": "Palauta ääni"
} }

@ -27,6 +27,7 @@
"account.featured_tags.last_status_never": "Walang mga post", "account.featured_tags.last_status_never": "Walang mga post",
"account.featured_tags.title": "Nakatampok na hashtag ni {name}", "account.featured_tags.title": "Nakatampok na hashtag ni {name}",
"account.follow": "Sundan", "account.follow": "Sundan",
"account.follow_back": "Sundan pabalik",
"account.followers": "Mga tagasunod", "account.followers": "Mga tagasunod",
"account.followers.empty": "Wala pang sumusunod sa tagagamit na ito.", "account.followers.empty": "Wala pang sumusunod sa tagagamit na ito.",
"account.following": "Sinusundan", "account.following": "Sinusundan",
@ -41,6 +42,14 @@
"account.media": "Medya", "account.media": "Medya",
"account.mention": "Banggitin si @{name}", "account.mention": "Banggitin si @{name}",
"account.moved_to": "Ipinahihiwatig ni {name} na ang kanilang bagong account ngayon ay:", "account.moved_to": "Ipinahihiwatig ni {name} na ang kanilang bagong account ngayon ay:",
"account.open_original_page": "Buksan ang pinagmulang pahina",
"account.report": "I-ulat si/ang @{name}",
"account.requested_follow": "Hinihiling ni {name} na sundan ka",
"account.show_reblogs": "Ipakita ang mga pagpapalakas mula sa/kay {name}",
"account.unendorse": "Huwag itampok sa profile",
"admin.dashboard.retention.cohort_size": "Mga bagong tagagamit",
"alert.rate_limited.message": "Mangyaring subukan muli pagkatapos ng {retry_time, time, medium}.",
"audio.hide": "Itago ang tunog",
"bundle_column_error.error.title": "Naku!", "bundle_column_error.error.title": "Naku!",
"bundle_column_error.network.body": "Nagkaroon ng kamalian habang sinusubukang i-karga ang pahinang ito. Maaaring dahil ito sa pansamantalang problema ng iyong koneksyon sa internet o ang server na ito.", "bundle_column_error.network.body": "Nagkaroon ng kamalian habang sinusubukang i-karga ang pahinang ito. Maaaring dahil ito sa pansamantalang problema ng iyong koneksyon sa internet o ang server na ito.",
"bundle_column_error.network.title": "Kamaliang network", "bundle_column_error.network.title": "Kamaliang network",
@ -91,6 +100,24 @@
"compose_form.direct_message_warning_learn_more": "Matuto pa", "compose_form.direct_message_warning_learn_more": "Matuto pa",
"compose_form.encryption_warning": "Ang mga post sa Mastodon ay hindi naka-encrypt nang dulo-dulo. Huwag magbahagi ng anumang sensitibong impormasyon sa Mastodon.", "compose_form.encryption_warning": "Ang mga post sa Mastodon ay hindi naka-encrypt nang dulo-dulo. Huwag magbahagi ng anumang sensitibong impormasyon sa Mastodon.",
"compose_form.hashtag_warning": "Hindi maililista ang post na ito sa anumang hashtag dahil hindi ito nakapubliko. Mga nakapublikong post lamang ang mahahanap ayon sa hashtag.", "compose_form.hashtag_warning": "Hindi maililista ang post na ito sa anumang hashtag dahil hindi ito nakapubliko. Mga nakapublikong post lamang ang mahahanap ayon sa hashtag.",
"compose_form.placeholder": "Anong nangyari?",
"compose_form.poll.multiple": "Maraming pagpipilian",
"compose_form.poll.single": "Piliin ang isa",
"compose_form.reply": "Tumugon",
"compose_form.spoiler.unmarked": "Idagdag ang babala sa nilalaman",
"confirmation_modal.cancel": "Pagpaliban",
"confirmations.block.block_and_report": "Harangan at i-ulat",
"confirmations.block.confirm": "Harangan",
"confirmations.block.message": "Sigurado ka bang gusto mong harangan si {name}?",
"confirmations.cancel_follow_request.confirm": "Bawiin ang kahilingan",
"confirmations.cancel_follow_request.message": "Sigurdo ka bang gusto mong bawiin ang kahilingang sundan si/ang {name}?",
"confirmations.delete.message": "Sigurado ka bang gusto mong burahin ang post na ito?",
"confirmations.delete_list.confirm": "Tanggalin",
"confirmations.delete_list.message": "Sigurado ka bang gusto mong burahin ang listahang ito?",
"confirmations.discard_edit_media.confirm": "Ipagpaliban",
"confirmations.domain_block.confirm": "Harangan ang buong domain",
"confirmations.edit.confirm": "Baguhin",
"confirmations.reply.confirm": "Tumugon",
"copy_icon_button.copied": "Sinipi sa clipboard", "copy_icon_button.copied": "Sinipi sa clipboard",
"copypaste.copied": "Sinipi", "copypaste.copied": "Sinipi",
"copypaste.copy_to_clipboard": "I-sipi sa clipboard", "copypaste.copy_to_clipboard": "I-sipi sa clipboard",
@ -140,5 +167,138 @@
"empty_column.hashtag": "Wala pang laman ang hashtag na ito.", "empty_column.hashtag": "Wala pang laman ang hashtag na ito.",
"empty_column.home": "Walang laman ang timeline ng tahanan mo! Sumunod sa marami pang tao para mapunan ito.", "empty_column.home": "Walang laman ang timeline ng tahanan mo! Sumunod sa marami pang tao para mapunan ito.",
"empty_column.list": "Wala pang laman ang listahang ito. Kapag naglathala ng mga bagong post ang mga miyembro ng listahang ito, makikita iyon dito.", "empty_column.list": "Wala pang laman ang listahang ito. Kapag naglathala ng mga bagong post ang mga miyembro ng listahang ito, makikita iyon dito.",
"empty_column.lists": "Wala ka pang mga listahan. Kapag gumawa ka ng isa, makikita yun dito." "empty_column.lists": "Wala ka pang mga listahan. Kapag gumawa ka ng isa, makikita yun dito.",
"explore.search_results": "Mga resulta ng paghahanap",
"firehose.all": "Lahat",
"firehose.local": "Itong serbiro",
"firehose.remote": "Ibang mga serbiro",
"follow_request.authorize": "Tanggapin",
"follow_request.reject": "Tanggihan",
"follow_suggestions.dismiss": "Huwag nang ipakita muli",
"follow_suggestions.view_all": "Tingnan lahat",
"follow_suggestions.who_to_follow": "Sinong maaaring sundan",
"footer.about": "Tungkol dito",
"footer.get_app": "Kunin ang app",
"generic.saved": "Nakaimbak",
"hashtag.column_header.tag_mode.all": "at {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}",
"home.pending_critical_update.body": "Mangyaring i-update ang iyong serbiro ng Mastodon sa lalong madaling panahon!",
"interaction_modal.login.action": "Iuwi mo ako",
"interaction_modal.no_account_yet": "Wala sa Mastodon?",
"interaction_modal.on_another_server": "Sa ibang serbiro",
"interaction_modal.on_this_server": "Sa serbirong ito",
"interaction_modal.title.follow": "Sundan si {name}",
"intervals.full.days": "{number, plural, one {# araw} other {# na araw}}",
"intervals.full.hours": "{number, plural, one {# oras} other {# na oras}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# na minuto}}",
"keyboard_shortcuts.description": "Paglalarawan",
"keyboard_shortcuts.down": "Ilipat pababa sa talaan",
"keyboard_shortcuts.mention": "Banggitin ang may-akda",
"keyboard_shortcuts.requests": "Buksan ang talaan ng mga kahilingan sa pagsunod",
"keyboard_shortcuts.up": "Ilipat pataas sa talaan",
"lightbox.close": "Isara",
"lightbox.next": "Susunod",
"lightbox.previous": "Nakaraan",
"link_preview.author": "Ni/ng {name}",
"lists.account.add": "Idagdag sa talaan",
"lists.account.remove": "Tanggalin mula sa talaan",
"lists.new.create": "Idagdag sa talaan",
"lists.new.title_placeholder": "Bagong pangalan ng talaan",
"lists.replies_policy.title": "Ipakita ang mga tugon sa:",
"lists.subheading": "Iyong mga talaan",
"loading_indicator.label": "Kumakarga…",
"navigation_bar.about": "Tungkol dito",
"navigation_bar.blocks": "Nakaharang na mga tagagamit",
"navigation_bar.direct": "Mga palihim na banggit",
"navigation_bar.favourites": "Mga paborito",
"navigation_bar.follows_and_followers": "Mga sinusundan at tagasunod",
"navigation_bar.lists": "Mga listahan",
"navigation_bar.search": "Maghanap",
"notification.admin.report": "Iniulat ni {name} si {target}",
"notification.follow": "Sinundan ka ni {name}",
"notification.follow_request": "Hinihiling ni {name} na sundan ka",
"notification.mention": "Binanggit ka ni {name}",
"notifications.clear": "Burahin mga abiso",
"notifications.column_settings.admin.report": "Mga bagong ulat:",
"notifications.column_settings.favourite": "Mga paborito:",
"notifications.column_settings.follow": "Mga bagong tagasunod:",
"notifications.column_settings.unread_notifications.category": "Hindi Nabasang mga Abiso",
"notifications.column_settings.update": "Mga pagbago:",
"notifications.filter.all": "Lahat",
"notifications.mark_as_read": "Markahan lahat ng abiso bilang nabasa na",
"onboarding.action.back": "Ibalik mo ako",
"onboarding.actions.back": "Ibalik mo ako",
"onboarding.profile.note_hint": "Maaari mong @bangitin ang ibang mga tao o mga #hashtag…",
"onboarding.profile.save_and_continue": "Iimbak at magpatuloy",
"onboarding.share.next_steps": "Mga posibleng susunod na hakbang:",
"poll.closed": "Sarado",
"poll.reveal": "Ipakita ang mga resulta",
"poll.voted": "Binoto mo para sa sagot na ito",
"poll_button.remove_poll": "Tanggalin ang boto",
"privacy.direct.long": "Lahat ng mga binanggit sa post",
"privacy.private.long": "Mga tagasunod mo lamang",
"privacy.private.short": "Mga tagasunod",
"relative_time.days": "{number}a",
"relative_time.full.days": "{number, plural, one {# araw} other {# na araw}} ang nakalipas",
"relative_time.full.hours": "{number, plural, one {# oras} other {# na oras}} ang nakalipas",
"relative_time.full.just_now": "ngayon lang",
"relative_time.full.minutes": "{number, plural, one {# minuto} other {# na minuto}} ang nakalipas",
"relative_time.full.seconds": "{number, plural, one {# segundo} other {# na segundo}} ang nakalipas",
"relative_time.hours": "{number}o",
"relative_time.just_now": "ngayon",
"relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s",
"reply_indicator.cancel": "Ipagpaliban",
"report.block": "Harangan",
"report.categories.other": "Iba pa",
"report.category.title": "Sabihin mo sa amin kung anong nangyari sa {type} na ito",
"report.close": "Tapos na",
"report.next": "Sunod",
"report.reasons.violation": "Lumalabag ito sa mga panuntunan ng serbiro",
"report.reasons.violation_description": "Alam mo na lumalabag ito sa mga partikular na panuntunan",
"report.rules.title": "Aling mga patakaran ang nilabag?",
"report.submit": "Isumite",
"report.target": "Iniulat si/ang {target}",
"report.thanks.take_action_actionable": "Habang sinusuri namin ito, maaari kang gumawa ng aksyon laban kay/sa {name}:",
"report.thanks.title": "Ayaw mo bang makita ito?",
"report.thanks.title_actionable": "Salamat sa pag-uulat, titingnan namin ito.",
"report_notification.categories.other": "Iba pa",
"search_results.all": "Lahat",
"search_results.see_all": "Ipakita lahat",
"server_banner.learn_more": "Matuto nang higit pa",
"server_banner.server_stats": "Katayuan ng serbiro:",
"status.block": "Harangan si @{name}",
"status.delete": "Tanggalin",
"status.direct": "Palihim na banggitin si/ang @{name}",
"status.direct_indicator": "Palihim na banggit",
"status.edit": "Baguhin",
"status.edited": "Binago noong {date}",
"status.edited_x_times": "Binago {count, plural, one {{count} beses} other {{count} na beses}}",
"status.history.created": "Nilikha ni/ng {name} {date}",
"status.history.edited": "Binago ni/ng {name} {date}",
"status.media.open": "Pindutin upang buksan",
"status.media.show": "Pindutin upang ipakita",
"status.mention": "Banggitin ang/si @{name}",
"status.more": "Higit pa",
"status.read_more": "Basahin ang higit pa",
"status.reblogs.empty": "Wala pang nagpalakas ng post na ito. Kung may sinumang nagpalakas, makikita sila rito.",
"status.reply": "Tumugon",
"status.report": "I-ulat si/ang @{name}",
"status.sensitive_warning": "Sensitibong nilalaman",
"status.share": "Ibahagi",
"status.show_less": "Magpakita ng mas kaunti",
"status.show_less_all": "Magpakita ng mas kaunti para sa lahat",
"status.show_more": "Magpakita ng higit pa",
"status.show_more_all": "Magpakita ng higit pa para sa lahat",
"status.translate": "Isalin",
"status.translated_from_with": "Isalin mula sa {lang} gamit ang {provider}",
"status.uncached_media_warning": "Hindi makuha ang paunang tigin",
"tabs_bar.notifications": "Mga abiso",
"time_remaining.days": "{number, plural, one {# araw} other {# na araw}} ang natitira",
"time_remaining.hours": "{number, plural, one {# oras} other {# na oras}} ang natitira",
"time_remaining.minutes": "{number, plural, one {# minuto} other {# na minuto}} ang natitira",
"time_remaining.seconds": "{number, plural, one {# segundo} other {# na segundo}} ang natitira",
"timeline_hint.remote_resource_not_displayed": "Hindi ipinapakita ang {resource} mula sa ibang mga serbiro.",
"timeline_hint.resources.followers": "Mga tagasunod",
"timeline_hint.resources.follows": "Mga sinusundan"
} }

@ -89,7 +89,6 @@
"announcement.announcement": "Kunngerð", "announcement.announcement": "Kunngerð",
"attachments_list.unprocessed": "(óviðgjørt)", "attachments_list.unprocessed": "(óviðgjørt)",
"audio.hide": "Fjal ljóð", "audio.hide": "Fjal ljóð",
"autosuggest_hashtag.per_week": "{count} um vikuna",
"boost_modal.combo": "Tú kanst trýsta á {combo} fyri at loypa uppum hetta næstu ferð", "boost_modal.combo": "Tú kanst trýsta á {combo} fyri at loypa uppum hetta næstu ferð",
"bundle_column_error.copy_stacktrace": "Avrita feilfráboðan", "bundle_column_error.copy_stacktrace": "Avrita feilfráboðan",
"bundle_column_error.error.body": "Umbidna síðan kann ikki vísast. Tað kann vera orsakað av einum feili í koduni hjá okkum ella tað kann vera orsakað av kaganum, sum tú brúkar.", "bundle_column_error.error.body": "Umbidna síðan kann ikki vísast. Tað kann vera orsakað av einum feili í koduni hjá okkum ella tað kann vera orsakað av kaganum, sum tú brúkar.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Kontoin hjá tær er ikki {locked}. Øll kunnu fylgja tær og lesa tað, tú bert letur fyljgarar lesa.", "compose_form.lock_disclaimer": "Kontoin hjá tær er ikki {locked}. Øll kunnu fylgja tær og lesa tað, tú bert letur fyljgarar lesa.",
"compose_form.lock_disclaimer.lock": "læst", "compose_form.lock_disclaimer.lock": "læst",
"compose_form.placeholder": "Hvat hevur tú í huga?", "compose_form.placeholder": "Hvat hevur tú í huga?",
"compose_form.poll.add_option": "Legg valmøguleika afturat",
"compose_form.poll.duration": "Atkvøðugreiðslutíð", "compose_form.poll.duration": "Atkvøðugreiðslutíð",
"compose_form.poll.multiple": "Fleiri valmøguleikar",
"compose_form.poll.option_placeholder": "Valmøguleiki {number}", "compose_form.poll.option_placeholder": "Valmøguleiki {number}",
"compose_form.poll.remove_option": "Strika valmøguleikan", "compose_form.poll.single": "Vel ein",
"compose_form.poll.switch_to_multiple": "Broyt atkvøðugreiðslu til at loyva fleiri svarum", "compose_form.poll.switch_to_multiple": "Broyt atkvøðugreiðslu til at loyva fleiri svarum",
"compose_form.poll.switch_to_single": "Broyt atkvøðugreiðslu til einstakt svar", "compose_form.poll.switch_to_single": "Broyt atkvøðugreiðslu til einstakt svar",
"compose_form.publish": "Legg út", "compose_form.poll.type": "Stílur",
"compose_form.publish": "Posta",
"compose_form.publish_form": "Legg út", "compose_form.publish_form": "Legg út",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Svara",
"compose_form.save_changes": "Goym broytingar", "compose_form.save_changes": "Dagfør",
"compose_form.sensitive.hide": "{count, plural, one {Frámerk tilfar sum viðkvæmt} other {Frámerk tilfar sum viðkvæmt}}",
"compose_form.sensitive.marked": "{count, plural, one {Tilfarið er frámerkt sum viðkvæmt} other {Tilfarið er frámerkt sum viðkvæmt}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Tilfarið er ikki merkt sum viðkvæmt} other {Tilfarið er ikki merkt sum viðkvæmt}}",
"compose_form.spoiler.marked": "Ávaring um at strika innihald", "compose_form.spoiler.marked": "Ávaring um at strika innihald",
"compose_form.spoiler.unmarked": "Skriva ávaring um innihald", "compose_form.spoiler.unmarked": "Skriva ávaring um innihald",
"compose_form.spoiler_placeholder": "Skriva tína ávaring her", "compose_form.spoiler_placeholder": "Innihaldsávaring (valfrí)",
"confirmation_modal.cancel": "Strika", "confirmation_modal.cancel": "Strika",
"confirmations.block.block_and_report": "Banna og melda", "confirmations.block.block_and_report": "Banna og melda",
"confirmations.block.confirm": "Banna", "confirmations.block.confirm": "Banna",
@ -280,6 +277,17 @@
"follow_request.authorize": "Veit myndugleika", "follow_request.authorize": "Veit myndugleika",
"follow_request.reject": "Nokta", "follow_request.reject": "Nokta",
"follow_requests.unlocked_explanation": "Sjálvt um konta tín ikki er læst, so hugsa {domain} starvsfólkini, at tú kanska hevur hug at kanna umbønir um at fylgja frá hesum kontum við hond.", "follow_requests.unlocked_explanation": "Sjálvt um konta tín ikki er læst, so hugsa {domain} starvsfólkini, at tú kanska hevur hug at kanna umbønir um at fylgja frá hesum kontum við hond.",
"follow_suggestions.curated_suggestion": "Val hjá ábyrgdarfólki",
"follow_suggestions.dismiss": "Lat vera við at vísa",
"follow_suggestions.hints.featured": "Hesin vangin er úrvaldur av toyminum handan {domain}.",
"follow_suggestions.hints.friends_of_friends": "Hesin vangin er vælumtóktur millum tey, tú fylgir.",
"follow_suggestions.hints.most_followed": "Hesin vangin er ein av teimum, sum er mest fylgdur á {domain}.",
"follow_suggestions.hints.most_interactions": "Nýliga hava nógv lagt merki til hendan vangan á {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "Hesin vangin líkist teimum, sum tú nýliga hevur fylgt.",
"follow_suggestions.personalized_suggestion": "Persónligt uppskot",
"follow_suggestions.popular_suggestion": "Vælumtókt uppskot",
"follow_suggestions.view_all": "Vís øll",
"follow_suggestions.who_to_follow": "Hvørji tú átti at fylgt",
"followed_tags": "Fylgd frámerki", "followed_tags": "Fylgd frámerki",
"footer.about": "Um", "footer.about": "Um",
"footer.directory": "Vangaskrá", "footer.directory": "Vangaskrá",
@ -306,13 +314,9 @@
"hashtag.follow": "Fylg frámerki", "hashtag.follow": "Fylg frámerki",
"hashtag.unfollow": "Gevst at fylgja frámerki", "hashtag.unfollow": "Gevst at fylgja frámerki",
"hashtags.and_other": "…og {count, plural, other {# afturat}}", "hashtags.and_other": "…og {count, plural, other {# afturat}}",
"home.actions.go_to_explore": "Sí rákið",
"home.actions.go_to_suggestions": "Finn fólk at fylgja",
"home.column_settings.basic": "Grundleggjandi", "home.column_settings.basic": "Grundleggjandi",
"home.column_settings.show_reblogs": "Vís lyft", "home.column_settings.show_reblogs": "Vís lyft",
"home.column_settings.show_replies": "Vís svar", "home.column_settings.show_replies": "Vís svar",
"home.explore_prompt.body": "Heimarásin fer at hava eitt bland av postum frá frámerkjunum, sum tú hevur valt at fylgja, brúkarunum, tú hevur valt at fylgja, og postunum, sum tey stimbra. Um tað kennist ov friðarligt, so kanst tú:",
"home.explore_prompt.title": "Hetta er tín heimastøð í Mastodon.",
"home.hide_announcements": "Fjal kunngerðir", "home.hide_announcements": "Fjal kunngerðir",
"home.pending_critical_update.body": "Vinarliga dagfør Mastodon ambætaran hjá tær so skjótt sum møguligt!", "home.pending_critical_update.body": "Vinarliga dagfør Mastodon ambætaran hjá tær so skjótt sum møguligt!",
"home.pending_critical_update.link": "Sí dagføringar", "home.pending_critical_update.link": "Sí dagføringar",
@ -408,7 +412,6 @@
"navigation_bar.direct": "Privatar umrøður", "navigation_bar.direct": "Privatar umrøður",
"navigation_bar.discover": "Uppdaga", "navigation_bar.discover": "Uppdaga",
"navigation_bar.domain_blocks": "Bannað økisnøvn", "navigation_bar.domain_blocks": "Bannað økisnøvn",
"navigation_bar.edit_profile": "Broyt vanga",
"navigation_bar.explore": "Rannsaka", "navigation_bar.explore": "Rannsaka",
"navigation_bar.favourites": "Dámdir postar", "navigation_bar.favourites": "Dámdir postar",
"navigation_bar.filters": "Doyvd orð", "navigation_bar.filters": "Doyvd orð",
@ -526,14 +529,15 @@
"poll_button.add_poll": "Legg atkvøðugreiðslu afturat", "poll_button.add_poll": "Legg atkvøðugreiðslu afturat",
"poll_button.remove_poll": "Strika atkvøðugreiðslu", "poll_button.remove_poll": "Strika atkvøðugreiðslu",
"privacy.change": "Broyt privatverju av posti", "privacy.change": "Broyt privatverju av posti",
"privacy.direct.long": "Bert sjónligt hjá nevndum brúkarum", "privacy.direct.long": "Øll, sum eru nevnd í postinum",
"privacy.direct.short": "Bert nevnd fólk", "privacy.direct.short": "Ávís fólk",
"privacy.private.long": "Bert sjónligt hjá fylgjarum", "privacy.private.long": "Einans tey, ið fylgja tær",
"privacy.private.short": "Einans fylgjarar", "privacy.private.short": "Fylgjarar",
"privacy.public.long": "Sjónligt hjá øllum", "privacy.public.long": "Øll í og uttanfyri Mastodon",
"privacy.public.short": "Alment", "privacy.public.short": "Alment",
"privacy.unlisted.long": "Sjónligur fyri øll, men ikki gjøgnum uppdagingarhentleikarnar", "privacy.unlisted.additional": "Hetta er júst sum almenn, tó verður posturin ikki vístur í samtíðarrásum ella frámerkjum, rannsakan ella Mastodon leitingum, sjálvt um valið er galdandi fyri alla kontuna.",
"privacy.unlisted.short": "Ikki listað", "privacy.unlisted.long": "Færri algoritmiskar fanfarur",
"privacy.unlisted.short": "Stillur almenningur",
"privacy_policy.last_updated": "Seinast dagført {date}", "privacy_policy.last_updated": "Seinast dagført {date}",
"privacy_policy.title": "Privatlívspolitikkur", "privacy_policy.title": "Privatlívspolitikkur",
"recommended": "Viðmælt", "recommended": "Viðmælt",
@ -551,7 +555,9 @@
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "í dag", "relative_time.today": "í dag",
"reply_indicator.attachments": "{count, plural, one {# viðfesti} other {# viðfesti}}",
"reply_indicator.cancel": "Ógilda", "reply_indicator.cancel": "Ógilda",
"reply_indicator.poll": "Atkvøðugreiðsla",
"report.block": "Blokera", "report.block": "Blokera",
"report.block_explanation": "Tú fer ikki at síggja postarnar hjá teimum. Tey kunnu ikki síggja tínar postar ella fylgja tær. Tey síggja, at tey eru blokeraði.", "report.block_explanation": "Tú fer ikki at síggja postarnar hjá teimum. Tey kunnu ikki síggja tínar postar ella fylgja tær. Tey síggja, at tey eru blokeraði.",
"report.categories.legal": "Løgfrøðisligt", "report.categories.legal": "Løgfrøðisligt",
@ -715,10 +721,8 @@
"upload_error.poll": "Ikki loyvt at leggja fílur upp í spurnarkanningum.", "upload_error.poll": "Ikki loyvt at leggja fílur upp í spurnarkanningum.",
"upload_form.audio_description": "Lýs fyri teimum, sum eru deyv ella hava ringa hoyrn", "upload_form.audio_description": "Lýs fyri teimum, sum eru deyv ella hava ringa hoyrn",
"upload_form.description": "Lýs fyri teimum, sum eru blind ella eru sjónveik", "upload_form.description": "Lýs fyri teimum, sum eru blind ella eru sjónveik",
"upload_form.description_missing": "Lýsing vantar",
"upload_form.edit": "Rætta", "upload_form.edit": "Rætta",
"upload_form.thumbnail": "Broyt smámynd", "upload_form.thumbnail": "Broyt smámynd",
"upload_form.undo": "Strika",
"upload_form.video_description": "Lýs fyri teimum, sum eru deyv, hava ringa hoyrn, eru blind ella eru sjónveik", "upload_form.video_description": "Lýs fyri teimum, sum eru deyv, hava ringa hoyrn, eru blind ella eru sjónveik",
"upload_modal.analyzing_picture": "Greini mynd…", "upload_modal.analyzing_picture": "Greini mynd…",
"upload_modal.apply": "Ger virkið", "upload_modal.apply": "Ger virkið",

@ -89,7 +89,6 @@
"announcement.announcement": "Annonce", "announcement.announcement": "Annonce",
"attachments_list.unprocessed": "(non traité)", "attachments_list.unprocessed": "(non traité)",
"audio.hide": "Masquer l'audio", "audio.hide": "Masquer l'audio",
"autosuggest_hashtag.per_week": "{count} par semaine",
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour sauter ceci la prochaine fois", "boost_modal.combo": "Vous pouvez appuyer sur {combo} pour sauter ceci la prochaine fois",
"bundle_column_error.copy_stacktrace": "Copier le rapport d'erreur", "bundle_column_error.copy_stacktrace": "Copier le rapport d'erreur",
"bundle_column_error.error.body": "La page demandée n'a pas pu être affichée. Cela pourrait être dû à un bogue dans notre code, ou à un problème de compatibilité avec le navigateur.", "bundle_column_error.error.body": "La page demandée n'a pas pu être affichée. Cela pourrait être dû à un bogue dans notre code, ou à un problème de compatibilité avec le navigateur.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Votre compte nest pas {locked}. Tout le monde peut vous suivre et voir vos publications privés.", "compose_form.lock_disclaimer": "Votre compte nest pas {locked}. Tout le monde peut vous suivre et voir vos publications privés.",
"compose_form.lock_disclaimer.lock": "verrouillé", "compose_form.lock_disclaimer.lock": "verrouillé",
"compose_form.placeholder": "À quoi pensez-vous?", "compose_form.placeholder": "À quoi pensez-vous?",
"compose_form.poll.add_option": "Ajouter un choix",
"compose_form.poll.duration": "Durée du sondage", "compose_form.poll.duration": "Durée du sondage",
"compose_form.poll.option_placeholder": "Choix {number}", "compose_form.poll.multiple": "Choix multiple",
"compose_form.poll.remove_option": "Supprimer ce choix", "compose_form.poll.option_placeholder": "Option {number}",
"compose_form.poll.single": "Choisissez-en un",
"compose_form.poll.switch_to_multiple": "Changer le sondage pour autoriser plusieurs choix", "compose_form.poll.switch_to_multiple": "Changer le sondage pour autoriser plusieurs choix",
"compose_form.poll.switch_to_single": "Changer le sondage pour n'autoriser qu'un seul choix", "compose_form.poll.switch_to_single": "Changer le sondage pour n'autoriser qu'un seul choix",
"compose_form.poll.type": "Style",
"compose_form.publish": "Publier", "compose_form.publish": "Publier",
"compose_form.publish_form": "Publier", "compose_form.publish_form": "Publier",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Répondre",
"compose_form.save_changes": "Enregistrer les modifications", "compose_form.save_changes": "Mis à jour",
"compose_form.sensitive.hide": "{count, plural, one {Marquer média comme sensible} other {Marquer médias comme sensibles}}",
"compose_form.sensitive.marked": "{count, plural, one {Le média est marqué comme sensible} other {Les médias sont marqués comme sensibles}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Le média nest pas marqué comme sensible} other {Les médias ne sont pas marqués comme sensibles}}",
"compose_form.spoiler.marked": "Enlever l'avertissement de contenu", "compose_form.spoiler.marked": "Enlever l'avertissement de contenu",
"compose_form.spoiler.unmarked": "Ajouter un avertissement de contenu", "compose_form.spoiler.unmarked": "Ajouter un avertissement de contenu",
"compose_form.spoiler_placeholder": "Écrivez votre avertissement ici", "compose_form.spoiler_placeholder": "Avertissement de contenu (optionnel)",
"confirmation_modal.cancel": "Annuler", "confirmation_modal.cancel": "Annuler",
"confirmations.block.block_and_report": "Bloquer et signaler", "confirmations.block.block_and_report": "Bloquer et signaler",
"confirmations.block.confirm": "Bloquer", "confirmations.block.confirm": "Bloquer",
@ -306,13 +303,9 @@
"hashtag.follow": "Suivre ce hashtag", "hashtag.follow": "Suivre ce hashtag",
"hashtag.unfollow": "Ne plus suivre ce hashtag", "hashtag.unfollow": "Ne plus suivre ce hashtag",
"hashtags.and_other": "…et {count, plural, other {# de plus}}", "hashtags.and_other": "…et {count, plural, other {# de plus}}",
"home.actions.go_to_explore": "Voir les tendances",
"home.actions.go_to_suggestions": "Trouver des personnes à suivre",
"home.column_settings.basic": "Basique", "home.column_settings.basic": "Basique",
"home.column_settings.show_reblogs": "Afficher boosts", "home.column_settings.show_reblogs": "Afficher boosts",
"home.column_settings.show_replies": "Afficher réponses", "home.column_settings.show_replies": "Afficher réponses",
"home.explore_prompt.body": "Votre fil d'actualité aura un mélange de messages depuis les hashtags que vous avez choisi de suivre, les personnes que vous avez choisi de suivre, et les messages qu'elles boostent. Si ça vous semble trop calme à votre goût, nhésitez pas à :",
"home.explore_prompt.title": "C'est votre page d'accueil dans Mastodon.",
"home.hide_announcements": "Masquer les annonces", "home.hide_announcements": "Masquer les annonces",
"home.pending_critical_update.body": "Veuillez mettre à jour votre serveur Mastodon dès que possible !", "home.pending_critical_update.body": "Veuillez mettre à jour votre serveur Mastodon dès que possible !",
"home.pending_critical_update.link": "Voir les mises à jour", "home.pending_critical_update.link": "Voir les mises à jour",
@ -408,7 +401,6 @@
"navigation_bar.direct": "Mention privée", "navigation_bar.direct": "Mention privée",
"navigation_bar.discover": "Découvrir", "navigation_bar.discover": "Découvrir",
"navigation_bar.domain_blocks": "Domaines bloqués", "navigation_bar.domain_blocks": "Domaines bloqués",
"navigation_bar.edit_profile": "Modifier le profil",
"navigation_bar.explore": "Explorer", "navigation_bar.explore": "Explorer",
"navigation_bar.favourites": "Favoris", "navigation_bar.favourites": "Favoris",
"navigation_bar.filters": "Mots masqués", "navigation_bar.filters": "Mots masqués",
@ -526,14 +518,15 @@
"poll_button.add_poll": "Ajouter un sondage", "poll_button.add_poll": "Ajouter un sondage",
"poll_button.remove_poll": "Supprimer le sondage", "poll_button.remove_poll": "Supprimer le sondage",
"privacy.change": "Changer la confidentialité des messages", "privacy.change": "Changer la confidentialité des messages",
"privacy.direct.long": "Visible uniquement par les comptes mentionnés", "privacy.direct.long": "Toutes les personnes mentionnées dans le post",
"privacy.direct.short": "Personnes mentionnées uniquement", "privacy.direct.short": "Personnes spécifiques",
"privacy.private.long": "Visible uniquement pour vos abonné·e·s", "privacy.private.long": "Seulement vos abonnés",
"privacy.private.short": "Abonné·e·s seulement", "privacy.private.short": "Abonnés",
"privacy.public.long": "Visible pour tous", "privacy.public.long": "Tout le monde sur et en dehors de Mastodon",
"privacy.public.short": "Public", "privacy.public.short": "Public",
"privacy.unlisted.long": "Visible pour tous, mais sans fonctionnalités de découverte", "privacy.unlisted.additional": "Cette option se comporte exactement comme l'option publique, sauf que le message n'apparaîtra pas dans les flux en direct, les hashtags, l'exploration ou la recherche Mastodon, même si vous avez opté pour l'option publique pour l'ensemble de votre compte.",
"privacy.unlisted.short": "Non listé", "privacy.unlisted.long": "Moins de fanfares algorithmiques",
"privacy.unlisted.short": "Public calme",
"privacy_policy.last_updated": "Dernière mise à jour {date}", "privacy_policy.last_updated": "Dernière mise à jour {date}",
"privacy_policy.title": "Politique de confidentialité", "privacy_policy.title": "Politique de confidentialité",
"recommended": "Recommandé", "recommended": "Recommandé",
@ -551,7 +544,9 @@
"relative_time.minutes": "{number} min", "relative_time.minutes": "{number} min",
"relative_time.seconds": "{number} s", "relative_time.seconds": "{number} s",
"relative_time.today": "aujourdhui", "relative_time.today": "aujourdhui",
"reply_indicator.attachments": "{count, plural, one {# pièce jointe} other {# pièces jointes}}",
"reply_indicator.cancel": "Annuler", "reply_indicator.cancel": "Annuler",
"reply_indicator.poll": "Sondage",
"report.block": "Bloquer", "report.block": "Bloquer",
"report.block_explanation": "Vous ne verrez plus les publications de ce compte. Il ne pourra ni vous suivre ni voir vos publications. Il pourra savoir qu'il a été bloqué.", "report.block_explanation": "Vous ne verrez plus les publications de ce compte. Il ne pourra ni vous suivre ni voir vos publications. Il pourra savoir qu'il a été bloqué.",
"report.categories.legal": "Légal", "report.categories.legal": "Légal",
@ -715,10 +710,8 @@
"upload_error.poll": "Lenvoi de fichiers nest pas autorisé avec les sondages.", "upload_error.poll": "Lenvoi de fichiers nest pas autorisé avec les sondages.",
"upload_form.audio_description": "Décrire pour les personnes ayant des difficultés daudition", "upload_form.audio_description": "Décrire pour les personnes ayant des difficultés daudition",
"upload_form.description": "Décrire pour les malvoyants", "upload_form.description": "Décrire pour les malvoyants",
"upload_form.description_missing": "Description manquante",
"upload_form.edit": "Modifier", "upload_form.edit": "Modifier",
"upload_form.thumbnail": "Changer la vignette", "upload_form.thumbnail": "Changer la vignette",
"upload_form.undo": "Supprimer",
"upload_form.video_description": "Décrire pour les personnes ayant des problèmes de vue ou d'audition", "upload_form.video_description": "Décrire pour les personnes ayant des problèmes de vue ou d'audition",
"upload_modal.analyzing_picture": "Analyse de limage en cours…", "upload_modal.analyzing_picture": "Analyse de limage en cours…",
"upload_modal.apply": "Appliquer", "upload_modal.apply": "Appliquer",

@ -89,7 +89,6 @@
"announcement.announcement": "Annonce", "announcement.announcement": "Annonce",
"attachments_list.unprocessed": "(non traité)", "attachments_list.unprocessed": "(non traité)",
"audio.hide": "Masquer l'audio", "audio.hide": "Masquer l'audio",
"autosuggest_hashtag.per_week": "{count} par semaine",
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci la prochaine fois", "boost_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci la prochaine fois",
"bundle_column_error.copy_stacktrace": "Copier le rapport d'erreur", "bundle_column_error.copy_stacktrace": "Copier le rapport d'erreur",
"bundle_column_error.error.body": "La page demandée n'a pas pu être affichée. Cela peut être dû à un bogue dans notre code, ou à un problème de compatibilité avec le navigateur.", "bundle_column_error.error.body": "La page demandée n'a pas pu être affichée. Cela peut être dû à un bogue dans notre code, ou à un problème de compatibilité avec le navigateur.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Votre compte nest pas {locked}. Tout le monde peut vous suivre pour voir vos messages réservés à vos abonné⋅e⋅s.", "compose_form.lock_disclaimer": "Votre compte nest pas {locked}. Tout le monde peut vous suivre pour voir vos messages réservés à vos abonné⋅e⋅s.",
"compose_form.lock_disclaimer.lock": "verrouillé", "compose_form.lock_disclaimer.lock": "verrouillé",
"compose_form.placeholder": "Quavez-vous en tête?", "compose_form.placeholder": "Quavez-vous en tête?",
"compose_form.poll.add_option": "Ajouter un choix",
"compose_form.poll.duration": "Durée du sondage", "compose_form.poll.duration": "Durée du sondage",
"compose_form.poll.option_placeholder": "Choix {number}", "compose_form.poll.multiple": "Choix multiple",
"compose_form.poll.remove_option": "Supprimer ce choix", "compose_form.poll.option_placeholder": "Option {number}",
"compose_form.poll.single": "Choisissez-en un",
"compose_form.poll.switch_to_multiple": "Changer le sondage pour autoriser plusieurs choix", "compose_form.poll.switch_to_multiple": "Changer le sondage pour autoriser plusieurs choix",
"compose_form.poll.switch_to_single": "Modifier le sondage pour autoriser qu'un seul choix", "compose_form.poll.switch_to_single": "Modifier le sondage pour autoriser qu'un seul choix",
"compose_form.poll.type": "Style",
"compose_form.publish": "Publier", "compose_form.publish": "Publier",
"compose_form.publish_form": "Nouvelle publication", "compose_form.publish_form": "Nouvelle publication",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Répondre",
"compose_form.save_changes": "Enregistrer les modifications", "compose_form.save_changes": "Mis à jour",
"compose_form.sensitive.hide": "{count, plural, one {Marquer le média comme sensible} other {Marquer les médias comme sensibles}}",
"compose_form.sensitive.marked": "{count, plural, one {Le média est marqué comme sensible} other {Les médias sont marqués comme sensibles}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Le média nest pas marqué comme sensible} other {Les médias ne sont pas marqués comme sensibles}}",
"compose_form.spoiler.marked": "Enlever lavertissement de contenu", "compose_form.spoiler.marked": "Enlever lavertissement de contenu",
"compose_form.spoiler.unmarked": "Ajouter un avertissement de contenu", "compose_form.spoiler.unmarked": "Ajouter un avertissement de contenu",
"compose_form.spoiler_placeholder": "Écrivez votre avertissement ici", "compose_form.spoiler_placeholder": "Avertissement de contenu (optionnel)",
"confirmation_modal.cancel": "Annuler", "confirmation_modal.cancel": "Annuler",
"confirmations.block.block_and_report": "Bloquer et signaler", "confirmations.block.block_and_report": "Bloquer et signaler",
"confirmations.block.confirm": "Bloquer", "confirmations.block.confirm": "Bloquer",
@ -306,13 +303,9 @@
"hashtag.follow": "Suivre le hashtag", "hashtag.follow": "Suivre le hashtag",
"hashtag.unfollow": "Ne plus suivre le hashtag", "hashtag.unfollow": "Ne plus suivre le hashtag",
"hashtags.and_other": "…et {count, plural, other {# de plus}}", "hashtags.and_other": "…et {count, plural, other {# de plus}}",
"home.actions.go_to_explore": "Voir les tendances",
"home.actions.go_to_suggestions": "Trouver des personnes à suivre",
"home.column_settings.basic": "Basique", "home.column_settings.basic": "Basique",
"home.column_settings.show_reblogs": "Afficher les partages", "home.column_settings.show_reblogs": "Afficher les partages",
"home.column_settings.show_replies": "Afficher les réponses", "home.column_settings.show_replies": "Afficher les réponses",
"home.explore_prompt.body": "Votre fil d'actualité aura un mélange de messages depuis les hashtags que vous avez choisi de suivre, les personnes que vous avez choisi de suivre, et les messages qu'elles boostent. Si ça vous semble trop calme à votre goût, nhésitez pas à :",
"home.explore_prompt.title": "C'est votre page d'accueil dans Mastodon.",
"home.hide_announcements": "Masquer les annonces", "home.hide_announcements": "Masquer les annonces",
"home.pending_critical_update.body": "Veuillez mettre à jour votre serveur Mastodon dès que possible !", "home.pending_critical_update.body": "Veuillez mettre à jour votre serveur Mastodon dès que possible !",
"home.pending_critical_update.link": "Voir les mises à jour", "home.pending_critical_update.link": "Voir les mises à jour",
@ -408,7 +401,6 @@
"navigation_bar.direct": "Mention privée", "navigation_bar.direct": "Mention privée",
"navigation_bar.discover": "Découvrir", "navigation_bar.discover": "Découvrir",
"navigation_bar.domain_blocks": "Domaines bloqués", "navigation_bar.domain_blocks": "Domaines bloqués",
"navigation_bar.edit_profile": "Modifier le profil",
"navigation_bar.explore": "Explorer", "navigation_bar.explore": "Explorer",
"navigation_bar.favourites": "Favoris", "navigation_bar.favourites": "Favoris",
"navigation_bar.filters": "Mots masqués", "navigation_bar.filters": "Mots masqués",
@ -526,14 +518,15 @@
"poll_button.add_poll": "Ajouter un sondage", "poll_button.add_poll": "Ajouter un sondage",
"poll_button.remove_poll": "Supprimer le sondage", "poll_button.remove_poll": "Supprimer le sondage",
"privacy.change": "Ajuster la confidentialité du message", "privacy.change": "Ajuster la confidentialité du message",
"privacy.direct.long": "Visible uniquement par les comptes mentionnés", "privacy.direct.long": "Toutes les personnes mentionnées dans le post",
"privacy.direct.short": "Personnes mentionnées uniquement", "privacy.direct.short": "Personnes spécifiques",
"privacy.private.long": "Visible uniquement par vos abonnés", "privacy.private.long": "Seulement vos abonnés",
"privacy.private.short": "Abonnés uniquement", "privacy.private.short": "Abonnés",
"privacy.public.long": "Visible pour tous", "privacy.public.long": "Tout le monde sur et en dehors de Mastodon",
"privacy.public.short": "Public", "privacy.public.short": "Public",
"privacy.unlisted.long": "Visible pour tous, mais sans fonctionnalités de découverte", "privacy.unlisted.additional": "Cette option se comporte exactement comme l'option publique, sauf que le message n'apparaîtra pas dans les flux en direct, les hashtags, l'exploration ou la recherche Mastodon, même si vous avez opté pour l'option publique pour l'ensemble de votre compte.",
"privacy.unlisted.short": "Non listé", "privacy.unlisted.long": "Moins de fanfares algorithmiques",
"privacy.unlisted.short": "Public calme",
"privacy_policy.last_updated": "Dernière mise à jour {date}", "privacy_policy.last_updated": "Dernière mise à jour {date}",
"privacy_policy.title": "Politique de confidentialité", "privacy_policy.title": "Politique de confidentialité",
"recommended": "Recommandé", "recommended": "Recommandé",
@ -551,7 +544,9 @@
"relative_time.minutes": "{number} min", "relative_time.minutes": "{number} min",
"relative_time.seconds": "{number} s", "relative_time.seconds": "{number} s",
"relative_time.today": "aujourdhui", "relative_time.today": "aujourdhui",
"reply_indicator.attachments": "{count, plural, one {# pièce jointe} other {# pièces jointes}}",
"reply_indicator.cancel": "Annuler", "reply_indicator.cancel": "Annuler",
"reply_indicator.poll": "Sondage",
"report.block": "Bloquer", "report.block": "Bloquer",
"report.block_explanation": "Vous ne verrez plus les messages de ce profil, et il ne pourra ni vous suivre ni voir vos messages. Il pourra savoir qu'il a été bloqué.", "report.block_explanation": "Vous ne verrez plus les messages de ce profil, et il ne pourra ni vous suivre ni voir vos messages. Il pourra savoir qu'il a été bloqué.",
"report.categories.legal": "Légal", "report.categories.legal": "Légal",
@ -715,10 +710,8 @@
"upload_error.poll": "Lenvoi de fichiers nest pas autorisé avec les sondages.", "upload_error.poll": "Lenvoi de fichiers nest pas autorisé avec les sondages.",
"upload_form.audio_description": "Décrire pour les personnes ayant des difficultés daudition", "upload_form.audio_description": "Décrire pour les personnes ayant des difficultés daudition",
"upload_form.description": "Décrire pour les malvoyant·e·s", "upload_form.description": "Décrire pour les malvoyant·e·s",
"upload_form.description_missing": "Description manquante",
"upload_form.edit": "Modifier", "upload_form.edit": "Modifier",
"upload_form.thumbnail": "Changer la vignette", "upload_form.thumbnail": "Changer la vignette",
"upload_form.undo": "Supprimer",
"upload_form.video_description": "Décrire pour les personnes ayant des problèmes de vue ou d'audition", "upload_form.video_description": "Décrire pour les personnes ayant des problèmes de vue ou d'audition",
"upload_modal.analyzing_picture": "Analyse de limage en cours…", "upload_modal.analyzing_picture": "Analyse de limage en cours…",
"upload_modal.apply": "Appliquer", "upload_modal.apply": "Appliquer",

@ -89,7 +89,6 @@
"announcement.announcement": "Oankundiging", "announcement.announcement": "Oankundiging",
"attachments_list.unprocessed": "(net ferwurke)", "attachments_list.unprocessed": "(net ferwurke)",
"audio.hide": "Audio ferstopje", "audio.hide": "Audio ferstopje",
"autosuggest_hashtag.per_week": "{count} yn e wike",
"boost_modal.combo": "Jo kinne op {combo} drukke om dit de folgjende kear oer te slaan", "boost_modal.combo": "Jo kinne op {combo} drukke om dit de folgjende kear oer te slaan",
"bundle_column_error.copy_stacktrace": "Flaterrapport kopiearje", "bundle_column_error.copy_stacktrace": "Flaterrapport kopiearje",
"bundle_column_error.error.body": "De opfrege side koe net werjûn wurde. It kin wêze troch in flater yn ús koade, of in probleem mei browserkompatibiliteit.", "bundle_column_error.error.body": "De opfrege side koe net werjûn wurde. It kin wêze troch in flater yn ús koade, of in probleem mei browserkompatibiliteit.",
@ -146,22 +145,20 @@
"compose_form.lock_disclaimer": "Jo account is net {locked}. Elkenien kin jo folgje en kin de berjochten sjen dyt jo allinnich oan jo folgers rjochte hawwe.", "compose_form.lock_disclaimer": "Jo account is net {locked}. Elkenien kin jo folgje en kin de berjochten sjen dyt jo allinnich oan jo folgers rjochte hawwe.",
"compose_form.lock_disclaimer.lock": "beskoattele", "compose_form.lock_disclaimer.lock": "beskoattele",
"compose_form.placeholder": "Wat wolle jo kwyt?", "compose_form.placeholder": "Wat wolle jo kwyt?",
"compose_form.poll.add_option": "Kar tafoegje",
"compose_form.poll.duration": "Doer fan de enkête", "compose_form.poll.duration": "Doer fan de enkête",
"compose_form.poll.option_placeholder": "Kar {number}", "compose_form.poll.multiple": "Mearkar",
"compose_form.poll.remove_option": "Dizze kar fuortsmite", "compose_form.poll.option_placeholder": "Opsje {number}",
"compose_form.poll.single": "Kies ien",
"compose_form.poll.switch_to_multiple": "Enkête wizigje om meardere karren ta te stean", "compose_form.poll.switch_to_multiple": "Enkête wizigje om meardere karren ta te stean",
"compose_form.poll.switch_to_single": "Enkête wizigje om in inkelde kar ta te stean", "compose_form.poll.switch_to_single": "Enkête wizigje om in inkelde kar ta te stean",
"compose_form.publish": "Publisearje", "compose_form.poll.type": "Styl",
"compose_form.publish": "Toot",
"compose_form.publish_form": "Publisearje", "compose_form.publish_form": "Publisearje",
"compose_form.publish_loud": "{publish}!", "compose_form.reply": "Reagearje",
"compose_form.save_changes": "Wizigingen bewarje", "compose_form.save_changes": "Bywurkje",
"compose_form.sensitive.hide": "{count, plural, one {Media as gefoelich markearje} other {Media as gefoelich markearje}}",
"compose_form.sensitive.marked": "{count, plural, one {Media as gefoelich markearre} other {Media as gefoelich markearre}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Media is net as gefoelich markearre} other {Media is net as gefoelich markearre}}",
"compose_form.spoiler.marked": "Ynhâldswarskôging fuortsmite", "compose_form.spoiler.marked": "Ynhâldswarskôging fuortsmite",
"compose_form.spoiler.unmarked": "Ynhâldswarskôging tafoegje", "compose_form.spoiler.unmarked": "Ynhâldswarskôging tafoegje",
"compose_form.spoiler_placeholder": "Warskôgingstekst", "compose_form.spoiler_placeholder": "Ynhâldswarskôging (opsjoneel)",
"confirmation_modal.cancel": "Annulearje", "confirmation_modal.cancel": "Annulearje",
"confirmations.block.block_and_report": "Blokkearje en rapportearje", "confirmations.block.block_and_report": "Blokkearje en rapportearje",
"confirmations.block.confirm": "Blokkearje", "confirmations.block.confirm": "Blokkearje",
@ -280,6 +277,17 @@
"follow_request.authorize": "Goedkarre", "follow_request.authorize": "Goedkarre",
"follow_request.reject": "Wegerje", "follow_request.reject": "Wegerje",
"follow_requests.unlocked_explanation": "Ek al is jo account net besletten, de meiwurkers fan {domain} tinke dat jo miskien de folgjende folchfersiken hânmjittich kontrolearje.", "follow_requests.unlocked_explanation": "Ek al is jo account net besletten, de meiwurkers fan {domain} tinke dat jo miskien de folgjende folchfersiken hânmjittich kontrolearje.",
"follow_suggestions.curated_suggestion": "Spesjaal selektearre",
"follow_suggestions.dismiss": "Net mear werjaan",
"follow_suggestions.hints.featured": "Dit profyl is hânmjittich troch it {domain}-team selektearre.",
"follow_suggestions.hints.friends_of_friends": "Dit profyl is populêr ûnder de minsken dyt jo folgje.",
"follow_suggestions.hints.most_followed": "Dit profyl is ien fan de meast folge op {domain}.",
"follow_suggestions.hints.most_interactions": "Dit profyl hat de lêste tiid in protte oandacht krigen op {domain}.",
"follow_suggestions.hints.similar_to_recently_followed": "Dit profyl is hast lyk oan de profilen dyt jo koartlyn folge hawwe.",
"follow_suggestions.personalized_suggestion": "Personalisearre suggestje",
"follow_suggestions.popular_suggestion": "Populêre suggestje",
"follow_suggestions.view_all": "Alles werjaan",
"follow_suggestions.who_to_follow": "Wa te folgjen",
"followed_tags": "Folge hashtags", "followed_tags": "Folge hashtags",
"footer.about": "Oer", "footer.about": "Oer",
"footer.directory": "Profylmap", "footer.directory": "Profylmap",
@ -306,13 +314,9 @@
"hashtag.follow": "Hashtag folgje", "hashtag.follow": "Hashtag folgje",
"hashtag.unfollow": "Hashtag ûntfolgje", "hashtag.unfollow": "Hashtag ûntfolgje",
"hashtags.and_other": "…en {count, plural, one {}other {# mear}}", "hashtags.and_other": "…en {count, plural, one {}other {# mear}}",
"home.actions.go_to_explore": "De aktuele trends besjen",
"home.actions.go_to_suggestions": "Sykje minsken om te folgjen",
"home.column_settings.basic": "Algemien", "home.column_settings.basic": "Algemien",
"home.column_settings.show_reblogs": "Boosts toane", "home.column_settings.show_reblogs": "Boosts toane",
"home.column_settings.show_replies": "Reaksjes toane", "home.column_settings.show_replies": "Reaksjes toane",
"home.explore_prompt.body": "Jo starttiidline befettet in miks fan berjochten mei hashtags dyt jo keazen hawwe om te folgjen, fan minsken dyt jo keazen hawwe om te folgjen en berjochten dyt se booste. As jo dit te rêstich fine, kinne jo:",
"home.explore_prompt.title": "Dit is jo thúsbasis op Mastodon.",
"home.hide_announcements": "Meidielingen ferstopje", "home.hide_announcements": "Meidielingen ferstopje",
"home.pending_critical_update.body": "Fernij sa gau as mooglik jo Mastodon-server!", "home.pending_critical_update.body": "Fernij sa gau as mooglik jo Mastodon-server!",
"home.pending_critical_update.link": "Fernijingen besjen", "home.pending_critical_update.link": "Fernijingen besjen",
@ -408,7 +412,6 @@
"navigation_bar.direct": "Priveefermeldingen", "navigation_bar.direct": "Priveefermeldingen",
"navigation_bar.discover": "Untdekke", "navigation_bar.discover": "Untdekke",
"navigation_bar.domain_blocks": "Blokkearre domeinen", "navigation_bar.domain_blocks": "Blokkearre domeinen",
"navigation_bar.edit_profile": "Profyl bewurkje",
"navigation_bar.explore": "Ferkenne", "navigation_bar.explore": "Ferkenne",
"navigation_bar.favourites": "Favoriten", "navigation_bar.favourites": "Favoriten",
"navigation_bar.filters": "Negearre wurden", "navigation_bar.filters": "Negearre wurden",
@ -526,13 +529,14 @@
"poll_button.add_poll": "Poll tafoegje", "poll_button.add_poll": "Poll tafoegje",
"poll_button.remove_poll": "Enkête fuortsmite", "poll_button.remove_poll": "Enkête fuortsmite",
"privacy.change": "Sichtberheid fan berjocht oanpasse", "privacy.change": "Sichtberheid fan berjocht oanpasse",
"privacy.direct.long": "Allinnich sichtber foar fermelde brûkers", "privacy.direct.long": "Elkenien dy yn it berjocht fermeld wurdt",
"privacy.direct.short": "Allinnich fermelde minsken", "privacy.direct.short": "Bepaalde minsken",
"privacy.private.long": "Allinnich sichtber foar folgers", "privacy.private.long": "Allinnich jo folgers",
"privacy.private.short": "Allinnich folgers", "privacy.private.short": "Folgers",
"privacy.public.long": "Sichtber foar elkenien", "privacy.public.long": "Elkenien op Mastodon en dêrbûten",
"privacy.public.short": "Iepenbier", "privacy.public.short": "Iepenbier",
"privacy.unlisted.long": "Foar elkenien sichtber, mar net ûnder trends, hashtags en op iepenbiere tiidlinen", "privacy.unlisted.additional": "Dit is fergelykber mei iepenbier, útsein dat it berjocht net ferskynt op iepenbiere tiidlijnen of hashtags, ûnder ferkenne of Mastodon sykje, sels as jo jo account dêrfoar ynsteld hawwe.",
"privacy.unlisted.long": "Minder algoritmyske fanfare",
"privacy.unlisted.short": "Minder iepenbier", "privacy.unlisted.short": "Minder iepenbier",
"privacy_policy.last_updated": "Lêst bywurke op {date}", "privacy_policy.last_updated": "Lêst bywurke op {date}",
"privacy_policy.title": "Privacybelied", "privacy_policy.title": "Privacybelied",
@ -551,7 +555,9 @@
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "hjoed", "relative_time.today": "hjoed",
"reply_indicator.attachments": "{count, plural, one {# bylage} other {# bylagen}}",
"reply_indicator.cancel": "Annulearje", "reply_indicator.cancel": "Annulearje",
"reply_indicator.poll": "Peiling",
"report.block": "Blokkearje", "report.block": "Blokkearje",
"report.block_explanation": "Jo sille harren berjochten net sjen kinne. Se sille jo berjochten net sjen kinne en jo net folgje kinne. Se sille wol sjen kinne dat se blokkearre binne.", "report.block_explanation": "Jo sille harren berjochten net sjen kinne. Se sille jo berjochten net sjen kinne en jo net folgje kinne. Se sille wol sjen kinne dat se blokkearre binne.",
"report.categories.legal": "Juridysk", "report.categories.legal": "Juridysk",
@ -715,10 +721,8 @@
"upload_error.poll": "It opladen fan bestannen is yn enkêten net tastien.", "upload_error.poll": "It opladen fan bestannen is yn enkêten net tastien.",
"upload_form.audio_description": "Describe for people with hearing loss", "upload_form.audio_description": "Describe for people with hearing loss",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",
"upload_form.description_missing": "Gjin omskriuwing tafoege",
"upload_form.edit": "Bewurkje", "upload_form.edit": "Bewurkje",
"upload_form.thumbnail": "Miniatuerôfbylding wizigje", "upload_form.thumbnail": "Miniatuerôfbylding wizigje",
"upload_form.undo": "Fuortsmite",
"upload_form.video_description": "Describe for people with hearing loss or visual impairment", "upload_form.video_description": "Describe for people with hearing loss or visual impairment",
"upload_modal.analyzing_picture": "Ofbylding analysearje…", "upload_modal.analyzing_picture": "Ofbylding analysearje…",
"upload_modal.apply": "Tapasse", "upload_modal.apply": "Tapasse",

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

Loading…
Cancel
Save