Merge tag 'v3.4.1'

This commit is contained in:
wuyingren 2021-06-03 11:53:08 +08:00
commit 8a732440ce
552 changed files with 2218 additions and 1100 deletions

View file

@ -216,24 +216,6 @@ jobs:
name: Run jest
command: yarn test:jest
check-i18n:
<<: *defaults
steps:
- *attach_workspace
- *install_system_dependencies
- run:
name: Check locale file normalization
command: bundle exec i18n-tasks check-normalized
- run:
name: Check for unused strings
command: bundle exec i18n-tasks unused -l en
- run:
name: Check for wrong string interpolations
command: bundle exec i18n-tasks check-consistent-interpolations
- run:
name: Check that all required locale files exist
command: bundle exec rake repo:check_locales_files
workflows:
version: 2
build-and-test:
@ -271,6 +253,3 @@ workflows:
- test-webui:
requires:
- install
- check-i18n:
requires:
- install-ruby2.7

View file

@ -1,6 +1,10 @@
.bundle
.env
.env.*
.git
.gitattributes
.gitignore
.github
public/system
public/assets
public/packs

34
.github/workflows/check-i18n.yml vendored Normal file
View file

@ -0,0 +1,34 @@
name: Check i18n
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
RAILS_ENV: test
jobs:
check-i18n:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libicu-dev libidn11-dev libprotobuf-dev protobuf-compiler
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'
bundler-cache: true
- name: Check locale file normalization
run: bundle exec i18n-tasks check-normalized
- name: Check for unused strings
run: bundle exec i18n-tasks unused -l en
- name: Check for wrong string interpolations
run: bundle exec i18n-tasks check-consistent-interpolations
- name: Check that all required locale files exist
run: bundle exec rake repo:check_locales_files

View file

@ -3,6 +3,25 @@ Changelog
All notable changes to this project will be documented in this file.
## [3.4.1] - 2021-06-03
### Added
- Add new emoji assets from Twemoji 13.1.0 ([Gargron](https://github.com/tootsuite/mastodon/pull/16345))
### Fixed
- Fix some ActivityPub identifiers in server actor outbox ([ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16343))
- Fix custom CSS path setting cookies and being uncacheable due to it ([tribela](https://github.com/tootsuite/mastodon/pull/16314))
- Fix unread notification count when polling in web UI ([ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16272))
- Fix health check not being accessible through localhost ([ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16270))
- Fix some redis locks auto-releasing too fast ([ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16276), [ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16291))
- Fix e-mail confirmations API not working correctly ([Gargron](https://github.com/tootsuite/mastodon/pull/16348))
- Fix migration script not being able to run if it fails midway ([ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16312))
- Fix account deletion sometimes failing because of optimistic locks ([ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16317))
- Fix deprecated slash as division in SASS files ([ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16347))
- Fix `tootctl search deploy` compatibility error on Ruby 3 ([ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16346))
- Fix mailer jobs for deleted notifications erroring out ([ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16294))
## [3.4.0] - 2021-05-16
### Added

14
Gemfile
View file

@ -17,7 +17,7 @@ gem 'makara', '~> 0.5'
gem 'pghero', '~> 2.8'
gem 'dotenv-rails', '~> 2.7'
gem 'aws-sdk-s3', '~> 1.94', require: false
gem 'aws-sdk-s3', '~> 1.95', require: false
gem 'fog-core', '<= 2.1.0'
gem 'fog-openstack', '~> 0.3', require: false
gem 'paperclip', '~> 6.0'
@ -55,7 +55,7 @@ gem 'redis-namespace', '~> 1.8'
gem 'htmlentities', '~> 4.3'
gem 'http', '~> 4.4'
gem 'http_accept_language', '~> 2.1'
gem 'httplog', '~> 1.4.3'
gem 'httplog', '~> 1.5.0'
gem 'idn-ruby', require: 'idn'
gem 'kaminari', '~> 1.2'
gem 'link_header', '~> 0.0'
@ -83,7 +83,7 @@ gem 'sidekiq', '~> 6.2'
gem 'sidekiq-scheduler', '~> 3.0'
gem 'sidekiq-unique-jobs', '~> 7.0'
gem 'sidekiq-bulk', '~>0.2.0'
gem 'simple-navigation', '~> 4.1'
gem 'simple-navigation', '~> 4.3'
gem 'simple_form', '~> 5.1'
gem 'sprockets-rails', '~> 3.2', require: 'sprockets/railtie'
gem 'stoplight', '~> 2.2.1'
@ -91,7 +91,7 @@ gem 'strong_migrations', '~> 0.7'
gem 'tty-prompt', '~> 0.23', require: false
gem 'twitter-text', '~> 3.1.0'
gem 'tzinfo-data', '~> 1.2021'
gem 'webpacker', '~> 5.3'
gem 'webpacker', '~> 5.4'
gem 'webpush', '~> 0.3'
gem 'webauthn', '~> 3.0.0.alpha1'
@ -115,12 +115,12 @@ end
group :test do
gem 'capybara', '~> 3.35'
gem 'climate_control', '~> 0.2'
gem 'faker', '~> 2.17'
gem 'faker', '~> 2.18'
gem 'microformats', '~> 4.2'
gem 'rails-controller-testing', '~> 1.0'
gem 'rspec-sidekiq', '~> 3.1'
gem 'simplecov', '~> 0.21', require: false
gem 'webmock', '~> 3.12'
gem 'webmock', '~> 3.13'
gem 'parallel_tests', '~> 3.7'
gem 'rspec_junit_formatter', '~> 0.4'
end
@ -134,7 +134,7 @@ group :development do
gem 'letter_opener', '~> 1.7'
gem 'letter_opener_web', '~> 1.4'
gem 'memory_profiler'
gem 'rubocop', '~> 1.14', require: false
gem 'rubocop', '~> 1.15', require: false
gem 'rubocop-rails', '~> 2.10', require: false
gem 'brakeman', '~> 5.0', require: false
gem 'bundler-audit', '~> 0.8', require: false

View file

@ -79,7 +79,7 @@ GEM
encryptor (~> 3.0.0)
awrence (1.1.1)
aws-eventstream (1.1.1)
aws-partitions (1.452.0)
aws-partitions (1.465.0)
aws-sdk-core (3.114.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
@ -88,7 +88,7 @@ GEM
aws-sdk-kms (1.43.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.94.1)
aws-sdk-s3 (1.95.1)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
@ -211,7 +211,7 @@ GEM
tzinfo
excon (0.76.0)
fabrication (2.22.0)
faker (2.17.0)
faker (2.18.0)
i18n (>= 1.6, < 2)
faraday (1.3.0)
faraday-net_http (~> 1.0)
@ -273,7 +273,7 @@ GEM
http-parser (1.2.1)
ffi-compiler (>= 1.0, < 2.0)
http_accept_language (2.1.1)
httplog (1.4.3)
httplog (1.5.0)
rack (>= 1.0)
rainbow (>= 2.0.0)
i18n (1.8.10)
@ -354,17 +354,22 @@ GEM
nokogiri (~> 1)
rake
mini_mime (1.0.3)
mini_portile2 (2.5.1)
mini_portile2 (2.5.2)
net-ftp (~> 0.1)
minitest (5.14.4)
msgpack (1.4.2)
multi_json (1.15.0)
multipart-post (2.1.1)
net-ftp (0.1.2)
net-protocol
time
net-ldap (0.17.0)
net-protocol (0.1.0)
net-scp (3.0.0)
net-ssh (>= 2.6.5, < 7.0.0)
net-ssh (6.1.0)
nio4r (2.5.7)
nokogiri (1.11.3)
nokogiri (1.11.6)
mini_portile2 (~> 2.5.0)
racc (~> 1.4)
nokogumbo (2.0.4)
@ -428,7 +433,7 @@ GEM
pry-rails (0.3.9)
pry (>= 0.10.4)
public_suffix (4.0.6)
puma (5.3.0)
puma (5.3.2)
nio4r (~> 2.0)
pundit (2.1.0)
activesupport (>= 3.0.0)
@ -524,7 +529,7 @@ GEM
rspec-support (3.10.2)
rspec_junit_formatter (0.4.1)
rspec-core (>= 2, < 4, != 2.12.0)
rubocop (1.14.0)
rubocop (1.15.0)
parallel (~> 1.10)
parser (>= 3.0.0.0)
rainbow (>= 2.2.2, < 4.0)
@ -569,12 +574,12 @@ GEM
sidekiq (>= 3)
thwait
tilt (>= 1.4.0)
sidekiq-unique-jobs (7.0.9)
sidekiq-unique-jobs (7.0.11)
brpoplpush-redis_script (> 0.1.1, <= 2.0.0)
concurrent-ruby (~> 1.0, >= 1.0.5)
sidekiq (>= 5.0, < 7.0)
thor (>= 0.20, < 2.0)
simple-navigation (4.1.0)
simple-navigation (4.3.0)
activesupport (>= 2.3.2)
simple_form (5.1.0)
actionpack (>= 5.2)
@ -609,6 +614,7 @@ GEM
thwait (0.2.0)
e2mmap
tilt (2.0.10)
time (0.1.0)
tpm-key_attestation (0.9.0)
bindata (~> 2.4)
openssl-signature_algorithm (~> 0.4.0)
@ -646,11 +652,11 @@ GEM
safety_net_attestation (~> 0.4.0)
securecompare (~> 1.0)
tpm-key_attestation (~> 0.9.0)
webmock (3.12.2)
webmock (3.13.0)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
webpacker (5.3.0)
webpacker (5.4.0)
activesupport (>= 5.2)
rack-proxy (>= 0.6.1)
railties (>= 5.2)
@ -675,7 +681,7 @@ DEPENDENCIES
active_record_query_trace (~> 1.8)
addressable (~> 2.7)
annotate (~> 3.1)
aws-sdk-s3 (~> 1.94)
aws-sdk-s3 (~> 1.95)
better_errors (~> 2.9)
binding_of_caller (~> 1.0)
blurhash (~> 0.1)
@ -704,7 +710,7 @@ DEPENDENCIES
dotenv-rails (~> 2.7)
ed25519 (~> 1.2)
fabrication (~> 2.22)
faker (~> 2.17)
faker (~> 2.18)
fast_blank (~> 1.0)
fastimage
fog-core (<= 2.1.0)
@ -715,7 +721,7 @@ DEPENDENCIES
htmlentities (~> 4.3)
http (~> 4.4)
http_accept_language (~> 2.1)
httplog (~> 1.4.3)
httplog (~> 1.5.0)
i18n-tasks (~> 0.9)
idn-ruby
iso-639
@ -769,7 +775,7 @@ DEPENDENCIES
rspec-rails (~> 5.0)
rspec-sidekiq (~> 3.1)
rspec_junit_formatter (~> 0.4)
rubocop (~> 1.14)
rubocop (~> 1.15)
rubocop-rails (~> 2.10)
ruby-progressbar (~> 1.11)
sanitize (~> 5.2)
@ -778,7 +784,7 @@ DEPENDENCIES
sidekiq-bulk (~> 0.2.0)
sidekiq-scheduler (~> 3.0)
sidekiq-unique-jobs (~> 7.0)
simple-navigation (~> 4.1)
simple-navigation (~> 4.3)
simple_form (~> 5.1)
simplecov (~> 0.21)
sprockets (~> 3.7.2)
@ -791,7 +797,7 @@ DEPENDENCIES
twitter-text (~> 3.1.0)
tzinfo-data (~> 1.2021)
webauthn (~> 3.0.0.alpha1)
webmock (~> 3.12)
webpacker (~> 5.3)
webmock (~> 3.13)
webpacker (~> 5.4)
webpush (~> 0.3)
xorcist (~> 1.1)

View file

@ -82,7 +82,7 @@ Mastodon is **free, open-source software** licensed under **AGPLv3**.
You can open issues for bugs you've found or features you think are missing. You can also submit pull requests to this repository, or submit translations using Crowdin. To get started, take a look at [CONTRIBUTING.md](CONTRIBUTING.md). If your contributions are accepted into Mastodon, you can request to be paid through [our OpenCollective](https://opencollective.com/mastodon).
**IRC channel**: #mastodon on irc.freenode.net
**IRC channel**: #mastodon on irc.libera.chat
## License

View file

@ -29,7 +29,7 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController
)
else
ActivityPub::CollectionPresenter.new(
id: account_outbox_url(@account),
id: outbox_url,
type: :ordered,
size: @account.statuses_count,
first: outbox_url(page: true),
@ -47,11 +47,11 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController
end
def next_page
account_outbox_url(@account, page: true, max_id: @statuses.last.id) if @statuses.size == LIMIT
outbox_url(page: true, max_id: @statuses.last.id) if @statuses.size == LIMIT
end
def prev_page
account_outbox_url(@account, page: true, min_id: @statuses.first.id) unless @statuses.empty?
outbox_url(page: true, min_id: @statuses.first.id) unless @statuses.empty?
end
def set_statuses

View file

@ -3,12 +3,11 @@
class Api::V1::Emails::ConfirmationsController < Api::BaseController
before_action :doorkeeper_authorize!
before_action :require_user_owned_by_application!
before_action :require_user_not_confirmed!
def create
if !current_user.confirmed? && current_user.unconfirmed_email.present?
current_user.update!(email: params[:email]) if params.key?(:email)
current_user.resend_confirmation_instructions
end
current_user.update!(email: params[:email]) if params.key?(:email)
current_user.resend_confirmation_instructions
render_empty
end
@ -18,4 +17,8 @@ class Api::V1::Emails::ConfirmationsController < Api::BaseController
def require_user_owned_by_application!
render json: { error: 'This method is only available to the application the user originally signed-up with' }, status: :forbidden unless current_user && current_user.created_by_application_id == doorkeeper_token.application_id
end
def require_user_not_confirmed!
render json: { error: 'This method is only available while the e-mail is awaiting confirmation' }, status: :forbidden if current_user.confirmed? || current_user.unconfirmed_email.blank?
end
end

View file

@ -3,11 +3,16 @@
class CustomCssController < ApplicationController
skip_before_action :store_current_location
skip_before_action :require_functional!
skip_before_action :update_user_sign_in
skip_before_action :set_session_activity
skip_around_action :set_locale
before_action :set_cache_headers
def show
expires_in 3.minutes, public: true
request.session_options[:skip] = true
render plain: Setting.custom_css || '', content_type: 'text/css'
end
end

View file

@ -45,7 +45,7 @@ class MediaProxyController < ApplicationController
end
def lock_options
{ redis: Redis.current, key: "media_download:#{params[:id]}" }
{ redis: Redis.current, key: "media_download:#{params[:id]}", autorelease: 15.minutes.seconds }
end
def reject_media?

View file

@ -18,6 +18,7 @@ module SettingsHelper
en: 'English',
eo: 'Esperanto',
'es-AR': 'Español (Argentina)',
'es-MX': 'Español (México)',
es: 'Español',
et: 'Eesti',
eu: 'Euskara',

View file

@ -1,6 +1,6 @@
import React from 'react';
import PropTypes from 'prop-types';
import { defineMessages, injectIntl } from 'react-intl';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';
import Overlay from 'react-overlays/lib/Overlay';
import classNames from 'classnames';
@ -12,7 +12,6 @@ import { assetHost } from 'mastodon/utils/config';
const messages = defineMessages({
emoji: { id: 'emoji_button.label', defaultMessage: 'Insert emoji' },
emoji_search: { id: 'emoji_button.search', defaultMessage: 'Search...' },
emoji_not_found: { id: 'emoji_button.not_found', defaultMessage: 'No emojos!! (╯°□°)╯︵ ┻━┻' },
custom: { id: 'emoji_button.custom', defaultMessage: 'Custom' },
recent: { id: 'emoji_button.recent', defaultMessage: 'Frequently used' },
search_results: { id: 'emoji_button.search_results', defaultMessage: 'Search results' },
@ -28,9 +27,26 @@ const messages = defineMessages({
let EmojiPicker, Emoji; // load asynchronously
const backgroundImageFn = () => `${assetHost}/emoji/sheet_10.png`;
const listenerOptions = supportsPassiveEvents ? { passive: true } : false;
const backgroundImageFn = () => `${assetHost}/emoji/sheet_13.png`;
const notFoundFn = () => (
<div className='emoji-mart-no-results'>
<Emoji
emoji='sleuth_or_spy'
set='twitter'
size={32}
sheetSize={32}
backgroundImageFn={backgroundImageFn}
/>
<div className='emoji-mart-no-results-label'>
<FormattedMessage id='emoji_button.not_found' defaultMessage='No matching emojis found' />
</div>
</div>
);
class ModifierPickerMenu extends React.PureComponent {
static propTypes = {
@ -182,7 +198,6 @@ class EmojiPickerMenu extends React.PureComponent {
return {
search: intl.formatMessage(messages.emoji_search),
notfound: intl.formatMessage(messages.emoji_not_found),
categories: {
search: intl.formatMessage(messages.search_results),
recent: intl.formatMessage(messages.recent),
@ -263,7 +278,9 @@ class EmojiPickerMenu extends React.PureComponent {
recent={frequentlyUsedEmojis}
skin={skinTone}
showPreview={false}
showSkinTones={false}
backgroundImageFn={backgroundImageFn}
notFound={notFoundFn}
autoFocus
emojiTooltip
/>

View file

@ -7,29 +7,38 @@
const { unicodeToFilename } = require('./unicode_to_filename');
const { unicodeToUnifiedName } = require('./unicode_to_unified_name');
const emojiMap = require('./emoji_map.json');
const emojiMap = require('./emoji_map.json');
const { emojiIndex } = require('emoji-mart');
const { uncompress: emojiMartUncompress } = require('emoji-mart/dist/utils/data');
let data = require('emoji-mart/data/all.json');
if(data.compressed) {
data = emojiMartUncompress(data);
}
const emojiMartData = data;
const excluded = ['®', '©', '™'];
const skins = ['🏻', '🏼', '🏽', '🏾', '🏿'];
const skinTones = ['🏻', '🏼', '🏽', '🏾', '🏿'];
const shortcodeMap = {};
const shortCodesToEmojiData = {};
const emojisWithoutShortCodes = [];
Object.keys(emojiIndex.emojis).forEach(key => {
shortcodeMap[emojiIndex.emojis[key].native] = emojiIndex.emojis[key].id;
let emoji = emojiIndex.emojis[key];
// Emojis with skin tone modifiers are stored like this
if (Object.prototype.hasOwnProperty.call(emoji, '1')) {
emoji = emoji['1'];
}
shortcodeMap[emoji.native] = emoji.id;
});
const stripModifiers = unicode => {
skins.forEach(tone => {
skinTones.forEach(tone => {
unicode = unicode.replace(tone, '');
});
@ -64,13 +73,22 @@ Object.keys(emojiMap).forEach(key => {
if (!Array.isArray(shortCodesToEmojiData[shortcode])) {
shortCodesToEmojiData[shortcode] = [[]];
}
shortCodesToEmojiData[shortcode][0].push(filenameData);
}
});
Object.keys(emojiIndex.emojis).forEach(key => {
const { native } = emojiIndex.emojis[key];
let emoji = emojiIndex.emojis[key];
// Emojis with skin tone modifiers are stored like this
if (Object.prototype.hasOwnProperty.call(emoji, '1')) {
emoji = emoji['1'];
}
const { native } = emoji;
let { short_names, search, unified } = emojiMartData.emojis[key];
if (short_names[0] !== key) {
throw new Error('The compresser expects the first short_code to be the ' +
'key. It may need to be rewritten if the emoji change such that this ' +
@ -80,11 +98,16 @@ Object.keys(emojiIndex.emojis).forEach(key => {
short_names = short_names.slice(1); // first short name can be inferred from the key
const searchData = [native, short_names, search];
if (unicodeToUnifiedName(native) !== unified) {
// unified name can't be derived from unicodeToUnifiedName
searchData.push(unified);
}
if (!Array.isArray(shortCodesToEmojiData[key])) {
shortCodesToEmojiData[key] = [[]];
}
shortCodesToEmojiData[key].push(searchData);
});

View file

@ -2,16 +2,20 @@ function padLeft(str, num) {
while (str.length < num) {
str = '0' + str;
}
return str;
}
exports.unicodeToUnifiedName = (str) => {
let output = '';
for (let i = 0; i < str.length; i += 2) {
if (i > 0) {
output += '-';
}
output += padLeft(str.codePointAt(i).toString(16).toUpperCase(), 4);
}
return output;
};

View file

@ -361,9 +361,9 @@ class UI extends React.PureComponent {
this.props.dispatch(closeOnboarding());
}
this.props.dispatch(fetchMarkers());
this.props.dispatch(expandHomeTimeline());
this.props.dispatch(expandNotifications());
setTimeout(() => this.props.dispatch(fetchMarkers()), 500);
setTimeout(() => this.props.dispatch(fetchFilters()), 500);
this.hotkeys.__mousetrap__.stopCallback = (e, element) => {

View file

@ -142,7 +142,7 @@
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.recent": "Frequently used",

View file

@ -31,7 +31,7 @@
"account.moved_to": "Uživatel {name} se přesunul na:",
"account.mute": "Skrýt @{name}",
"account.mute_notifications": "Skrýt oznámení od @{name}",
"account.muted": "Účet skryt",
"account.muted": "Skryt",
"account.never_active": "Nikdy",
"account.posts": "Příspěvky",
"account.posts_with_replies": "Příspěvky a odpovědi",

View file

@ -1074,10 +1074,6 @@
"defaultMessage": "Search...",
"id": "emoji_button.search"
},
{
"defaultMessage": "No emojos!! (╯°□°)╯︵ ┻━┻",
"id": "emoji_button.not_found"
},
{
"defaultMessage": "Custom",
"id": "emoji_button.custom"
@ -1121,6 +1117,10 @@
{
"defaultMessage": "Flags",
"id": "emoji_button.flags"
},
{
"defaultMessage": "No matching emojis found",
"id": "emoji_button.not_found"
}
],
"path": "app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.json"

View file

@ -142,7 +142,7 @@
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.recent": "Frequently used",

View file

@ -142,7 +142,7 @@
"emoji_button.food": "Comida y bebida",
"emoji_button.label": "Insertar emoji",
"emoji_button.nature": "Naturaleza",
"emoji_button.not_found": "¡¡No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No se encontraron emojis coincidentes",
"emoji_button.objects": "Objetos",
"emoji_button.people": "Gente",
"emoji_button.recent": "Usados frecuentemente",

View file

@ -22,7 +22,7 @@
"account.follows.empty": "Este usuario todavía no sigue a nadie.",
"account.follows_you": "Te sigue",
"account.hide_reblogs": "Ocultar retoots de @{name}",
"account.joined": "Joined {date}",
"account.joined": "Se unió el {date}",
"account.last_status": "Última actividad",
"account.link_verified_on": "El proprietario de este link fue comprobado el {date}",
"account.locked_info": "El estado de privacidad de esta cuenta està configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.",
@ -98,7 +98,7 @@
"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.publish": "Tootear",
"compose_form.publish_loud": "{publish}!",
"compose_form.publish_loud": "¡{publish}!",
"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",
@ -160,11 +160,11 @@
"empty_column.domain_blocks": "Todavía no hay dominios ocultos.",
"empty_column.favourited_statuses": "Aún no tienes toots preferidos. Cuando marques uno como favorito, aparecerá aquí.",
"empty_column.favourites": "Nadie ha marcado este toot como preferido. Cuando alguien lo haga, aparecerá aquí.",
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
"empty_column.follow_recommendations": "Parece que no se ha podido generar ninguna sugerencia para ti. Puedes probar a buscar a gente que quizá conozcas o explorar los hashtags que están en tendencia.",
"empty_column.follow_requests": "No tienes ninguna petición de seguidor. Cuando recibas una, se mostrará aquí.",
"empty_column.hashtag": "No hay nada en este hashtag aún.",
"empty_column.home": "No estás siguiendo a nadie aún. Visita {public} o haz búsquedas para empezar y conocer gente nueva.",
"empty_column.home.suggestions": "See some suggestions",
"empty_column.home.suggestions": "Ver algunas sugerencias",
"empty_column.list": "No hay nada en esta lista aún. Cuando miembros de esta lista publiquen nuevos estatus, estos aparecerán qui.",
"empty_column.lists": "No tienes ninguna lista. cuando crees una, se mostrará aquí.",
"empty_column.mutes": "Aún no has silenciado a ningún usuario.",
@ -177,8 +177,8 @@
"errors.unexpected_crash.copy_stacktrace": "Copiar el seguimiento de pila en el portapapeles",
"errors.unexpected_crash.report_issue": "Informar de un problema/error",
"follow_recommendations.done": "Hecho",
"follow_recommendations.heading": "¡Sigue a la gente cuyas publicaciones te gustaría ver! Aquí tienes algunas sugerencias.",
"follow_recommendations.lead": "Los mensajes de las personas que sigues aparecerán en orden cronológico en el Inicio. No tengas miedo de cometer errores, ¡puedes dejar de seguir a la gente fácilmente en cualquier momento!",
"follow_recommendations.heading": "¡Sigue a gente que publique cosas que te gusten! Aquí tienes algunas sugerencias.",
"follow_recommendations.lead": "Las publicaciones de la gente a la que sigas aparecerán ordenadas cronológicamente en Inicio. No tengas miedo de cometer errores, ¡puedes dejarles de seguir en cualquier momento con la misma facilidad!",
"follow_request.authorize": "Autorizar",
"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.",
@ -335,7 +335,7 @@
"picture_in_picture.restore": "Restaurar",
"poll.closed": "Cerrada",
"poll.refresh": "Actualizar",
"poll.total_people": "{count, plural, one {# person} other {# people}}",
"poll.total_people": "{count, plural, one {# persona} other {# personas}}",
"poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
"poll.vote": "Votar",
"poll.voted": "Has votado a favor de esta respuesta",
@ -353,11 +353,11 @@
"refresh": "Actualizar",
"regeneration_indicator.label": "Cargando…",
"regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!",
"relative_time.days": "{number}d",
"relative_time.hours": "{number}h",
"relative_time.days": "{number} d",
"relative_time.hours": "{number} h",
"relative_time.just_now": "ahora",
"relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s",
"relative_time.minutes": "{number} m",
"relative_time.seconds": "{number} s",
"relative_time.today": "hoy",
"reply_indicator.cancel": "Cancelar",
"report.forward": "Reenviar a {target}",
@ -439,9 +439,9 @@
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} hablando",
"trends.trending_now": "Tendencia ahora",
"ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.",
"units.short.billion": "{count}B",
"units.short.million": "{count}M",
"units.short.thousand": "{count}K",
"units.short.billion": "{count} MM",
"units.short.million": "{count} M",
"units.short.thousand": "{count} K",
"upload_area.title": "Arrastra y suelta para subir",
"upload_button.label": "Subir multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Límite de subida de archivos excedido.",

View file

@ -98,7 +98,7 @@
"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.publish": "Tootear",
"compose_form.publish_loud": "{publish}!",
"compose_form.publish_loud": "¡{publish}!",
"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",
@ -335,7 +335,7 @@
"picture_in_picture.restore": "Restaurar",
"poll.closed": "Cerrada",
"poll.refresh": "Actualizar",
"poll.total_people": "{count, plural, one {# person} other {# people}}",
"poll.total_people": "{count, plural, one {# persona} other {# personas}}",
"poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
"poll.vote": "Votar",
"poll.voted": "Has votado a favor de esta respuesta",
@ -353,11 +353,11 @@
"refresh": "Actualizar",
"regeneration_indicator.label": "Cargando…",
"regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!",
"relative_time.days": "{number}d",
"relative_time.hours": "{number}h",
"relative_time.days": "{number} d",
"relative_time.hours": "{number} h",
"relative_time.just_now": "ahora",
"relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s",
"relative_time.minutes": "{number} m",
"relative_time.seconds": "{number} s",
"relative_time.today": "hoy",
"reply_indicator.cancel": "Cancelar",
"report.forward": "Reenviar a {target}",
@ -439,9 +439,9 @@
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} hablando",
"trends.trending_now": "Tendencia ahora",
"ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.",
"units.short.billion": "{count}B",
"units.short.million": "{count}M",
"units.short.thousand": "{count}K",
"units.short.billion": "{count} MM",
"units.short.million": "{count} M",
"units.short.thousand": "{count} K",
"upload_area.title": "Arrastra y suelta para subir",
"upload_button.label": "Subir multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Límite de subida de archivos excedido.",

View file

@ -102,8 +102,8 @@
"compose_form.sensitive.hide": "{count, plural, one {Cuir comharra gu bheil am meadhan frionasach} two {Cuir comharra gu bheil na meadhanan frionasach} few {Cuir comharra gu bheil na meadhanan frionasach} other {Cuir comharra gu bheil na meadhanan frionasach}}",
"compose_form.sensitive.marked": "{count, plural, one {Tha comharra ris a mheadhan gu bheil e frionasach} two {Tha comharra ris na meadhanan gu bheil iad frionasach} few {Tha comharra ris na meadhanan gu bheil iad frionasach} other {Tha comharra ris na meadhanan gu bheil iad frionasach}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Chan eil comharra ris a mheadhan gun robh e frionasach} two {Chan eil comharra ris na meadhanan gun robh iad frionasach} few {Chan eil comharra ris na meadhanan gun robh iad frionasach} other {Chan eil comharra ris na meadhanan gun robh iad frionasach}}",
"compose_form.spoiler.marked": "Tha an teacsa falaichte air cùlaibh rabhaidh",
"compose_form.spoiler.unmarked": "Chan eil an teacsa flaichte",
"compose_form.spoiler.marked": "Thoir air falbh an rabhadh susbainte",
"compose_form.spoiler.unmarked": "Cuir rabhadh susbainte ris",
"compose_form.spoiler_placeholder": "Sgrìobh an rabhadh agad an-seo",
"confirmation_modal.cancel": "Sguir dheth",
"confirmations.block.block_and_report": "Bac ⁊ dèan gearan",
@ -142,7 +142,7 @@
"emoji_button.food": "Biadh ⁊ deoch",
"emoji_button.label": "Cuir a-steach Emoji",
"emoji_button.nature": "An nàdar",
"emoji_button.not_found": "Chan eil Emoji gnàthaichte ann!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "Cha deach Emoji iomchaidh a lorg",
"emoji_button.objects": "Nithean",
"emoji_button.people": "Daoine",
"emoji_button.recent": "Air a chleachdadh o chionn ghoirid",
@ -163,12 +163,12 @@
"empty_column.follow_recommendations": "Chan urrainn dhuinn dad a mholadh dhut. Cleachd gleus an luirg feuch an lorg thu daoine air a bheil thu eòlach no rùraich na tagaichean-hais a tha a treandadh.",
"empty_column.follow_requests": "Chan eil iarrtas air leantainn agad fhathast. Nuair gheibh thu fear, nochdaidh e an-seo.",
"empty_column.hashtag": "Chan eil dad san taga hais seo fhathast.",
"empty_column.home": "Tha an loidhne-ama dachaigh agad falamh! Tadhail air {public} no dèan lorg airson toiseach-tòiseachaidh a dhèanamh is tachairt ri càch.",
"empty_column.home": "Tha an loidhne-ama dachaigh agad falamh! Lean air barrachd dhaoine gus a lìonadh. {suggestions}",
"empty_column.home.suggestions": "Faic moladh no dhà",
"empty_column.list": "Chan eil dad air an liosta seo fhathast. Nuair a phostaicheas buill a tha air an liosta seo postaichean ùra, nochdaidh iad an-seo.",
"empty_column.lists": "Chan eil liosta agad fhathast. Nuair chruthaicheas tu tè, nochdaidh i an-seo.",
"empty_column.mutes": "Cha do mhùch thu cleachdaiche sam bith fhathast.",
"empty_column.notifications": "Cha d fhuair thu brath sam bith fhathast. Dèan eadar-ghnìomh le càch airson tòiseachadh air còmhradh.",
"empty_column.notifications": "Cha d fhuair thu brath sam bith fhathast. Nuair a ghabhas càch eadar-ghnìomh leat, chì thu an-seo e.",
"empty_column.public": "Chan eil dad an-seo! Sgrìobh rudeigin gu poblach no lean air càch o fhrithealaichean eile a làimh airson seo a lìonadh",
"error.unexpected_crash.explanation": "Air sàilleibh buga sa chòd againn no duilgheadas co-chòrdalachd leis a bhrabhsair, chan urrainn dhuinn an duilleag seo a shealltainn mar bu chòir.",
"error.unexpected_crash.explanation_addons": "Cha b urrainn dhuinn an duilleag seo a shealltainn mar bu chòir. Tha sinn an dùil gu do dhadhbharaich tuilleadan a bhrabhsair no inneal eadar-theangachaidh fèin-obrachail a mhearachd.",
@ -208,40 +208,40 @@
"intervals.full.days": "{number, plural, one {# latha} two {# latha} few {# làithean} other {# latha}}",
"intervals.full.hours": "{number, plural, one {# uair a thìde} two {# uair a thìde} few {# uairean a thìde} other {# uair a thìde}}",
"intervals.full.minutes": "{number, plural, one {# mhionaid} two {# mhionaid} few {# mionaidean} other {# mionaid}}",
"keyboard_shortcuts.back": "a sheòladh air ais",
"keyboard_shortcuts.blocked": "a dhfhosgladh liosta nan cleachdaichean bacte",
"keyboard_shortcuts.boost": "ga bhrosnachadh",
"keyboard_shortcuts.column": "a chur am fòcas air post air fear dhe na colbhan",
"keyboard_shortcuts.compose": "a chur am fòcas air raon teacsa an sgrìobhaidh",
"keyboard_shortcuts.back": "Seòl air ais",
"keyboard_shortcuts.blocked": "Fosgail liosta nan cleachdaichean bacte",
"keyboard_shortcuts.boost": "Brosnaich post",
"keyboard_shortcuts.column": "Cuir am fòcas air colbh",
"keyboard_shortcuts.compose": "Cuir am fòcas air raon teacsa an sgrìobhaidh",
"keyboard_shortcuts.description": "Tuairisgeul",
"keyboard_shortcuts.direct": "a dhfhosgladh colbh nan teachdaireachdan dìreach",
"keyboard_shortcuts.down": "a ghluasad sìos air an liosta",
"keyboard_shortcuts.enter": "a dhfhosgladh a phuist",
"keyboard_shortcuts.favourite": "ga chur ris na h-annsachdan",
"keyboard_shortcuts.favourites": "a dhfhosgladh liosta nan annsachdan",
"keyboard_shortcuts.federated": "a dhfhosgladh na loidhne-ama co-naisgte",
"keyboard_shortcuts.direct": "Fosgail colbh nan teachdaireachdan dìreach",
"keyboard_shortcuts.down": "Gluais sìos air an liosta",
"keyboard_shortcuts.enter": "Fosgail post",
"keyboard_shortcuts.favourite": "Cuir post ris na h-annsachdan",
"keyboard_shortcuts.favourites": "Fosgail liosta nan annsachdan",
"keyboard_shortcuts.federated": "Fosgail an loidhne-ama cho-naisgte",
"keyboard_shortcuts.heading": "Ath-ghoiridean a mheur-chlàir",
"keyboard_shortcuts.home": "a dhfhosgladh loidhne-ama na dachaigh",
"keyboard_shortcuts.home": "Fosgail loidhne-ama na dachaigh",
"keyboard_shortcuts.hotkey": "Grad-iuchair",
"keyboard_shortcuts.legend": "a shealltainn a chlàir-mhìneachaidh seo",
"keyboard_shortcuts.local": "a dhfhosgladh na loidhne-ama ionadail",
"keyboard_shortcuts.mention": "a thoirt iomradh dhan ùghdar",
"keyboard_shortcuts.muted": "a dhfhosgladh liosta nan cleachdaichean mùchte",
"keyboard_shortcuts.my_profile": "a dhfhosgladh na pròifil agad",
"keyboard_shortcuts.notifications": "a dhfhosgladh colbh nam brathan",
"keyboard_shortcuts.open_media": "a dhfhosgladh nam meadhanan",
"keyboard_shortcuts.pinned": "a dhfhosgladh liosta na postaichean prìnichte",
"keyboard_shortcuts.profile": "a dhfhosgladh pròifil an ùghdair",
"keyboard_shortcuts.reply": "a fhreagairt",
"keyboard_shortcuts.requests": "a dhfhosgladh liosta nan iarrtasan leantainn",
"keyboard_shortcuts.search": "a chur am fòcas air a lorg",
"keyboard_shortcuts.spoilers": "a shealltainn/fhalach raon an rabhaidh susbainte",
"keyboard_shortcuts.start": "a dhfhosgladh colbh “dèan toiseach-tòiseachaidh”",
"keyboard_shortcuts.toggle_hidden": "a shealltainn/fhalach teacsa fo rabhadh susbainte",
"keyboard_shortcuts.toggle_sensitivity": "a shealltainn/fhalach meadhanan",
"keyboard_shortcuts.toot": "a thòiseachadh air post ùr",
"keyboard_shortcuts.unfocus": "a thoirt am fòcas far raon teacsa an sgrìobhaidh/an luirg",
"keyboard_shortcuts.up": "a ghluasad suas air an liosta",
"keyboard_shortcuts.legend": "Seall an clàr-mìneachaidh seo",
"keyboard_shortcuts.local": "Fosgail an loidhne-ama ionadail",
"keyboard_shortcuts.mention": "Thoir iomradh dhan ùghdar",
"keyboard_shortcuts.muted": "Fosgail liosta nan cleachdaichean mùchte",
"keyboard_shortcuts.my_profile": "Fosgail a phròifil agad",
"keyboard_shortcuts.notifications": "Fosgail colbh nam brathan",
"keyboard_shortcuts.open_media": "Fosgail meadhan",
"keyboard_shortcuts.pinned": "Fosgail liosta nam postaichean prìnichte",
"keyboard_shortcuts.profile": "Fosgail pròifil an ùghdair",
"keyboard_shortcuts.reply": "Freagair do phost",
"keyboard_shortcuts.requests": "Fosgail liosta nan iarrtasan leantainn",
"keyboard_shortcuts.search": "Cuir am fòcas air a bhàr-luirg",
"keyboard_shortcuts.spoilers": "Seall/Falaich raon an rabhaidh susbainte",
"keyboard_shortcuts.start": "Fosgail an colbh “dèan toiseach-tòiseachaidh”",
"keyboard_shortcuts.toggle_hidden": "Seall/Falaich an teacsa fo rabhadh susbainte",
"keyboard_shortcuts.toggle_sensitivity": "Seall/Falaich na meadhanan",
"keyboard_shortcuts.toot": "Tòisich air post ùr",
"keyboard_shortcuts.unfocus": "Thoir am fòcas far raon teacsa an sgrìobhaidh/an luirg",
"keyboard_shortcuts.up": "Gluais suas air an liosta",
"lightbox.close": "Dùin",
"lightbox.compress": "Co-theannaich bogsa sealladh an deilbh",
"lightbox.expand": "Leudaich bogsa sealladh an deilbh",
@ -262,7 +262,7 @@
"lists.subheading": "Na liostaichean agad",
"load_pending": "{count, plural, one {# nì ùr} two {# nì ùr} few {# nithean ùra} other {# nì ùr}}",
"loading_indicator.label": "Ga luchdadh…",
"media_gallery.toggle_visible": "Falaich {number, plural, 1 {an dealbh} one {na dealbhan} two {na dealbhan} few {na dealbhan} other {na dealbhan}}",
"media_gallery.toggle_visible": "{number, plural, 1 {Falaich an dealbh} one {Falaich na dealbhan} two {Falaich na dealbhan} few {Falaich na dealbhan} other {Falaich na dealbhan}}",
"missing_indicator.label": "Cha deach càil a lorg",
"missing_indicator.sublabel": "Cha deach an goireas a lorg",
"mute_modal.duration": "Faide",

View file

@ -51,7 +51,7 @@
"alert.rate_limited.title": "Forgalomkorlátozás",
"alert.unexpected.message": "Váratlan hiba történt.",
"alert.unexpected.title": "Hoppá!",
"announcement.announcement": "Bejelentés",
"announcement.announcement": "Közlemény",
"autosuggest_hashtag.per_week": "{count} hetente",
"boost_modal.combo": "Hogy átugord ezt következő alkalommal, használd {combo}",
"bundle_column_error.body": "Valami hiba történt a komponens betöltése közben.",

View file

@ -142,7 +142,7 @@
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insertar emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.recent": "Frequently used",

View file

@ -5,7 +5,7 @@
"account.badges.group": "Gruppo",
"account.block": "Blocca @{name}",
"account.block_domain": "Blocca dominio {domain}",
"account.blocked": "Bloccat*",
"account.blocked": "Bloccato",
"account.browse_more_on_origin_server": "Sfoglia ulteriormente sul profilo originale",
"account.cancel_follow_request": "Annulla richiesta di seguire",
"account.direct": "Messaggio diretto a @{name}",

View file

@ -142,7 +142,7 @@
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.recent": "Frequently used",

View file

@ -85,9 +85,9 @@
"community.column_settings.local_only": "로컬만",
"community.column_settings.media_only": "미디어만",
"community.column_settings.remote_only": "원격만",
"compose_form.direct_message_warning": "이 은 멘션 된 유저들에게만 보여집니다.",
"compose_form.direct_message_warning": "이 게시물은 멘션 된 유저들에게만 보여집니다.",
"compose_form.direct_message_warning_learn_more": "더 알아보기",
"compose_form.hashtag_warning": "이 툿은 어떤 해시태그로도 검색 되지 않습니다. 전체공개로 게시 된 툿만이 해시태그로 검색 될 수 있습니다.",
"compose_form.hashtag_warning": "이 게시물은 어떤 해시태그로도 검색 되지 않습니다. 전체공개로 게시 된 게시물만이 해시태그로 검색 될 수 있습니다.",
"compose_form.lock_disclaimer": "이 계정은 {locked}로 설정 되어 있지 않습니다. 누구나 이 계정을 팔로우 할 수 있으며, 팔로워 공개의 포스팅을 볼 수 있습니다.",
"compose_form.lock_disclaimer.lock": "비공개",
"compose_form.placeholder": "지금 무엇을 하고 있나요?",

View file

@ -1,8 +1,8 @@
{
"account.account_note_header": "Note",
"account.account_note_header": "Pastaba",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot",
"account.badges.group": "Group",
"account.badges.group": "Grupė",
"account.block": "Block @{name}",
"account.block_domain": "Hide everything from {domain}",
"account.blocked": "Blocked",
@ -14,7 +14,7 @@
"account.edit_profile": "Edit profile",
"account.enable_notifications": "Notify me when @{name} posts",
"account.endorse": "Feature on profile",
"account.follow": "Follow",
"account.follow": "Sekti",
"account.followers": "Followers",
"account.followers.empty": "No one follows this user yet.",
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
@ -31,8 +31,8 @@
"account.moved_to": "{name} has moved to:",
"account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted",
"account.never_active": "Never",
"account.muted": "Užtildytas",
"account.never_active": "Niekada",
"account.posts": "Toots",
"account.posts_with_replies": "Toots and replies",
"account.report": "Report @{name}",
@ -43,20 +43,20 @@
"account.unblock": "Unblock @{name}",
"account.unblock_domain": "Unhide {domain}",
"account.unendorse": "Don't feature on profile",
"account.unfollow": "Unfollow",
"account.unfollow": "Nebesekti",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account_note.placeholder": "Click to add a note",
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
"alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"alert.unexpected.title": "Oi!",
"announcement.announcement": "Announcement",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",
"bundle_column_error.retry": "Try again",
"bundle_column_error.title": "Network error",
"bundle_column_error.title": "Tinklo klaida",
"bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Try again",
@ -66,22 +66,22 @@
"column.direct": "Direct messages",
"column.directory": "Browse profiles",
"column.domain_blocks": "Hidden domains",
"column.favourites": "Favourites",
"column.favourites": "Mėgstamiausi",
"column.follow_requests": "Follow requests",
"column.home": "Home",
"column.lists": "Lists",
"column.mutes": "Muted users",
"column.lists": "Sąrašai",
"column.mutes": "Užtildyti vartotojai",
"column.notifications": "Notifications",
"column.pins": "Pinned toot",
"column.public": "Federated timeline",
"column_back_button.label": "Back",
"column_header.hide_settings": "Hide settings",
"column_back_button.label": "Atgal",
"column_header.hide_settings": "Slėpti nustatymus",
"column_header.moveLeft_settings": "Move column to the left",
"column_header.moveRight_settings": "Move column to the right",
"column_header.pin": "Pin",
"column_header.show_settings": "Show settings",
"column_header.unpin": "Unpin",
"column_subheading.settings": "Settings",
"column_header.pin": "Prisegti",
"column_header.show_settings": "Rodyti nustatymus",
"column_header.unpin": "Atsegti",
"column_subheading.settings": "Nustatymai",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only",
@ -142,7 +142,7 @@
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.recent": "Frequently used",

View file

@ -142,7 +142,7 @@
"emoji_button.food": "Храна &amp; Пијалаци",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Природа",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Објекти",
"emoji_button.people": "Луѓе",
"emoji_button.recent": "Најчесто користени",

View file

@ -22,7 +22,7 @@
"account.follows.empty": "ഈ ഉപയോക്താവ് ആരേയും ഇതുവരെ പിന്തുടരുന്നില്ല.",
"account.follows_you": "നിങ്ങളെ പിന്തുടരുന്നു",
"account.hide_reblogs": "@{name} ബൂസ്റ്റ് ചെയ്തവ മറയ്കുക",
"account.joined": "Joined {date}",
"account.joined": "{date} ൽ ചേർന്നു",
"account.last_status": "അവസാനം കണ്ടത്",
"account.link_verified_on": "ഈ ലിങ്കിന്റെ ഉടമസ്തത {date} ഇൽ ഉറപ്പാക്കിയതാണ്",
"account.locked_info": "ഈ അംഗത്വത്തിന്റെ സ്വകാര്യതാ നിലപാട് അനുസരിച്ച് പിന്തുടരുന്നവരെ തിരഞ്ഞെടുക്കാനുള്ള വിവേചനാധികാരം ഉടമസ്ഥനിൽ നിഷിപ്തമായിരിക്കുന്നു.",
@ -33,8 +33,8 @@
"account.mute_notifications": "@{name} യിൽ നിന്നുള്ള അറിയിപ്പുകൾ നിശബ്ദമാക്കുക",
"account.muted": "നിശ്ശബ്ദമാക്കിയിരിക്കുന്നു",
"account.never_active": "ഒരിക്കലും ഇല്ല",
"account.posts": "ടൂട്ടുകൾ",
"account.posts_with_replies": "ടൂട്ടുകളും മറുപടികളും",
"account.posts": "പോസ്റ്റുകൾ",
"account.posts_with_replies": "പോസ്റ്റുകളും മറുപടികളും",
"account.report": "റിപ്പോർട്ട് ചെയ്യുക @{name}",
"account.requested": "അനുവാദത്തിനായി കാത്തിരിക്കുന്നു. പിന്തുടരാനുള്ള അപേക്ഷ റദ്ദാക്കുവാൻ ഞെക്കുക",
"account.share": "@{name} ന്റെ പ്രൊഫൈൽ പങ്കിടുക",
@ -75,7 +75,7 @@
"column.pins": "ഉറപ്പിച്ചു നിറുത്തിയിരിക്കുന്ന ടൂട്ടുകൾ",
"column.public": "സംയുക്തമായ സമയരേഖ",
"column_back_button.label": "പുറകിലേക്ക്",
"column_header.hide_settings": "സജ്ജീകരണങ്ങള്‍ മറയ്ക്കുക",
"column_header.hide_settings": "ക്രമീകരണങ്ങൾ മറയ്ക്കുക",
"column_header.moveLeft_settings": "എഴുത്തുപംക്തി ഇടത്തോട്ട് മാറ്റുക",
"column_header.moveRight_settings": "എഴുത്തുപംക്തി വലത്തോട്ട് മാറ്റുക",
"column_header.pin": "ഉറപ്പിച്ചു നിറുത്തുക",
@ -398,7 +398,7 @@
"status.mute": "@{name}-നെ നിശ്ശബ്ദമാക്കുക",
"status.mute_conversation": "Mute conversation",
"status.open": "Expand this status",
"status.pin": "Pin on profile",
"status.pin": "പ്രൊഫൈലിൽ പിൻ ചെയ്യൂ",
"status.pinned": "Pinned toot",
"status.read_more": "കൂടുതൽ വായിക്കുക",
"status.reblog": "ബൂസ്റ്റ്",
@ -422,7 +422,7 @@
"status.unpin": "Unpin from profile",
"suggestions.dismiss": "നിർദ്ദേശം ഒഴിവാക്കൂ",
"suggestions.header": "നിങ്ങൾക്ക് താൽപ്പര്യമുണ്ടാകാം…",
"tabs_bar.federated_timeline": "സംയുക്തമാക്കിയ",
"tabs_bar.federated_timeline": "സംയുക്തമായ",
"tabs_bar.home": "ഹോം",
"tabs_bar.local_timeline": "പ്രാദേശികം",
"tabs_bar.notifications": "അറിയിപ്പുകൾ",

View file

@ -142,7 +142,7 @@
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.recent": "Frequently used",

View file

@ -22,7 +22,7 @@
"account.follows.empty": "Deze gebruiker volgt nog niemand.",
"account.follows_you": "Volgt jou",
"account.hide_reblogs": "Boosts van @{name} verbergen",
"account.joined": "Joined {date}",
"account.joined": "Geregistreerd in {date}",
"account.last_status": "Laatst actief",
"account.link_verified_on": "Eigendom van deze link is gecontroleerd op {date}",
"account.locked_info": "De privacystatus van dit account is op besloten gezet. De eigenaar bepaalt handmatig wie hen kan volgen.",
@ -160,7 +160,7 @@
"empty_column.domain_blocks": "Er zijn nog geen geblokkeerde domeinen.",
"empty_column.favourited_statuses": "Jij hebt nog geen favoriete toots. Wanneer je er een aan jouw favorieten toevoegt, valt deze hier te zien.",
"empty_column.favourites": "Niemand heeft deze toot nog aan hun favorieten toegevoegd. Wanneer iemand dit doet, valt dat hier te zien.",
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
"empty_column.follow_recommendations": "Het lijkt er op dat er geen aanbevelingen voor jou aangemaakt kunnen worden. Je kunt proberen te zoeken naar mensen die je wellicht kent, zoeken op hashtags, de lokale en globale tijdlijnen bekijken of de gebruikersgids doorbladeren.",
"empty_column.follow_requests": "Jij hebt nog enkel volgverzoek ontvangen. Wanneer je er eentje ontvangt, valt dat hier te zien.",
"empty_column.hashtag": "Er is nog niks te vinden onder deze hashtag.",
"empty_column.home": "Deze tijdlijn is leeg! Volg meer mensen om het te vullen. {suggestions}",
@ -262,7 +262,7 @@
"lists.subheading": "Jouw lijsten",
"load_pending": "{count, plural, one {# nieuw item} other {# nieuwe items}}",
"loading_indicator.label": "Laden…",
"media_gallery.toggle_visible": "Media verbergen",
"media_gallery.toggle_visible": "{number, plural, one {afbeelding verbergen} other {afbeeldingen verbergen}}",
"missing_indicator.label": "Niet gevonden",
"missing_indicator.sublabel": "Deze hulpbron kan niet gevonden worden",
"mute_modal.duration": "Duur",

View file

@ -142,7 +142,7 @@
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.recent": "Frequently used",

View file

@ -1,5 +1,5 @@
{
"account.account_note_header": "A tua nota para @{name}",
"account.account_note_header": "Nota",
"account.add_or_remove_from_list": "Adicionar ou remover das listas",
"account.badges.bot": "Robô",
"account.badges.group": "Grupo",
@ -46,7 +46,7 @@
"account.unfollow": "Deixar de seguir",
"account.unmute": "Não silenciar @{name}",
"account.unmute_notifications": "Deixar de silenciar @{name}",
"account_note.placeholder": "Nenhum comentário fornecido",
"account_note.placeholder": "Clique para adicionar nota",
"alert.rate_limited.message": "Volte a tentar depois das {retry_time, time, medium}.",
"alert.rate_limited.title": "Limite de tentativas",
"alert.unexpected.message": "Ocorreu um erro inesperado.",

View file

@ -142,7 +142,7 @@
"emoji_button.food": "ආහාර සහ පාන",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "මිනිසුන්",
"emoji_button.recent": "නිතර භාවිතා වූ",

View file

@ -27,7 +27,7 @@
"account.link_verified_on": "Ägarskap för detta konto kontrollerades den {date}",
"account.locked_info": "Detta konto har låst integritetsstatus. Ägaren väljer manuellt vem som kan följa.",
"account.media": "Media",
"account.mention": "Nämna @{name}",
"account.mention": "Nämn @{name}",
"account.moved_to": "{name} har flyttat till:",
"account.mute": "Tysta @{name}",
"account.mute_notifications": "Stäng av notifieringar från @{name}",
@ -90,7 +90,7 @@
"compose_form.hashtag_warning": "Denna toot kommer inte att visas under någon hashtag eftersom den är onoterad. Endast offentliga toots kan sökas med hashtag.",
"compose_form.lock_disclaimer": "Ditt konto är inte {locked}. Vem som helst kan följa dig för att se dina inlägg som endast är för följare.",
"compose_form.lock_disclaimer.lock": "låst",
"compose_form.placeholder": "Vad funderar du på?",
"compose_form.placeholder": "Vad tänker du på?",
"compose_form.poll.add_option": "Lägg till ett val",
"compose_form.poll.duration": "Varaktighet för omröstning",
"compose_form.poll.option_placeholder": "Val {number}",
@ -105,7 +105,7 @@
"compose_form.spoiler.marked": "Texten är dold bakom en varning",
"compose_form.spoiler.unmarked": "Texten är inte dold",
"compose_form.spoiler_placeholder": "Skriv din varning här",
"confirmation_modal.cancel": "Ångra",
"confirmation_modal.cancel": "Avbryt",
"confirmations.block.block_and_report": "Blockera & rapportera",
"confirmations.block.confirm": "Blockera",
"confirmations.block.message": "Är du säker på att du vill blockera {name}?",
@ -128,7 +128,7 @@
"confirmations.unfollow.message": "Är du säker på att du vill avfölja {name}?",
"conversation.delete": "Radera konversation",
"conversation.mark_as_read": "Markera som läst",
"conversation.open": "Se konversation",
"conversation.open": "Visa konversation",
"conversation.with": "Med {names}",
"directory.federated": "Från känt servernätverk",
"directory.local": "Endast från {domain}",
@ -344,7 +344,7 @@
"privacy.change": "Justera sekretess",
"privacy.direct.long": "Skicka endast till nämnda användare",
"privacy.direct.short": "Direkt",
"privacy.private.long": "Skicka endast till följare",
"privacy.private.long": "Endast synligt för följare",
"privacy.private.short": "Endast följare",
"privacy.public.long": "Skicka till publik tidslinje",
"privacy.public.short": "Publik",
@ -457,7 +457,7 @@
"upload_modal.choose_image": "Välj bild",
"upload_modal.description_placeholder": "En snabb brun räv hoppar över den lata hunden",
"upload_modal.detect_text": "Upptäck bildens text",
"upload_modal.edit_media": "Redigera meida",
"upload_modal.edit_media": "Redigera media",
"upload_modal.hint": "Klicka eller dra cirkeln på förhandstitten för att välja den fokusering som alltid kommer synas på alla miniatyrer.",
"upload_modal.preparing_ocr": "Förbereder OCR…",
"upload_modal.preview_label": "Förhandstitt ({ratio})",

View file

@ -142,7 +142,7 @@
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.recent": "Frequently used",

View file

@ -142,7 +142,7 @@
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.recent": "Frequently used",

View file

@ -121,7 +121,7 @@
"confirmations.mute.explanation": "นี่จะซ่อนโพสต์จากเขาและโพสต์ที่กล่าวถึงเขา แต่จะยังอนุญาตให้เขาเห็นโพสต์ของคุณและติดตามคุณ",
"confirmations.mute.message": "คุณแน่ใจหรือไม่ว่าต้องการซ่อน {name}?",
"confirmations.redraft.confirm": "ลบแล้วร่างใหม่",
"confirmations.redraft.message": "คุณแน่ใจหรือไม่ว่าต้องการลบโพสต์นี้แล้วร่างใหม่? รายการโปรดและการดันจะหายไป และการตอบกลับโพสต์ดั้งเดิมจะไม่มีความเกี่ยวพัน",
"confirmations.redraft.message": "คุณแน่ใจหรือไม่ว่าต้องการลบโพสต์นี้แล้วร่างโพสต์ใหม่? รายการโปรดและการดันจะหายไป และการตอบกลับโพสต์ดั้งเดิมจะไม่มีความเกี่ยวพัน",
"confirmations.reply.confirm": "ตอบกลับ",
"confirmations.reply.message": "การตอบกลับตอนนี้จะเขียนทับข้อความที่คุณกำลังเขียน คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?",
"confirmations.unfollow.confirm": "เลิกติดตาม",
@ -142,7 +142,7 @@
"emoji_button.food": "อาหารและเครื่องดื่ม",
"emoji_button.label": "แทรกอีโมจิ",
"emoji_button.nature": "ธรรมชาติ",
"emoji_button.not_found": "ไม่มีอีโมโจ!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "ไม่พบอีโมจิที่ตรงกัน",
"emoji_button.objects": "วัตถุ",
"emoji_button.people": "ผู้คน",
"emoji_button.recent": "ที่ใช้บ่อย",
@ -163,12 +163,12 @@
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
"empty_column.follow_requests": "คุณยังไม่มีคำขอติดตามใด ๆ เมื่อคุณได้รับคำขอ คำขอจะปรากฏที่นี่",
"empty_column.hashtag": "ยังไม่มีสิ่งใดในแฮชแท็กนี้",
"empty_column.home": "เส้นเวลาหน้าแรกของคุณว่างเปล่า! เยี่ยมชม {public} หรือใช้การค้นหาเพื่อเริ่มต้นใช้งานและพบปะผู้ใช้อื่น ๆ",
"empty_column.home": "เส้นเวลาหน้าแรกของคุณว่างเปล่า! ติดตามผู้คนเพิ่มเติมเพื่อเติมเส้นเวลาให้เต็ม {suggestions}",
"empty_column.home.suggestions": "ดูข้อเสนอแนะบางอย่าง",
"empty_column.list": "ยังไม่มีสิ่งใดในรายการนี้ เมื่อสมาชิกของรายการนี้โพสต์โพสต์ใหม่ โพสต์จะปรากฏที่นี่",
"empty_column.lists": "คุณยังไม่มีรายการใด ๆ เมื่อคุณสร้างรายการ รายการจะปรากฏที่นี่",
"empty_column.mutes": "คุณยังไม่ได้ซ่อนผู้ใช้ใด ๆ",
"empty_column.notifications": "คุณยังไม่มีการแจ้งเตือนใด ๆ โต้ตอบกับผู้อื่นเพื่อเริ่มการสนทนา",
"empty_column.notifications": "คุณยังไม่มีการแจ้งเตือนใด ๆ เมื่อผู้คนอื่น ๆ โต้ตอบกับคุณ คุณจะเห็นการแจ้งเตือนที่นี่",
"empty_column.public": "ไม่มีสิ่งใดที่นี่! เขียนบางอย่างเป็นสาธารณะ หรือติดตามผู้ใช้จากเซิร์ฟเวอร์อื่น ๆ ด้วยตนเองเพื่อเติมให้เต็ม",
"error.unexpected_crash.explanation": "เนื่องจากข้อบกพร่องในโค้ดของเราหรือปัญหาความเข้ากันได้ของเบราว์เซอร์ จึงไม่สามารถแสดงหน้านี้ได้อย่างถูกต้อง",
"error.unexpected_crash.explanation_addons": "ไม่สามารถแสดงหน้านี้ได้อย่างถูกต้อง ข้อผิดพลาดนี้เป็นไปได้ว่าเกิดจากส่วนเสริมของเบราว์เซอร์หรือเครื่องมือการแปลอัตโนมัติ",
@ -208,40 +208,40 @@
"intervals.full.days": "{number, plural, other {# วัน}}",
"intervals.full.hours": "{number, plural, other {# ชั่วโมง}}",
"intervals.full.minutes": "{number, plural, other {# นาที}}",
"keyboard_shortcuts.back": "เพื่อนำทางย้อนกลับ",
"keyboard_shortcuts.blocked": "เพื่อเปิดรายการผู้ใช้ที่ปิดกั้นอยู่",
"keyboard_shortcuts.boost": "เพื่อดัน",
"keyboard_shortcuts.column": "เพื่อโฟกัสโพสต์ในหนึ่งในคอลัมน์",
"keyboard_shortcuts.compose": "เพื่อโฟกัสพื้นที่เขียนข้อความ",
"keyboard_shortcuts.back": "นำทางย้อนกลับ",
"keyboard_shortcuts.blocked": "เปิดรายการผู้ใช้ที่ปิดกั้นอยู่",
"keyboard_shortcuts.boost": "ดันโพสต์",
"keyboard_shortcuts.column": "โฟกัสคอลัมน์",
"keyboard_shortcuts.compose": "โฟกัสพื้นที่เขียนข้อความ",
"keyboard_shortcuts.description": "คำอธิบาย",
"keyboard_shortcuts.direct": "เพื่อเปิดคอลัมน์ข้อความโดยตรง",
"keyboard_shortcuts.down": "เพื่อย้ายลงในรายการ",
"keyboard_shortcuts.enter": "เพื่อเปิดโพสต์",
"keyboard_shortcuts.favourite": "เพื่อชื่นชอบ",
"keyboard_shortcuts.favourites": "เพื่อเปิดรายการโปรด",
"keyboard_shortcuts.federated": "เพื่อเปิดเส้นเวลาที่ติดต่อกับภายนอก",
"keyboard_shortcuts.direct": "เปิดคอลัมน์ข้อความโดยตรง",
"keyboard_shortcuts.down": "ย้ายลงในรายการ",
"keyboard_shortcuts.enter": "เปิดโพสต์",
"keyboard_shortcuts.favourite": "ชื่นชอบโพสต์",
"keyboard_shortcuts.favourites": "เปิดรายการโปรด",
"keyboard_shortcuts.federated": "เปิดเส้นเวลาที่ติดต่อกับภายนอก",
"keyboard_shortcuts.heading": "แป้นพิมพ์ลัด",
"keyboard_shortcuts.home": "เพื่อเปิดเส้นเวลาหน้าแรก",
"keyboard_shortcuts.home": "เปิดเส้นเวลาหน้าแรก",
"keyboard_shortcuts.hotkey": "ปุ่มลัด",
"keyboard_shortcuts.legend": "เพื่อแสดงคำอธิบายนี้",
"keyboard_shortcuts.local": "เพื่อเปิดเส้นเวลาในเซิร์ฟเวอร์",
"keyboard_shortcuts.mention": "เพื่อกล่าวถึงผู้สร้าง",
"keyboard_shortcuts.muted": "เพื่อเปิดรายการผู้ใช้ที่ซ่อนอยู่",
"keyboard_shortcuts.my_profile": "เพื่อเปิดโปรไฟล์ของคุณ",
"keyboard_shortcuts.notifications": "เพื่อเปิดคอลัมน์การแจ้งเตือน",
"keyboard_shortcuts.open_media": "เพื่อเปิดสื่อ",
"keyboard_shortcuts.pinned": "เพื่อเปิดรายการโพสต์ที่ปักหมุด",
"keyboard_shortcuts.profile": "เพื่อเปิดโปรไฟล์ของผู้สร้าง",
"keyboard_shortcuts.reply": "เพื่อตอบกลับ",
"keyboard_shortcuts.requests": "เพื่อเปิดรายการคำขอติดตาม",
"keyboard_shortcuts.search": "เพื่อโฟกัสการค้นหา",
"keyboard_shortcuts.spoilers": "เพื่อแสดง/ซ่อนช่องกรอกคำเตือนเนื้อหา",
"keyboard_shortcuts.start": "เพื่อเปิดคอลัมน์ \"เริ่มต้นใช้งาน\"",
"keyboard_shortcuts.toggle_hidden": "เพื่อแสดง/ซ่อนข้อความที่อยู่หลังคำเตือนเนื้อหา",
"keyboard_shortcuts.toggle_sensitivity": "เพื่อแสดง/ซ่อนสื่อ",
"keyboard_shortcuts.toot": "เพื่อเริ่มโพสต์ใหม่",
"keyboard_shortcuts.unfocus": "เพื่อเลิกโฟกัสพื้นที่เขียนข้อความ/การค้นหา",
"keyboard_shortcuts.up": "เพื่อย้ายขึ้นในรายการ",
"keyboard_shortcuts.legend": "แสดงคำอธิบายนี้",
"keyboard_shortcuts.local": "เปิดเส้นเวลาในเซิร์ฟเวอร์",
"keyboard_shortcuts.mention": "กล่าวถึงผู้สร้าง",
"keyboard_shortcuts.muted": "เปิดรายการผู้ใช้ที่ซ่อนอยู่",
"keyboard_shortcuts.my_profile": "เปิดโปรไฟล์ของคุณ",
"keyboard_shortcuts.notifications": "เปิดคอลัมน์การแจ้งเตือน",
"keyboard_shortcuts.open_media": "เปิดสื่อ",
"keyboard_shortcuts.pinned": "เปิดรายการโพสต์ที่ปักหมุด",
"keyboard_shortcuts.profile": "เปิดโปรไฟล์ของผู้สร้าง",
"keyboard_shortcuts.reply": "ตอบกลับโพสต์",
"keyboard_shortcuts.requests": "เปิดรายการคำขอติดตาม",
"keyboard_shortcuts.search": "โฟกัสแถบค้นหา",
"keyboard_shortcuts.spoilers": "แสดง/ซ่อนช่องกรอกคำเตือนเนื้อหา",
"keyboard_shortcuts.start": "เปิดคอลัมน์ “เริ่มต้นใช้งาน”",
"keyboard_shortcuts.toggle_hidden": "แสดง/ซ่อนข้อความที่อยู่หลังคำเตือนเนื้อหา",
"keyboard_shortcuts.toggle_sensitivity": "แสดง/ซ่อนสื่อ",
"keyboard_shortcuts.toot": "เริ่มโพสต์ใหม่",
"keyboard_shortcuts.unfocus": "เลิกโฟกัสพื้นที่เขียนข้อความ/การค้นหา",
"keyboard_shortcuts.up": "ย้ายขึ้นในรายการ",
"lightbox.close": "ปิด",
"lightbox.compress": "บีบอัดกล่องดูภาพ",
"lightbox.expand": "ขยายกล่องดูภาพ",
@ -262,7 +262,7 @@
"lists.subheading": "รายการของคุณ",
"load_pending": "{count, plural, other {# รายการใหม่}}",
"loading_indicator.label": "กำลังโหลด...",
"media_gallery.toggle_visible": "ซ่อน {number, plural, other {ภาพ}}",
"media_gallery.toggle_visible": "{number, plural, other {ซ่อนภาพ}}",
"missing_indicator.label": "ไม่พบ",
"missing_indicator.sublabel": "ไม่พบทรัพยากรนี้",
"mute_modal.duration": "ระยะเวลา",

View file

@ -142,7 +142,7 @@
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "Кешеләр",
"emoji_button.recent": "Frequently used",

View file

@ -142,7 +142,7 @@
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.recent": "Frequently used",

View file

@ -142,7 +142,7 @@
"emoji_button.food": "Food & Drink",
"emoji_button.label": "Insert emoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects",
"emoji_button.people": "People",
"emoji_button.recent": "Frequently used",

View file

@ -354,7 +354,7 @@
"regeneration_indicator.label": "Đang tải…",
"regeneration_indicator.sublabel": "Bảng tin của bạn đang được cập nhật!",
"relative_time.days": "{number}d",
"relative_time.hours": "{number}h",
"relative_time.hours": "{number} giờ",
"relative_time.just_now": "vừa xong",
"relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s",
@ -431,7 +431,7 @@
"time_remaining.hours": "{number, plural, other {# giờ}}",
"time_remaining.minutes": "{number, plural, other {# phút}}",
"time_remaining.moments": "Còn lại",
"time_remaining.seconds": "còn {number, plural, other {# giây}}",
"time_remaining.seconds": "{number, plural, other {# giây}}",
"timeline_hint.remote_resource_not_displayed": "{resource} từ máy chủ khác sẽ không hiển thị.",
"timeline_hint.resources.followers": "Người theo dõi",
"timeline_hint.resources.follows": "Đang theo dõi",

View file

@ -29,13 +29,13 @@
"account.media": "媒体",
"account.mention": "提及 @{name}",
"account.moved_to": "{name} 已经迁移到:",
"account.mute": "静音 @{name}",
"account.mute_notifications": "静音来自 @{name} 的通知",
"account.muted": "已静音",
"account.mute": "隐藏 @{name}",
"account.mute_notifications": "隐藏来自 @{name} 的通知",
"account.muted": "已隐藏",
"account.never_active": "从未活跃",
"account.posts": "嘟文",
"account.posts_with_replies": "嘟文和回复",
"account.report": " @{name}",
"account.report": "报 @{name}",
"account.requested": "正在等待对方同意。点击以取消发送关注请求",
"account.share": "分享 @{name} 的个人资料",
"account.show_reblogs": "显示来自 @{name} 的转嘟",
@ -44,8 +44,8 @@
"account.unblock_domain": "不再隐藏来自 {domain} 的内容",
"account.unendorse": "不在个人资料中推荐此用户",
"account.unfollow": "取消关注",
"account.unmute": "不再静音 @{name}",
"account.unmute_notifications": "不再静音来自 @{name} 的通知",
"account.unmute": "不再隐藏 @{name}",
"account.unmute_notifications": "不再隐藏来自 @{name} 的通知",
"account_note.placeholder": "点击添加备注",
"alert.rate_limited.message": "请在{retry_time, time, medium}后重试。",
"alert.rate_limited.title": "频率受限",
@ -70,7 +70,7 @@
"column.follow_requests": "关注请求",
"column.home": "主页",
"column.lists": "列表",
"column.mutes": "已静音的用户",
"column.mutes": "已隐藏的用户",
"column.notifications": "通知",
"column.pins": "置顶嘟文",
"column.public": "跨站公共时间轴",
@ -106,7 +106,7 @@
"compose_form.spoiler.unmarked": "正文未被折叠",
"compose_form.spoiler_placeholder": "折叠部分的警告消息",
"confirmation_modal.cancel": "取消",
"confirmations.block.block_and_report": "屏蔽与",
"confirmations.block.block_and_report": "屏蔽与报",
"confirmations.block.confirm": "屏蔽",
"confirmations.block.message": "你确定要屏蔽 {name} 吗?",
"confirmations.delete.confirm": "删除",
@ -114,12 +114,12 @@
"confirmations.delete_list.confirm": "删除",
"confirmations.delete_list.message": "你确定要永久删除这个列表吗?",
"confirmations.domain_block.confirm": "隐藏整个网站的内容",
"confirmations.domain_block.message": "你真的确定要屏蔽所有来自 {domain} 的内容吗?多数情况下,屏蔽或静音几个特定的用户就已经足够了。来自该网站的内容将不再出现在你的任何公共时间轴或通知列表里。来自该网站的关注者将会被移除。",
"confirmations.domain_block.message": "你真的确定要屏蔽所有来自 {domain} 的内容吗?多数情况下,屏蔽或隐藏几个特定的用户就已经足够了。来自该网站的内容将不再出现在你的任何公共时间轴或通知列表里。来自该网站的关注者将会被移除。",
"confirmations.logout.confirm": "登出",
"confirmations.logout.message": "你确定要登出吗?",
"confirmations.mute.confirm": "静音",
"confirmations.mute.confirm": "隐藏",
"confirmations.mute.explanation": "这将隐藏他们的嘟文以及提到他们的嘟文,但他们仍可以看到你的嘟文并关注你。",
"confirmations.mute.message": "你确定要静音 {name} 吗?",
"confirmations.mute.message": "你确定要隐藏 {name} 吗?",
"confirmations.redraft.confirm": "删除并重新编辑",
"confirmations.redraft.message": "你确定要删除这条嘟文并重新编辑它吗?所有相关的转嘟和喜欢都会被清除,回复将会失去关联。",
"confirmations.reply.confirm": "回复",
@ -163,11 +163,11 @@
"empty_column.follow_recommendations": "似乎无法为你生成任何建议。你可以尝试使用搜索寻找你可能知道的人或探索热门标签。",
"empty_column.follow_requests": "你没有收到新的关注请求。收到了之后就会显示在这里。",
"empty_column.hashtag": "这个话题标签下暂时没有内容。",
"empty_column.home": "你还没有关注任何用户。快看看{public},向其他人问个好吧。",
"empty_column.home": "你的主页时间线是空的!快去关注更多人吧。 {suggestions}",
"empty_column.home.suggestions": "查看一些建议",
"empty_column.list": "此列表中暂时没有内容。列表中用户所发送的的新嘟文将会在这里显示。",
"empty_column.lists": "你还没有创建过列表。你创建的列表会在这里显示。",
"empty_column.mutes": "你没有静音任何用户。",
"empty_column.mutes": "你没有隐藏任何用户。",
"empty_column.notifications": "你还没有收到过任何通知,快和其他用户互动吧。",
"empty_column.public": "这里什么都没有!写一些公开的嘟文,或者关注其他服务器的用户后,这里就会有嘟文出现了",
"error.unexpected_crash.explanation": "此页面无法正确显示,这可能是因为我们的代码中有错误,也可能是因为浏览器兼容问题。",
@ -178,7 +178,7 @@
"errors.unexpected_crash.report_issue": "报告问题",
"follow_recommendations.done": "完成",
"follow_recommendations.heading": "关注你感兴趣的用户!这里有一些推荐。",
"follow_recommendations.lead": "你关注的人的嘟文将按时间顺序在你的主页上显示。 别担心,你可以随时取消关注!",
"follow_recommendations.lead": "你关注的人的嘟文将按时间顺序在你的主页上显示。 别担心,你可以随时取消关注!",
"follow_request.authorize": "同意",
"follow_request.reject": "拒绝",
"follow_requests.unlocked_explanation": "虽说你没有锁嘟,但是 {domain} 的工作人员觉得你可能想手工审核关注请求。",
@ -226,7 +226,7 @@
"keyboard_shortcuts.legend": "显示此列表",
"keyboard_shortcuts.local": "打开本站时间轴",
"keyboard_shortcuts.mention": "提及嘟文作者",
"keyboard_shortcuts.muted": "打开已静音的用户列表",
"keyboard_shortcuts.muted": "打开已隐藏用户列表",
"keyboard_shortcuts.my_profile": "打开你的个人资料",
"keyboard_shortcuts.notifications": "打开通知栏",
"keyboard_shortcuts.open_media": "打开媒体",
@ -278,14 +278,14 @@
"navigation_bar.domain_blocks": "已屏蔽的网站",
"navigation_bar.edit_profile": "修改个人资料",
"navigation_bar.favourites": "喜欢",
"navigation_bar.filters": "静音关键词",
"navigation_bar.filters": "隐藏关键词",
"navigation_bar.follow_requests": "关注请求",
"navigation_bar.follows_and_followers": "关注管理",
"navigation_bar.info": "关于本站",
"navigation_bar.keyboard_shortcuts": "快捷键列表",
"navigation_bar.lists": "列表",
"navigation_bar.logout": "登出",
"navigation_bar.mutes": "已静音的用户",
"navigation_bar.mutes": "已隐藏的用户",
"navigation_bar.personal": "个人",
"navigation_bar.pins": "置顶嘟文",
"navigation_bar.preferences": "首选项",
@ -360,12 +360,12 @@
"relative_time.seconds": "{number}秒",
"relative_time.today": "今天",
"reply_indicator.cancel": "取消",
"report.forward": "转发至 {target}",
"report.forward_hint": "这名用户来自另一个服务器。是否要向那个服务器发送一条匿名的",
"report.hint": "将会发送给你所在服务器的监察员。你可以在下面填写报该用户的理由:",
"report.forward": "转发报至 {target}",
"report.forward_hint": "这名用户来自另一个服务器。是否要向那个服务器发送一条匿名的报?",
"report.hint": "报将会发送给你所在服务器的监察员。你可以在下面填写报该用户的理由:",
"report.placeholder": "备注",
"report.submit": "提交",
"report.target": " {target}",
"report.target": "报 {target}",
"search.placeholder": "搜索",
"search_popout.search_format": "高级搜索格式",
"search_popout.tips.full_text": "输入关键词检索所有你发送、喜欢、转嘟过或提及到你的嘟文,以及其他用户公开的用户名、昵称和话题标签。",
@ -395,7 +395,7 @@
"status.media_hidden": "已隐藏的媒体内容",
"status.mention": "提及 @{name}",
"status.more": "更多",
"status.mute": "静音 @{name}",
"status.mute": "隐藏 @{name}",
"status.mute_conversation": "将此对话静音",
"status.open": "展开嘟文",
"status.pin": "在个人资料页面置顶",
@ -409,7 +409,7 @@
"status.remove_bookmark": "移除书签",
"status.reply": "回复",
"status.replyAll": "回复所有人",
"status.report": " @{name}",
"status.report": "报 @{name}",
"status.sensitive_warning": "敏感内容",
"status.share": "分享",
"status.show_less": "隐藏内容",

View file

@ -25,7 +25,7 @@
"account.joined": "加入於 {date}",
"account.last_status": "上次活躍時間",
"account.link_verified_on": "已在 {date} 檢查此連結的擁有者權限",
"account.locked_info": "此帳號的隱私狀態被設為鎖定。該擁有者會手動審核能關注此帳號的人。",
"account.locked_info": "此帳戶的隱私狀態被設為鎖定。該擁有者會手動審核能關注此帳戶的人。",
"account.media": "媒體",
"account.mention": "提及 @{name}",
"account.moved_to": "{name} 已遷移至:",
@ -114,7 +114,7 @@
"confirmations.delete_list.confirm": "刪除",
"confirmations.delete_list.message": "確定永久刪除此名單?",
"confirmations.domain_block.confirm": "隱藏整個域名",
"confirmations.domain_block.message": "真的非常確定封鎖整個 {domain} 網域嗎?大部分情況下,您只需要封鎖或靜音少數特定的帳號就能滿足需求了。您將不能在任何公開的時間軸及通知中看到此網域的內容。您來自該網域的關注者也將被移除。",
"confirmations.domain_block.message": "真的非常確定封鎖整個 {domain} 網域嗎?大部分情況下,您只需要封鎖或靜音少數特定的帳帳戶能滿足需求了。您將不能在任何公開的時間軸及通知中看到此網域的內容。您來自該網域的關注者也將被移除。",
"confirmations.logout.confirm": "登出",
"confirmations.logout.message": "確定要登出嗎?",
"confirmations.mute.confirm": "靜音",
@ -150,7 +150,7 @@
"emoji_button.search_results": "搜尋結果",
"emoji_button.symbols": "符號",
"emoji_button.travel": "旅遊與地點",
"empty_column.account_suspended": "帳被暫停",
"empty_column.account_suspended": "帳被暫停",
"empty_column.account_timeline": "這裡還沒有嘟文!",
"empty_column.account_unavailable": "無法取得個人資料",
"empty_column.blocks": "您還沒有封鎖任何使用者。",
@ -181,7 +181,7 @@
"follow_recommendations.lead": "來自您追蹤的人的貼文將會按時間順序顯示在您的家 feed 上。不要害怕犯錯,您隨時都可以取消追蹤其他人!",
"follow_request.authorize": "授權",
"follow_request.reject": "拒絕",
"follow_requests.unlocked_explanation": "即便您的帳號未被鎖定,{domain} 的員工認為您可能想要自己審核這些帳號的追蹤請求。",
"follow_requests.unlocked_explanation": "即便您的帳戶未被鎖定,{domain} 的員工認為您可能想要自己審核這些帳戶的追蹤請求。",
"generic.saved": "已儲存",
"getting_started.developers": "開發者",
"getting_started.directory": "個人資料目錄",
@ -189,7 +189,7 @@
"getting_started.heading": "開始使用",
"getting_started.invite": "邀請使用者",
"getting_started.open_source_notice": "Mastodon 是開源軟體。您可以在 GitHub {github} 上貢獻或是回報問題。",
"getting_started.security": "帳安全性設定",
"getting_started.security": "帳安全性設定",
"getting_started.terms": "服務條款",
"hashtag.column_header.tag_mode.all": "以及 {additional}",
"hashtag.column_header.tag_mode.any": "或是 {additional}",
@ -432,7 +432,7 @@
"time_remaining.minutes": "剩餘{number, plural, one {# 分鐘} other {# 分鐘}}",
"time_remaining.moments": "剩餘時間",
"time_remaining.seconds": "剩餘 {number, plural, one {# 秒} other {# 秒}}",
"timeline_hint.remote_resource_not_displayed": "不會顯示來自其他器的 {resource}",
"timeline_hint.remote_resource_not_displayed": "不會顯示來自其他服器的 {resource}",
"timeline_hint.resources.followers": "關注者",
"timeline_hint.resources.follows": "正在關注",
"timeline_hint.resources.statuses": "更早的嘟文",

View file

@ -106,7 +106,7 @@ const expandNormalizedNotifications = (state, notifications, next, isLoadingRece
}
if (shouldCountUnreadNotifications(state)) {
mutable.update('unread', unread => unread + items.count(item => compareId(item.get('id'), lastReadId) > 0));
mutable.set('unread', mutable.get('pendingItems').count(item => item !== null) + mutable.get('items').count(item => item && compareId(item.get('id'), lastReadId) > 0));
} else {
const mostRecent = items.find(item => item !== null);
if (mostRecent && compareId(lastReadId, mostRecent.get('id')) < 0) {

View file

@ -258,7 +258,6 @@ h5 {
padding: 16px;
line-height: 20px;
mso-line-height-rule: exactly;
border-radius: 4px;
text-align: center;
font-weight: 500;
font-size: 17px;

View file

@ -322,7 +322,6 @@ $small-breakpoint: 960px;
font-family: $font-sans-serif, sans-serif;
font-size: 16px;
font-weight: 400;
font-size: 16px;
line-height: 30px;
margin-bottom: 12px;
color: $darker-text-color;

View file

@ -3611,7 +3611,6 @@ a.status-card.compact:hover {
span {
display: block;
float: left;
margin-left: 50%;
transform: translateX(-50%);
margin: 82px 0 0 50%;
white-space: nowrap;

View file

@ -48,6 +48,8 @@
overflow: hidden;
transition: color .1s ease-out;
cursor: pointer;
background: transparent;
border: 0;
&:hover {
color: darken($lighter-text-color, 4%);
@ -106,11 +108,13 @@
padding: 10px;
padding-right: 45px;
background: $simple-background-color;
position: relative;
input {
font-size: 14px;
font-weight: 400;
padding: 7px 9px;
padding-right: 25px;
font-family: inherit;
display: block;
width: 100%;
@ -131,6 +135,30 @@
}
}
.emoji-mart-search-icon {
position: absolute;
top: 18px;
right: 45px + 5px;
z-index: 2;
padding: 2px 5px 1px;
border: 0;
background: none;
transition: all 100ms linear;
transition-property: opacity;
pointer-events: auto;
opacity: 0.7;
&:disabled {
cursor: default;
pointer-events: none;
opacity: 0.3;
}
svg {
fill: $action-button-color;
}
}
.emoji-mart-category .emoji-mart-emoji {
cursor: pointer;
@ -169,9 +197,36 @@
}
}
/* For screenreaders only, via https://stackoverflow.com/a/19758620 */
.emoji-mart-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.emoji-mart-category-list {
margin: 0;
padding: 0;
}
.emoji-mart-category-list li {
list-style: none;
margin: 0;
padding: 0;
display: inline-block;
}
.emoji-mart-emoji {
position: relative;
display: inline-block;
background: transparent;
border: 0;
padding: 0;
font-size: 0;
span {
@ -182,19 +237,17 @@
.emoji-mart-no-results {
font-size: 14px;
text-align: center;
padding-top: 70px;
color: $light-text-color;
text-align: center;
padding: 5px 6px;
padding-top: 70px;
.emoji-mart-category-label {
display: none;
}
.emoji-mart-no-results-label {
.emoji-mart-no-results-label {
margin-top: .2em;
}
.emoji-mart-emoji:hover::before {
cursor: default;
content: none;
}
}

View file

@ -1,3 +1,5 @@
@use "sass:math";
.hero-widget {
margin-bottom: 10px;
box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
@ -498,10 +500,10 @@ $fluid-breakpoint: $maximum-width + 20px;
}
&__item {
width: (960px - 20px) / 3;
width: math.div(960px - 20px, 3);
@media screen and (max-width: $fluid-breakpoint) {
width: (940px - 20px) / 3;
width: math.div(940px - 20px, 3);
}
@media screen and (max-width: 640px) {
@ -593,7 +595,6 @@ $fluid-breakpoint: $maximum-width + 20px;
display: block;
font-weight: 500;
padding: 15px;
overflow: hidden;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;

View file

@ -216,8 +216,8 @@ class ActivityPub::Activity
redis.del(key)
end
def lock_or_fail(key)
RedisLock.acquire({ redis: Redis.current, key: key }) do |lock|
def lock_or_fail(key, expire_after = 15.minutes.seconds)
RedisLock.acquire({ redis: Redis.current, key: key, autorelease: expire_after }) do |lock|
if lock.acquired?
yield
else

View file

@ -11,10 +11,11 @@
# created_at :datetime not null
# updated_at :datetime not null
# last_status_at :datetime
# lock_version :integer default(0), not null
#
class AccountStat < ApplicationRecord
self.locking_column = nil
belongs_to :account, inverse_of: :account_stat
update_index('accounts#account', :account)

View file

@ -49,7 +49,6 @@ module AccountCounters
ON CONFLICT (account_id) DO UPDATE
SET #{key} = account_stats.#{key} + :value,
last_status_at = now(),
lock_version = account_stats.lock_version + 1,
updated_at = now()
RETURNING id;
SQL
@ -59,7 +58,6 @@ module AccountCounters
VALUES (:account_id, :default_value, now(), now())
ON CONFLICT (account_id) DO UPDATE
SET #{key} = account_stats.#{key} + :value,
lock_version = account_stats.lock_version + 1,
updated_at = now()
RETURNING id;
SQL

View file

@ -290,7 +290,7 @@ class ActivityPub::ProcessAccountService < BaseService
end
def lock_options
{ redis: Redis.current, key: "process_account:#{@uri}" }
{ redis: Redis.current, key: "process_account:#{@uri}", autorelease: 15.minutes.seconds }
end
def process_tags

View file

@ -175,6 +175,6 @@ class FetchLinkCardService < BaseService
end
def lock_options
{ redis: Redis.current, key: "fetch:#{@url}" }
{ redis: Redis.current, key: "fetch:#{@url}", autorelease: 15.minutes.seconds }
end
end

View file

@ -141,6 +141,6 @@ class RemoveStatusService < BaseService
end
def lock_options
{ redis: Redis.current, key: "distribute:#{@status.id}" }
{ redis: Redis.current, key: "distribute:#{@status.id}", autorelease: 5.minutes.seconds }
end
end

View file

@ -146,6 +146,6 @@ class ResolveAccountService < BaseService
end
def lock_options
{ redis: Redis.current, key: "resolve:#{@username}@#{@domain}" }
{ redis: Redis.current, key: "resolve:#{@username}@#{@domain}", autorelease: 15.minutes.seconds }
end
end

View file

@ -4,7 +4,7 @@ class DistributionWorker
include Sidekiq::Worker
def perform(status_id)
RedisLock.acquire(redis: Redis.current, key: "distribute:#{status_id}") do |lock|
RedisLock.acquire(redis: Redis.current, key: "distribute:#{status_id}", autorelease: 5.minutes.seconds) do |lock|
if lock.acquired?
FanOutOnWriteService.new.call(Status.find(status_id))
else

View file

@ -73,6 +73,7 @@ module Mastodon
:eo,
:es,
:'es-AR',
:'es-MX',
:et,
:eu,
:fa,

View file

@ -31,6 +31,6 @@ Rails.application.configure do
config.hosts << host if host.present?
config.hosts << web_host if web_host.present?
config.hosts.concat(alternate_domains) if alternate_domains.present?
config.hosts_authorization = { exclude: ->(request) { request.path == '/health' } }
config.host_authorization = { exclude: ->(request) { request.path == '/health' } }
end
end

View file

@ -1,3 +1,3 @@
ActionMailer::DeliveryJob.class_eval do
ActionMailer::MailDeliveryJob.class_eval do
discard_on ActiveJob::DeserializationError
end

View file

@ -24,7 +24,7 @@ en:
status:
attributes:
reblog:
taken: of status already exists
taken: of post already exists
user:
attributes:
email:

View file

@ -24,7 +24,7 @@ es-AR:
status:
attributes:
reblog:
taken: del estado ya existe
taken: del mensaje ya existe
user:
attributes:
email:

View file

@ -2,6 +2,9 @@
es-MX:
activerecord:
attributes:
poll:
expires_at: Vencimiento
options: Opciones
user:
agreement: Acuerdo de Servicio
email: Dirección de correo electrónico
@ -16,7 +19,12 @@ es-MX:
account:
attributes:
username:
invalid: solo puede contener letras, números y guiones bajos
reserved: está reservado
status:
attributes:
reblog:
taken: del estado ya existe
user:
attributes:
email:

View file

@ -2,6 +2,9 @@
es:
activerecord:
attributes:
poll:
expires_at: Vencimiento
options: Opciones
user:
agreement: Acuerdo de Servicio
email: Dirección de correo electrónico
@ -16,7 +19,12 @@ es:
account:
attributes:
username:
invalid: solo puede contener letras, números y guiones bajos
reserved: está reservado
status:
attributes:
reblog:
taken: del estado ya existe
user:
attributes:
email:

View file

@ -24,7 +24,7 @@ gd:
status:
attributes:
reblog:
taken: " tha seo aig an staid mu thràth"
taken: " tha seo aig a phost mu thràth"
user:
attributes:
email:

View file

@ -22,7 +22,7 @@ th:
status:
attributes:
reblog:
taken: ของสถานะมีอยู่แล้ว
taken: ของโพสต์มีอยู่แล้ว
user:
attributes:
email:

View file

@ -7,7 +7,7 @@ zh-TW:
options: 選擇
user:
agreement: 服務同意書
email: 電子信箱
email: 電子信箱
locale: 地區
password: 密碼
user/account:

View file

@ -916,7 +916,7 @@ cs:
csv: CSV
domain_blocks: Blokování domén
lists: Seznamy
mutes: Skryli jste
mutes: Skrýváte
storage: Paměť médií
featured_tags:
add_new: Přidat nový
@ -1468,7 +1468,7 @@ cs:
edit_profile_step: Svůj profil si můžete přizpůsobit nahráním avataru a obrázku záhlaví, změnou zobrazovaného jména a další. Chcete-li posoudit nové sledující předtím, než vás mohou sledovat, můžete svůj účet uzamknout.
explanation: Zde je pár tipů do začátku
final_action: Začít psát
final_step: 'Začněte psát! I když nemáte sledující, mohou vaše zprávy vidět jiní lidé, například na místní časové ose a v hashtazích. Můžete se ostatním představit pomocí hashtagu #introductions.'
final_step: 'Začněte psát! I když nemáte sledující, mohou vaše veřejné příspěvky vidět jiní lidé, například na místní časové ose a v hashtazích. Můžete se ostatním představit pomocí hashtagu #introductions.'
full_handle: Vaše celá adresa profilu
full_handle_hint: Tohle je, co byste řekli svým přátelům, aby vám mohli posílat zprávy nebo vás sledovat z jiného serveru.
review_preferences_action: Změnit předvolby

View file

@ -6,7 +6,7 @@ da:
about_this: Om
active_count_after: aktive
active_footnote: Månedlige aktive brugere (MAU)
administered_by: 'Administreret af:'
administered_by: 'Administreres af:'
api: API
apps: Mobil-apps
apps_platforms: Benyt Mastodon på Android, iOS og andre platforme
@ -289,6 +289,7 @@ da:
enable_custom_emoji_html: "%{name} aktiverede humørikonet %{target}"
enable_user_html: "%{name} aktiverede indlogning for brugeren %{target}"
memorialize_account_html: "%{name} gjorde %{target}s konto til en mindeside"
promote_user_html: "%{name} forfremmede brugeren %{target}"
remove_avatar_user_html: "%{name} fjernede %{target}s profilbillede"
reopen_report_html: "%{name} genåbnede anmeldelsen %{target}"
reset_password_user_html: "%{name} nulstillede adgangskoden for brugeren %{target}"
@ -854,6 +855,7 @@ da:
caches: Indhold, cachelagret af andre servere, kan fortsat eksistere
data_removal: Dine indlæg og andre data fjernes permanent
email_change_html: Du kan <a href="%{path}">skifte e-mailadresse</a> uden at slette din konto
email_contact_html: Hvis det stadig ikke ankommer, kan du sende en e-mail til <a href="mailto:%{email}">%{email}</a> for hjælp
email_reconfirmation_html: Modtager du ikke bekræftelsese-mailen, kan du <a href="%{path}">anmode om en ny</a>
irreversible: Du vil ikke kunne gendanne/genaktivere din konto
more_details_html: For yderligere oplysningerer, tjek <a href="%{terms_path}">fortrolighedspolitikken</a>.

View file

@ -27,7 +27,7 @@ de:
learn_more: Mehr erfahren
privacy_policy: Datenschutzerklärung
rules: Server-Regeln
rules_html: 'Unten ist eine Zusammenfassung der Regeln, denen du folgen folgen musst, wenn du ein Konto auf diesem Mastodon-Server haben möchtest:'
rules_html: 'Unten ist eine Zusammenfassung der Regeln, denen du folgen musst, wenn du ein Konto auf diesem Mastodon-Server haben möchtest:'
see_whats_happening: Finde heraus, was gerade in der Welt los ist
server_stats: 'Serverstatistiken:'
source_code: Quellcode

View file

@ -65,3 +65,51 @@ es:
explanation: La siguiente clave de seguridad ha sido añadida a su cuenta
subject: 'Mastodon: Nueva clave de seguridad'
title: Se ha añadido una nueva clave de seguridad
deleted:
explanation: La siguiente clave de seguridad ha sido eliminada de tu cuenta
subject: 'Mastodon: Clave de seguridad eliminada'
title: Una de tus claves de seguridad ha sido eliminada
webauthn_disabled:
explanation: La autenticación con claves de seguridad ha sido deshabilitada para tu cuenta. Ahora el inicio de sesión solo es posible utilizando el token generado por la aplicación TOTP emparejada.
subject: 'Mastodon: Autenticación con claves de seguridad deshabilitada'
title: Claves de seguridad deshabilitadas
webauthn_enabled:
explanation: La autenticación con clave de seguridad ha sido habilitada para tu cuenta. Ahora tu clave de seguridad puede ser utilizada para iniciar sesión.
subject: 'Mastodon: Autenticación de clave de seguridad habilitada'
title: Claves de seguridad habilitadas
omniauth_callbacks:
failure: No se te pudo autenticar desde %{kind} porque “%{reason}”.
success: Autenticado correctamente desde la cuenta de %{kind}.
passwords:
no_token: No puedes acceder a esta página si no vienes desde un correo electrónico de restablecimiento de contraseña. Si vienes desde un correo electrónico de restablecimiento de contraseña, por favor asegúrate de utilizar la URL completa proporcionada.
send_instructions: Si tu dirección de correo electrónico existe en nuestra base de datos, recibirás un enlace de recuperación de contraseña en tu dirección de correo electrónico en pocos minutos. Por favor, comprueba tu carpeta de correo no deseado si no recibes dicho correo electrónico.
send_paranoid_instructions: Si tu dirección de correo electrónico existe en nuestra base de datos, recibirás un enlace de recuperación de contraseña en tu dirección de correo electrónico en pocos minutos. Por favor, comprueba tu carpeta de correo no deseado si no recibes dicho correo electrónico.
updated: Tu contraseña ha sido cambiada con éxito. Has iniciado sesión.
updated_not_active: Tu contraseña se ha cambiado con éxito.
registrations:
destroyed: "¡Hasta otra! Tu cuenta ha sido cancelada con éxito. Esperamos verte de nuevo pronto."
signed_up: "¡Bienvenido! Te has registrado correctamente."
signed_up_but_inactive: Te has registrado con éxito. Sin embargo, no se ha podido iniciar sesión porque tu cuenta aún no está activada.
signed_up_but_locked: Te has registrado con éxito. Sin embargo, no se ha podido iniciar sesión porque tu cuenta está bloqueada.
signed_up_but_pending: Un mensaje con un enlace de confirmación ha sido enviado a tu dirección de correo electrónico. Después de hacer clic en el enlace, revisaremos tu solicitud. Serás notificado si se aprueba.
signed_up_but_unconfirmed: Un mensaje con un enlace de confirmación ha sido enviado a tu dirección de correo electrónico. Por favor, sigue el enlace para activar tu cuenta. Por favor, comprueba tu carpeta de correo no deseado si no recibes dicho correo electrónico.
update_needs_confirmation: Has actualizado tu cuenta con éxito, pero necesitamos verificar tu nueva dirección de correo electrónico. Por favor, comprueba tu correo electrónico y sigue el enlace de confirmación para confirmar tu nueva dirección de correo electrónico. Por favor, comprueba tu carpeta de correo no deseado si no recibes dicho correo electrónico.
updated: Tu cuenta se ha actualizado con éxito.
sessions:
already_signed_out: Sesión cerrada con éxito.
signed_in: Sesión iniciada con éxito.
signed_out: Sesión cerrada con éxito.
unlocks:
send_instructions: En unos minutos recibirás un correo electrónico con instrucciones para desbloquear tu cuenta. Por favor, comprueba tu carpeta de correo no deseado si no recibes dicho correo electrónico.
send_paranoid_instructions: Si tu cuenta existe, en unos minutos recibirás un correo electrónico con instrucciones para desbloquearla. Por favor, revisa tu carpeta de correo no deseado si no recibes dicho correo electrónico.
unlocked: Tu cuenta ha sido desbloqueada con éxito. Por favor, inicia sesión para continuar.
errors:
messages:
already_confirmed: ya estaba confirmada, por favor intenta iniciar sesión
confirmation_period_expired: necesita confirmarse dentro de %{period}, por favor, solicita una nueva
expired: ha caducado, por favor solicita una nueva
not_found: no encontrado
not_locked: no estaba bloqueada
not_saved:
one: '1 error impidió que este %{resource} se guardase:'
other: "%{count} errores impidieron que este %{resource} se guardase:"

View file

@ -6,7 +6,7 @@ hu:
send_instructions: Néhány percen belül kapni fogsz egy levelet az e-mail cím megerősítésére vonatkozó utasításokkal. Kérjük, ellenőrizd a spam mappádat, ha nem látod az e-mailt a beérkezett e-mailek közt.
send_paranoid_instructions: Ha az e-mail címed már szerepel az adatbázisunkban, néhány percen belül kapsz egy levelet az e-mail cím megerősítésére vonatkozó utasításokkal. Kérjük, ellenőrizd a spam mappád, ha nem látod az e-mailt.
failure:
already_authenticated: Már be van jelentkezve.
already_authenticated: Már bejelentkeztél.
inactive: A fiókod még nincs aktiválva.
invalid: Helytelen %{authentication_keys} vagy jelszó.
last_attempt: Már csak egy próbálkozásod maradt, mielőtt a fiókodat zároljuk.
@ -47,7 +47,7 @@ hu:
subject: 'Mastodon: Jelszó visszaállítási lépések'
title: Jelszó visszaállítása
two_factor_disabled:
explanation: A fiókod kétfaktoros hitelesítését kikapcsoltuk. A bejelentkezés mostantól csak az e-mail cím és a jelszó használatával lesz lehetséges.
explanation: A fiókod kétlépcsős hitelesítését kikapcsoltuk. A bejelentkezés mostantól csak az e-mail cím és a jelszó használatával lesz lehetséges.
subject: Kétlépcsős azonosítás kikapcsolva
title: Kétlépcsős hitelesítés kikapcsolva
two_factor_enabled:

View file

@ -20,7 +20,7 @@ it:
confirmation_instructions:
action: Verifica indirizzo email
action_with_app: Conferma e torna a %{app}
explanation: Hai creato un account su %{host} con questo indirizzo email. Sei lonatno solo un clic dall'attivarlo. Se non sei stato tu, per favore ignora questa email.
explanation: Hai creato un account su %{host} con questo indirizzo email. Sei lontano solo un clic dall'attivarlo. Se non sei stato tu, per favore ignora questa email.
explanation_when_pending: Hai richiesto un invito a %{host} con questo indirizzo email. Una volta confermato il tuo indirizzo e-mail, analizzeremo la tua richiesta. Non potrai eseguire l'accesso fino a quel momento. Se la tua richiesta sarà rifiutata, i tuoi dati saranno rimossi, quindi nessun'altra azione ti sarà richiesta. Se non fossi stato tu, per favore ignora questa email.
extra_html: Per favore controlla<a href="%{terms_path}">le regole del server</a> e <a href="%{policy_path}">i nostri termini di servizio</a>.
subject: 'Mastodon: Istruzioni di conferma per %{instance}'

View file

@ -68,7 +68,7 @@ sv:
deleted:
explanation: Följande säkerhetsnyckel har tagits bort från ditt konto
subject: 'Mastodon: Säkerhetsnyckeln borttagen'
title: En av dina säkerhetsnycklar har tagits bort
title: En av dina säkerhetsnycklar har raderats
webauthn_disabled:
explanation: Autentisering med säkerhetsnycklar till ditt konto har inaktiverats. Inloggning är nu endast möjligt med den token som genereras av den sammankopplade TOTP-appen.
subject: 'Mastodon: Autentisering med säkerhetsnycklar är inaktiverat'

View file

@ -14,7 +14,7 @@ th:
not_found_in_database: "%{authentication_keys} หรือรหัสผ่านไม่ถูกต้อง"
pending: บัญชีของคุณยังอยู่ระหว่างการตรวจทาน
timeout: เซสชันของคุณหมดอายุแล้ว โปรดลงชื่อเข้าอีกครั้งเพื่อดำเนินการต่อ
unauthenticated: คุณต้องลงชื่อเข้าหรือลงทะเบียนก่อนดำเนินการต่อ
unauthenticated: คุณจำเป็นต้องลงชื่อเข้าหรือลงทะเบียนก่อนดำเนินการต่อ
unconfirmed: คุณต้องยืนยันที่อยู่อีเมลของคุณก่อนดำเนินการต่อ
mailer:
confirmation_instructions:
@ -76,7 +76,7 @@ th:
subject: 'Mastodon: เปิดใช้งานการรับรองความถูกต้องด้วยกุญแจความปลอดภัยแล้ว'
title: เปิดใช้งานกุญแจความปลอดภัยแล้ว
omniauth_callbacks:
failure: ไม่สามารถรับรองความถูกต้องของคุณจาก %{kind} เนื่องจาก "%{reason}"
failure: ไม่สามารถรับรองความถูกต้องคุณจาก %{kind} เนื่องจาก “%{reason}”
success: รับรองความถูกต้องจากบัญชี %{kind} สำเร็จ
passwords:
no_token: คุณไม่สามารถเข้าถึงหน้านี้โดยไม่ได้มาจากอีเมลการตั้งรหัสผ่านใหม่ หากคุณมาจากอีเมลการตั้งรหัสผ่านใหม่ โปรดตรวจสอบให้แน่ใจว่าคุณได้ใช้ URL แบบเต็มที่ให้มา
@ -104,7 +104,7 @@ th:
errors:
messages:
already_confirmed: ได้รับการยืนยันไปแล้ว โปรดลองลงชื่อเข้า
confirmation_period_expired: ต้องได้รับการยืนยันภายใน %{period} โปรดขออีเมลใหม่
confirmation_period_expired: จำเป็นต้องได้รับการยืนยันภายใน %{period} โปรดขออีเมลใหม่
expired: หมดอายุแล้ว โปรดขออีเมลใหม่
not_found: ไม่พบ
not_locked: ไม่ได้ล็อคอยู่

View file

@ -2,14 +2,14 @@
zh-TW:
devise:
confirmations:
confirmed: 您的電子信箱址已確認成功。
confirmed: 您的電子信箱址已確認成功。
send_instructions: 幾分鐘後您將收到確認信件。若未收到此信件,請檢查垃圾郵件資料夾。
send_paranoid_instructions: 如果您的電子信箱存在於我們的資料庫,您將會在幾分鐘內收到確認信。若未收到請檢查垃圾郵件資料夾。
failure:
already_authenticated: 您已登入。
inactive: 您的帳戶尚未啟用。
invalid: 無效的 %{authentication_keys} 或密碼。
last_attempt: 在帳鎖定前,您還有最後一次嘗試機會。
last_attempt: 在帳鎖定前,您還有最後一次嘗試機會。
locked: 已鎖定您的帳戶。
not_found_in_database: 無效的 %{authentication_keys} 或密碼。
pending: 您的帳戶仍在審核中。
@ -18,28 +18,28 @@ zh-TW:
unconfirmed: 您必須先確認電子信箱才能繼續使用。
mailer:
confirmation_instructions:
action: 驗證電子信箱
action: 驗證電子信箱
action_with_app: 確認並返回 %{app}
explanation: 您已經在 %{host} 上以此電子信箱址建立了一支帳戶。您距離啟用它只剩一點之遙了。若這不是您,請忽略此信件。
explanation_when_pending: 您使用此電子信箱址申請了 %{host} 的邀請。當您確認電子信箱後我們將審核您的申請。您可以登入以改變您的細節或刪除您的帳號,但直到您的帳號被核准之前,您無法操作大部分的功能。若您的申請遭拒絕,您的資料將被移除而不必做後續動作。如果這不是您,請忽略此信件。
explanation: 您已經在 %{host} 上以此電子信箱址建立了一支帳戶。您距離啟用它只剩一點之遙了。若這不是您,請忽略此信件。
explanation_when_pending: 您使用此電子信箱址申請了 %{host} 的邀請。當您確認電子信箱後我們將審核您的申請。您可以登入以改變您的細節或刪除您的帳戶,但直到您的帳戶被核准之前,您無法操作大部分的功能。若您的申請遭拒絕,您的資料將被移除而不必做後續動作。如果這不是您,請忽略此信件。
extra_html: 同時也請看看<a href="%{terms_path}">伺服器規則</a>與<a href="%{policy_path}">服務條款</a>。
subject: Mastodon%{instance} 確認說明
title: 驗證電子信箱
title: 驗證電子信箱
email_changed:
explanation: 您帳戶的電子信箱址將變更為:
explanation: 您帳戶的電子信箱址將變更為:
extra: 若您未變更電子信箱,那麼很有可能是某人取得了您帳戶的存取權限。請立刻變更密碼,或當帳戶被鎖定時,請聯絡伺服器的管理員。
subject: Mastodon已變更電子信箱
title: 新電子信箱
title: 新電子信箱
password_change:
explanation: 您帳戶的密碼已變更。
extra: 若您未變更密碼,那麼很有可能是某人取得了您帳戶的存取權限。請立刻變更密碼,或若帳戶被鎖定時,請聯絡伺服器的管理員。
subject: Mastodon已變更密碼
title: 密碼已變更
reconfirmation_instructions:
explanation: 請確認新的電子信箱址以變更。
extra: 若此次變更不是由您開啟的請忽略此信件。Mastodon 帳戶的電子信箱址在您存取上面的連結前不會變更。
subject: Mastodon確認 %{instance} 的電子信箱
title: 驗證電子信箱
explanation: 請確認新的電子信箱址以變更。
extra: 若此次變更不是由您開啟的請忽略此信件。Mastodon 帳戶的電子信箱址在您存取上面的連結前不會變更。
subject: Mastodon確認 %{instance} 的電子信箱
title: 驗證電子信箱
reset_password_instructions:
action: 變更密碼
explanation: 您已請求帳戶的新密碼。
@ -82,8 +82,8 @@ zh-TW:
success: 成功透過 %{kind} 帳戶登入。
passwords:
no_token: 您必須透過密碼重設信件才能存取此頁面。若確實如此,請確定輸入的網址是完整的。
send_instructions: 若電子信箱址存在於我們的資料庫,幾分鐘後您將在信箱中收到密碼復原連結。若未收到請檢查垃圾郵件資料夾。
send_paranoid_instructions: 若電子信箱址存在於我們的資料庫,幾分鐘後您將在信箱中收到密碼復原連結。若未收到請檢查垃圾郵件資料夾。
send_instructions: 若電子信箱址存在於我們的資料庫,幾分鐘後您將在信箱中收到密碼復原連結。若未收到請檢查垃圾郵件資料夾。
send_paranoid_instructions: 若電子信箱址存在於我們的資料庫,幾分鐘後您將在信箱中收到密碼復原連結。若未收到請檢查垃圾郵件資料夾。
updated: 您的密碼已成功變更,現在已經登入。
updated_not_active: 您的密碼已成功變更。
registrations:
@ -92,16 +92,16 @@ zh-TW:
signed_up_but_inactive: 您已註冊成功,但由於您的帳戶尚未啟用,我們暫時無法讓您登入。
signed_up_but_locked: 您已註冊成功,但由於您的帳戶已被鎖定,我們無法讓您登入。
signed_up_but_pending: 包含確認連結的訊息已寄到您的電子信箱。按下此連結後我們將審核您的申請。核准後將通知您。
signed_up_but_unconfirmed: 包含確認連結的訊息已寄到您的電子信箱。請前往連結以啟用帳。若未收到請檢查垃圾郵件資料夾。
update_needs_confirmation: 已成功更新您的帳號,但仍需驗證您的新信箱。請檢查電子信箱並前往確認連結來確認新信箱位址。若未收到請檢查垃圾郵件資料夾。
signed_up_but_unconfirmed: 包含確認連結的訊息已寄到您的電子信箱。請前往連結以啟用帳。若未收到請檢查垃圾郵件資料夾。
update_needs_confirmation: 已成功更新您的帳戶,但仍需驗證您的新信箱。請檢查電子信箱並前往確認連結來確認新信箱地址。若未收到請檢查垃圾郵件資料夾。
updated: 您的帳戶已成功更新。
sessions:
already_signed_out: 已成功登出。
signed_in: 已成功登入。
signed_out: 已成功登出。
unlocks:
send_instructions: 幾分鐘後您將收到解鎖帳的指引信件。若未收到請檢查垃圾郵件資料夾。
send_paranoid_instructions: 若此帳存在,您將在幾分鐘後收到解鎖指引信件。若未收到請檢查垃圾郵件資料夾。
send_instructions: 幾分鐘後您將收到解鎖帳的指引信件。若未收到請檢查垃圾郵件資料夾。
send_paranoid_instructions: 若此帳存在,您將在幾分鐘後收到解鎖指引信件。若未收到請檢查垃圾郵件資料夾。
unlocked: 已解鎖您的帳戶,請登入繼續。
errors:
messages:

View file

@ -33,7 +33,7 @@ da:
help:
native_redirect_uri: Brug %{native_redirect_uri} til lokale tests
redirect_uri: Brug én linje pr. URI
scopes: Adskil omfang med mellemrum. Lad være blankt for at bruge standard omfang.
scopes: Adskil omfang med mellemrum. Lad være tomt for standardomfang.
index:
application: Applikation
callback_url: Callback-URL

View file

@ -138,12 +138,12 @@ en:
read:notifications: see your notifications
read:reports: see your reports
read:search: search on your behalf
read:statuses: see all statuses
read:statuses: see all posts
write: modify all your account's data
write:accounts: modify your profile
write:blocks: block accounts and domains
write:bookmarks: bookmark statuses
write:favourites: favourite statuses
write:bookmarks: bookmark posts
write:favourites: favourite posts
write:filters: create filters
write:follows: follow people
write:lists: create lists
@ -151,4 +151,4 @@ en:
write:mutes: mute people and conversations
write:notifications: clear your notifications
write:reports: report other people
write:statuses: publish statuses
write:statuses: publish posts

View file

@ -138,12 +138,12 @@ es-AR:
read:notifications: ver tus notificaciones
read:reports: ver tus denuncias
read:search: buscar en tu nombre
read:statuses: ver todos los toots
read:statuses: ver todos los mensajes
write: modificar todos los datos de tu cuenta
write:accounts: modificar tu perfil
write:blocks: bloquear cuentas y dominios
write:bookmarks: marcar toots
write:favourites: marcar toots como favoritos
write:bookmarks: marcar mensajes
write:favourites: marcar mensajes como favoritos
write:filters: crear filtros
write:follows: seguir cuentas
write:lists: crear listas
@ -151,4 +151,4 @@ es-AR:
write:mutes: silenciar cuentas y conversaciones
write:notifications: limpiar tus notificaciones
write:reports: denunciar otras cuentas
write:statuses: publicar toots
write:statuses: publicar mensajes

View file

@ -83,6 +83,10 @@ es:
invalid_client: La autentificación del cliente falló debido o a que es un cliente desconocido o no está incluída la autentificación del cliente o el método de autentificación no está confirmado.
invalid_grant: La concesión de autorización ofrecida es inválida, venció, se revocó, no coincide con la URI de redirección utilizada en la petición de autorización, o fue emitida para otro cliente.
invalid_redirect_uri: La URI de redirección incluida no es válida.
invalid_request:
missing_param: 'Falta este parámetro requerido: %{value}.'
request_not_authorized: La solicitud debe ser autorizada. Hay un parámetro requerido para autorizar la solicitud que falta o no es válido.
unknown: Falta un parámetro requerido en la solicitud, o esta incluye un valor no admitido de parámetro, o bien está mal formulada.
invalid_resource_owner: Las credenciales proporcionadas del propietario del recurso no son válidas, o el propietario del recurso no puede ser encontrado
invalid_scope: El ámbito pedido es inválido, desconocido o erróneo.
invalid_token:

View file

@ -138,12 +138,12 @@ gd:
read:notifications: na brathan agad faicinn
read:reports: na gearanan agad fhaicinn
read:search: lorg a dhèanamh às do leth
read:statuses: na staidean uile fhaicinn
read:statuses: na postaichean uile fhaicinn
write: dàta sam bith a cunntais agad atharrachadh
write:accounts: a phròifil agad atharrachadh
write:blocks: cunntasan is àrainnean a bhacadh
write:bookmarks: comharran-lìn a dhèanamh de staidean
write:favourites: staidean a chur ris na h-annsachdan
write:bookmarks: comharran-lìn a dhèanamh de phostaichean
write:favourites: postaichean a chur ris na h-annsachdan
write:filters: criathragan a chruthachadh
write:follows: leantainn air daoine
write:lists: liostaichean a chruthachadh
@ -151,4 +151,4 @@ gd:
write:mutes: daoine is còmhraidhean a mhùchadh
write:notifications: na brathan agad fhalamhachadh
write:reports: gearan a dhèanamh mu chàch
write:statuses: staidean fhoillseachadh
write:statuses: postaichean fhoillseachadh

View file

@ -143,7 +143,7 @@ sc:
write:accounts: modificare su profilu tuo
write:blocks: blocare contos e domìnios
write:bookmarks: agiùnghere is istados a is sinnalibros
write:favourites: pònnere istados in is preferidos
write:favourites: pone istados in is preferidos
write:filters: creare filtros
write:follows: sighire persones
write:lists: creare listas

View file

@ -37,7 +37,7 @@ sv:
index:
application: Applikation
callback_url: Återkalls URL
delete: Ta bort
delete: Radera
empty: Du har inga program.
name: Namn
new: Ny applikation

View file

@ -125,12 +125,12 @@ th:
read:notifications: ดูการแจ้งเตือนของคุณ
read:reports: ดูรายงานของคุณ
read:search: ค้นหาในนามของคุณ
read:statuses: ดูสถานะทั้งหมด
read:statuses: ดูโพสต์ทั้งหมด
write: ปรับเปลี่ยนข้อมูลบัญชีทั้งหมดของคุณ
write:accounts: ปรับเปลี่ยนโปรไฟล์ของคุณ
write:blocks: ปิดกั้นบัญชีและโดเมน
write:bookmarks: เพิ่มที่คั่นหน้าสถานะ
write:favourites: ชื่นชอบสถานะ
write:bookmarks: เพิ่มที่คั่นหน้าโพสต์
write:favourites: ชื่นชอบโพสต์
write:filters: สร้างตัวกรอง
write:follows: ติดตามผู้คน
write:lists: สร้างรายการ
@ -138,4 +138,4 @@ th:
write:mutes: ซ่อนผู้คนและการสนทนา
write:notifications: ล้างการแจ้งเตือนของคุณ
write:reports: รายงานผู้คนอื่น ๆ
write:statuses: เผยแพร่สถานะ
write:statuses: เผยแพร่โพสต์

View file

@ -120,10 +120,10 @@ zh-CN:
scopes:
admin:read: 读取服务器上的所有数据
admin:read:accounts: 读取所有帐号的敏感信息
admin:read:reports: 读取所有告和被报告帐号的敏感信息
admin:read:reports: 读取所有举报和被举报帐号的敏感信息
admin:write: 修改服务器上的所有数据
admin:write:accounts: 对帐号执行管理操作
admin:write:reports: 执行管理操作
admin:write:reports: 报执行管理操作
follow: 关注或屏蔽用户
push: 接收你的帐户的推送通知
read: 读取你的帐户数据
@ -134,9 +134,9 @@ zh-CN:
read:filters: 查看你的过滤器
read:follows: 查看你的关注
read:lists: 查看你的列表
read:mutes: 查看你的静音列表
read:mutes: 查看你的隐藏列表
read:notifications: 查看你的通知
read:reports: 查看你的
read:reports: 查看你的
read:search: 以你的身份搜索
read:statuses: 查看所有嘟文
write: 修改你的账号数据
@ -148,7 +148,7 @@ zh-CN:
write:follows: 关注其他人
write:lists: 创建列表
write:media: 上传媒体文件
write:mutes: 静音用户和对话
write:mutes: 隐藏用户和对话
write:notifications: 清除你的通知
write:reports: 他人
write:reports: 报他人
write:statuses: 发表嘟文

View file

@ -61,7 +61,7 @@ zh-TW:
title: 發生錯誤
new:
able_to: 這將允許其作:
prompt: 應用程式 %{client_name} 要求取得您帳的存取權限
prompt: 應用程式 %{client_name} 要求取得您帳的存取權限
title: 需要授權
show:
title: 複製此授權碼並貼上到應用程式中。
@ -125,8 +125,8 @@ zh-TW:
admin:write:accounts: 對帳戶進行仲裁管理動作
admin:write:reports: 對報告進行仲裁管理動作
follow: 修改帳戶關係
push: 接收帳號的推送通知
read: 讀取您所有的帳資料
push: 接收帳戶的推播通知
read: 讀取您所有的帳資料
read:accounts: 檢視帳戶資訊
read:blocks: 檢視您的封鎖名單
read:bookmarks: 檢視您的書籤
@ -139,7 +139,7 @@ zh-TW:
read:reports: 檢視您的檢舉
read:search: 以你的身份搜尋
read:statuses: 檢視所有嘟文
write: 修改您帳的所有資料
write: 修改您帳的所有資料
write:accounts: 修改您的個人檔案
write:blocks: 封鎖帳戶及站台
write:bookmarks: 書籤狀態

View file

@ -730,7 +730,7 @@ en:
aliases:
add_new: Create alias
created_msg: Successfully created a new alias. You can now initiate the move from the old account.
deleted_msg: Successfully remove the alias. Moving from that account to this one will no longer be possible.
deleted_msg: Successfully removed the alias. Moving from that account to this one will no longer be possible.
empty: You have no aliases.
hint_html: If you want to move from another account to this one, here you can create an alias, which is required before you can proceed with moving followers from the old account to this one. This action by itself is <strong>harmless and reversible</strong>. <strong>The account migration is initiated from the old account</strong>.
remove: Unlink alias
@ -970,7 +970,7 @@ en:
overwrite: Overwrite
overwrite_long: Replace current records with the new ones
preface: You can import data that you have exported from another server, such as a list of the people you are following or blocking.
success: Your data was successfully uploaded and will now be processed in due time
success: Your data was successfully uploaded and will be processed in due time
types:
blocking: Blocking list
bookmarks: Bookmarks
@ -1034,7 +1034,7 @@ en:
warning:
backreference_required: The new account must first be configured to back-reference this one
before: 'Before proceeding, please read these notes carefully:'
cooldown: After moving there is a cooldown period during which you will not be able to move again
cooldown: After moving there is a waiting period during which you will not be able to move again
disabled_account: Your current account will not be fully usable afterwards. However, you will have access to data export as well as re-activation.
followers: This action will move all followers from the current account to the new account
only_redirect_html: Alternatively, you can <a href="%{path}">only put up a redirect on your profile</a>.
@ -1103,7 +1103,7 @@ en:
code_hint: Enter the code generated by your authenticator app to confirm
description_html: If you enable <strong>two-factor authentication</strong> using an authenticator app, logging in will require you to be in possession of your phone, which will generate tokens for you to enter.
enable: Enable
instructions_html: "<strong>Scan this QR code into Google Authenticator or a similiar TOTP app on your phone</strong>. From now on, that app will generate tokens that you will have to enter when logging in."
instructions_html: "<strong>Scan this QR code into Google Authenticator or a similar TOTP app on your phone</strong>. From now on, that app will generate tokens that you will have to enter when logging in."
manual_instructions: 'If you can''t scan the QR code and need to enter it manually, here is the plain-text secret:'
setup: Set up
wrong_code: The entered code was invalid! Are server time and device time correct?
@ -1167,7 +1167,7 @@ en:
proceed: Proceed to reply
prompt: 'You want to reply to this post:'
scheduled_statuses:
over_daily_limit: You have exceeded the limit of %{limit} scheduled posts for that day
over_daily_limit: You have exceeded the limit of %{limit} scheduled posts for today
over_total_limit: You have exceeded the limit of %{limit} scheduled posts
too_soon: The scheduled date must be in the future
sessions:
@ -1199,7 +1199,7 @@ en:
adobe_air: Adobe Air
android: Android
blackberry: Blackberry
chrome_os: ChromeOS
chrome_os: Chrome OS
firefox_os: Firefox OS
ios: iOS
linux: Linux
@ -1431,7 +1431,7 @@ en:
edit_profile_step: You can customize your profile by uploading an avatar, header, changing your display name and more. If youd like to review new followers before theyre allowed to follow you, you can lock your account.
explanation: Here are some tips to get you started
final_action: Start posting
final_step: 'Start posting! Even without followers your public messages may be seen by others, for example on the local timeline and in hashtags. You may want to introduce yourself on the #introductions hashtag.'
final_step: 'Start posting! Even without followers your public posts may be seen by others, for example on the local timeline and in hashtags. You may want to introduce yourself on the #introductions hashtag.'
full_handle: Your full handle
full_handle_hint: This is what you would tell your friends so they can message or follow you from another server.
review_preferences_action: Change preferences

View file

@ -730,7 +730,7 @@ es-AR:
aliases:
add_new: Crear alias
created_msg: El nuevo alias se creó exitosamente. Ahora podés empezar la mudanza desde la cuenta vieja.
deleted_msg: Eliminaste el alias exitosamente. La mudanza de esa cuenta a esta ya no será posible.
deleted_msg: Eliminaste el alias exitosamente. La mudanza de esa cuenta a ésta ya no será posible.
empty: No tenés alias.
hint_html: Si querés mudarte desde otra cuenta a esta, acá podés crear un alias, el cual es necesario antes de empezar a mudar seguidores de la cuenta vieja a ésta. Esta acción por sí misma es <strong>inofensiva y reversible</strong>. <strong>La migración de la cuenta se inicia desde la cuenta anterior</strong>.
remove: Desvincular alias

View file

@ -7,6 +7,7 @@ es-MX:
active_count_after: activo
active_footnote: Usuarios Activos Mensuales (UAM)
administered_by: 'Administrado por:'
api: API
apps: Aplicaciones móviles
apps_platforms: Utiliza Mastodon desde iOS, Android y otras plataformas
browse_directory: Navega por el directorio de perfiles y filtra por intereses
@ -14,6 +15,7 @@ es-MX:
browse_public_posts: Navega por un transmisión en vivo de publicaciones públicas en Mastodon
contact: Contacto
contact_missing: No especificado
contact_unavailable: No disponible
discover_users: Descubrir usuarios
documentation: Documentación
federation_hint_html: Con una cuenta en %{instance} usted podrá seguir a las personas en cualquier servidor de Mastodon y más allá.
@ -80,6 +82,7 @@ es-MX:
posts_with_replies: Toots con respuestas
roles:
admin: Administrador
bot: Bot
group: Grupo
moderator: Moderador
unavailable: Perfil no disponible
@ -99,6 +102,7 @@ es-MX:
approve_all: Aprobar todos
approved_msg: La solicitud de registro de %{username} ha sido aprobada correctamente
are_you_sure: "¿Estás seguro?"
avatar: Avatar
by_domain: Dominio
change_email:
changed_msg: "¡El correo electrónico se ha actualizado correctamente!"
@ -131,9 +135,11 @@ es-MX:
inbox_url: URL de la bandeja de entrada
invite_request_text: Razones para unirse
invited_by: Invitado por
ip: IP
joined: Unido
location:
all: Todos
local: Local
remote: Remoto
title: Localización
login_status: Estado del login
@ -210,6 +216,7 @@ es-MX:
username: Nombre de usuario
view_domain: Ver resumen del dominio
warn: Adevertir
web: Web
whitelisted: Añadido a la lista blanca
action_logs:
action_types:
@ -223,6 +230,7 @@ es-MX:
create_domain_block: Crear Bloqueo de Dominio
create_email_domain_block: Crear Bloqueo de Dominio de Correo Electrónico
create_ip_block: Crear regla IP
create_unavailable_domain: Crear Dominio No Disponible
demote_user: Degradar Usuario
destroy_announcement: Eliminar Anuncio
destroy_custom_emoji: Eliminar Emoji Personalizado
@ -231,6 +239,7 @@ es-MX:
destroy_email_domain_block: Eliminar Bloqueo de Dominio de Correo Electrónico
destroy_ip_block: Eliminar regla IP
destroy_status: Eliminar Estado
destroy_unavailable_domain: Eliminar Dominio No Disponible
disable_2fa_user: Deshabilitar 2FA
disable_custom_emoji: Deshabilitar Emoji Personalizado
disable_user: Deshabilitar Usuario
@ -264,6 +273,7 @@ es-MX:
create_domain_block_html: "%{name} bloqueó el dominio %{target}"
create_email_domain_block_html: "%{name} bloqueó el dominio de correo electrónico %{target}"
create_ip_block_html: "%{name} creó una regla para la IP %{target}"
create_unavailable_domain_html: "%{name} detuvo las entregas al dominio %{target}"
demote_user_html: "%{name} degradó al usuario %{target}"
destroy_announcement_html: "%{name} eliminó el anuncio %{target}"
destroy_custom_emoji_html: "%{name} destruyó emoji %{target}"
@ -272,6 +282,7 @@ es-MX:
destroy_email_domain_block_html: "%{name} desbloqueó el dominio de correo electrónico %{target}"
destroy_ip_block_html: "%{name} eliminó una regla para la IP %{target}"
destroy_status_html: "%{name} eliminó el estado por %{target}"
destroy_unavailable_domain_html: "%{name} reanudó las entregas al dominio %{target}"
disable_2fa_user_html: "%{name} desactivó el requisito de dos factores para el usuario %{target}"
disable_custom_emoji_html: "%{name} desactivó el emoji %{target}"
disable_user_html: "%{name} deshabilitó el inicio de sesión para el usuario %{target}"
@ -313,7 +324,7 @@ es-MX:
scheduled_for: Programado para %{time}
scheduled_msg: "¡Anuncio programado para su publicación!"
title: Anuncios
unpublish: Eliminar publicación
unpublish: Retirar publicación
unpublished_msg: "¡Anuncio despublicado con éxito!"
updated_msg: "¡Anuncio actualizado con éxito!"
custom_emojis:
@ -329,6 +340,7 @@ es-MX:
disable: Deshabilitar
disabled: Desactivado
disabled_msg: Se deshabilitó con éxito ese emoji
emoji: Emoji
enable: Habilitar
enabled: Activado
enabled_msg: Se habilitó con éxito ese emoji
@ -366,6 +378,7 @@ es-MX:
recent_users: Usuarios recientes
search: Búsqueda por texto completo
single_user_mode: Modo único usuario
software: Software
space: Uso de almacenamiento
title: Tablero
total_users: usuarios en total
@ -434,16 +447,33 @@ es-MX:
title: Nueva entrada en la lista negra de correo
title: Lista negra de correo
follow_recommendations:
description_html: "<strong>Las recomendaciones de cuentas a las que seguir ayudan a los nuevos usuarios a encontrar rápidamente contenido interesante</strong>. Cuando un usuario no ha interactuado con otros lo suficiente como para formar recomendaciones personalizadas de seguimiento, estas cuentas se recomiendan en su lugar. Se recalculan diariamente a partir de una mezcla de cuentas con las interacciones más recientes y el mayor número de seguidores para un idioma determinado."
description_html: "<strong>Las recomendaciones de cuentas ayudan a los nuevos usuarios a encontrar rápidamente contenido interesante</strong>. Cuando un usuario no ha interactuado con otros lo suficiente como para suscitar recomendaciones personalizadas de cuentas a las que seguir, en su lugar se le recomiendan estas cuentas. Se recalculan diariamente a partir de una mezcla de cuentas con el mayor número de interacciones recientes y con el mayor número de seguidores locales con un idioma determinado."
language: Para el idioma
status: Estado
suppress: Eliminar recomendación de cuentas a las que seguir
suppressed: Eliminado
title: Recomendaciones de cuentas a las que seguir
unsuppress: Restaurar recomendaciones de cuentas a las que seguir
suppress: Suprimir recomendación de cuentas
suppressed: Suprimida
title: Recomendaciones de cuentas
unsuppress: Restaurar recomendaciones de cuentas
instances:
back_to_all: Todos
back_to_limited: Limitados
back_to_warning: Advertencia
by_domain: Dominio
delivery:
all: Todos
clear: Limpiar errores de entrega
restart: Reiniciar entrega
stop: Detener entrega
title: Entrega
unavailable: No disponible
unavailable_message: Entrega no disponible
warning: Advertencia
warning_message:
one: Fallo de entrega %{count} día
other: Fallo de entrega %{count} días
delivery_available: Entrega disponible
delivery_error_days: Días de error de entrega
delivery_error_hint: Si la entrega no es posible a lo largo de %{count} días, se marcará automáticamente como no entregable.
empty: No se encontraron dominios.
known_accounts:
one: "%{count} cuenta conocida"
@ -546,9 +576,9 @@ es-MX:
rules:
add_new: Añadir norma
delete: Eliminar
description_html: Aunque la mayoría de las afirmaciones de haber leído y aceptado los términos de servicio, normalmente la gente no los lee hasta después de que surja un problema. <strong>Haz que sea más fácil ver las reglas de tu servidor de un vistazo, proporcionándolas en una lista de puntos.</strong> Intenta mantener reglas individuales cortas y sencillas, pero intenta no dividirlas en muchos objetos separados.
description_html: Aunque la mayoría afirma haber leído y estar de acuerdo con los términos de servicio, la gente normalmente no los lee hasta después de que surja algún problema. <strong>Haz que sea más fácil ver las normas de tu servidor de un vistazo estipulándolas en una lista de puntos.</strong> Intenta que cada norma sea corta y sencilla, pero sin estar divididas en muchos puntos.
edit: Editar norma
empty: Aún no se han definido reglas del servidor.
empty: Aún no se han definido las normas del servidor.
title: Normas del servidor
settings:
activity_api_enabled:
@ -671,6 +701,7 @@ es-MX:
last_active: Última actividad
most_popular: Más popular
most_recent: Más reciente
name: Hashtag
review: Estado de revisión
reviewed: Revisado
title: Etiquetas
@ -683,7 +714,7 @@ es-MX:
add_new: Añadir nuevo
delete: Borrar
edit_preset: Editar aviso predeterminado
empty: Aún no ha definido ninguna advertencia predefinida.
empty: Aún no has definido ningún preajuste de advertencia.
title: Editar configuración predeterminada de avisos
admin_mailer:
new_pending_account:
@ -717,6 +748,7 @@ es-MX:
toot_layout: Diseño de los toots
application_mailer:
notification_preferences: Cambiar preferencias de correo electrónico
salutation: "%{name}:"
settings: 'Cambiar preferencias de correo: %{link}'
view: 'Vista:'
view_profile: Ver perfil
@ -751,6 +783,9 @@ es-MX:
migrate_account: Mudarse a otra cuenta
migrate_account_html: Si deseas redireccionar esta cuenta a otra distinta, puedes <a href="%{path}">configurarlo aquí</a>.
or_log_in_with: O inicia sesión con
providers:
cas: CAS
saml: SAML
register: Registrarse
registration_closed: "%{instance} no está aceptando nuevos miembros"
resend_confirmation: Volver a enviar el correo de confirmación
@ -791,15 +826,24 @@ es-MX:
errors:
invalid_key: no es una clave Ed25519 o Curve25519 válida
invalid_signature: no es una firma Ed25519 válida
date:
formats:
default: "%d %b %Y"
with_month_name: "%d %B %Y"
datetime:
distance_in_words:
about_x_hours: "%{count} h"
about_x_months: "%{count}m"
about_x_years: "%{count}a"
almost_x_years: "%{count}a"
half_a_minute: Justo ahora
less_than_x_minutes: "%{count} m"
less_than_x_seconds: Justo ahora
over_x_years: "%{count}a"
x_days: "%{count} d"
x_minutes: "%{count} m"
x_months: "%{count}m"
x_seconds: "%{count} s"
deletes:
challenge_not_passed: Los datos introducidos son incorrectos
confirm_password: Ingresa tu contraseña actual para demostrar tu identidad
@ -851,6 +895,7 @@ es-MX:
size: Tamaño
blocks: Personas que has bloqueado
bookmarks: Marcadores
csv: CSV
domain_blocks: Bloqueos de dominios
lists: Listas
mutes: Tienes en silencio
@ -1046,8 +1091,13 @@ es-MX:
number:
human:
decimal_units:
format: "%n %u"
units:
billion: MM
million: M
quadrillion: MB
thousand: m
trillion: B
otp_authentication:
code_hint: Introduce el código generado por tu aplicación de autentificación para confirmar
description_html: Si habilitas <strong>autenticación de dos factores</strong> a través de una aplicación de autenticación, el ingreso requerirá que estés en posesión de tu teléfono, que generará códigos para que ingreses.
@ -1061,6 +1111,7 @@ es-MX:
next: Próximo
older: Más antiguo
prev: Anterior
truncate: "&hellip;"
polls:
errors:
already_voted: Ya has votado en esta encuesta
@ -1122,15 +1173,40 @@ es-MX:
activity: Última actividad
browser: Navegador
browsers:
alipay: Alipay
blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
firefox: Firefox
generic: Desconocido
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Navegador de Nokia S40 Ovi
opera: Opera
otter: Otter
phantom_js: PhantomJS
qq: Navegador QQ
safari: Safari
uc_browser: UCBrowser
weibo: Weibo
current_session: Sesión actual
description: "%{browser} en %{platform}"
explanation: Estos son los navegadores web conectados actualmente en tu cuenta de Mastodon.
ip: IP
platforms:
adobe_air: Adobe Air
android: Android
blackberry: Blackberry
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: GNU Linux
mac: Mac
other: Desconocido
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
revoke: Revocar
revoke_success: Sesión revocada exitosamente
title: Sesiones
@ -1158,6 +1234,9 @@ es-MX:
webauthn_authentication: Claves de seguridad
statuses:
attached:
audio:
one: "%{count} audio"
other: "%{count} audios"
description: 'Adjunto: %{attached}'
image:
one: "%{count} imagen"
@ -1193,8 +1272,9 @@ es-MX:
show_older: Mostrar más antiguos
show_thread: Mostrar discusión
sign_in_to_participate: Regístrate para participar en la conversación
title: "%{name}: «%{quote}»"
visibilities:
direct: Directo
direct: Directa
private: Sólo mostrar a seguidores
private_long: Solo mostrar a tus seguidores
public: Público
@ -1297,6 +1377,7 @@ es-MX:
time:
formats:
default: "%d de %b del %Y, %H:%M"
month: "%b %Y"
two_factor_authentication:
add: Añadir
disable: Deshabilitar

View file

@ -7,6 +7,7 @@ es:
active_count_after: activo
active_footnote: Usuarios Activos Mensuales (UAM)
administered_by: 'Administrado por:'
api: API
apps: Aplicaciones móviles
apps_platforms: Utiliza Mastodon desde iOS, Android y otras plataformas
browse_directory: Navega por el directorio de perfiles y filtra por intereses
@ -14,6 +15,7 @@ es:
browse_public_posts: Navega por un transmisión en vivo de publicaciones públicas en Mastodon
contact: Contacto
contact_missing: No especificado
contact_unavailable: No disponible
discover_users: Descubrir usuarios
documentation: Documentación
federation_hint_html: Con una cuenta en %{instance} usted podrá seguir a las personas en cualquier servidor de Mastodon y más allá.
@ -80,6 +82,7 @@ es:
posts_with_replies: Publicaciones y respuestas
roles:
admin: Administrador
bot: Bot
group: Grupo
moderator: Moderador
unavailable: Perfil no disponible
@ -99,6 +102,7 @@ es:
approve_all: Aprobar todos
approved_msg: La solicitud de registro de %{username} ha sido aprobada correctamente
are_you_sure: "¿Estás seguro?"
avatar: Avatar
by_domain: Dominio
change_email:
changed_msg: "¡El correo electrónico se ha actualizado correctamente!"
@ -131,9 +135,11 @@ es:
inbox_url: URL de la bandeja de entrada
invite_request_text: Razones para unirse
invited_by: Invitado por
ip: IP
joined: Unido
location:
all: Todos
local: Local
remote: Remoto
title: Localización
login_status: Estado del login
@ -210,6 +216,7 @@ es:
username: Nombre de usuario
view_domain: Ver resumen del dominio
warn: Adevertir
web: Web
whitelisted: Añadido a la lista blanca
action_logs:
action_types:
@ -333,6 +340,7 @@ es:
disable: Deshabilitar
disabled: Desactivado
disabled_msg: Se deshabilitó con éxito ese emoji
emoji: Emoji
enable: Habilitar
enabled: Activado
enabled_msg: Se habilitó con éxito ese emoji
@ -370,6 +378,7 @@ es:
recent_users: Usuarios recientes
search: Búsqueda por texto completo
single_user_mode: Modo único usuario
software: Software
space: Uso de almacenamiento
title: Tablero
total_users: usuarios en total
@ -692,6 +701,7 @@ es:
last_active: Última actividad
most_popular: Más popular
most_recent: Más reciente
name: Hashtag
review: Estado de revisión
reviewed: Revisado
title: Etiquetas
@ -738,6 +748,7 @@ es:
toot_layout: Diseño de las publicaciones
application_mailer:
notification_preferences: Cambiar preferencias de correo electrónico
salutation: "%{name}:"
settings: 'Cambiar preferencias de correo: %{link}'
view: 'Vista:'
view_profile: Ver perfil
@ -772,6 +783,9 @@ es:
migrate_account: Mudarse a otra cuenta
migrate_account_html: Si deseas redireccionar esta cuenta a otra distinta, puedes <a href="%{path}">configurarlo aquí</a>.
or_log_in_with: O inicia sesión con
providers:
cas: CAS
saml: SAML
register: Registrarse
registration_closed: "%{instance} no está aceptando nuevos miembros"
resend_confirmation: Volver a enviar el correo de confirmación
@ -812,15 +826,24 @@ es:
errors:
invalid_key: no es una clave Ed25519 o Curve25519 válida
invalid_signature: no es una firma Ed25519 válida
date:
formats:
default: "%d %b %Y"
with_month_name: "%d %B %Y"
datetime:
distance_in_words:
about_x_hours: "%{count} h"
about_x_months: "%{count}m"
about_x_years: "%{count}a"
almost_x_years: "%{count}a"
half_a_minute: Justo ahora
less_than_x_minutes: "%{count} m"
less_than_x_seconds: Justo ahora
over_x_years: "%{count}a"
x_days: "%{count} d"
x_minutes: "%{count} m"
x_months: "%{count}m"
x_seconds: "%{count} s"
deletes:
challenge_not_passed: Los datos introducidos son incorrectos
confirm_password: Ingresa tu contraseña actual para demostrar tu identidad
@ -872,6 +895,7 @@ es:
size: Tamaño
blocks: Personas que has bloqueado
bookmarks: Marcadores
csv: CSV
domain_blocks: Bloqueos de dominios
lists: Listas
mutes: Tienes en silencio
@ -1067,8 +1091,13 @@ es:
number:
human:
decimal_units:
format: "%n %u"
units:
billion: MM
million: M
quadrillion: MB
thousand: m
trillion: B
otp_authentication:
code_hint: Introduce el código generado por tu aplicación de autentificación para confirmar
description_html: Si habilitas <strong>autenticación de dos factores</strong> a través de una aplicación de autenticación, el ingreso requerirá que estés en posesión de tu teléfono, que generará códigos para que ingreses.
@ -1082,6 +1111,7 @@ es:
next: Próximo
older: Más antiguo
prev: Anterior
truncate: "&hellip;"
polls:
errors:
already_voted: Ya has votado en esta encuesta
@ -1143,15 +1173,40 @@ es:
activity: Última actividad
browser: Navegador
browsers:
alipay: Alipay
blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
firefox: Firefox
generic: Desconocido
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Navegador de Nokia S40 Ovi
opera: Opera
otter: Otter
phantom_js: PhantomJS
qq: Navegador QQ
safari: Safari
uc_browser: UCBrowser
weibo: Weibo
current_session: Sesión actual
description: "%{browser} en %{platform}"
explanation: Estos son los navegadores web conectados actualmente en tu cuenta de Mastodon.
ip: IP
platforms:
adobe_air: Adobe Air
android: Android
blackberry: Blackberry
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: GNU Linux
mac: Mac
other: Desconocido
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
revoke: Revocar
revoke_success: Sesión revocada exitosamente
title: Sesiones
@ -1179,6 +1234,9 @@ es:
webauthn_authentication: Claves de seguridad
statuses:
attached:
audio:
one: "%{count} audio"
other: "%{count} audios"
description: 'Adjunto: %{attached}'
image:
one: "%{count} imagen"
@ -1214,6 +1272,7 @@ es:
show_older: Mostrar más antiguos
show_thread: Mostrar discusión
sign_in_to_participate: Regístrate para participar en la conversación
title: "%{name}: «%{quote}»"
visibilities:
direct: Directa
private: Sólo mostrar a seguidores
@ -1318,6 +1377,7 @@ es:
time:
formats:
default: "%d de %b del %Y, %H:%M"
month: "%b %Y"
two_factor_authentication:
add: Añadir
disable: Deshabilitar

View file

@ -64,7 +64,7 @@ fa:
other: پیگیر
following: پی می‌گیرد
instance_actor_flash: این حساب یک عامل مجازی است که به نمایندگی از خود کارساز استفاده می‌شود و نه هیچ یکی از کاربران. این حساب به منظور اتصال به فدراسیون استفاده می‌شود و نباید معلق شود.
joined: کاربر از %{date}
joined: پیوسته از %{date}
last_active: آخرین فعالیت
link_verified_on: مالکیت این پیوند در %{date} بررسی شد
media: عکس و ویدیو
@ -428,7 +428,13 @@ fa:
unsuppress: بازگردانی پیشنهادهای پی‌گیری
instances:
back_to_all: همه
back_to_limited: محدود
back_to_warning: هشدار
by_domain: دامین
delivery:
all: همه
unavailable: ناموجود
warning: هشدار
delivery_available: پیام آماده است
empty: هیج دامنه‌ای پیدا نشد.
known_accounts:
@ -1327,7 +1333,6 @@ fa:
time:
formats:
default: "%d %b %Y, %H:%M"
month: "%Ob %Y"
two_factor_authentication:
add: افزودن
disable: غیرفعال‌کردن

View file

@ -273,6 +273,7 @@ fr:
create_domain_block_html: "%{name} a bloqué le domaine %{target}"
create_email_domain_block_html: "%{name} a bloqué de domaine de courriel %{target}"
create_ip_block_html: "%{name} a créé une règle pour l'IP %{target}"
create_unavailable_domain_html: "%{name} a arrêté la livraison vers le domaine %{target}"
demote_user_html: "%{name} a rétrogradé l'utilisateur·rice %{target}"
destroy_announcement_html: "%{name} a supprimé l'annonce %{target}"
destroy_custom_emoji_html: "%{name} a détruit l'émoji %{target}"
@ -281,6 +282,7 @@ fr:
destroy_email_domain_block_html: "%{name} a débloqué le domaine de courriel %{target}"
destroy_ip_block_html: "%{name} a supprimé la règle pour l'IP %{target}"
destroy_status_html: "%{name} a supprimé le statut de %{target}"
destroy_unavailable_domain_html: "%{name} a repris la livraison au domaine %{target}"
disable_2fa_user_html: "%{name} a désactivé l'authentification à deux facteurs pour l'utilisateur·rice %{target}"
disable_custom_emoji_html: "%{name} a désactivé l'émoji %{target}"
disable_user_html: "%{name} a désactivé la connexion de l'utilisateur·rice %{target}"
@ -453,10 +455,25 @@ fr:
title: Recommandations d'abonnement
unsuppress: Rétablir les recommandations d'abonnement
instances:
back_to_all: Tout
back_to_limited: Limité
back_to_warning: Avertissement
by_domain: Domaine
delivery:
all: Tout
clear: Effacer les erreurs de livraison
restart: Redémarrer la livraison
stop: Arrêter la livraison
title: Livraison
unavailable: Indisponible
unavailable_message: Livraison indisponible
warning: Avertissement
warning_message:
one: Échec de livraison %{count} jour
other: Échec de livraison %{count} jours
delivery_available: Livraison disponible
delivery_error_days: Jours d'erreur de livraison
delivery_error_hint: Si la livraison n'est pas possible pendant %{count} jours, elle sera automatiquement marquée comme non livrable.
empty: Aucun domaine trouvé.
known_accounts:
one: "%{count} compte connu"
@ -636,7 +653,7 @@ fr:
desc_html: Affichée dans la barre latérale et dans les méta-tags. Décrivez ce qui rend spécifique ce serveur Mastodon en un seul paragraphe. Si laissée vide, la description du serveur sera affiché par défaut.
title: Description courte du serveur
site_terms:
desc_html: Affichée sur la page des conditions dutilisation du site. Vous pouvez utiliser des balises HTML
desc_html: Vous pouvez écrire votre propre politique de confidentialité, conditions dutilisation ou autre jargon juridique. Vous pouvez utiliser des balises HTML
title: Politique de confidentialité
site_title: Nom du serveur
thumbnail:
@ -1352,7 +1369,7 @@ fr:
<p>Ce document est publié sous licence CC-BY-SA. Il a été mis à jour pour la dernière fois le 7 mars 2018.</p>
<p>Originellement adapté de la <a href="https://github.com/discourse/discourse">politique de confidentialité de Discourse</a>.</p>
title: "%{instance} Conditions dutilisation et politique de confidentialité"
title: Conditions dutilisation et politique de confidentialité de %{instance}
themes:
contrast: Mastodon (Contraste élevé)
default: Mastodon (Sombre)

File diff suppressed because one or more lines are too long

View file

@ -23,7 +23,7 @@ gl:
hosted_on: Mastodon aloxado en %{domain}
instance_actor_flash: 'Esta conta é un actor virtual utilizado para representar ao servidor e non a unha usuaria individual. Utilízase para propósitos de federación e non debería estar bloqueada a menos que queiras bloquear a toda a instancia, en tal caso deberías utilizar o bloqueo do dominio.
'
'
learn_more: Saber máis
privacy_policy: Política de privacidade
rules: Regras do servidor
@ -43,7 +43,7 @@ gl:
reason: Razón
rejecting_media: 'Os ficheiros multimedia deste servidor non serán procesados e non se amosarán miniaturas, o que require un clic manual no ficheiro orixinal:'
rejecting_media_title: Multimedia filtrado
silenced: 'As publicacións deste servidor non se amosarán en conversas e liñas temporais, nin terás notificacións das súas usuarias agás que as sigas:'
silenced: 'As publicacións destes servidores non se amosarán en conversas e cronoloxías públicas, nin terás notificacións xeradas polas interaccións das usuarias, a menos que as estés a seguir:'
silenced_title: Servidores acalados
suspended: 'Non se procesarán, almacenarán nin intercambiarán datos destes servidores, o que fai imposíbel calquera interacción ou comunicación coas usuarias dende estes servidores:'
suspended_title: Servidores suspendidos
@ -639,7 +639,7 @@ gl:
title: Estado do rexistro
show_known_fediverse_at_about_page:
desc_html: Si activado, mostraralle os toots de todo o fediverso coñecido nunha vista previa. Si non só mostrará os toots locais.
title: Mostrar vista previa do fediverso na liña temporal
title: Incluír contido federado na páxina da cronoloxía pública sen autenticación
show_staff_badge:
desc_html: Mostrar unha insignia de membresía nunha páxina de usuaria
title: Mostrar insigna de membresía
@ -660,8 +660,8 @@ gl:
desc_html: Utilizado para vistas previsas vía OpenGraph e API. Recoméndase 1200x630px
title: Icona do servidor
timeline_preview:
desc_html: Mostrar liña de tempo pública na páxina de inicio
title: vista previa da liña temporal
desc_html: Mostrar ligazón á cronoloxía pública na páxina de benvida e permitir o acceso API á cronoloxía pública sen ter autenticación
title: Permitir acceso á cronoloxía pública sen autenticación
title: Axustes do sitio
trendable_by_default:
desc_html: Afecta ós cancelos que non foron rexeitados de xeito previo
@ -908,9 +908,9 @@ gl:
filters:
contexts:
account: Perfís
home: Liña temporal inicial
home: Inicio e listaxes
notifications: Avisos
public: Liñas temporais públicas
public: Cronoloxías públicas
thread: Conversas
edit:
title: Editar filtro
@ -1126,7 +1126,7 @@ gl:
preferences:
other: Outro
posting_defaults: Valores por omisión
public_timelines: Liñas temporais públicas
public_timelines: Cronoloxías públicas
reactions:
errors:
limit_reached: Acadouse o límite das diferentes reaccións
@ -1280,7 +1280,7 @@ gl:
public: Público
public_long: Visible para calquera
unlisted: Non listado
unlisted_long: Visible para calquera, pero non listado en liñas de tempo públicas
unlisted_long: Visible para calquera, pero non en cronoloxías públicas
stream_entries:
pinned: Publicación fixada
reblogged: promovido
@ -1386,12 +1386,12 @@ gl:
enabled: A autenticación de dobre-factor está activada
enabled_success: Activouse con éxito a autenticación de dobre-factor
generate_recovery_codes: Xerar códigos de recuperación
lost_recovery_codes: Os códigos de recuperación permítenlle recuperar o acceso a súa conta si perde o teléfono. Si perde os códigos de recuperación, pode restauralos aquí. Os seus códigos de recuperación anteriores serán invalidados.
lost_recovery_codes: Os códigos de recuperación permítenche recuperar o acceso a túa conta se perdes o teléfono. Se perdes os códigos de recuperación, podes restauralos aquí. Os teus códigos de recuperación anteriores serán invalidados.
methods: Métodos para o segundo factor
otp: App autenticadora
recovery_codes: Códigos de recuperación do respaldo
recovery_codes_regenerated: Códigos de recuperación xerados correctamente
recovery_instructions_html: Si perdese o acceso ao seu teléfono, pode utilizar un dos códigos inferiores de recuperación para recuperar o acceso a súa conta. <strong>Garde os códigos en lugar seguro</strong>. Por exemplo, pode imprimilos e gardalos xunto con outros documentos importantes.
recovery_instructions_html: Se perdeses o acceso ao teu teléfono, podes utilizar un dos códigos de recuperación inferiores para recuperar o acceso á conta. <strong>Garda os códigos nun lugar seguro</strong>. Por exemplo, podes imprimilos e gardalos xunto con outros documentos importantes.
webauthn: Chaves de seguridade
user_mailer:
backup_ready:
@ -1430,15 +1430,15 @@ gl:
edit_profile_step: Podes personalizar o teu perfil subindo un avatar, cabeceira, cambiar o nome público e aínda máis. Se restrinxes a túa conta podes revisar a conta das persoas que solicitan seguirte antes de permitirlles o acceso aos teus toots.
explanation: Aquí ten alunhas endereitas para ir aprendendo
final_action: Comece a publicar
final_step: 'Publica! Incluso sen seguidoras as túas mensaxes serán vistas por outras, por exemplo na liña temporal local e nos cancelos. Poderías presentarte ao #fediverso utilizando o cancelo #introductions.'
final_step: 'Publica! Incluso sen seguidoras as túas mensaxes públicas serán vistas por outras, por exemplo na cronoloxía local e nos cancelos. Poderías presentarte ao #fediverso utilizando o cancelo #introductions.'
full_handle: O seu alcume completo
full_handle_hint: Esto é o que lle dirá aos seus amigos para que poidan seguila ou enviarlle mensaxes desde outro servidor.
review_preferences_action: Cambiar preferencias
review_preferences_step: Lembre establecer as preferencias, tales como qué correos-e lle querería recibir, ou o nivel de intimidade por omisión para as súas mensaxes. Se non lle molestan as imaxes con movemento, pode escoller que os GIF se reproduzan automáticamente.
subject: Benvida a Mastodon
tip_federated_timeline: A liña temporal federada é unha visión reducida da rede Mastodon. Inclúe xente a que segue xente que ti segues, así que non é completa.
tip_following: Por omisión segues a Admin(s) no teu servidor. Para atopar máis xente interesante, mira nas liñas temporais local e federada.
tip_local_timeline: A liña temporal local é unha ollada xeral sobre a xente en %{instance}. Son as súas veciñas máis próximas!
tip_federated_timeline: A cronoloxía federada é unha visión reducida da rede Mastodon. Inclúe xente a que segue xente que ti segues, así que non é completa.
tip_following: Por defecto segues a Admin(s) no teu servidor. Para atopar máis xente interesante, mira nas cronoloxías local e federada.
tip_local_timeline: A cronoloxía local é unha ollada xeral sobre a xente en %{instance}. Son as súas veciñas máis próximas!
tip_mobile_webapp: Si o navegador móbil lle ofrece engadir Mastodon a pantalla de inicio, pode recibir notificacións push. En moitos aspectos comportarase como un aplicativo nativo!
tips: Consellos
title: Benvida, %{name}!
@ -1447,7 +1447,7 @@ gl:
generic_access_help_html: Problemas para acceder a conta? Podes contactar con %{email} para obter axuda
invalid_otp_token: O código do segundo factor non é válido
invalid_sign_in_token: Código de seguridade non válido
otp_lost_help_html: Si perde o acceso a ambos, pode contactar con %{email}
otp_lost_help_html: Se perdes o acceso a ambos, podes contactar con %{email}
seamless_external_login: Está conectado a través de un servizo externo, polo que os axustes de contrasinal e correo-e non están dispoñibles.
signed_in_as: 'Rexistrada como:'
suspicious_sign_in_confirmation: Semella que non te conectaches antes desde este dispositivo, e hai tempo que non te conectas, así que ímosche enviar un código de seguridade ao teu enderezo de email para confirmar que es ti.

View file

@ -846,7 +846,7 @@ ja:
email_change_html: アカウントを削除しなくても<a href="%{path}">メールアドレスを変更</a>できます
email_contact_html: それでも届かない場合、<a href="mailto:%{email}">%{email}</a> までメールで問い合わせてください
email_reconfirmation_html: 確認のメールが届かない場合、<a href="%{path}">もう一度申請</a>できます。
irreversible: アカウントを元に戻したり復活させることはできません
irreversible: 削除操作の撤回やアカウントの復活はできません
more_details_html: 詳しくは<a href="%{terms_path}">プライバシーポリシー</a>をご覧ください。
username_available: あなたのユーザー名は再利用できるようになります
username_unavailable: あなたのユーザー名は引き続き利用できません

View file

@ -478,6 +478,11 @@ pl:
unavailable: Niedostępne
unavailable_message: Doręczaniei niedostępne
warning: Ostrzeżenie
warning_message:
few: "%{count} dni niepowodzenia doręczenia"
many: "%{count} dni niepowodzenia doręczenia"
one: "%{count} dzień niepowodzenia doręczenia"
other: "%{count} dni niepowodzenia doręczenia"
delivery_available: Doręczanie jest dostępne
delivery_error_days: Dni błędów doręczenia
delivery_error_hint: Jeżeli doręczanie nie będzie możliwe przez %{count} dni, zostanie automatycznie oznaczona jako nie do doręczania.

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