commit
a9b759d791
8
Gemfile
8
Gemfile
|
@ -20,7 +20,7 @@ gem 'makara', '~> 0.4'
|
||||||
gem 'pghero', '~> 2.7'
|
gem 'pghero', '~> 2.7'
|
||||||
gem 'dotenv-rails', '~> 2.7'
|
gem 'dotenv-rails', '~> 2.7'
|
||||||
|
|
||||||
gem 'aws-sdk-s3', '~> 1.83', require: false
|
gem 'aws-sdk-s3', '~> 1.84', require: false
|
||||||
gem 'fog-core', '<= 2.1.0'
|
gem 'fog-core', '<= 2.1.0'
|
||||||
gem 'fog-openstack', '~> 0.3', require: false
|
gem 'fog-openstack', '~> 0.3', require: false
|
||||||
gem 'paperclip', '~> 6.0'
|
gem 'paperclip', '~> 6.0'
|
||||||
|
@ -30,7 +30,7 @@ gem 'blurhash', '~> 0.1'
|
||||||
|
|
||||||
gem 'active_model_serializers', '~> 0.10'
|
gem 'active_model_serializers', '~> 0.10'
|
||||||
gem 'addressable', '~> 2.7'
|
gem 'addressable', '~> 2.7'
|
||||||
gem 'bootsnap', '~> 1.4', require: false
|
gem 'bootsnap', '~> 1.5', require: false
|
||||||
gem 'browser'
|
gem 'browser'
|
||||||
gem 'charlock_holmes', '~> 0.7.7'
|
gem 'charlock_holmes', '~> 0.7.7'
|
||||||
gem 'iso-639'
|
gem 'iso-639'
|
||||||
|
@ -71,7 +71,7 @@ gem 'nsa', '~> 0.2'
|
||||||
gem 'oj', '~> 3.10'
|
gem 'oj', '~> 3.10'
|
||||||
gem 'ox', '~> 2.13'
|
gem 'ox', '~> 2.13'
|
||||||
gem 'parslet'
|
gem 'parslet'
|
||||||
gem 'parallel', '~> 1.19'
|
gem 'parallel', '~> 1.20'
|
||||||
gem 'posix-spawn'
|
gem 'posix-spawn'
|
||||||
gem 'pundit', '~> 2.1'
|
gem 'pundit', '~> 2.1'
|
||||||
gem 'premailer-rails'
|
gem 'premailer-rails'
|
||||||
|
@ -135,7 +135,7 @@ end
|
||||||
group :development do
|
group :development do
|
||||||
gem 'active_record_query_trace', '~> 1.8'
|
gem 'active_record_query_trace', '~> 1.8'
|
||||||
gem 'annotate', '~> 3.1'
|
gem 'annotate', '~> 3.1'
|
||||||
gem 'better_errors', '~> 2.8'
|
gem 'better_errors', '~> 2.9'
|
||||||
gem 'binding_of_caller', '~> 0.7'
|
gem 'binding_of_caller', '~> 0.7'
|
||||||
gem 'bullet', '~> 6.1'
|
gem 'bullet', '~> 6.1'
|
||||||
gem 'letter_opener', '~> 1.7'
|
gem 'letter_opener', '~> 1.7'
|
||||||
|
|
22
Gemfile.lock
22
Gemfile.lock
|
@ -79,8 +79,8 @@ GEM
|
||||||
cocaine (~> 0.5.3)
|
cocaine (~> 0.5.3)
|
||||||
awrence (1.1.1)
|
awrence (1.1.1)
|
||||||
aws-eventstream (1.1.0)
|
aws-eventstream (1.1.0)
|
||||||
aws-partitions (1.385.0)
|
aws-partitions (1.390.0)
|
||||||
aws-sdk-core (3.109.1)
|
aws-sdk-core (3.109.2)
|
||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
aws-partitions (~> 1, >= 1.239.0)
|
aws-partitions (~> 1, >= 1.239.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
|
@ -88,14 +88,14 @@ GEM
|
||||||
aws-sdk-kms (1.39.0)
|
aws-sdk-kms (1.39.0)
|
||||||
aws-sdk-core (~> 3, >= 3.109.0)
|
aws-sdk-core (~> 3, >= 3.109.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
aws-sdk-s3 (1.83.1)
|
aws-sdk-s3 (1.84.0)
|
||||||
aws-sdk-core (~> 3, >= 3.109.0)
|
aws-sdk-core (~> 3, >= 3.109.0)
|
||||||
aws-sdk-kms (~> 1)
|
aws-sdk-kms (~> 1)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
aws-sigv4 (1.2.2)
|
aws-sigv4 (1.2.2)
|
||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
bcrypt (3.1.16)
|
bcrypt (3.1.16)
|
||||||
better_errors (2.8.3)
|
better_errors (2.9.1)
|
||||||
coderay (>= 1.0.0)
|
coderay (>= 1.0.0)
|
||||||
erubi (>= 1.0.0)
|
erubi (>= 1.0.0)
|
||||||
rack (>= 0.9.0)
|
rack (>= 0.9.0)
|
||||||
|
@ -104,7 +104,7 @@ GEM
|
||||||
debug_inspector (>= 0.0.1)
|
debug_inspector (>= 0.0.1)
|
||||||
blurhash (0.1.4)
|
blurhash (0.1.4)
|
||||||
ffi (~> 1.10.0)
|
ffi (~> 1.10.0)
|
||||||
bootsnap (1.4.9)
|
bootsnap (1.5.0)
|
||||||
msgpack (~> 1.0)
|
msgpack (~> 1.0)
|
||||||
brakeman (4.10.0)
|
brakeman (4.10.0)
|
||||||
browser (4.2.0)
|
browser (4.2.0)
|
||||||
|
@ -391,7 +391,7 @@ GEM
|
||||||
paperclip-av-transcoder (0.6.4)
|
paperclip-av-transcoder (0.6.4)
|
||||||
av (~> 0.9.0)
|
av (~> 0.9.0)
|
||||||
paperclip (>= 2.5.2)
|
paperclip (>= 2.5.2)
|
||||||
parallel (1.19.2)
|
parallel (1.20.0)
|
||||||
parallel_tests (3.3.0)
|
parallel_tests (3.3.0)
|
||||||
parallel
|
parallel
|
||||||
parser (2.7.2.0)
|
parser (2.7.2.0)
|
||||||
|
@ -650,7 +650,7 @@ GEM
|
||||||
safety_net_attestation (~> 0.4.0)
|
safety_net_attestation (~> 0.4.0)
|
||||||
securecompare (~> 1.0)
|
securecompare (~> 1.0)
|
||||||
tpm-key_attestation (~> 0.9.0)
|
tpm-key_attestation (~> 0.9.0)
|
||||||
webmock (3.9.3)
|
webmock (3.9.5)
|
||||||
addressable (>= 2.3.6)
|
addressable (>= 2.3.6)
|
||||||
crack (>= 0.3.2)
|
crack (>= 0.3.2)
|
||||||
hashdiff (>= 0.4.0, < 2.0.0)
|
hashdiff (>= 0.4.0, < 2.0.0)
|
||||||
|
@ -678,11 +678,11 @@ DEPENDENCIES
|
||||||
active_record_query_trace (~> 1.8)
|
active_record_query_trace (~> 1.8)
|
||||||
addressable (~> 2.7)
|
addressable (~> 2.7)
|
||||||
annotate (~> 3.1)
|
annotate (~> 3.1)
|
||||||
aws-sdk-s3 (~> 1.83)
|
aws-sdk-s3 (~> 1.84)
|
||||||
better_errors (~> 2.8)
|
better_errors (~> 2.9)
|
||||||
binding_of_caller (~> 0.7)
|
binding_of_caller (~> 0.7)
|
||||||
blurhash (~> 0.1)
|
blurhash (~> 0.1)
|
||||||
bootsnap (~> 1.4)
|
bootsnap (~> 1.5)
|
||||||
brakeman (~> 4.10)
|
brakeman (~> 4.10)
|
||||||
browser
|
browser
|
||||||
bullet (~> 6.1)
|
bullet (~> 6.1)
|
||||||
|
@ -747,7 +747,7 @@ DEPENDENCIES
|
||||||
ox (~> 2.13)
|
ox (~> 2.13)
|
||||||
paperclip (~> 6.0)
|
paperclip (~> 6.0)
|
||||||
paperclip-av-transcoder (~> 0.6)
|
paperclip-av-transcoder (~> 0.6)
|
||||||
parallel (~> 1.19)
|
parallel (~> 1.20)
|
||||||
parallel_tests (~> 3.3)
|
parallel_tests (~> 3.3)
|
||||||
parslet
|
parslet
|
||||||
pg (~> 1.2)
|
pg (~> 1.2)
|
||||||
|
|
|
@ -6,6 +6,7 @@ class RelationshipsController < ApplicationController
|
||||||
before_action :authenticate_user!
|
before_action :authenticate_user!
|
||||||
before_action :set_accounts, only: :show
|
before_action :set_accounts, only: :show
|
||||||
before_action :set_pack
|
before_action :set_pack
|
||||||
|
before_action :set_relationships, only: :show
|
||||||
before_action :set_body_classes
|
before_action :set_body_classes
|
||||||
|
|
||||||
helper_method :following_relationship?, :followed_by_relationship?, :mutual_relationship?
|
helper_method :following_relationship?, :followed_by_relationship?, :mutual_relationship?
|
||||||
|
@ -29,6 +30,10 @@ class RelationshipsController < ApplicationController
|
||||||
@accounts = RelationshipFilter.new(current_account, filter_params).results.page(params[:page]).per(40)
|
@accounts = RelationshipFilter.new(current_account, filter_params).results.page(params[:page]).per(40)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def set_relationships
|
||||||
|
@relationships = AccountRelationshipsPresenter.new(@accounts.pluck(:id), current_user.account_id)
|
||||||
|
end
|
||||||
|
|
||||||
def form_account_batch_params
|
def form_account_batch_params
|
||||||
params.require(:form_account_batch).permit(:action, account_ids: [])
|
params.require(:form_account_batch).permit(:action, account_ids: [])
|
||||||
end
|
end
|
||||||
|
@ -50,7 +55,9 @@ class RelationshipsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def action_from_button
|
def action_from_button
|
||||||
if params[:unfollow]
|
if params[:follow]
|
||||||
|
'follow'
|
||||||
|
elsif params[:unfollow]
|
||||||
'unfollow'
|
'unfollow'
|
||||||
elsif params[:remove_from_followers]
|
elsif params[:remove_from_followers]
|
||||||
'remove_from_followers'
|
'remove_from_followers'
|
||||||
|
|
|
@ -89,6 +89,16 @@ module ApplicationHelper
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def interrelationships_icon(relationships, account_id)
|
||||||
|
if relationships.following[account_id] && relationships.followed_by[account_id]
|
||||||
|
fa_icon('exchange', title: I18n.t('relationships.mutual'), class: 'fa-fw active passive')
|
||||||
|
elsif relationships.following[account_id]
|
||||||
|
fa_icon(locale_direction == 'ltr' ? 'arrow-right' : 'arrow-left', title: I18n.t('relationships.following'), class: 'fa-fw active')
|
||||||
|
elsif relationships.followed_by[account_id]
|
||||||
|
fa_icon(locale_direction == 'ltr' ? 'arrow-left' : 'arrow-right', title: I18n.t('relationships.followers'), class: 'fa-fw passive')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def custom_emoji_tag(custom_emoji, animate = true)
|
def custom_emoji_tag(custom_emoji, animate = true)
|
||||||
if animate
|
if animate
|
||||||
image_tag(custom_emoji.image.url, class: 'emojione', alt: ":#{custom_emoji.shortcode}:")
|
image_tag(custom_emoji.image.url, class: 'emojione', alt: ":#{custom_emoji.shortcode}:")
|
||||||
|
|
|
@ -40,6 +40,7 @@ module SettingsHelper
|
||||||
kk: 'Қазақша',
|
kk: 'Қазақша',
|
||||||
kn: 'ಕನ್ನಡ',
|
kn: 'ಕನ್ನಡ',
|
||||||
ko: '한국어',
|
ko: '한국어',
|
||||||
|
ku: 'سۆرانی',
|
||||||
lt: 'Lietuvių',
|
lt: 'Lietuvių',
|
||||||
lv: 'Latviešu',
|
lv: 'Latviešu',
|
||||||
mk: 'Македонски',
|
mk: 'Македонски',
|
||||||
|
@ -56,6 +57,8 @@ module SettingsHelper
|
||||||
pt: 'Português',
|
pt: 'Português',
|
||||||
ro: 'Română',
|
ro: 'Română',
|
||||||
ru: 'Русский',
|
ru: 'Русский',
|
||||||
|
sa: 'संस्कृतम्',
|
||||||
|
sc: 'Sardu',
|
||||||
sk: 'Slovenčina',
|
sk: 'Slovenčina',
|
||||||
sl: 'Slovenščina',
|
sl: 'Slovenščina',
|
||||||
sq: 'Shqip',
|
sq: 'Shqip',
|
||||||
|
@ -69,6 +72,7 @@ module SettingsHelper
|
||||||
uk: 'Українська',
|
uk: 'Українська',
|
||||||
ur: 'اُردُو',
|
ur: 'اُردُو',
|
||||||
vi: 'Tiếng Việt',
|
vi: 'Tiếng Việt',
|
||||||
|
zgh: 'ⵜⴰⵎⴰⵣⵉⵖⵜ',
|
||||||
'zh-CN': '简体中文',
|
'zh-CN': '简体中文',
|
||||||
'zh-HK': '繁體中文(香港)',
|
'zh-HK': '繁體中文(香港)',
|
||||||
'zh-TW': '繁體中文(臺灣)',
|
'zh-TW': '繁體中文(臺灣)',
|
||||||
|
|
|
@ -50,8 +50,9 @@ export const NOTIFICATIONS_SET_VISIBILITY = 'NOTIFICATIONS_SET_VISIBILITY';
|
||||||
|
|
||||||
export const NOTIFICATIONS_MARK_AS_READ = 'NOTIFICATIONS_MARK_AS_READ';
|
export const NOTIFICATIONS_MARK_AS_READ = 'NOTIFICATIONS_MARK_AS_READ';
|
||||||
|
|
||||||
export const NOTIFICATIONS_SET_BROWSER_SUPPORT = 'NOTIFICATIONS_SET_BROWSER_SUPPORT';
|
export const NOTIFICATIONS_SET_BROWSER_SUPPORT = 'NOTIFICATIONS_SET_BROWSER_SUPPORT';
|
||||||
export const NOTIFICATIONS_SET_BROWSER_PERMISSION = 'NOTIFICATIONS_SET_BROWSER_PERMISSION';
|
export const NOTIFICATIONS_SET_BROWSER_PERMISSION = 'NOTIFICATIONS_SET_BROWSER_PERMISSION';
|
||||||
|
export const NOTIFICATIONS_DISMISS_BROWSER_PERMISSION = 'NOTIFICATIONS_DISMISS_BROWSER_PERMISSION';
|
||||||
|
|
||||||
defineMessages({
|
defineMessages({
|
||||||
mention: { id: 'notification.mention', defaultMessage: '{name} mentioned you' },
|
mention: { id: 'notification.mention', defaultMessage: '{name} mentioned you' },
|
||||||
|
@ -371,3 +372,7 @@ export function setBrowserPermission (value) {
|
||||||
value,
|
value,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const dismissBrowserPermission = () => ({
|
||||||
|
type: NOTIFICATIONS_DISMISS_BROWSER_PERMISSION,
|
||||||
|
});
|
||||||
|
|
|
@ -1,25 +1,42 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import Icon from 'flavours/glitch/components/icon';
|
import Icon from 'flavours/glitch/components/icon';
|
||||||
import Button from 'flavours/glitch/components/button';
|
import Button from 'flavours/glitch/components/button';
|
||||||
import { requestBrowserPermission } from 'flavours/glitch/actions/notifications';
|
import IconButton from 'flavours/glitch/components/icon_button';
|
||||||
|
import { requestBrowserPermission, dismissBrowserPermission } from 'flavours/glitch/actions/notifications';
|
||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { FormattedMessage } from 'react-intl';
|
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
|
||||||
|
|
||||||
export default @connect(() => {})
|
const messages = defineMessages({
|
||||||
|
close: { id: 'lightbox.close', defaultMessage: 'Close' },
|
||||||
|
});
|
||||||
|
|
||||||
|
export default @connect()
|
||||||
|
@injectIntl
|
||||||
class NotificationsPermissionBanner extends React.PureComponent {
|
class NotificationsPermissionBanner extends React.PureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
dispatch: PropTypes.func.isRequired,
|
dispatch: PropTypes.func.isRequired,
|
||||||
|
intl: PropTypes.object.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
handleClick = () => {
|
handleClick = () => {
|
||||||
this.props.dispatch(requestBrowserPermission());
|
this.props.dispatch(requestBrowserPermission());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
handleClose = () => {
|
||||||
|
this.props.dispatch(dismissBrowserPermission());
|
||||||
|
}
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
|
const { intl } = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='notifications-permission-banner'>
|
<div className='notifications-permission-banner'>
|
||||||
|
<div className='notifications-permission-banner__close'>
|
||||||
|
<IconButton icon='times' onClick={this.handleClose} title={intl.formatMessage(messages.close)} />
|
||||||
|
</div>
|
||||||
|
|
||||||
<h2><FormattedMessage id='notifications_permission_banner.title' defaultMessage='Never miss a thing' /></h2>
|
<h2><FormattedMessage id='notifications_permission_banner.title' defaultMessage='Never miss a thing' /></h2>
|
||||||
<p><FormattedMessage id='notifications_permission_banner.how_to_control' defaultMessage="To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled." values={{ icon: <Icon id='sliders' /> }} /></p>
|
<p><FormattedMessage id='notifications_permission_banner.how_to_control' defaultMessage="To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled." values={{ icon: <Icon id='sliders' /> }} /></p>
|
||||||
<Button onClick={this.handleClick}><FormattedMessage id='notifications_permission_banner.enable' defaultMessage='Enable desktop notifications' /></Button>
|
<Button onClick={this.handleClick}><FormattedMessage id='notifications_permission_banner.enable' defaultMessage='Enable desktop notifications' /></Button>
|
||||||
|
|
|
@ -7,12 +7,18 @@ import IconButton from 'flavours/glitch/components/icon_button';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import Avatar from 'flavours/glitch/components/avatar';
|
import Avatar from 'flavours/glitch/components/avatar';
|
||||||
import DisplayName from 'flavours/glitch/components/display_name';
|
import DisplayName from 'flavours/glitch/components/display_name';
|
||||||
|
import { defineMessages, injectIntl } from 'react-intl';
|
||||||
|
|
||||||
|
const messages = defineMessages({
|
||||||
|
close: { id: 'lightbox.close', defaultMessage: 'Close' },
|
||||||
|
});
|
||||||
|
|
||||||
const mapStateToProps = (state, { accountId }) => ({
|
const mapStateToProps = (state, { accountId }) => ({
|
||||||
account: state.getIn(['accounts', accountId]),
|
account: state.getIn(['accounts', accountId]),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default @connect(mapStateToProps)
|
||||||
|
@injectIntl
|
||||||
class Header extends ImmutablePureComponent {
|
class Header extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -20,10 +26,11 @@ class Header extends ImmutablePureComponent {
|
||||||
statusId: PropTypes.string.isRequired,
|
statusId: PropTypes.string.isRequired,
|
||||||
account: ImmutablePropTypes.map.isRequired,
|
account: ImmutablePropTypes.map.isRequired,
|
||||||
onClose: PropTypes.func.isRequired,
|
onClose: PropTypes.func.isRequired,
|
||||||
|
intl: PropTypes.object.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
const { account, statusId, onClose } = this.props;
|
const { account, statusId, onClose, intl } = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='picture-in-picture__header'>
|
<div className='picture-in-picture__header'>
|
||||||
|
@ -32,7 +39,7 @@ class Header extends ImmutablePureComponent {
|
||||||
<DisplayName account={account} />
|
<DisplayName account={account} />
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
<IconButton icon='times' onClick={onClose} title='Close' />
|
<IconButton icon='times' onClick={onClose} title={intl.formatMessage(messages.close)} />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
import inherited from 'mastodon/locales/ku.json';
|
||||||
|
|
||||||
|
const messages = {
|
||||||
|
// No translations available.
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Object.assign({}, inherited, messages);
|
|
@ -0,0 +1,7 @@
|
||||||
|
import inherited from 'mastodon/locales/sa.json';
|
||||||
|
|
||||||
|
const messages = {
|
||||||
|
// No translations available.
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Object.assign({}, inherited, messages);
|
|
@ -0,0 +1,7 @@
|
||||||
|
import inherited from 'mastodon/locales/sc.json';
|
||||||
|
|
||||||
|
const messages = {
|
||||||
|
// No translations available.
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Object.assign({}, inherited, messages);
|
|
@ -0,0 +1,7 @@
|
||||||
|
import inherited from 'mastodon/locales/zgh.json';
|
||||||
|
|
||||||
|
const messages = {
|
||||||
|
// No translations available.
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Object.assign({}, inherited, messages);
|
|
@ -19,6 +19,7 @@ import {
|
||||||
NOTIFICATIONS_MARK_AS_READ,
|
NOTIFICATIONS_MARK_AS_READ,
|
||||||
NOTIFICATIONS_SET_BROWSER_SUPPORT,
|
NOTIFICATIONS_SET_BROWSER_SUPPORT,
|
||||||
NOTIFICATIONS_SET_BROWSER_PERMISSION,
|
NOTIFICATIONS_SET_BROWSER_PERMISSION,
|
||||||
|
NOTIFICATIONS_DISMISS_BROWSER_PERMISSION,
|
||||||
} from 'flavours/glitch/actions/notifications';
|
} from 'flavours/glitch/actions/notifications';
|
||||||
import {
|
import {
|
||||||
ACCOUNT_BLOCK_SUCCESS,
|
ACCOUNT_BLOCK_SUCCESS,
|
||||||
|
@ -283,6 +284,8 @@ export default function notifications(state = initialState, action) {
|
||||||
return state.set('browserSupport', action.value);
|
return state.set('browserSupport', action.value);
|
||||||
case NOTIFICATIONS_SET_BROWSER_PERMISSION:
|
case NOTIFICATIONS_SET_BROWSER_PERMISSION:
|
||||||
return state.set('browserPermission', action.value);
|
return state.set('browserPermission', action.value);
|
||||||
|
case NOTIFICATIONS_DISMISS_BROWSER_PERMISSION:
|
||||||
|
return state.set('browserPermission', 'denied');
|
||||||
|
|
||||||
case NOTIFICATION_MARK_FOR_DELETE:
|
case NOTIFICATION_MARK_FOR_DELETE:
|
||||||
return markForDelete(state, action.id, action.yes);
|
return markForDelete(state, action.id, action.yes);
|
||||||
|
|
|
@ -702,6 +702,13 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&__close {
|
||||||
|
position: absolute;
|
||||||
|
top: 10px;
|
||||||
|
right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
|
|
@ -36,6 +36,8 @@ $dark-text-color: $ui-base-lighter-color !default;
|
||||||
$secondary-text-color: $ui-secondary-color !default;
|
$secondary-text-color: $ui-secondary-color !default;
|
||||||
$highlight-text-color: $ui-highlight-color !default;
|
$highlight-text-color: $ui-highlight-color !default;
|
||||||
$action-button-color: $ui-base-lighter-color !default;
|
$action-button-color: $ui-base-lighter-color !default;
|
||||||
|
$passive-text-color: $gold-star !default;
|
||||||
|
$active-passive-text-color: $success-green !default;
|
||||||
// For texts on inverted backgrounds
|
// For texts on inverted backgrounds
|
||||||
$inverted-text-color: $ui-base-color !default;
|
$inverted-text-color: $ui-base-color !default;
|
||||||
$lighter-text-color: $ui-base-lighter-color !default;
|
$lighter-text-color: $ui-base-lighter-color !default;
|
||||||
|
|
|
@ -437,6 +437,26 @@
|
||||||
vertical-align: initial !important;
|
vertical-align: initial !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&__interrelationships {
|
||||||
|
width: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fa {
|
||||||
|
font-size: 16px;
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
color: $highlight-text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.passive {
|
||||||
|
color: $passive-text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active.passive {
|
||||||
|
color: $active-passive-text-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media screen and (max-width: $no-gap-breakpoint) {
|
@media screen and (max-width: $no-gap-breakpoint) {
|
||||||
tbody td.optional {
|
tbody td.optional {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
|
@ -152,9 +152,7 @@ export function submitCompose(routerHistory) {
|
||||||
'Idempotency-Key': getState().getIn(['compose', 'idempotencyKey']),
|
'Idempotency-Key': getState().getIn(['compose', 'idempotencyKey']),
|
||||||
},
|
},
|
||||||
}).then(function (response) {
|
}).then(function (response) {
|
||||||
if (response.data.visibility === 'direct' && getState().getIn(['conversations', 'mounted']) <= 0 && routerHistory) {
|
if (routerHistory && routerHistory.location.pathname === '/statuses/new' && window.history.state) {
|
||||||
routerHistory.push('/timelines/direct');
|
|
||||||
} else if (routerHistory && routerHistory.location.pathname === '/statuses/new' && window.history.state) {
|
|
||||||
routerHistory.goBack();
|
routerHistory.goBack();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,8 +37,9 @@ export const NOTIFICATIONS_UNMOUNT = 'NOTIFICATIONS_UNMOUNT';
|
||||||
|
|
||||||
export const NOTIFICATIONS_MARK_AS_READ = 'NOTIFICATIONS_MARK_AS_READ';
|
export const NOTIFICATIONS_MARK_AS_READ = 'NOTIFICATIONS_MARK_AS_READ';
|
||||||
|
|
||||||
export const NOTIFICATIONS_SET_BROWSER_SUPPORT = 'NOTIFICATIONS_SET_BROWSER_SUPPORT';
|
export const NOTIFICATIONS_SET_BROWSER_SUPPORT = 'NOTIFICATIONS_SET_BROWSER_SUPPORT';
|
||||||
export const NOTIFICATIONS_SET_BROWSER_PERMISSION = 'NOTIFICATIONS_SET_BROWSER_PERMISSION';
|
export const NOTIFICATIONS_SET_BROWSER_PERMISSION = 'NOTIFICATIONS_SET_BROWSER_PERMISSION';
|
||||||
|
export const NOTIFICATIONS_DISMISS_BROWSER_PERMISSION = 'NOTIFICATIONS_DISMISS_BROWSER_PERMISSION';
|
||||||
|
|
||||||
defineMessages({
|
defineMessages({
|
||||||
mention: { id: 'notification.mention', defaultMessage: '{name} mentioned you' },
|
mention: { id: 'notification.mention', defaultMessage: '{name} mentioned you' },
|
||||||
|
@ -283,3 +284,7 @@ export function setBrowserPermission (value) {
|
||||||
value,
|
value,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const dismissBrowserPermission = () => ({
|
||||||
|
type: NOTIFICATIONS_DISMISS_BROWSER_PERMISSION,
|
||||||
|
});
|
||||||
|
|
|
@ -1,25 +1,42 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import Icon from 'mastodon/components/icon';
|
import Icon from 'mastodon/components/icon';
|
||||||
import Button from 'mastodon/components/button';
|
import Button from 'mastodon/components/button';
|
||||||
import { requestBrowserPermission } from 'mastodon/actions/notifications';
|
import IconButton from 'mastodon/components/icon_button';
|
||||||
|
import { requestBrowserPermission, dismissBrowserPermission } from 'mastodon/actions/notifications';
|
||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { FormattedMessage } from 'react-intl';
|
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
|
||||||
|
|
||||||
export default @connect(() => {})
|
const messages = defineMessages({
|
||||||
|
close: { id: 'lightbox.close', defaultMessage: 'Close' },
|
||||||
|
});
|
||||||
|
|
||||||
|
export default @connect()
|
||||||
|
@injectIntl
|
||||||
class NotificationsPermissionBanner extends React.PureComponent {
|
class NotificationsPermissionBanner extends React.PureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
dispatch: PropTypes.func.isRequired,
|
dispatch: PropTypes.func.isRequired,
|
||||||
|
intl: PropTypes.object.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
handleClick = () => {
|
handleClick = () => {
|
||||||
this.props.dispatch(requestBrowserPermission());
|
this.props.dispatch(requestBrowserPermission());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
handleClose = () => {
|
||||||
|
this.props.dispatch(dismissBrowserPermission());
|
||||||
|
}
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
|
const { intl } = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='notifications-permission-banner'>
|
<div className='notifications-permission-banner'>
|
||||||
|
<div className='notifications-permission-banner__close'>
|
||||||
|
<IconButton icon='times' onClick={this.handleClose} title={intl.formatMessage(messages.close)} />
|
||||||
|
</div>
|
||||||
|
|
||||||
<h2><FormattedMessage id='notifications_permission_banner.title' defaultMessage='Never miss a thing' /></h2>
|
<h2><FormattedMessage id='notifications_permission_banner.title' defaultMessage='Never miss a thing' /></h2>
|
||||||
<p><FormattedMessage id='notifications_permission_banner.how_to_control' defaultMessage="To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled." values={{ icon: <Icon id='sliders' /> }} /></p>
|
<p><FormattedMessage id='notifications_permission_banner.how_to_control' defaultMessage="To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled." values={{ icon: <Icon id='sliders' /> }} /></p>
|
||||||
<Button onClick={this.handleClick}><FormattedMessage id='notifications_permission_banner.enable' defaultMessage='Enable desktop notifications' /></Button>
|
<Button onClick={this.handleClick}><FormattedMessage id='notifications_permission_banner.enable' defaultMessage='Enable desktop notifications' /></Button>
|
||||||
|
|
|
@ -7,12 +7,18 @@ import IconButton from 'mastodon/components/icon_button';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import Avatar from 'mastodon/components/avatar';
|
import Avatar from 'mastodon/components/avatar';
|
||||||
import DisplayName from 'mastodon/components/display_name';
|
import DisplayName from 'mastodon/components/display_name';
|
||||||
|
import { defineMessages, injectIntl } from 'react-intl';
|
||||||
|
|
||||||
|
const messages = defineMessages({
|
||||||
|
close: { id: 'lightbox.close', defaultMessage: 'Close' },
|
||||||
|
});
|
||||||
|
|
||||||
const mapStateToProps = (state, { accountId }) => ({
|
const mapStateToProps = (state, { accountId }) => ({
|
||||||
account: state.getIn(['accounts', accountId]),
|
account: state.getIn(['accounts', accountId]),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default @connect(mapStateToProps)
|
export default @connect(mapStateToProps)
|
||||||
|
@injectIntl
|
||||||
class Header extends ImmutablePureComponent {
|
class Header extends ImmutablePureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -20,10 +26,11 @@ class Header extends ImmutablePureComponent {
|
||||||
statusId: PropTypes.string.isRequired,
|
statusId: PropTypes.string.isRequired,
|
||||||
account: ImmutablePropTypes.map.isRequired,
|
account: ImmutablePropTypes.map.isRequired,
|
||||||
onClose: PropTypes.func.isRequired,
|
onClose: PropTypes.func.isRequired,
|
||||||
|
intl: PropTypes.object.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
const { account, statusId, onClose } = this.props;
|
const { account, statusId, onClose, intl } = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='picture-in-picture__header'>
|
<div className='picture-in-picture__header'>
|
||||||
|
@ -32,7 +39,7 @@ class Header extends ImmutablePureComponent {
|
||||||
<DisplayName account={account} />
|
<DisplayName account={account} />
|
||||||
</Link>
|
</Link>
|
||||||
|
|
||||||
<IconButton icon='times' onClick={onClose} title='Close' />
|
<IconButton icon='times' onClick={onClose} title={intl.formatMessage(messages.close)} />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,7 +134,7 @@
|
||||||
"directory.new_arrivals": "Ultimi arrivi",
|
"directory.new_arrivals": "Ultimi arrivi",
|
||||||
"directory.recently_active": "Attività ricente",
|
"directory.recently_active": "Attività ricente",
|
||||||
"embed.instructions": "Integrà stu statutu à u vostru situ cù u codice quì sottu.",
|
"embed.instructions": "Integrà stu statutu à u vostru situ cù u codice quì sottu.",
|
||||||
"embed.preview": "Assumiglierà à qualcosa cusì:",
|
"embed.preview": "Hà da parè à quessa:",
|
||||||
"emoji_button.activity": "Attività",
|
"emoji_button.activity": "Attività",
|
||||||
"emoji_button.custom": "Persunalizati",
|
"emoji_button.custom": "Persunalizati",
|
||||||
"emoji_button.flags": "Bandere",
|
"emoji_button.flags": "Bandere",
|
||||||
|
|
|
@ -1,131 +1,131 @@
|
||||||
{
|
{
|
||||||
"account.account_note_header": "Nota",
|
"account.account_note_header": "Nota",
|
||||||
"account.add_or_remove_from_list": "Agregar o quitar de listas",
|
"account.add_or_remove_from_list": "Agregar o eliminar de listas",
|
||||||
"account.badges.bot": "Bot",
|
"account.badges.bot": "Bot",
|
||||||
"account.badges.group": "Grupo",
|
"account.badges.group": "Grupo",
|
||||||
"account.block": "Bloquear a @{name}",
|
"account.block": "Bloquear a @{name}",
|
||||||
"account.block_domain": "Bloquear dominio {domain}",
|
"account.block_domain": "Ocultar todo de {domain}",
|
||||||
"account.blocked": "Cuenta bloqueada",
|
"account.blocked": "Bloqueado",
|
||||||
"account.browse_more_on_origin_server": "Ver más en el perfil original",
|
"account.browse_more_on_origin_server": "Ver más en el perfil original",
|
||||||
"account.cancel_follow_request": "Cancelar solicitud de seguimiento",
|
"account.cancel_follow_request": "Cancelar la solicitud de seguimiento",
|
||||||
"account.direct": "Mensaje directo a @{name}",
|
"account.direct": "Mensaje directo a @{name}",
|
||||||
"account.disable_notifications": "Dejar de notificarme cuando @{name} publica",
|
"account.disable_notifications": "Dejar de notificarme cuando @{name} publique algo",
|
||||||
"account.domain_blocked": "Dominio bloqueado",
|
"account.domain_blocked": "Dominio oculto",
|
||||||
"account.edit_profile": "Editar perfil",
|
"account.edit_profile": "Editar perfil",
|
||||||
"account.enable_notifications": "Notificarme cuando @{name} publica",
|
"account.enable_notifications": "Notificarme cuando @{name} publique algo",
|
||||||
"account.endorse": "Recomendar en mi perfil",
|
"account.endorse": "Mostrar en perfil",
|
||||||
"account.follow": "Seguir",
|
"account.follow": "Seguir",
|
||||||
"account.followers": "Seguidorxs",
|
"account.followers": "Seguidores",
|
||||||
"account.followers.empty": "Nadie sigue a @{name} aún.",
|
"account.followers.empty": "Todavía nadie sigue a este usuario.",
|
||||||
"account.followers_counter": "{count, plural, one {{counter} Seguidor o Seguidora} other {{counter} Seguidorxs}}",
|
"account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidores}}",
|
||||||
"account.following_counter": "{count, plural, other {{counter} Siguiendo}}",
|
"account.following_counter": "{count, plural, other {{counter} Siguiendo}}",
|
||||||
"account.follows.empty": "@{name} no sigue a nadie aún.",
|
"account.follows.empty": "Este usuario todavía no sigue a nadie.",
|
||||||
"account.follows_you": "Te sigue",
|
"account.follows_you": "Te sigue",
|
||||||
"account.hide_reblogs": "Ocultar publicaciones compartidas por @{name}",
|
"account.hide_reblogs": "Ocultar retoots de @{name}",
|
||||||
"account.last_status": "Última actividad",
|
"account.last_status": "Última actividad",
|
||||||
"account.link_verified_on": "La propiedad de este enlace fue verificada el {date}",
|
"account.link_verified_on": "El proprietario de este link fue comprobado el {date}",
|
||||||
"account.locked_info": "El estado de privacidad de esta cuenta está establecido como bloqueado. @{name} revisa manualmente revisa quién puede seguirle.",
|
"account.locked_info": "El estado de privacidad de esta cuenta està configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.",
|
||||||
"account.media": "Medios",
|
"account.media": "Multimedia",
|
||||||
"account.mention": "Mencionar a @{name}",
|
"account.mention": "Mencionar a @{name}",
|
||||||
"account.moved_to": "{name} se ha cambiado a:",
|
"account.moved_to": "{name} se ha mudado a:",
|
||||||
"account.mute": "Silenciar a @{name}",
|
"account.mute": "Silenciar a @{name}",
|
||||||
"account.mute_notifications": "Silenciar notificaciones de @{name}",
|
"account.mute_notifications": "Silenciar notificaciones de @{name}",
|
||||||
"account.muted": "Cuenta silenciada",
|
"account.muted": "Silenciado",
|
||||||
"account.never_active": "Nunca",
|
"account.never_active": "Nunca",
|
||||||
"account.posts": "Publicaciones",
|
"account.posts": "Toots",
|
||||||
"account.posts_with_replies": "Publicaciones y respuestas",
|
"account.posts_with_replies": "Toots con respuestas",
|
||||||
"account.report": "Reportar a @{name}",
|
"account.report": "Reportar a @{name}",
|
||||||
"account.requested": "Esperando aprobación. Da clic para cancelar la solicitud de seguimiento",
|
"account.requested": "Esperando aprobación",
|
||||||
"account.share": "Compartir el perfil de @{name}",
|
"account.share": "Compartir el perfil de @{name}",
|
||||||
"account.show_reblogs": "Mostrar publicaciones compartidas por @{name}",
|
"account.show_reblogs": "Mostrar retoots de @{name}",
|
||||||
"account.statuses_counter": "{count, plural, one {{counter} Publicación} other {{counter} Publicaciones}}",
|
"account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
|
||||||
"account.unblock": "Desbloquear a @{name}",
|
"account.unblock": "Desbloquear a @{name}",
|
||||||
"account.unblock_domain": "Desbloquear dominio {domain}",
|
"account.unblock_domain": "Mostrar a {domain}",
|
||||||
"account.unendorse": "No recomendar en mi perfil",
|
"account.unendorse": "No mostrar en el perfil",
|
||||||
"account.unfollow": "Dejar de seguir",
|
"account.unfollow": "Dejar de seguir",
|
||||||
"account.unmute": "Dejar de silenciar a @{name}",
|
"account.unmute": "Dejar de silenciar a @{name}",
|
||||||
"account.unmute_notifications": "Dejar de silenciar notificaciones de @{name}",
|
"account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
|
||||||
"account_note.placeholder": "Haz clic par agregar una nota",
|
"account_note.placeholder": "Clic para añadir nota",
|
||||||
"alert.rate_limited.message": "Por favor, reintenta después de las {retry_time, time, medium}.",
|
"alert.rate_limited.message": "Por favor reintente después de {retry_time, time, medium}.",
|
||||||
"alert.rate_limited.title": "Acción limitada",
|
"alert.rate_limited.title": "Tarifa limitada",
|
||||||
"alert.unexpected.message": "Ocurrió un error inesperado.",
|
"alert.unexpected.message": "Hubo un error inesperado.",
|
||||||
"alert.unexpected.title": "¡Ay güey!",
|
"alert.unexpected.title": "¡Ups!",
|
||||||
"announcement.announcement": "Anuncio",
|
"announcement.announcement": "Anuncio",
|
||||||
"autosuggest_hashtag.per_week": "{count} por semana",
|
"autosuggest_hashtag.per_week": "{count} por semana",
|
||||||
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar esto la próxima vez",
|
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
|
||||||
"bundle_column_error.body": "Algo salió mal al cargar este componente.",
|
"bundle_column_error.body": "Algo salió mal al cargar este componente.",
|
||||||
"bundle_column_error.retry": "Intentar de nuevo",
|
"bundle_column_error.retry": "Inténtalo de nuevo",
|
||||||
"bundle_column_error.title": "Error de red",
|
"bundle_column_error.title": "Error de red",
|
||||||
"bundle_modal_error.close": "Cerrar",
|
"bundle_modal_error.close": "Cerrar",
|
||||||
"bundle_modal_error.message": "Algo salió mal al cargar este componente.",
|
"bundle_modal_error.message": "Algo salió mal al cargar este componente.",
|
||||||
"bundle_modal_error.retry": "Inténtalo de nuevo",
|
"bundle_modal_error.retry": "Inténtalo de nuevo",
|
||||||
"column.blocks": "Personas bloqueadas",
|
"column.blocks": "Usuarios bloqueados",
|
||||||
"column.bookmarks": "Marcadores",
|
"column.bookmarks": "Marcadores",
|
||||||
"column.community": "Línea de tiempo local",
|
"column.community": "Línea de tiempo local",
|
||||||
"column.direct": "Mensajes directos",
|
"column.direct": "Mensajes directos",
|
||||||
"column.directory": "Ver perfiles",
|
"column.directory": "Buscar perfiles",
|
||||||
"column.domain_blocks": "Dominios bloqueados",
|
"column.domain_blocks": "Dominios ocultados",
|
||||||
"column.favourites": "Favoritos",
|
"column.favourites": "Favoritos",
|
||||||
"column.follow_requests": "Solicitudes de seguimiento",
|
"column.follow_requests": "Solicitudes de seguimiento",
|
||||||
"column.home": "Principal",
|
"column.home": "Inicio",
|
||||||
"column.lists": "Listas",
|
"column.lists": "Listas",
|
||||||
"column.mutes": "Cuentas silenciadas",
|
"column.mutes": "Usuarios silenciados",
|
||||||
"column.notifications": "Notificaciones",
|
"column.notifications": "Notificaciones",
|
||||||
"column.pins": "Publicaciones fijadas",
|
"column.pins": "Toots fijados",
|
||||||
"column.public": "Línea temporal federada",
|
"column.public": "Línea de tiempo federada",
|
||||||
"column_back_button.label": "Volver",
|
"column_back_button.label": "Atrás",
|
||||||
"column_header.hide_settings": "Ocultar configuración",
|
"column_header.hide_settings": "Ocultar configuración",
|
||||||
"column_header.moveLeft_settings": "Mover columna a la izquierda",
|
"column_header.moveLeft_settings": "Mover columna a la izquierda",
|
||||||
"column_header.moveRight_settings": "Mover columna a la derecha",
|
"column_header.moveRight_settings": "Mover columna a la derecha",
|
||||||
"column_header.pin": "Fijar",
|
"column_header.pin": "Fijar",
|
||||||
"column_header.show_settings": "Mostrar configuración",
|
"column_header.show_settings": "Mostrar ajustes",
|
||||||
"column_header.unpin": "Desfijar",
|
"column_header.unpin": "Dejar de fijar",
|
||||||
"column_subheading.settings": "Configuración",
|
"column_subheading.settings": "Ajustes",
|
||||||
"community.column_settings.local_only": "Sólo local",
|
"community.column_settings.local_only": "Solo local",
|
||||||
"community.column_settings.media_only": "Sólo medios",
|
"community.column_settings.media_only": "Solo media",
|
||||||
"community.column_settings.remote_only": "Sólo remoto",
|
"community.column_settings.remote_only": "Solo remoto",
|
||||||
"compose_form.direct_message_warning": "Esta publicación sólo será enviada las personas mencionadas.",
|
"compose_form.direct_message_warning": "Este toot solo será enviado a los usuarios mencionados.",
|
||||||
"compose_form.direct_message_warning_learn_more": "Aprender mas",
|
"compose_form.direct_message_warning_learn_more": "Aprender mas",
|
||||||
"compose_form.hashtag_warning": "Esta publicación no se mostrará bajo hashtags porque no es público. Sólo se pueden buscar por hashtag las que son públicas.",
|
"compose_form.hashtag_warning": "Este toot no se mostrará bajo hashtags porque no es público. Sólo los toots públicos se pueden buscar por hashtag.",
|
||||||
"compose_form.lock_disclaimer": "Tu cuenta no está bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.",
|
"compose_form.lock_disclaimer": "Tu cuenta no está bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.",
|
||||||
"compose_form.lock_disclaimer.lock": "bloqueada",
|
"compose_form.lock_disclaimer.lock": "bloqueado",
|
||||||
"compose_form.placeholder": "¿Qué rollo?",
|
"compose_form.placeholder": "¿En qué estás pensando?",
|
||||||
"compose_form.poll.add_option": "Añadir una opción",
|
"compose_form.poll.add_option": "Añadir una opción",
|
||||||
"compose_form.poll.duration": "Duración de la encuesta",
|
"compose_form.poll.duration": "Duración de la encuesta",
|
||||||
"compose_form.poll.option_placeholder": "Opción {number}",
|
"compose_form.poll.option_placeholder": "Elección {number}",
|
||||||
"compose_form.poll.remove_option": "Quitar esta opción",
|
"compose_form.poll.remove_option": "Eliminar esta opción",
|
||||||
"compose_form.poll.switch_to_multiple": "Modificar encuesta para permitir opciones múltiples",
|
"compose_form.poll.switch_to_multiple": "Modificar encuesta para permitir múltiples opciones",
|
||||||
"compose_form.poll.switch_to_single": "Modificar encuesta para permitir una sola opción",
|
"compose_form.poll.switch_to_single": "Modificar encuesta para permitir una única opción",
|
||||||
"compose_form.publish": "Publicar",
|
"compose_form.publish": "Tootear",
|
||||||
"compose_form.publish_loud": "¡{publish}!",
|
"compose_form.publish_loud": "{publish}!",
|
||||||
"compose_form.sensitive.hide": "Marcar medio como sensible",
|
"compose_form.sensitive.hide": "Marcar multimedia como sensible",
|
||||||
"compose_form.sensitive.marked": "Medio marcado como sensible",
|
"compose_form.sensitive.marked": "Material marcado como sensible",
|
||||||
"compose_form.sensitive.unmarked": "Medio no marcado como sensible",
|
"compose_form.sensitive.unmarked": "Material no marcado como sensible",
|
||||||
"compose_form.spoiler.marked": "El texto está oculto detrás de la advertencia",
|
"compose_form.spoiler.marked": "Texto oculto tras la advertencia",
|
||||||
"compose_form.spoiler.unmarked": "El texto no está oculto",
|
"compose_form.spoiler.unmarked": "Texto no oculto",
|
||||||
"compose_form.spoiler_placeholder": "Escribe tu advertencia aquí",
|
"compose_form.spoiler_placeholder": "Advertencia de contenido",
|
||||||
"confirmation_modal.cancel": "Cancelar",
|
"confirmation_modal.cancel": "Cancelar",
|
||||||
"confirmations.block.block_and_report": "Bloquear y denunciar",
|
"confirmations.block.block_and_report": "Bloquear y Reportar",
|
||||||
"confirmations.block.confirm": "Bloquear",
|
"confirmations.block.confirm": "Bloquear",
|
||||||
"confirmations.block.message": "¿Estás segurx que quieres bloquear a {name}?",
|
"confirmations.block.message": "¿Estás seguro de que quieres bloquear a {name}?",
|
||||||
"confirmations.delete.confirm": "Eliminar",
|
"confirmations.delete.confirm": "Eliminar",
|
||||||
"confirmations.delete.message": "¿Estás segurx que quieres eliminar esta publicación?",
|
"confirmations.delete.message": "¿Estás seguro de que quieres borrar este toot?",
|
||||||
"confirmations.delete_list.confirm": "Eliminar",
|
"confirmations.delete_list.confirm": "Eliminar",
|
||||||
"confirmations.delete_list.message": "¿Estás segurx que quieres eliminar esta lista permanentemente?",
|
"confirmations.delete_list.message": "¿Seguro que quieres borrar esta lista permanentemente?",
|
||||||
"confirmations.domain_block.confirm": "Bloquear dominio entero",
|
"confirmations.domain_block.confirm": "Ocultar dominio entero",
|
||||||
"confirmations.domain_block.message": "¿Seguro de que quieres bloquear al dominio {domain} entero? En general unos cuantos bloqueos y silenciados concretos es suficiente y preferible.",
|
"confirmations.domain_block.message": "¿Seguro de que quieres bloquear al dominio {domain} entero? En general unos cuantos bloqueos y silenciados concretos es suficiente y preferible.",
|
||||||
"confirmations.logout.confirm": "Cerrar sesión",
|
"confirmations.logout.confirm": "Cerrar sesión",
|
||||||
"confirmations.logout.message": "¿Estás segurx que quieres cerrar sesión?",
|
"confirmations.logout.message": "¿Estás seguro de querer cerrar la sesión?",
|
||||||
"confirmations.mute.confirm": "Silenciar",
|
"confirmations.mute.confirm": "Silenciar",
|
||||||
"confirmations.mute.explanation": "Esto esconderá las publicaciones de ellos y en las que los has mencionado, pero les permitirá ver tus mensajes y seguirte.",
|
"confirmations.mute.explanation": "Esto esconderá las publicaciones de ellos y en las que los has mencionado, pero les permitirá ver tus mensajes y seguirte.",
|
||||||
"confirmations.mute.message": "¿Estás segurx que quieres silenciar a {name}?",
|
"confirmations.mute.message": "¿Estás seguro de que quieres silenciar a {name}?",
|
||||||
"confirmations.redraft.confirm": "Eliminar y volver a redactar",
|
"confirmations.redraft.confirm": "Borrar y volver a borrador",
|
||||||
"confirmations.redraft.message": "¿Estás seguro de que quieres eliminar este toot y convertirlo en borrador? Perderás todas las respuestas, retoots y favoritos asociados a él, y las respuestas a la publicación original quedarán huérfanas.",
|
"confirmations.redraft.message": "¿Estás seguro de que quieres eliminar este toot y convertirlo en borrador? Perderás todas las respuestas, retoots y favoritos asociados a él, y las respuestas a la publicación original quedarán huérfanas.",
|
||||||
"confirmations.reply.confirm": "Responder",
|
"confirmations.reply.confirm": "Responder",
|
||||||
"confirmations.reply.message": "Responder sobrescribirá el mensaje que estás escribiendo. ¿Estás seguro de que deseas continuar?",
|
"confirmations.reply.message": "Responder sobrescribirá el mensaje que estás escribiendo. ¿Estás seguro de que deseas continuar?",
|
||||||
"confirmations.unfollow.confirm": "Dejar de seguir",
|
"confirmations.unfollow.confirm": "Dejar de seguir",
|
||||||
"confirmations.unfollow.message": "¿Estás seguro que quieres dejar de seguir a {name}?",
|
"confirmations.unfollow.message": "¿Estás seguro de que quieres dejar de seguir a {name}?",
|
||||||
"conversation.delete": "Eliminar conversación",
|
"conversation.delete": "Borrar conversación",
|
||||||
"conversation.mark_as_read": "Marcar como leído",
|
"conversation.mark_as_read": "Marcar como leído",
|
||||||
"conversation.open": "Ver conversación",
|
"conversation.open": "Ver conversación",
|
||||||
"conversation.with": "Con {names}",
|
"conversation.with": "Con {names}",
|
||||||
|
@ -151,22 +151,22 @@
|
||||||
"emoji_button.travel": "Viajes y lugares",
|
"emoji_button.travel": "Viajes y lugares",
|
||||||
"empty_column.account_timeline": "¡No hay toots aquí!",
|
"empty_column.account_timeline": "¡No hay toots aquí!",
|
||||||
"empty_column.account_unavailable": "Perfil no disponible",
|
"empty_column.account_unavailable": "Perfil no disponible",
|
||||||
"empty_column.blocks": "No has bloqueado a nadie aún.",
|
"empty_column.blocks": "Aún no has bloqueado a ningún usuario.",
|
||||||
"empty_column.bookmarked_statuses": "Todavía no tienes publicaciones guardadas en \"Marcadores\". Cuando guardes una, se mostrará quí.",
|
"empty_column.bookmarked_statuses": "Aún no tienes ningún toot guardado como marcador. Cuando guardes uno, se mostrará aquí.",
|
||||||
"empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!",
|
"empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!",
|
||||||
"empty_column.direct": "Todavía no tienes mensaje directos. Cuando envíes o recibas uno, se mostrará aquí.",
|
"empty_column.direct": "Aún no tienes ningún mensaje directo. Cuando envíes o recibas uno, se mostrará aquí.",
|
||||||
"empty_column.domain_blocks": "Todavía no hay dominios ocultos.",
|
"empty_column.domain_blocks": "Todavía no hay dominios ocultos.",
|
||||||
"empty_column.favourited_statuses": "Todavía no tienes publicaciones favoritas. Cuando marques un favorito, se mostrará aquí.",
|
"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.favourites": "Nadie ha marcado este toot como preferido. Cuando alguien lo haga, aparecerá aquí.",
|
||||||
"empty_column.follow_requests": "Todavía no tienes solicitudes de seguimiento. Cuando recibas una, se mostrará aquí.",
|
"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.hashtag": "No hay nada en este hashtag aún.",
|
||||||
"empty_column.home": "¡Tu línea de tiempo principal está vacía! Visita {public} o usa la búsqueda para comenzar y encontrar a otras personas.",
|
"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.public_timeline": "la línea de tiempo pública",
|
"empty_column.home.public_timeline": "la línea de tiempo pública",
|
||||||
"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.list": "No hay nada en esta lista aún. Cuando miembros de esta lista publiquen nuevos estatus, estos aparecerán qui.",
|
||||||
"empty_column.lists": "Todavía no tienes listas. Cuando crees una, se mostrará aquí.",
|
"empty_column.lists": "No tienes ninguna lista. cuando crees una, se mostrará aquí.",
|
||||||
"empty_column.mutes": "No has silenciado a nadie aún.",
|
"empty_column.mutes": "Aún no has silenciado a ningún usuario.",
|
||||||
"empty_column.notifications": "Todavía no tienes notificaciones. Interactúa con otras personas para iniciar la conversación.",
|
"empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.",
|
||||||
"empty_column.public": "¡No hay nada aquí! Escribe algo público, o manualmente sigue a alguien de otros servidores para irlo llenando",
|
"empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo",
|
||||||
"error.unexpected_crash.explanation": "Debido a un error en nuestro código o a un problema de compatibilidad con el navegador, esta página no se ha podido mostrar correctamente.",
|
"error.unexpected_crash.explanation": "Debido a un error en nuestro código o a un problema de compatibilidad con el navegador, esta página no se ha podido mostrar correctamente.",
|
||||||
"error.unexpected_crash.explanation_addons": "No se pudo mostrar correctamente esta página. Este error probablemente fue causado por un complemento del navegador web o por herramientas de traducción automática.",
|
"error.unexpected_crash.explanation_addons": "No se pudo mostrar correctamente esta página. Este error probablemente fue causado por un complemento del navegador web o por herramientas de traducción automática.",
|
||||||
"error.unexpected_crash.next_steps": "Intenta actualizar la página. Si eso no ayuda, es posible que puedas usar Mastodon a través de otro navegador o aplicación nativa.",
|
"error.unexpected_crash.next_steps": "Intenta actualizar la página. Si eso no ayuda, es posible que puedas usar Mastodon a través de otro navegador o aplicación nativa.",
|
||||||
|
@ -183,7 +183,7 @@
|
||||||
"getting_started.heading": "Primeros pasos",
|
"getting_started.heading": "Primeros pasos",
|
||||||
"getting_started.invite": "Invitar usuarios",
|
"getting_started.invite": "Invitar usuarios",
|
||||||
"getting_started.open_source_notice": "Mastodon es software libre. Puedes contribuir o reportar errores en {github}.",
|
"getting_started.open_source_notice": "Mastodon es software libre. Puedes contribuir o reportar errores en {github}.",
|
||||||
"getting_started.security": "Configuración de cuenta",
|
"getting_started.security": "Seguridad",
|
||||||
"getting_started.terms": "Términos de servicio",
|
"getting_started.terms": "Términos de servicio",
|
||||||
"hashtag.column_header.tag_mode.all": "y {additional}",
|
"hashtag.column_header.tag_mode.all": "y {additional}",
|
||||||
"hashtag.column_header.tag_mode.any": "o {additional}",
|
"hashtag.column_header.tag_mode.any": "o {additional}",
|
||||||
|
@ -220,9 +220,9 @@
|
||||||
"introduction.welcome.headline": "Primeros pasos",
|
"introduction.welcome.headline": "Primeros pasos",
|
||||||
"introduction.welcome.text": "¡Bienvenido al fediverso! En unos momentos, podrás transmitir mensajes y hablar con tus amigos a través de una amplia variedad de servidores. Pero este servidor, {domain}, es especial, alberga tu perfil, así que recuerda su nombre.",
|
"introduction.welcome.text": "¡Bienvenido al fediverso! En unos momentos, podrás transmitir mensajes y hablar con tus amigos a través de una amplia variedad de servidores. Pero este servidor, {domain}, es especial, alberga tu perfil, así que recuerda su nombre.",
|
||||||
"keyboard_shortcuts.back": "volver atrás",
|
"keyboard_shortcuts.back": "volver atrás",
|
||||||
"keyboard_shortcuts.blocked": "abre la lista de personas bloqueadas",
|
"keyboard_shortcuts.blocked": "abrir una lista de usuarios bloqueados",
|
||||||
"keyboard_shortcuts.boost": "retootear",
|
"keyboard_shortcuts.boost": "retootear",
|
||||||
"keyboard_shortcuts.column": "enfoca una publicación un una de las columnas",
|
"keyboard_shortcuts.column": "enfocar un estado en una de las columnas",
|
||||||
"keyboard_shortcuts.compose": "enfocar el área de texto de redacción",
|
"keyboard_shortcuts.compose": "enfocar el área de texto de redacción",
|
||||||
"keyboard_shortcuts.description": "Descripción",
|
"keyboard_shortcuts.description": "Descripción",
|
||||||
"keyboard_shortcuts.direct": "abrir la columna de mensajes directos",
|
"keyboard_shortcuts.direct": "abrir la columna de mensajes directos",
|
||||||
|
@ -237,11 +237,11 @@
|
||||||
"keyboard_shortcuts.legend": "para mostrar esta leyenda",
|
"keyboard_shortcuts.legend": "para mostrar esta leyenda",
|
||||||
"keyboard_shortcuts.local": "abrir el timeline local",
|
"keyboard_shortcuts.local": "abrir el timeline local",
|
||||||
"keyboard_shortcuts.mention": "para mencionar al autor",
|
"keyboard_shortcuts.mention": "para mencionar al autor",
|
||||||
"keyboard_shortcuts.muted": "abre la lista de personas silenciadas",
|
"keyboard_shortcuts.muted": "abrir la lista de usuarios silenciados",
|
||||||
"keyboard_shortcuts.my_profile": "abrir tu perfil",
|
"keyboard_shortcuts.my_profile": "abrir tu perfil",
|
||||||
"keyboard_shortcuts.notifications": "abrir la columna de notificaciones",
|
"keyboard_shortcuts.notifications": "abrir la columna de notificaciones",
|
||||||
"keyboard_shortcuts.open_media": "para abrir archivos multimedia",
|
"keyboard_shortcuts.open_media": "para abrir archivos multimedia",
|
||||||
"keyboard_shortcuts.pinned": "abre la lista de publicaciones fijadas",
|
"keyboard_shortcuts.pinned": "abrir la lista de toots destacados",
|
||||||
"keyboard_shortcuts.profile": "abrir el perfil del autor",
|
"keyboard_shortcuts.profile": "abrir el perfil del autor",
|
||||||
"keyboard_shortcuts.reply": "para responder",
|
"keyboard_shortcuts.reply": "para responder",
|
||||||
"keyboard_shortcuts.requests": "abrir la lista de peticiones de seguidores",
|
"keyboard_shortcuts.requests": "abrir la lista de peticiones de seguidores",
|
||||||
|
@ -266,7 +266,7 @@
|
||||||
"lists.edit.submit": "Cambiar título",
|
"lists.edit.submit": "Cambiar título",
|
||||||
"lists.new.create": "Añadir lista",
|
"lists.new.create": "Añadir lista",
|
||||||
"lists.new.title_placeholder": "Título de la nueva lista",
|
"lists.new.title_placeholder": "Título de la nueva lista",
|
||||||
"lists.replies_policy.all_replies": "Cualquier persona seguida",
|
"lists.replies_policy.all_replies": "Cualquier usuario al que sigas",
|
||||||
"lists.replies_policy.list_replies": "Miembros de la lista",
|
"lists.replies_policy.list_replies": "Miembros de la lista",
|
||||||
"lists.replies_policy.no_replies": "Nadie",
|
"lists.replies_policy.no_replies": "Nadie",
|
||||||
"lists.replies_policy.title": "Mostrar respuestas a:",
|
"lists.replies_policy.title": "Mostrar respuestas a:",
|
||||||
|
@ -278,10 +278,10 @@
|
||||||
"missing_indicator.label": "No encontrado",
|
"missing_indicator.label": "No encontrado",
|
||||||
"missing_indicator.sublabel": "No se encontró este recurso",
|
"missing_indicator.sublabel": "No se encontró este recurso",
|
||||||
"mute_modal.duration": "Duración",
|
"mute_modal.duration": "Duración",
|
||||||
"mute_modal.hide_notifications": "¿Ocultar notificaciones de esta persona?",
|
"mute_modal.hide_notifications": "Ocultar notificaciones de este usuario?",
|
||||||
"mute_modal.indefinite": "Indefinida",
|
"mute_modal.indefinite": "Indefinida",
|
||||||
"navigation_bar.apps": "Aplicaciones móviles",
|
"navigation_bar.apps": "Aplicaciones móviles",
|
||||||
"navigation_bar.blocks": "Personas bloqueadas",
|
"navigation_bar.blocks": "Usuarios bloqueados",
|
||||||
"navigation_bar.bookmarks": "Marcadores",
|
"navigation_bar.bookmarks": "Marcadores",
|
||||||
"navigation_bar.community_timeline": "Historia local",
|
"navigation_bar.community_timeline": "Historia local",
|
||||||
"navigation_bar.compose": "Escribir un nuevo toot",
|
"navigation_bar.compose": "Escribir un nuevo toot",
|
||||||
|
@ -297,11 +297,11 @@
|
||||||
"navigation_bar.keyboard_shortcuts": "Atajos",
|
"navigation_bar.keyboard_shortcuts": "Atajos",
|
||||||
"navigation_bar.lists": "Listas",
|
"navigation_bar.lists": "Listas",
|
||||||
"navigation_bar.logout": "Cerrar sesión",
|
"navigation_bar.logout": "Cerrar sesión",
|
||||||
"navigation_bar.mutes": "Personas silenciadas",
|
"navigation_bar.mutes": "Usuarios silenciados",
|
||||||
"navigation_bar.personal": "Personal",
|
"navigation_bar.personal": "Personal",
|
||||||
"navigation_bar.pins": "Publicaciones fijadas",
|
"navigation_bar.pins": "Toots fijados",
|
||||||
"navigation_bar.preferences": "Preferencias",
|
"navigation_bar.preferences": "Preferencias",
|
||||||
"navigation_bar.public_timeline": "Línea de tiempo federada",
|
"navigation_bar.public_timeline": "Historia federada",
|
||||||
"navigation_bar.security": "Seguridad",
|
"navigation_bar.security": "Seguridad",
|
||||||
"notification.favourite": "{name} marcó tu estado como favorito",
|
"notification.favourite": "{name} marcó tu estado como favorito",
|
||||||
"notification.follow": "{name} te empezó a seguir",
|
"notification.follow": "{name} te empezó a seguir",
|
||||||
|
@ -351,10 +351,10 @@
|
||||||
"poll_button.add_poll": "Añadir una encuesta",
|
"poll_button.add_poll": "Añadir una encuesta",
|
||||||
"poll_button.remove_poll": "Eliminar encuesta",
|
"poll_button.remove_poll": "Eliminar encuesta",
|
||||||
"privacy.change": "Ajustar privacidad",
|
"privacy.change": "Ajustar privacidad",
|
||||||
"privacy.direct.long": "Sólo visible para las personas mencionadas",
|
"privacy.direct.long": "Sólo mostrar a los usuarios mencionados",
|
||||||
"privacy.direct.short": "Directo",
|
"privacy.direct.short": "Directo",
|
||||||
"privacy.private.long": "Sólo mostrar a seguidores",
|
"privacy.private.long": "Sólo mostrar a seguidores",
|
||||||
"privacy.private.short": "Sólo a seguidorxs",
|
"privacy.private.short": "Privado",
|
||||||
"privacy.public.long": "Mostrar en la historia federada",
|
"privacy.public.long": "Mostrar en la historia federada",
|
||||||
"privacy.public.short": "Público",
|
"privacy.public.short": "Público",
|
||||||
"privacy.unlisted.long": "No mostrar en la historia federada",
|
"privacy.unlisted.long": "No mostrar en la historia federada",
|
||||||
|
@ -377,20 +377,20 @@
|
||||||
"report.target": "Reportando",
|
"report.target": "Reportando",
|
||||||
"search.placeholder": "Buscar",
|
"search.placeholder": "Buscar",
|
||||||
"search_popout.search_format": "Formato de búsqueda avanzada",
|
"search_popout.search_format": "Formato de búsqueda avanzada",
|
||||||
"search_popout.tips.full_text": "Las búsquedas de texto recuperan publicaciones que hayas escrito, marcado como favoritas, compartido, o en las que te hayan mencionado, así como personas, nombres y hashtags.",
|
"search_popout.tips.full_text": "Búsquedas de texto recuperan posts que has escrito, marcado como favoritos, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.",
|
||||||
"search_popout.tips.hashtag": "etiqueta",
|
"search_popout.tips.hashtag": "etiqueta",
|
||||||
"search_popout.tips.status": "publicación",
|
"search_popout.tips.status": "toot",
|
||||||
"search_popout.tips.text": "Las búsquedas de texto devuelven los nombres mostrados, nombres de usuarix y hashtags que coincidan",
|
"search_popout.tips.text": "El texto simple devuelve correspondencias de nombre, usuario y hashtag",
|
||||||
"search_popout.tips.user": "usuarix",
|
"search_popout.tips.user": "usuario",
|
||||||
"search_results.accounts": "Gente",
|
"search_results.accounts": "Gente",
|
||||||
"search_results.hashtags": "Etiquetas",
|
"search_results.hashtags": "Etiquetas",
|
||||||
"search_results.statuses": "Publicaciones",
|
"search_results.statuses": "Toots",
|
||||||
"search_results.statuses_fts_disabled": "Buscar toots por su contenido no está disponible en este servidor de Mastodon.",
|
"search_results.statuses_fts_disabled": "Buscar toots por su contenido no está disponible en este servidor de Mastodon.",
|
||||||
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
|
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
|
||||||
"status.admin_account": "Abrir interfaz de moderación para @{name}",
|
"status.admin_account": "Abrir interfaz de moderación para @{name}",
|
||||||
"status.admin_status": "Abrir este estado en la interfaz de moderación",
|
"status.admin_status": "Abrir este estado en la interfaz de moderación",
|
||||||
"status.block": "Bloquear a @{name}",
|
"status.block": "Bloquear a @{name}",
|
||||||
"status.bookmark": "Marcar",
|
"status.bookmark": "Marcador",
|
||||||
"status.cancel_reblog_private": "Eliminar retoot",
|
"status.cancel_reblog_private": "Eliminar retoot",
|
||||||
"status.cannot_reblog": "Este toot no puede retootearse",
|
"status.cannot_reblog": "Este toot no puede retootearse",
|
||||||
"status.copy": "Copiar enlace al estado",
|
"status.copy": "Copiar enlace al estado",
|
||||||
|
@ -408,14 +408,14 @@
|
||||||
"status.mute_conversation": "Silenciar conversación",
|
"status.mute_conversation": "Silenciar conversación",
|
||||||
"status.open": "Expandir estado",
|
"status.open": "Expandir estado",
|
||||||
"status.pin": "Fijar",
|
"status.pin": "Fijar",
|
||||||
"status.pinned": "Publicación fijada",
|
"status.pinned": "Toot fijado",
|
||||||
"status.read_more": "Leer más",
|
"status.read_more": "Leer más",
|
||||||
"status.reblog": "Retootear",
|
"status.reblog": "Retootear",
|
||||||
"status.reblog_private": "Implusar a la audiencia original",
|
"status.reblog_private": "Implusar a la audiencia original",
|
||||||
"status.reblogged_by": "Retooteado por {name}",
|
"status.reblogged_by": "Retooteado por {name}",
|
||||||
"status.reblogs.empty": "Nadie retooteó este toot todavía. Cuando alguien lo haga, aparecerá aquí.",
|
"status.reblogs.empty": "Nadie retooteó este toot todavía. Cuando alguien lo haga, aparecerá aquí.",
|
||||||
"status.redraft": "Borrar y volver a borrador",
|
"status.redraft": "Borrar y volver a borrador",
|
||||||
"status.remove_bookmark": "Quitar marcador",
|
"status.remove_bookmark": "Eliminar marcador",
|
||||||
"status.reply": "Responder",
|
"status.reply": "Responder",
|
||||||
"status.replyAll": "Responder al hilo",
|
"status.replyAll": "Responder al hilo",
|
||||||
"status.report": "Reportar",
|
"status.report": "Reportar",
|
||||||
|
@ -428,7 +428,7 @@
|
||||||
"status.show_thread": "Mostrar hilo",
|
"status.show_thread": "Mostrar hilo",
|
||||||
"status.uncached_media_warning": "No disponible",
|
"status.uncached_media_warning": "No disponible",
|
||||||
"status.unmute_conversation": "Dejar de silenciar conversación",
|
"status.unmute_conversation": "Dejar de silenciar conversación",
|
||||||
"status.unpin": "Desfijar",
|
"status.unpin": "Dejar de fijar",
|
||||||
"suggestions.dismiss": "Descartar sugerencia",
|
"suggestions.dismiss": "Descartar sugerencia",
|
||||||
"suggestions.header": "Es posible que te interese…",
|
"suggestions.header": "Es posible que te interese…",
|
||||||
"tabs_bar.federated_timeline": "Federado",
|
"tabs_bar.federated_timeline": "Federado",
|
||||||
|
|
|
@ -254,8 +254,8 @@
|
||||||
"keyboard_shortcuts.unfocus": "убрать фокус с поля ввода/поиска",
|
"keyboard_shortcuts.unfocus": "убрать фокус с поля ввода/поиска",
|
||||||
"keyboard_shortcuts.up": "вверх по списку",
|
"keyboard_shortcuts.up": "вверх по списку",
|
||||||
"lightbox.close": "Закрыть",
|
"lightbox.close": "Закрыть",
|
||||||
"lightbox.compress": "Compress image view box",
|
"lightbox.compress": "Сжать окно просмотра изображений",
|
||||||
"lightbox.expand": "Expand image view box",
|
"lightbox.expand": "Развернуть окно просмотра изображений",
|
||||||
"lightbox.next": "Далее",
|
"lightbox.next": "Далее",
|
||||||
"lightbox.previous": "Назад",
|
"lightbox.previous": "Назад",
|
||||||
"lightbox.view_context": "Контекст",
|
"lightbox.view_context": "Контекст",
|
||||||
|
@ -336,11 +336,11 @@
|
||||||
"notifications.filter.statuses": "Обновления от людей, на которых вы подписаны",
|
"notifications.filter.statuses": "Обновления от людей, на которых вы подписаны",
|
||||||
"notifications.group": "{count} уведомл.",
|
"notifications.group": "{count} уведомл.",
|
||||||
"notifications.mark_as_read": "Отмечать все уведомления прочитанными",
|
"notifications.mark_as_read": "Отмечать все уведомления прочитанными",
|
||||||
"notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request",
|
"notifications.permission_denied": "Уведомления на рабочем столе недоступны из-за ранее отклонённого запроса разрешений браузера",
|
||||||
"notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before",
|
"notifications.permission_denied_alert": "Уведомления на рабочем столе не могут быть включены, так как раньше было отказано в разрешении браузера",
|
||||||
"notifications_permission_banner.enable": "Enable desktop notifications",
|
"notifications_permission_banner.enable": "Включить уведомления на рабочем столе",
|
||||||
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
|
"notifications_permission_banner.how_to_control": "Чтобы получать уведомления, когда Мастодон не открыт, включите уведомления рабочего стола. Вы можете точно управлять, какие типы взаимодействия генерируют уведомления рабочего стола с помощью кнопки {icon} выше, когда они включены.",
|
||||||
"notifications_permission_banner.title": "Never miss a thing",
|
"notifications_permission_banner.title": "Ничего не пропустите",
|
||||||
"picture_in_picture.restore": "Вернуть обратно",
|
"picture_in_picture.restore": "Вернуть обратно",
|
||||||
"poll.closed": "Завершён",
|
"poll.closed": "Завершён",
|
||||||
"poll.refresh": "Обновить",
|
"poll.refresh": "Обновить",
|
||||||
|
|
|
@ -470,7 +470,7 @@
|
||||||
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
||||||
"upload_modal.preparing_ocr": "Preparing OCR…",
|
"upload_modal.preparing_ocr": "Preparing OCR…",
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "Uploading...",
|
"upload_progress.label": "Uploading…",
|
||||||
"video.close": "Close video",
|
"video.close": "Close video",
|
||||||
"video.download": "Download file",
|
"video.download": "Download file",
|
||||||
"video.exit_fullscreen": "Exit full screen",
|
"video.exit_fullscreen": "Exit full screen",
|
||||||
|
|
|
@ -470,7 +470,7 @@
|
||||||
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
||||||
"upload_modal.preparing_ocr": "Preparing OCR…",
|
"upload_modal.preparing_ocr": "Preparing OCR…",
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "Uploading...",
|
"upload_progress.label": "Uploading…",
|
||||||
"video.close": "Close video",
|
"video.close": "Close video",
|
||||||
"video.download": "Download file",
|
"video.download": "Download file",
|
||||||
"video.exit_fullscreen": "Exit full screen",
|
"video.exit_fullscreen": "Exit full screen",
|
||||||
|
|
|
@ -470,7 +470,7 @@
|
||||||
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
||||||
"upload_modal.preparing_ocr": "Preparing OCR…",
|
"upload_modal.preparing_ocr": "Preparing OCR…",
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "Uploading...",
|
"upload_progress.label": "Uploading…",
|
||||||
"video.close": "Close video",
|
"video.close": "Close video",
|
||||||
"video.download": "Download file",
|
"video.download": "Download file",
|
||||||
"video.exit_fullscreen": "Exit full screen",
|
"video.exit_fullscreen": "Exit full screen",
|
||||||
|
|
|
@ -103,7 +103,7 @@
|
||||||
"compose_form.sensitive.unmarked": "{count, plural, one {Medya hassas olarak işaretlenmemiş} other {Medya hassas olarak işaretlenmemiş}}",
|
"compose_form.sensitive.unmarked": "{count, plural, one {Medya hassas olarak işaretlenmemiş} other {Medya hassas olarak işaretlenmemiş}}",
|
||||||
"compose_form.spoiler.marked": "Metin uyarının arkasına gizlenir",
|
"compose_form.spoiler.marked": "Metin uyarının arkasına gizlenir",
|
||||||
"compose_form.spoiler.unmarked": "Metin gizli değil",
|
"compose_form.spoiler.unmarked": "Metin gizli değil",
|
||||||
"compose_form.spoiler_placeholder": "İçerik uyarısı",
|
"compose_form.spoiler_placeholder": "Uyarınızı buraya yazın",
|
||||||
"confirmation_modal.cancel": "İptal",
|
"confirmation_modal.cancel": "İptal",
|
||||||
"confirmations.block.block_and_report": "Engelle ve Bildir",
|
"confirmations.block.block_and_report": "Engelle ve Bildir",
|
||||||
"confirmations.block.confirm": "Engelle",
|
"confirmations.block.confirm": "Engelle",
|
||||||
|
@ -164,7 +164,7 @@
|
||||||
"empty_column.home.public_timeline": "herkese açık zaman tüneli",
|
"empty_column.home.public_timeline": "herkese açık zaman tüneli",
|
||||||
"empty_column.list": "Bu listede henüz hiçbir şey yok.",
|
"empty_column.list": "Bu listede henüz hiçbir şey yok.",
|
||||||
"empty_column.lists": "Henüz listeniz yok. Liste oluşturduğunuzda burada görünecek.",
|
"empty_column.lists": "Henüz listeniz yok. Liste oluşturduğunuzda burada görünecek.",
|
||||||
"empty_column.mutes": "Henüz hiçbir kullanıcıyı sessize almadınız.",
|
"empty_column.mutes": "Henüz bir kullanıcıyı sessize almadınız.",
|
||||||
"empty_column.notifications": "Henüz bildiriminiz yok. Sohbete başlamak için başkalarıyla etkileşim kurun.",
|
"empty_column.notifications": "Henüz bildiriminiz yok. Sohbete başlamak için başkalarıyla etkileşim kurun.",
|
||||||
"empty_column.public": "Burada hiçbir şey yok! Herkese açık bir şeyler yazın veya burayı doldurmak için diğer sunuculardaki kullanıcıları takip edin",
|
"empty_column.public": "Burada hiçbir şey yok! Herkese açık bir şeyler yazın veya burayı doldurmak için diğer sunuculardaki kullanıcıları takip edin",
|
||||||
"error.unexpected_crash.explanation": "Bizim kodumuzdaki bir hatadan ya da tarayıcı uyumluluk sorunundan dolayı, bu sayfa düzgün görüntülenemedi.",
|
"error.unexpected_crash.explanation": "Bizim kodumuzdaki bir hatadan ya da tarayıcı uyumluluk sorunundan dolayı, bu sayfa düzgün görüntülenemedi.",
|
||||||
|
@ -210,7 +210,7 @@
|
||||||
"introduction.federation.local.headline": "Yerel",
|
"introduction.federation.local.headline": "Yerel",
|
||||||
"introduction.federation.local.text": "Aynı sunucudaki kişilerin gönderileri yerel zaman tünelinde gözükecektir.",
|
"introduction.federation.local.text": "Aynı sunucudaki kişilerin gönderileri yerel zaman tünelinde gözükecektir.",
|
||||||
"introduction.interactions.action": "Öğreticiyi bitir!",
|
"introduction.interactions.action": "Öğreticiyi bitir!",
|
||||||
"introduction.interactions.favourite.headline": "Favori",
|
"introduction.interactions.favourite.headline": "Beğeni",
|
||||||
"introduction.interactions.favourite.text": "Bir tootu favorilerinize alarak sonrası için saklayabilirsiniz ve yazara tootu beğendiğinizi söyleyebilirsiniz.",
|
"introduction.interactions.favourite.text": "Bir tootu favorilerinize alarak sonrası için saklayabilirsiniz ve yazara tootu beğendiğinizi söyleyebilirsiniz.",
|
||||||
"introduction.interactions.reblog.headline": "Boostla",
|
"introduction.interactions.reblog.headline": "Boostla",
|
||||||
"introduction.interactions.reblog.text": "Başkalarının tootlarını boostlayarak onları kendi takipçilerinizle paylaşabillirsiniz.",
|
"introduction.interactions.reblog.text": "Başkalarının tootlarını boostlayarak onları kendi takipçilerinizle paylaşabillirsiniz.",
|
||||||
|
@ -220,20 +220,20 @@
|
||||||
"introduction.welcome.headline": "İlk adımlar",
|
"introduction.welcome.headline": "İlk adımlar",
|
||||||
"introduction.welcome.text": "Krallığa hoş geldiniz! Az sonra, geniş bir sunucu yelpazesinde mesaj gönderip arkadaşlarınızla konuşabileceksiniz. Ama bu sunucu, {domain}, özel (profilinizi barındırır, bu yüzden adresini hatırlayın).",
|
"introduction.welcome.text": "Krallığa hoş geldiniz! Az sonra, geniş bir sunucu yelpazesinde mesaj gönderip arkadaşlarınızla konuşabileceksiniz. Ama bu sunucu, {domain}, özel (profilinizi barındırır, bu yüzden adresini hatırlayın).",
|
||||||
"keyboard_shortcuts.back": "geriye gitmek için",
|
"keyboard_shortcuts.back": "geriye gitmek için",
|
||||||
"keyboard_shortcuts.blocked": "engelli kullanıcılar listesini açmak için",
|
"keyboard_shortcuts.blocked": "engellenen kullanıcılar listesini açmak için",
|
||||||
"keyboard_shortcuts.boost": "boostlamak için",
|
"keyboard_shortcuts.boost": "boostlamak için",
|
||||||
"keyboard_shortcuts.column": "sütunlardan birindeki duruma odaklanmak için",
|
"keyboard_shortcuts.column": "sütunlardan birindeki duruma odaklanmak için",
|
||||||
"keyboard_shortcuts.compose": "yazma alanına odaklanmak için",
|
"keyboard_shortcuts.compose": "yazma alanına odaklanmak için",
|
||||||
"keyboard_shortcuts.description": "Açıklama",
|
"keyboard_shortcuts.description": "Açıklama",
|
||||||
"keyboard_shortcuts.direct": "doğrudan mesajlar sütununu açmak için",
|
"keyboard_shortcuts.direct": "direkt mesajlar sütununu açmak için",
|
||||||
"keyboard_shortcuts.down": "listede aşağıya inmek için",
|
"keyboard_shortcuts.down": "listede aşağıya inmek için",
|
||||||
"keyboard_shortcuts.enter": "durumu açmak için",
|
"keyboard_shortcuts.enter": "durumu açmak için",
|
||||||
"keyboard_shortcuts.favourite": "favorilere eklemek için",
|
"keyboard_shortcuts.favourite": "beğenmek için",
|
||||||
"keyboard_shortcuts.favourites": "favoriler listesini açmak için",
|
"keyboard_shortcuts.favourites": "favoriler listesini açmak için",
|
||||||
"keyboard_shortcuts.federated": "federe edilmiş zaman tünelini açmak için",
|
"keyboard_shortcuts.federated": "federe edilmiş zaman tünelini açmak için",
|
||||||
"keyboard_shortcuts.heading": "Klavye kısayolları",
|
"keyboard_shortcuts.heading": "Klavye kısayolları",
|
||||||
"keyboard_shortcuts.home": "ana sayfa zaman çizelgesini açmak için",
|
"keyboard_shortcuts.home": "anasayfa zaman çizelgesini açmak için",
|
||||||
"keyboard_shortcuts.hotkey": "Kısatuş",
|
"keyboard_shortcuts.hotkey": "Kısayol tuşu",
|
||||||
"keyboard_shortcuts.legend": "bu efsaneyi görüntülemek için",
|
"keyboard_shortcuts.legend": "bu efsaneyi görüntülemek için",
|
||||||
"keyboard_shortcuts.local": "yerel zaman tünelini açmak için",
|
"keyboard_shortcuts.local": "yerel zaman tünelini açmak için",
|
||||||
"keyboard_shortcuts.mention": "yazardan bahsetmek için",
|
"keyboard_shortcuts.mention": "yazardan bahsetmek için",
|
||||||
|
@ -246,11 +246,11 @@
|
||||||
"keyboard_shortcuts.reply": "yanıtlamak için",
|
"keyboard_shortcuts.reply": "yanıtlamak için",
|
||||||
"keyboard_shortcuts.requests": "takip istekleri listesini açmak için",
|
"keyboard_shortcuts.requests": "takip istekleri listesini açmak için",
|
||||||
"keyboard_shortcuts.search": "aramaya odaklanmak için",
|
"keyboard_shortcuts.search": "aramaya odaklanmak için",
|
||||||
"keyboard_shortcuts.spoilers": "CW akışı göster/gizle",
|
"keyboard_shortcuts.spoilers": "CW alanını göstermek/gizlemek için",
|
||||||
"keyboard_shortcuts.start": "\"başlayın\" sütununu açmak için",
|
"keyboard_shortcuts.start": "\"başlarken\" sütununu açmak için",
|
||||||
"keyboard_shortcuts.toggle_hidden": "CW'den önceki yazıyı göstermek/gizlemek için",
|
"keyboard_shortcuts.toggle_hidden": "CW'den önceki yazıyı göstermek/gizlemek için",
|
||||||
"keyboard_shortcuts.toggle_sensitivity": "medyayı göstermek/gizlemek için",
|
"keyboard_shortcuts.toggle_sensitivity": "medyayı göstermek/gizlemek için",
|
||||||
"keyboard_shortcuts.toot": "yeni bir toot başlatmak için",
|
"keyboard_shortcuts.toot": "yepyeni bir toot başlatmak için",
|
||||||
"keyboard_shortcuts.unfocus": "aramada bir gönderiye odaklanmamak için",
|
"keyboard_shortcuts.unfocus": "aramada bir gönderiye odaklanmamak için",
|
||||||
"keyboard_shortcuts.up": "listede yukarıya çıkmak için",
|
"keyboard_shortcuts.up": "listede yukarıya çıkmak için",
|
||||||
"lightbox.close": "Kapat",
|
"lightbox.close": "Kapat",
|
||||||
|
@ -314,8 +314,8 @@
|
||||||
"notifications.clear": "Bildirimleri temizle",
|
"notifications.clear": "Bildirimleri temizle",
|
||||||
"notifications.clear_confirmation": "Tüm bildirimlerinizi kalıcı olarak temizlemek ister misiniz?",
|
"notifications.clear_confirmation": "Tüm bildirimlerinizi kalıcı olarak temizlemek ister misiniz?",
|
||||||
"notifications.column_settings.alert": "Masaüstü bildirimleri",
|
"notifications.column_settings.alert": "Masaüstü bildirimleri",
|
||||||
"notifications.column_settings.favourite": "Favoriler:",
|
"notifications.column_settings.favourite": "Beğeniler:",
|
||||||
"notifications.column_settings.filter_bar.advanced": "Tüm kategorileri göster",
|
"notifications.column_settings.filter_bar.advanced": "Tüm kategorileri görüntüle",
|
||||||
"notifications.column_settings.filter_bar.category": "Hızlı filtre çubuğu",
|
"notifications.column_settings.filter_bar.category": "Hızlı filtre çubuğu",
|
||||||
"notifications.column_settings.filter_bar.show": "Göster",
|
"notifications.column_settings.filter_bar.show": "Göster",
|
||||||
"notifications.column_settings.follow": "Yeni takipçiler:",
|
"notifications.column_settings.follow": "Yeni takipçiler:",
|
||||||
|
@ -324,12 +324,12 @@
|
||||||
"notifications.column_settings.poll": "Anket sonuçları:",
|
"notifications.column_settings.poll": "Anket sonuçları:",
|
||||||
"notifications.column_settings.push": "Anlık bildirimler",
|
"notifications.column_settings.push": "Anlık bildirimler",
|
||||||
"notifications.column_settings.reblog": "Boostlar:",
|
"notifications.column_settings.reblog": "Boostlar:",
|
||||||
"notifications.column_settings.show": "Bildirimlerde göster",
|
"notifications.column_settings.show": "Sütunda göster",
|
||||||
"notifications.column_settings.sound": "Ses çal",
|
"notifications.column_settings.sound": "Ses çal",
|
||||||
"notifications.column_settings.status": "Yeni toot'lar:",
|
"notifications.column_settings.status": "Yeni tootlar:",
|
||||||
"notifications.filter.all": "Tümü",
|
"notifications.filter.all": "Tümü",
|
||||||
"notifications.filter.boosts": "Boostlar",
|
"notifications.filter.boosts": "Boostlar",
|
||||||
"notifications.filter.favourites": "Favoriler",
|
"notifications.filter.favourites": "Beğeniler",
|
||||||
"notifications.filter.follows": "Takip edilenler",
|
"notifications.filter.follows": "Takip edilenler",
|
||||||
"notifications.filter.mentions": "Bahsetmeler",
|
"notifications.filter.mentions": "Bahsetmeler",
|
||||||
"notifications.filter.polls": "Anket sonuçları",
|
"notifications.filter.polls": "Anket sonuçları",
|
||||||
|
@ -349,19 +349,19 @@
|
||||||
"poll.vote": "Oy ver",
|
"poll.vote": "Oy ver",
|
||||||
"poll.voted": "Bu cevap için oy kullandınız",
|
"poll.voted": "Bu cevap için oy kullandınız",
|
||||||
"poll_button.add_poll": "Bir anket ekleyin",
|
"poll_button.add_poll": "Bir anket ekleyin",
|
||||||
"poll_button.remove_poll": "Anket kaldır",
|
"poll_button.remove_poll": "Anketi kaldır",
|
||||||
"privacy.change": "Gönderi gizliliğini ayarla",
|
"privacy.change": "Toot gizliliğini ayarlayın",
|
||||||
"privacy.direct.long": "Sadece bahsedilen kişilere gönder",
|
"privacy.direct.long": "Sadece bahsedilen kullanıcılar için görünür",
|
||||||
"privacy.direct.short": "Doğrudan",
|
"privacy.direct.short": "Direkt",
|
||||||
"privacy.private.long": "Sadece takipçilerime gönder",
|
"privacy.private.long": "Sadece takipçiler için görünür",
|
||||||
"privacy.private.short": "Sadece takipçiler",
|
"privacy.private.short": "Sadece takipçiler",
|
||||||
"privacy.public.long": "Herkese açık zaman tüneline gönder",
|
"privacy.public.long": "Herkese görünür, herkese açık zaman çizelgelerinde gösterilir",
|
||||||
"privacy.public.short": "Herkese açık",
|
"privacy.public.short": "Herkese açık",
|
||||||
"privacy.unlisted.long": "Herkese açık zaman tüneline gönderme",
|
"privacy.unlisted.long": "Herkese görünür, ancak genel zaman çizelgelerinde gösterilmez",
|
||||||
"privacy.unlisted.short": "Listelenmemiş",
|
"privacy.unlisted.short": "Listelenmemiş",
|
||||||
"refresh": "Yenile",
|
"refresh": "Yenile",
|
||||||
"regeneration_indicator.label": "Yükleniyor…",
|
"regeneration_indicator.label": "Yükleniyor…",
|
||||||
"regeneration_indicator.sublabel": "Ev akışınız hazırlanıyor!",
|
"regeneration_indicator.sublabel": "Ana akışınız hazırlanıyor!",
|
||||||
"relative_time.days": "{number}g",
|
"relative_time.days": "{number}g",
|
||||||
"relative_time.hours": "{number}sa",
|
"relative_time.hours": "{number}sa",
|
||||||
"relative_time.just_now": "şimdi",
|
"relative_time.just_now": "şimdi",
|
||||||
|
@ -370,7 +370,7 @@
|
||||||
"relative_time.today": "bugün",
|
"relative_time.today": "bugün",
|
||||||
"reply_indicator.cancel": "İptal",
|
"reply_indicator.cancel": "İptal",
|
||||||
"report.forward": "{target} ilet",
|
"report.forward": "{target} ilet",
|
||||||
"report.forward_hint": "Bu hesap başka bir sunucudan. Anonimleştirilmiş bir rapor oraya da gönderilsin mi?",
|
"report.forward_hint": "Hesap başka bir sunucudan. Raporun anonim bir kopyası da oraya gönderilsin mi?",
|
||||||
"report.hint": "Bu rapor sunucu moderatörlerine gönderilecek. Bu hesabı neden bildirdiğiniz hakkında bilgi verebirsiniz:",
|
"report.hint": "Bu rapor sunucu moderatörlerine gönderilecek. Bu hesabı neden bildirdiğiniz hakkında bilgi verebirsiniz:",
|
||||||
"report.placeholder": "Ek yorumlar",
|
"report.placeholder": "Ek yorumlar",
|
||||||
"report.submit": "Gönder",
|
"report.submit": "Gönder",
|
||||||
|
@ -378,7 +378,7 @@
|
||||||
"search.placeholder": "Ara",
|
"search.placeholder": "Ara",
|
||||||
"search_popout.search_format": "Gelişmiş arama biçimi",
|
"search_popout.search_format": "Gelişmiş arama biçimi",
|
||||||
"search_popout.tips.full_text": "Basit metin yazdığınız, tercih ettiğiniz, boostladığınız veya bunlardan bahsettiğiniz tootların yanı sıra kullanıcı adlarını, görünen adları ve hashtag'leri eşleştiren tootları döndürür.",
|
"search_popout.tips.full_text": "Basit metin yazdığınız, tercih ettiğiniz, boostladığınız veya bunlardan bahsettiğiniz tootların yanı sıra kullanıcı adlarını, görünen adları ve hashtag'leri eşleştiren tootları döndürür.",
|
||||||
"search_popout.tips.hashtag": "etiketler",
|
"search_popout.tips.hashtag": "etiket",
|
||||||
"search_popout.tips.status": "toot",
|
"search_popout.tips.status": "toot",
|
||||||
"search_popout.tips.text": "Basit metin, eşleşen görünen adları, kullanıcı adlarını ve hashtag'leri döndürür",
|
"search_popout.tips.text": "Basit metin, eşleşen görünen adları, kullanıcı adlarını ve hashtag'leri döndürür",
|
||||||
"search_popout.tips.user": "kullanıcı",
|
"search_popout.tips.user": "kullanıcı",
|
||||||
|
@ -396,36 +396,36 @@
|
||||||
"status.copy": "Bağlantı durumunu kopyala",
|
"status.copy": "Bağlantı durumunu kopyala",
|
||||||
"status.delete": "Sil",
|
"status.delete": "Sil",
|
||||||
"status.detailed_status": "Ayrıntılı sohbet görünümü",
|
"status.detailed_status": "Ayrıntılı sohbet görünümü",
|
||||||
"status.direct": "@{name}'e gönder",
|
"status.direct": "@{name} adlı kişiye direkt mesaj",
|
||||||
"status.embed": "Gömülü",
|
"status.embed": "Gömülü",
|
||||||
"status.favourite": "Beğen",
|
"status.favourite": "Beğen",
|
||||||
"status.filtered": "Filtrelenmiş",
|
"status.filtered": "Filtrelenmiş",
|
||||||
"status.load_more": "Daha fazla",
|
"status.load_more": "Daha fazlasını yükle",
|
||||||
"status.media_hidden": "Gizli görsel",
|
"status.media_hidden": "Gizli görsel",
|
||||||
"status.mention": "Bahset : @{name}",
|
"status.mention": "@{name} kişisinden bahset",
|
||||||
"status.more": "Daha fazla",
|
"status.more": "Daha fazla",
|
||||||
"status.mute": "Sustur : @{name}",
|
"status.mute": "@{name} kişisini sessize al",
|
||||||
"status.mute_conversation": "Sohbeti sessize al",
|
"status.mute_conversation": "Sohbeti sessize al",
|
||||||
"status.open": "Bu gönderiyi genişlet",
|
"status.open": "Bu tootu genişlet",
|
||||||
"status.pin": "Profile sabitle",
|
"status.pin": "Profile sabitle",
|
||||||
"status.pinned": "Sabitlenmiş toot",
|
"status.pinned": "Sabitlenmiş toot",
|
||||||
"status.read_more": "Daha dazla oku",
|
"status.read_more": "Devamını okuyun",
|
||||||
"status.reblog": "Boostla",
|
"status.reblog": "Boostla",
|
||||||
"status.reblog_private": "Orijinal görünürlük ile boostla",
|
"status.reblog_private": "Orijinal görünürlük ile boostla",
|
||||||
"status.reblogged_by": "{name} boostladı",
|
"status.reblogged_by": "{name} boostladı",
|
||||||
"status.reblogs.empty": "Henüz kimse bu tootu boostlamadı. Biri yaptığında burada görünecek.",
|
"status.reblogs.empty": "Henüz kimse bu tootu boostlamadı. Biri yaptığında burada görünecek.",
|
||||||
"status.redraft": "Sil & tekrar taslakla",
|
"status.redraft": "Sil ve yeniden taslak yap",
|
||||||
"status.remove_bookmark": "Yer imini kaldır",
|
"status.remove_bookmark": "Yer imini kaldır",
|
||||||
"status.reply": "Yanıtla",
|
"status.reply": "Yanıtla",
|
||||||
"status.replyAll": "Konuyu yanıtla",
|
"status.replyAll": "Konuyu yanıtla",
|
||||||
"status.report": "@{name}'i raporla",
|
"status.report": "@{name} adlı kişiyi bildir",
|
||||||
"status.sensitive_warning": "Hassas içerik",
|
"status.sensitive_warning": "Hassas içerik",
|
||||||
"status.share": "Paylaş",
|
"status.share": "Paylaş",
|
||||||
"status.show_less": "Daha az göster",
|
"status.show_less": "Daha az göster",
|
||||||
"status.show_less_all": "Hepsi için daha az göster",
|
"status.show_less_all": "Hepsi için daha az göster",
|
||||||
"status.show_more": "Daha fazla göster",
|
"status.show_more": "Daha fazlasını göster",
|
||||||
"status.show_more_all": "Hepsi için daha fazla göster",
|
"status.show_more_all": "Hepsi için daha fazla göster",
|
||||||
"status.show_thread": "Mesaj dizisini göster",
|
"status.show_thread": "Konuyu göster",
|
||||||
"status.uncached_media_warning": "Mevcut değil",
|
"status.uncached_media_warning": "Mevcut değil",
|
||||||
"status.unmute_conversation": "Sohbet sesini aç",
|
"status.unmute_conversation": "Sohbet sesini aç",
|
||||||
"status.unpin": "Profilden sabitlemeyi kaldır",
|
"status.unpin": "Profilden sabitlemeyi kaldır",
|
||||||
|
@ -446,22 +446,22 @@
|
||||||
"timeline_hint.resources.follows": "Takip Edilenler",
|
"timeline_hint.resources.follows": "Takip Edilenler",
|
||||||
"timeline_hint.resources.statuses": "Eski tootlar",
|
"timeline_hint.resources.statuses": "Eski tootlar",
|
||||||
"trends.counter_by_accounts": "{count, plural, one {{counter} kişi} other {{counter} kişi}} konuşuyor",
|
"trends.counter_by_accounts": "{count, plural, one {{counter} kişi} other {{counter} kişi}} konuşuyor",
|
||||||
"trends.trending_now": "Şu an popüler",
|
"trends.trending_now": "Şu an gündemde",
|
||||||
"ui.beforeunload": "Mastodon'dan ayrılırsanız taslağınız kaybolacak.",
|
"ui.beforeunload": "Mastodon'u terk ederseniz taslağınız kaybolacak.",
|
||||||
"units.short.billion": "{count}Mia",
|
"units.short.billion": "{count}Mr",
|
||||||
"units.short.million": "{count}M",
|
"units.short.million": "{count}Mn",
|
||||||
"units.short.thousand": "{count}B",
|
"units.short.thousand": "{count}Mn",
|
||||||
"upload_area.title": "Karşıya yükleme için sürükle bırak yapınız",
|
"upload_area.title": "Karşıya yükleme için sürükle bırak yapınız",
|
||||||
"upload_button.label": "Görsel ekle",
|
"upload_button.label": "Resim, video veya ses dosyası ekleyin",
|
||||||
"upload_error.limit": "Dosya yükleme sınırı aşıldı.",
|
"upload_error.limit": "Dosya yükleme sınırı aşıldı.",
|
||||||
"upload_error.poll": "Anketlerde dosya yüklemesine izin verilmez.",
|
"upload_error.poll": "Anketlerde dosya yüklemesine izin verilmez.",
|
||||||
"upload_form.audio_description": "İşitme kaybı olan kişiler için tarif edin",
|
"upload_form.audio_description": "İşitme kaybı olan kişiler için tarif edin",
|
||||||
"upload_form.description": "Görme engelliler için açıklama",
|
"upload_form.description": "Görme engelliler için açıklama",
|
||||||
"upload_form.edit": "Düzenle",
|
"upload_form.edit": "Düzenle",
|
||||||
"upload_form.thumbnail": "Küçük Resimi Değiştir",
|
"upload_form.thumbnail": "Küçük resmi değiştir",
|
||||||
"upload_form.undo": "Geri al",
|
"upload_form.undo": "Sil",
|
||||||
"upload_form.video_description": "İşitme kaybı veya görme engeli olan kişiler için tarif edin",
|
"upload_form.video_description": "İşitme kaybı veya görme engeli olan kişiler için tarif edin",
|
||||||
"upload_modal.analyzing_picture": "Resmi analiz ediyor…",
|
"upload_modal.analyzing_picture": "Resim analiz ediliyor…",
|
||||||
"upload_modal.apply": "Uygula",
|
"upload_modal.apply": "Uygula",
|
||||||
"upload_modal.choose_image": "Resim seç",
|
"upload_modal.choose_image": "Resim seç",
|
||||||
"upload_modal.description_placeholder": "Pijamalı hasta yağız şoföre çabucak güvendi",
|
"upload_modal.description_placeholder": "Pijamalı hasta yağız şoföre çabucak güvendi",
|
||||||
|
@ -477,7 +477,7 @@
|
||||||
"video.expand": "Videoyu genişlet",
|
"video.expand": "Videoyu genişlet",
|
||||||
"video.fullscreen": "Tam ekran",
|
"video.fullscreen": "Tam ekran",
|
||||||
"video.hide": "Videoyu gizle",
|
"video.hide": "Videoyu gizle",
|
||||||
"video.mute": "Sesi kıs",
|
"video.mute": "Sesi sustur",
|
||||||
"video.pause": "Duraklat",
|
"video.pause": "Duraklat",
|
||||||
"video.play": "Oynat",
|
"video.play": "Oynat",
|
||||||
"video.unmute": "Sesi aç"
|
"video.unmute": "Sesi aç"
|
||||||
|
|
|
@ -470,7 +470,7 @@
|
||||||
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
||||||
"upload_modal.preparing_ocr": "Preparing OCR…",
|
"upload_modal.preparing_ocr": "Preparing OCR…",
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "Uploading...",
|
"upload_progress.label": "Uploading…",
|
||||||
"video.close": "Close video",
|
"video.close": "Close video",
|
||||||
"video.download": "Download file",
|
"video.download": "Download file",
|
||||||
"video.exit_fullscreen": "Exit full screen",
|
"video.exit_fullscreen": "Exit full screen",
|
||||||
|
|
|
@ -272,7 +272,7 @@
|
||||||
"lists.replies_policy.title": "Cho phép bình luận với:",
|
"lists.replies_policy.title": "Cho phép bình luận với:",
|
||||||
"lists.search": "Tìm kiếm những người mà bạn quan tâm",
|
"lists.search": "Tìm kiếm những người mà bạn quan tâm",
|
||||||
"lists.subheading": "Danh sách của bạn",
|
"lists.subheading": "Danh sách của bạn",
|
||||||
"load_pending": "{count, plural, one {# tút} other {# tút}}",
|
"load_pending": "{count, plural, one {# tút mới} other {# tút mới}}",
|
||||||
"loading_indicator.label": "Chờ xíu...",
|
"loading_indicator.label": "Chờ xíu...",
|
||||||
"media_gallery.toggle_visible": "Ẩn {number, plural, one {ảnh} other {ảnh}}",
|
"media_gallery.toggle_visible": "Ẩn {number, plural, one {ảnh} other {ảnh}}",
|
||||||
"missing_indicator.label": "Không tìm thấy",
|
"missing_indicator.label": "Không tìm thấy",
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
"account.account_note_header": "Note",
|
"account.account_note_header": "Note",
|
||||||
"account.add_or_remove_from_list": "Add or Remove from lists",
|
"account.add_or_remove_from_list": "Add or Remove from lists",
|
||||||
"account.badges.bot": "Bot",
|
"account.badges.bot": "Bot",
|
||||||
"account.badges.group": "Group",
|
"account.badges.group": "ⵜⴰⵔⴰⴱⴱⵓⵜ",
|
||||||
"account.block": "Block @{name}",
|
"account.block": "ⴳⴷⵍ @{name}",
|
||||||
"account.block_domain": "Block domain {domain}",
|
"account.block_domain": "Block domain {domain}",
|
||||||
"account.blocked": "Blocked",
|
"account.blocked": "Blocked",
|
||||||
"account.browse_more_on_origin_server": "Browse more on the original profile",
|
"account.browse_more_on_origin_server": "Browse more on the original profile",
|
||||||
|
@ -11,10 +11,10 @@
|
||||||
"account.direct": "Direct message @{name}",
|
"account.direct": "Direct message @{name}",
|
||||||
"account.disable_notifications": "Stop notifying me when @{name} posts",
|
"account.disable_notifications": "Stop notifying me when @{name} posts",
|
||||||
"account.domain_blocked": "Domain blocked",
|
"account.domain_blocked": "Domain blocked",
|
||||||
"account.edit_profile": "Edit profile",
|
"account.edit_profile": "ⵙⵏⴼⵍ ⵉⴼⵔⵙ",
|
||||||
"account.enable_notifications": "Notify me when @{name} posts",
|
"account.enable_notifications": "Notify me when @{name} posts",
|
||||||
"account.endorse": "Feature on profile",
|
"account.endorse": "Feature on profile",
|
||||||
"account.follow": "Follow",
|
"account.follow": "ⴹⴼⵕ",
|
||||||
"account.followers": "Followers",
|
"account.followers": "Followers",
|
||||||
"account.followers.empty": "No one follows this user yet.",
|
"account.followers.empty": "No one follows this user yet.",
|
||||||
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
|
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
|
||||||
|
@ -56,7 +56,7 @@
|
||||||
"bundle_column_error.body": "Something went wrong while loading this component.",
|
"bundle_column_error.body": "Something went wrong while loading this component.",
|
||||||
"bundle_column_error.retry": "Try again",
|
"bundle_column_error.retry": "Try again",
|
||||||
"bundle_column_error.title": "Network error",
|
"bundle_column_error.title": "Network error",
|
||||||
"bundle_modal_error.close": "Close",
|
"bundle_modal_error.close": "ⵔⴳⵍ",
|
||||||
"bundle_modal_error.message": "Something went wrong while loading this component.",
|
"bundle_modal_error.message": "Something went wrong while loading this component.",
|
||||||
"bundle_modal_error.retry": "Try again",
|
"bundle_modal_error.retry": "Try again",
|
||||||
"column.blocks": "Blocked users",
|
"column.blocks": "Blocked users",
|
||||||
|
@ -67,8 +67,8 @@
|
||||||
"column.domain_blocks": "Blocked domains",
|
"column.domain_blocks": "Blocked domains",
|
||||||
"column.favourites": "Favourites",
|
"column.favourites": "Favourites",
|
||||||
"column.follow_requests": "Follow requests",
|
"column.follow_requests": "Follow requests",
|
||||||
"column.home": "Home",
|
"column.home": "ⴰⵙⵏⵓⴱⴳ",
|
||||||
"column.lists": "Lists",
|
"column.lists": "ⵜⵉⵍⴳⴰⵎⵉⵏ",
|
||||||
"column.mutes": "Muted users",
|
"column.mutes": "Muted users",
|
||||||
"column.notifications": "Notifications",
|
"column.notifications": "Notifications",
|
||||||
"column.pins": "Pinned toot",
|
"column.pins": "Pinned toot",
|
||||||
|
@ -80,7 +80,7 @@
|
||||||
"column_header.pin": "Pin",
|
"column_header.pin": "Pin",
|
||||||
"column_header.show_settings": "Show settings",
|
"column_header.show_settings": "Show settings",
|
||||||
"column_header.unpin": "Unpin",
|
"column_header.unpin": "Unpin",
|
||||||
"column_subheading.settings": "Settings",
|
"column_subheading.settings": "ⵜⵉⵙⵖⴰⵍ",
|
||||||
"community.column_settings.local_only": "Local only",
|
"community.column_settings.local_only": "Local only",
|
||||||
"community.column_settings.media_only": "Media only",
|
"community.column_settings.media_only": "Media only",
|
||||||
"community.column_settings.remote_only": "Remote only",
|
"community.column_settings.remote_only": "Remote only",
|
||||||
|
@ -108,9 +108,9 @@
|
||||||
"confirmations.block.block_and_report": "Block & Report",
|
"confirmations.block.block_and_report": "Block & Report",
|
||||||
"confirmations.block.confirm": "Block",
|
"confirmations.block.confirm": "Block",
|
||||||
"confirmations.block.message": "Are you sure you want to block {name}?",
|
"confirmations.block.message": "Are you sure you want to block {name}?",
|
||||||
"confirmations.delete.confirm": "Delete",
|
"confirmations.delete.confirm": "ⴽⴽⵙ",
|
||||||
"confirmations.delete.message": "Are you sure you want to delete this status?",
|
"confirmations.delete.message": "Are you sure you want to delete this status?",
|
||||||
"confirmations.delete_list.confirm": "Delete",
|
"confirmations.delete_list.confirm": "ⴽⴽⵙ",
|
||||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||||
"confirmations.domain_block.confirm": "Hide entire domain",
|
"confirmations.domain_block.confirm": "Hide entire domain",
|
||||||
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
|
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
|
||||||
|
@ -121,7 +121,7 @@
|
||||||
"confirmations.mute.message": "Are you sure you want to mute {name}?",
|
"confirmations.mute.message": "Are you sure you want to mute {name}?",
|
||||||
"confirmations.redraft.confirm": "Delete & redraft",
|
"confirmations.redraft.confirm": "Delete & redraft",
|
||||||
"confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
|
"confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
|
||||||
"confirmations.reply.confirm": "Reply",
|
"confirmations.reply.confirm": "ⵔⴰⵔ",
|
||||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||||
"confirmations.unfollow.confirm": "Unfollow",
|
"confirmations.unfollow.confirm": "Unfollow",
|
||||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
|
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
|
||||||
|
@ -137,7 +137,7 @@
|
||||||
"embed.preview": "Here is what it will look like:",
|
"embed.preview": "Here is what it will look like:",
|
||||||
"emoji_button.activity": "Activity",
|
"emoji_button.activity": "Activity",
|
||||||
"emoji_button.custom": "Custom",
|
"emoji_button.custom": "Custom",
|
||||||
"emoji_button.flags": "Flags",
|
"emoji_button.flags": "ⵉⵛⵏⵢⴰⵍⵏ",
|
||||||
"emoji_button.food": "Food & Drink",
|
"emoji_button.food": "Food & Drink",
|
||||||
"emoji_button.label": "Insert emoji",
|
"emoji_button.label": "Insert emoji",
|
||||||
"emoji_button.nature": "Nature",
|
"emoji_button.nature": "Nature",
|
||||||
|
@ -205,7 +205,7 @@
|
||||||
"introduction.federation.action": "Next",
|
"introduction.federation.action": "Next",
|
||||||
"introduction.federation.federated.headline": "Federated",
|
"introduction.federation.federated.headline": "Federated",
|
||||||
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
|
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
|
||||||
"introduction.federation.home.headline": "Home",
|
"introduction.federation.home.headline": "ⴰⵙⵏⵓⴱⴳ",
|
||||||
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
|
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
|
||||||
"introduction.federation.local.headline": "Local",
|
"introduction.federation.local.headline": "Local",
|
||||||
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
|
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
|
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
|
||||||
"introduction.interactions.reblog.headline": "Boost",
|
"introduction.interactions.reblog.headline": "Boost",
|
||||||
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
|
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
|
||||||
"introduction.interactions.reply.headline": "Reply",
|
"introduction.interactions.reply.headline": "ⵔⴰⵔ",
|
||||||
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
|
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
|
||||||
"introduction.welcome.action": "Let's go!",
|
"introduction.welcome.action": "Let's go!",
|
||||||
"introduction.welcome.headline": "First steps",
|
"introduction.welcome.headline": "First steps",
|
||||||
|
@ -253,15 +253,15 @@
|
||||||
"keyboard_shortcuts.toot": "to start a brand new toot",
|
"keyboard_shortcuts.toot": "to start a brand new toot",
|
||||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||||
"keyboard_shortcuts.up": "to move up in the list",
|
"keyboard_shortcuts.up": "to move up in the list",
|
||||||
"lightbox.close": "Close",
|
"lightbox.close": "ⵔⴳⵍ",
|
||||||
"lightbox.compress": "Compress image view box",
|
"lightbox.compress": "Compress image view box",
|
||||||
"lightbox.expand": "Expand image view box",
|
"lightbox.expand": "Expand image view box",
|
||||||
"lightbox.next": "Next",
|
"lightbox.next": "Next",
|
||||||
"lightbox.previous": "Previous",
|
"lightbox.previous": "Previous",
|
||||||
"lightbox.view_context": "View context",
|
"lightbox.view_context": "View context",
|
||||||
"lists.account.add": "Add to list",
|
"lists.account.add": "ⵔⵏⵓ ⵖⵔ ⵜⵍⴳⴰⵎⵜ",
|
||||||
"lists.account.remove": "Remove from list",
|
"lists.account.remove": "ⴽⴽⵙ ⵙⴳ ⵜⵍⴳⴰⵎⵜ",
|
||||||
"lists.delete": "Delete list",
|
"lists.delete": "ⴽⴽⵙ ⵜⴰⵍⴳⴰⵎⵜ",
|
||||||
"lists.edit": "Edit list",
|
"lists.edit": "Edit list",
|
||||||
"lists.edit.submit": "Change title",
|
"lists.edit.submit": "Change title",
|
||||||
"lists.new.create": "Add list",
|
"lists.new.create": "Add list",
|
||||||
|
@ -348,7 +348,7 @@
|
||||||
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
|
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
|
||||||
"poll.vote": "Vote",
|
"poll.vote": "Vote",
|
||||||
"poll.voted": "You voted for this answer",
|
"poll.voted": "You voted for this answer",
|
||||||
"poll_button.add_poll": "Add a poll",
|
"poll_button.add_poll": "ⵔⵏⵓ ⵢⴰⵏ ⵢⵉⴷⵣ",
|
||||||
"poll_button.remove_poll": "Remove poll",
|
"poll_button.remove_poll": "Remove poll",
|
||||||
"privacy.change": "Adjust status privacy",
|
"privacy.change": "Adjust status privacy",
|
||||||
"privacy.direct.long": "Visible for mentioned users only",
|
"privacy.direct.long": "Visible for mentioned users only",
|
||||||
|
@ -360,11 +360,11 @@
|
||||||
"privacy.unlisted.long": "Visible for all, but not in public timelines",
|
"privacy.unlisted.long": "Visible for all, but not in public timelines",
|
||||||
"privacy.unlisted.short": "Unlisted",
|
"privacy.unlisted.short": "Unlisted",
|
||||||
"refresh": "Refresh",
|
"refresh": "Refresh",
|
||||||
"regeneration_indicator.label": "Loading…",
|
"regeneration_indicator.label": "ⴰⵣⴷⴰⵎ…",
|
||||||
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
|
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
|
||||||
"relative_time.days": "{number}d",
|
"relative_time.days": "{number}d",
|
||||||
"relative_time.hours": "{number}h",
|
"relative_time.hours": "{number}h",
|
||||||
"relative_time.just_now": "now",
|
"relative_time.just_now": "ⴷⵖⵉ",
|
||||||
"relative_time.minutes": "{number}m",
|
"relative_time.minutes": "{number}m",
|
||||||
"relative_time.seconds": "{number}s",
|
"relative_time.seconds": "{number}s",
|
||||||
"relative_time.today": "today",
|
"relative_time.today": "today",
|
||||||
|
@ -373,9 +373,9 @@
|
||||||
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
|
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
|
||||||
"report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
|
"report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
|
||||||
"report.placeholder": "Additional comments",
|
"report.placeholder": "Additional comments",
|
||||||
"report.submit": "Submit",
|
"report.submit": "ⴰⵣⵏ",
|
||||||
"report.target": "Report {target}",
|
"report.target": "Report {target}",
|
||||||
"search.placeholder": "Search",
|
"search.placeholder": "ⵔⵣⵓ",
|
||||||
"search_popout.search_format": "Advanced search format",
|
"search_popout.search_format": "Advanced search format",
|
||||||
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
|
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
|
||||||
"search_popout.tips.hashtag": "hashtag",
|
"search_popout.tips.hashtag": "hashtag",
|
||||||
|
@ -394,7 +394,7 @@
|
||||||
"status.cancel_reblog_private": "Unboost",
|
"status.cancel_reblog_private": "Unboost",
|
||||||
"status.cannot_reblog": "This post cannot be boosted",
|
"status.cannot_reblog": "This post cannot be boosted",
|
||||||
"status.copy": "Copy link to status",
|
"status.copy": "Copy link to status",
|
||||||
"status.delete": "Delete",
|
"status.delete": "ⴽⴽⵙ",
|
||||||
"status.detailed_status": "Detailed conversation view",
|
"status.detailed_status": "Detailed conversation view",
|
||||||
"status.direct": "Direct message @{name}",
|
"status.direct": "Direct message @{name}",
|
||||||
"status.embed": "Embed",
|
"status.embed": "Embed",
|
||||||
|
@ -409,14 +409,14 @@
|
||||||
"status.open": "Expand this status",
|
"status.open": "Expand this status",
|
||||||
"status.pin": "Pin on profile",
|
"status.pin": "Pin on profile",
|
||||||
"status.pinned": "Pinned toot",
|
"status.pinned": "Pinned toot",
|
||||||
"status.read_more": "Read more",
|
"status.read_more": "ⵖⵔ ⵓⴳⴳⴰⵔ",
|
||||||
"status.reblog": "Boost",
|
"status.reblog": "Boost",
|
||||||
"status.reblog_private": "Boost with original visibility",
|
"status.reblog_private": "Boost with original visibility",
|
||||||
"status.reblogged_by": "{name} boosted",
|
"status.reblogged_by": "{name} boosted",
|
||||||
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
|
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
|
||||||
"status.redraft": "Delete & re-draft",
|
"status.redraft": "Delete & re-draft",
|
||||||
"status.remove_bookmark": "Remove bookmark",
|
"status.remove_bookmark": "Remove bookmark",
|
||||||
"status.reply": "Reply",
|
"status.reply": "ⵔⴰⵔ",
|
||||||
"status.replyAll": "Reply to thread",
|
"status.replyAll": "Reply to thread",
|
||||||
"status.report": "Report @{name}",
|
"status.report": "Report @{name}",
|
||||||
"status.sensitive_warning": "Sensitive content",
|
"status.sensitive_warning": "Sensitive content",
|
||||||
|
@ -432,10 +432,10 @@
|
||||||
"suggestions.dismiss": "Dismiss suggestion",
|
"suggestions.dismiss": "Dismiss suggestion",
|
||||||
"suggestions.header": "You might be interested in…",
|
"suggestions.header": "You might be interested in…",
|
||||||
"tabs_bar.federated_timeline": "Federated",
|
"tabs_bar.federated_timeline": "Federated",
|
||||||
"tabs_bar.home": "Home",
|
"tabs_bar.home": "ⴰⵙⵏⵓⴱⴳ",
|
||||||
"tabs_bar.local_timeline": "Local",
|
"tabs_bar.local_timeline": "Local",
|
||||||
"tabs_bar.notifications": "Notifications",
|
"tabs_bar.notifications": "ⵜⵉⵏⵖⵎⵉⵙⵉⵏ",
|
||||||
"tabs_bar.search": "Search",
|
"tabs_bar.search": "ⵔⵣⵓ",
|
||||||
"time_remaining.days": "{number, plural, one {# day} other {# days}} left",
|
"time_remaining.days": "{number, plural, one {# day} other {# days}} left",
|
||||||
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
|
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
|
||||||
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
|
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
|
||||||
|
@ -457,9 +457,9 @@
|
||||||
"upload_error.poll": "File upload not allowed with polls.",
|
"upload_error.poll": "File upload not allowed with polls.",
|
||||||
"upload_form.audio_description": "Describe for people with hearing loss",
|
"upload_form.audio_description": "Describe for people with hearing loss",
|
||||||
"upload_form.description": "Describe for the visually impaired",
|
"upload_form.description": "Describe for the visually impaired",
|
||||||
"upload_form.edit": "Edit",
|
"upload_form.edit": "ⵙⵏⴼⵍ",
|
||||||
"upload_form.thumbnail": "Change thumbnail",
|
"upload_form.thumbnail": "Change thumbnail",
|
||||||
"upload_form.undo": "Delete",
|
"upload_form.undo": "ⴽⴽⵙ",
|
||||||
"upload_form.video_description": "Describe for people with hearing loss or visual impairment",
|
"upload_form.video_description": "Describe for people with hearing loss or visual impairment",
|
||||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||||
"upload_modal.apply": "Apply",
|
"upload_modal.apply": "Apply",
|
||||||
|
@ -470,9 +470,9 @@
|
||||||
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
|
||||||
"upload_modal.preparing_ocr": "Preparing OCR…",
|
"upload_modal.preparing_ocr": "Preparing OCR…",
|
||||||
"upload_modal.preview_label": "Preview ({ratio})",
|
"upload_modal.preview_label": "Preview ({ratio})",
|
||||||
"upload_progress.label": "Uploading...",
|
"upload_progress.label": "Uploading…",
|
||||||
"video.close": "Close video",
|
"video.close": "ⵔⴳⵍ ⴰⴼⵉⴷⵢⵓ",
|
||||||
"video.download": "Download file",
|
"video.download": "ⴰⴳⵎ ⴰⴼⴰⵢⵍⵓ",
|
||||||
"video.exit_fullscreen": "Exit full screen",
|
"video.exit_fullscreen": "Exit full screen",
|
||||||
"video.expand": "Expand video",
|
"video.expand": "Expand video",
|
||||||
"video.fullscreen": "Full screen",
|
"video.fullscreen": "Full screen",
|
||||||
|
|
|
@ -170,7 +170,7 @@
|
||||||
"error.unexpected_crash.explanation": "此页面无法正确显示,这可能是因为我们的代码中有错误,也可能是因为浏览器兼容问题。",
|
"error.unexpected_crash.explanation": "此页面无法正确显示,这可能是因为我们的代码中有错误,也可能是因为浏览器兼容问题。",
|
||||||
"error.unexpected_crash.explanation_addons": "此页面无法正确显示,这个错误很可能是由浏览器附加组件或自动翻译工具造成的。",
|
"error.unexpected_crash.explanation_addons": "此页面无法正确显示,这个错误很可能是由浏览器附加组件或自动翻译工具造成的。",
|
||||||
"error.unexpected_crash.next_steps": "刷新一下页面试试。如果没用,您可以换个浏览器或者用本地应用。",
|
"error.unexpected_crash.next_steps": "刷新一下页面试试。如果没用,您可以换个浏览器或者用本地应用。",
|
||||||
"error.unexpected_crash.next_steps_addons": "请尝试禁用它们并刷新页面。如果没有帮助,您仍可以尝试使用其他浏览器或原生应用来使用 Mastodon。",
|
"error.unexpected_crash.next_steps_addons": "请尝试禁用它们并刷新页面。如果没有帮助,你仍可以尝试使用其他浏览器或原生应用来使用 Mastodon。",
|
||||||
"errors.unexpected_crash.copy_stacktrace": "把堆栈跟踪信息复制到剪贴板",
|
"errors.unexpected_crash.copy_stacktrace": "把堆栈跟踪信息复制到剪贴板",
|
||||||
"errors.unexpected_crash.report_issue": "报告问题",
|
"errors.unexpected_crash.report_issue": "报告问题",
|
||||||
"follow_request.authorize": "同意",
|
"follow_request.authorize": "同意",
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
"notifications.filter.follows": "关注",
|
"notifications.filter.follows": "关注",
|
||||||
"notifications.filter.mentions": "提及",
|
"notifications.filter.mentions": "提及",
|
||||||
"notifications.filter.polls": "投票结果",
|
"notifications.filter.polls": "投票结果",
|
||||||
"notifications.filter.statuses": "您关注的人的动态",
|
"notifications.filter.statuses": "你关注的人的动态",
|
||||||
"notifications.group": "{count} 条通知",
|
"notifications.group": "{count} 条通知",
|
||||||
"notifications.mark_as_read": "将所有通知标为已读",
|
"notifications.mark_as_read": "将所有通知标为已读",
|
||||||
"notifications.permission_denied": "由于权限被拒绝,无法启用桌面通知。",
|
"notifications.permission_denied": "由于权限被拒绝,无法启用桌面通知。",
|
||||||
|
|
|
@ -12,6 +12,7 @@ import {
|
||||||
NOTIFICATIONS_MARK_AS_READ,
|
NOTIFICATIONS_MARK_AS_READ,
|
||||||
NOTIFICATIONS_SET_BROWSER_SUPPORT,
|
NOTIFICATIONS_SET_BROWSER_SUPPORT,
|
||||||
NOTIFICATIONS_SET_BROWSER_PERMISSION,
|
NOTIFICATIONS_SET_BROWSER_PERMISSION,
|
||||||
|
NOTIFICATIONS_DISMISS_BROWSER_PERMISSION,
|
||||||
} from '../actions/notifications';
|
} from '../actions/notifications';
|
||||||
import {
|
import {
|
||||||
ACCOUNT_BLOCK_SUCCESS,
|
ACCOUNT_BLOCK_SUCCESS,
|
||||||
|
@ -250,6 +251,8 @@ export default function notifications(state = initialState, action) {
|
||||||
return state.set('browserSupport', action.value);
|
return state.set('browserSupport', action.value);
|
||||||
case NOTIFICATIONS_SET_BROWSER_PERMISSION:
|
case NOTIFICATIONS_SET_BROWSER_PERMISSION:
|
||||||
return state.set('browserPermission', action.value);
|
return state.set('browserPermission', action.value);
|
||||||
|
case NOTIFICATIONS_DISMISS_BROWSER_PERMISSION:
|
||||||
|
return state.set('browserPermission', 'denied');
|
||||||
default:
|
default:
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
|
@ -7204,6 +7204,13 @@ noscript {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&__close {
|
||||||
|
position: absolute;
|
||||||
|
top: 10px;
|
||||||
|
right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
|
|
@ -36,6 +36,8 @@ $dark-text-color: $ui-base-lighter-color !default;
|
||||||
$secondary-text-color: $ui-secondary-color !default;
|
$secondary-text-color: $ui-secondary-color !default;
|
||||||
$highlight-text-color: $ui-highlight-color !default;
|
$highlight-text-color: $ui-highlight-color !default;
|
||||||
$action-button-color: $ui-base-lighter-color !default;
|
$action-button-color: $ui-base-lighter-color !default;
|
||||||
|
$passive-text-color: $gold-star !default;
|
||||||
|
$active-passive-text-color: $success-green !default;
|
||||||
// For texts on inverted backgrounds
|
// For texts on inverted backgrounds
|
||||||
$inverted-text-color: $ui-base-color !default;
|
$inverted-text-color: $ui-base-color !default;
|
||||||
$lighter-text-color: $ui-base-lighter-color !default;
|
$lighter-text-color: $ui-base-lighter-color !default;
|
||||||
|
|
|
@ -446,6 +446,26 @@
|
||||||
vertical-align: initial !important;
|
vertical-align: initial !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&__interrelationships {
|
||||||
|
width: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fa {
|
||||||
|
font-size: 16px;
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
color: $highlight-text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.passive {
|
||||||
|
color: $passive-text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active.passive {
|
||||||
|
color: $active-passive-text-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media screen and (max-width: $no-gap-breakpoint) {
|
@media screen and (max-width: $no-gap-breakpoint) {
|
||||||
tbody td.optional {
|
tbody td.optional {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
|
@ -21,26 +21,26 @@ class AccountStat < ApplicationRecord
|
||||||
|
|
||||||
def increment_count!(key)
|
def increment_count!(key)
|
||||||
update(attributes_for_increment(key))
|
update(attributes_for_increment(key))
|
||||||
rescue ActiveRecord::StaleObjectError
|
rescue ActiveRecord::StaleObjectError, ActiveRecord::RecordNotUnique
|
||||||
begin
|
begin
|
||||||
reload_with_id
|
reload_with_id
|
||||||
rescue ActiveRecord::RecordNotFound
|
rescue ActiveRecord::RecordNotFound
|
||||||
# Nothing to do
|
return
|
||||||
else
|
|
||||||
retry
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
retry
|
||||||
end
|
end
|
||||||
|
|
||||||
def decrement_count!(key)
|
def decrement_count!(key)
|
||||||
update(key => [public_send(key) - 1, 0].max)
|
update(attributes_for_decrement(key))
|
||||||
rescue ActiveRecord::StaleObjectError
|
rescue ActiveRecord::StaleObjectError, ActiveRecord::RecordNotUnique
|
||||||
begin
|
begin
|
||||||
reload_with_id
|
reload_with_id
|
||||||
rescue ActiveRecord::RecordNotFound
|
rescue ActiveRecord::RecordNotFound
|
||||||
# Nothing to do
|
return
|
||||||
else
|
|
||||||
retry
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
retry
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
@ -51,8 +51,13 @@ class AccountStat < ApplicationRecord
|
||||||
attrs
|
attrs
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def attributes_for_decrement(key)
|
||||||
|
attrs = { key => [public_send(key) - 1, 0].max }
|
||||||
|
attrs
|
||||||
|
end
|
||||||
|
|
||||||
def reload_with_id
|
def reload_with_id
|
||||||
self.id = find_by!(account: account).id if new_record?
|
self.id = self.class.find_by!(account: account).id if new_record?
|
||||||
reload
|
reload
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -9,6 +9,8 @@ class Form::AccountBatch
|
||||||
|
|
||||||
def save
|
def save
|
||||||
case action
|
case action
|
||||||
|
when 'follow'
|
||||||
|
follow!
|
||||||
when 'unfollow'
|
when 'unfollow'
|
||||||
unfollow!
|
unfollow!
|
||||||
when 'remove_from_followers'
|
when 'remove_from_followers'
|
||||||
|
@ -24,6 +26,12 @@ class Form::AccountBatch
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
def follow!
|
||||||
|
accounts.find_each do |target_account|
|
||||||
|
FollowService.new.call(current_account, target_account)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def unfollow!
|
def unfollow!
|
||||||
accounts.find_each do |target_account|
|
accounts.find_each do |target_account|
|
||||||
UnfollowService.new.call(current_account, target_account)
|
UnfollowService.new.call(current_account, target_account)
|
||||||
|
|
|
@ -126,7 +126,7 @@ class Tag < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def search_for(term, limit = 5, offset = 0, options = {})
|
def search_for(term, limit = 5, offset = 0, options = {})
|
||||||
normalized_term = normalize(term.strip).mb_chars.downcase.to_s
|
normalized_term = normalize(term.strip)
|
||||||
pattern = sanitize_sql_like(normalized_term) + '%'
|
pattern = sanitize_sql_like(normalized_term) + '%'
|
||||||
query = Tag.listable.where(arel_table[:name].lower.matches(pattern))
|
query = Tag.listable.where(arel_table[:name].lower.matches(pattern))
|
||||||
query = query.where(arel_table[:name].lower.eq(normalized_term).or(arel_table[:reviewed_at].not_eq(nil))) if options[:exclude_unreviewed]
|
query = query.where(arel_table[:name].lower.eq(normalized_term).or(arel_table[:reviewed_at].not_eq(nil))) if options[:exclude_unreviewed]
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
%table.accounts-table
|
%table.accounts-table
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
|
%td.accounts-table__interrelationships
|
||||||
|
= interrelationships_icon(@relationships, account.id)
|
||||||
%td= account_link_to account
|
%td= account_link_to account
|
||||||
%td.accounts-table__count.optional
|
%td.accounts-table__count.optional
|
||||||
= number_to_human account.statuses_count, strip_insignificant_zeros: true
|
= number_to_human account.statuses_count, strip_insignificant_zeros: true
|
||||||
|
|
|
@ -39,6 +39,8 @@
|
||||||
%label.batch-table__toolbar__select.batch-checkbox-all
|
%label.batch-table__toolbar__select.batch-checkbox-all
|
||||||
= check_box_tag :batch_checkbox_all, nil, false
|
= check_box_tag :batch_checkbox_all, nil, false
|
||||||
.batch-table__toolbar__actions
|
.batch-table__toolbar__actions
|
||||||
|
= f.button safe_join([fa_icon('user-plus'), t('relationships.follow_selected_followers')]), name: :follow, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') } if followed_by_relationship? && !mutual_relationship?
|
||||||
|
|
||||||
= f.button safe_join([fa_icon('user-times'), t('relationships.remove_selected_follows')]), name: :unfollow, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') } unless followed_by_relationship?
|
= f.button safe_join([fa_icon('user-times'), t('relationships.remove_selected_follows')]), name: :unfollow, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') } unless followed_by_relationship?
|
||||||
|
|
||||||
= f.button safe_join([fa_icon('trash'), t('relationships.remove_selected_followers')]), name: :remove_from_followers, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') } unless following_relationship?
|
= f.button safe_join([fa_icon('trash'), t('relationships.remove_selected_followers')]), name: :remove_from_followers, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') } unless following_relationship?
|
||||||
|
|
|
@ -85,6 +85,7 @@ module Mastodon
|
||||||
:kk,
|
:kk,
|
||||||
:kn,
|
:kn,
|
||||||
:ko,
|
:ko,
|
||||||
|
:ku,
|
||||||
:lt,
|
:lt,
|
||||||
:lv,
|
:lv,
|
||||||
:mk,
|
:mk,
|
||||||
|
@ -100,6 +101,8 @@ module Mastodon
|
||||||
:'pt-PT',
|
:'pt-PT',
|
||||||
:ro,
|
:ro,
|
||||||
:ru,
|
:ru,
|
||||||
|
:sa,
|
||||||
|
:sc,
|
||||||
:sk,
|
:sk,
|
||||||
:sl,
|
:sl,
|
||||||
:sq,
|
:sq,
|
||||||
|
@ -113,6 +116,7 @@ module Mastodon
|
||||||
:uk,
|
:uk,
|
||||||
:ur,
|
:ur,
|
||||||
:vi,
|
:vi,
|
||||||
|
:zgh,
|
||||||
:'zh-CN',
|
:'zh-CN',
|
||||||
:'zh-HK',
|
:'zh-HK',
|
||||||
:'zh-TW',
|
:'zh-TW',
|
||||||
|
|
|
@ -62,14 +62,21 @@ ja:
|
||||||
subject: 'Mastodon: アカウントのロックの解除'
|
subject: 'Mastodon: アカウントのロックの解除'
|
||||||
webauthn_credential:
|
webauthn_credential:
|
||||||
added:
|
added:
|
||||||
|
explanation: 次のセキュリティキーがアカウントに追加されました
|
||||||
subject: 'Mastodon: セキュリティキーが追加されました'
|
subject: 'Mastodon: セキュリティキーが追加されました'
|
||||||
|
title: 新しいセキュリティキーが追加されました
|
||||||
deleted:
|
deleted:
|
||||||
|
explanation: 次のセキュリティキーがアカウントから削除されました
|
||||||
subject: 'Mastodon: セキュリティキーが削除されました'
|
subject: 'Mastodon: セキュリティキーが削除されました'
|
||||||
title: セキュリティキーが削除されました
|
title: セキュリティキーが削除されました
|
||||||
webauthn_disabled:
|
webauthn_disabled:
|
||||||
|
explanation: アカウントのセキュリティキーによる認証が無効になりました。ペアリングされたTOTPアプリによって生成されたトークンのみを使用してログインが可能になりました。
|
||||||
subject: 'Mastodon: セキュリティキー認証が無効になりました'
|
subject: 'Mastodon: セキュリティキー認証が無効になりました'
|
||||||
|
title: セキュリティキーは無効になっています
|
||||||
webauthn_enabled:
|
webauthn_enabled:
|
||||||
|
explanation: あなたのアカウントでセキュリティキー認証が有効になりました。セキュリティキーをログインに使用できるようになりました。
|
||||||
subject: 'Mastodon: セキュリティキー認証が有効になりました'
|
subject: 'Mastodon: セキュリティキー認証が有効になりました'
|
||||||
|
title: セキュリティキーは無効になっています
|
||||||
omniauth_callbacks:
|
omniauth_callbacks:
|
||||||
failure: "%{reason}によって%{kind}からのアクセスを認証できませんでした。"
|
failure: "%{reason}によって%{kind}からのアクセスを認証できませんでした。"
|
||||||
success: "%{kind}からのアクセスは正常に認証されました。"
|
success: "%{kind}からのアクセスは正常に認証されました。"
|
||||||
|
|
|
@ -84,8 +84,8 @@ tr:
|
||||||
no_token: Bu sayfaya şifre sıfırlama e-postasından gelmeden erişemezsiniz. Şifre sıfırlama e-postasından geliyorsanız lütfen sağlanan tam URL'yi kullandığınızdan emin olun.
|
no_token: Bu sayfaya şifre sıfırlama e-postasından gelmeden erişemezsiniz. Şifre sıfırlama e-postasından geliyorsanız lütfen sağlanan tam URL'yi kullandığınızdan emin olun.
|
||||||
send_instructions: E-posta adresiniz veritabanımızda varsa, e-posta adresinize birkaç dakika içinde bir parola kurtarma bağlantısı gönderilir. Bu e-postayı almadıysanız, lütfen spam klasörünüzü kontrol edin.
|
send_instructions: E-posta adresiniz veritabanımızda varsa, e-posta adresinize birkaç dakika içinde bir parola kurtarma bağlantısı gönderilir. Bu e-postayı almadıysanız, lütfen spam klasörünüzü kontrol edin.
|
||||||
send_paranoid_instructions: E-posta adresiniz veritabanımızda varsa, e-posta adresinize birkaç dakika içinde bir parola kurtarma bağlantısı gönderilir. Bu e-postayı almadıysanız, lütfen spam klasörünüzü kontrol edin.
|
send_paranoid_instructions: E-posta adresiniz veritabanımızda varsa, e-posta adresinize birkaç dakika içinde bir parola kurtarma bağlantısı gönderilir. Bu e-postayı almadıysanız, lütfen spam klasörünüzü kontrol edin.
|
||||||
updated: Parolanız başarıyla değiştirildi. Şuan oturumunuz açıldı.
|
updated: Şifreniz başarılı bir şekilde değiştirildi. Şu an oturum açtınız.
|
||||||
updated_not_active: Parolanız başarıyla değiştirildi.
|
updated_not_active: Şifreniz başarıyla değiştirildi.
|
||||||
registrations:
|
registrations:
|
||||||
destroyed: Görüşürüz! hesabın başarıyla iptal edildi. Umarız seni sonra tekrar görürüz.
|
destroyed: Görüşürüz! hesabın başarıyla iptal edildi. Umarız seni sonra tekrar görürüz.
|
||||||
signed_up: Hoş geldiniz! Başarılı bir şekilde oturum açtınız.
|
signed_up: Hoş geldiniz! Başarılı bir şekilde oturum açtınız.
|
||||||
|
|
|
@ -1 +1,8 @@
|
||||||
|
---
|
||||||
zgh:
|
zgh:
|
||||||
|
devise:
|
||||||
|
failure:
|
||||||
|
locked: ⵉⵜⵜⵓⵔⴳⵍ ⵓⵎⵉⴹⴰⵏ ⵏⵏⴽ.
|
||||||
|
mailer:
|
||||||
|
reset_password_instructions:
|
||||||
|
action: ⵙⵏⴼⵍ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ
|
||||||
|
|
|
@ -87,13 +87,13 @@ zh-CN:
|
||||||
updated: 你的密码已修改成功,你现在已登录。
|
updated: 你的密码已修改成功,你现在已登录。
|
||||||
updated_not_active: 你的密码已修改成功。
|
updated_not_active: 你的密码已修改成功。
|
||||||
registrations:
|
registrations:
|
||||||
destroyed: 再见!你的帐户已成功销毁。我们希望很快可以再见到你。
|
destroyed: 再见!你的帐户已成功注销。我们希望很快可以再见到你。
|
||||||
signed_up: 欢迎!你已注册成功。
|
signed_up: 欢迎!你已注册成功。
|
||||||
signed_up_but_inactive: 你已注册,但尚未激活帐户。
|
signed_up_but_inactive: 你已成功注册,但因尚未激活帐户所以无法登陆。
|
||||||
signed_up_but_locked: 你已注册,但帐户被锁定了。
|
signed_up_but_locked: 你已成功注册,但因帐户被锁定所以无法登陆。
|
||||||
signed_up_but_pending: 一封带有确认链接的邮件已经发送到了您的邮箱。 在您点击确认链接后,我们将会审核您的申请。审核通过后,我们将会通知您。
|
signed_up_but_pending: 一封带有确认链接的邮件已经发送到了你的邮箱。 在你点击确认链接后,我们将会审核你的申请。审核通过后,我们将会通知你。
|
||||||
signed_up_but_unconfirmed: 一封带有确认链接的邮件已经发送至你的邮箱,请点击邮件中的链接以激活你的帐户。如果没有,请检查你的垃圾邮件。
|
signed_up_but_unconfirmed: 一封带有确认链接的邮件已经发送至你的邮箱,请点击邮件中的链接以激活你的帐户。如果没有,请检查你的垃圾邮件。
|
||||||
update_needs_confirmation: 信息更新成功,但我们需要验证你的新电子邮件地址,请点击邮件中的链接以确认。如果没有,请检查你的垃圾邮箱。
|
update_needs_confirmation: 帐号信息更新成功,但我们需要验证你的新电子邮件地址,请点击邮件中的链接以确认。如果没有,请检查你的垃圾邮箱。
|
||||||
updated: 帐户资料更新成功。
|
updated: 帐户资料更新成功。
|
||||||
sessions:
|
sessions:
|
||||||
already_signed_out: 已成功登出。
|
already_signed_out: 已成功登出。
|
||||||
|
@ -101,7 +101,7 @@ zh-CN:
|
||||||
signed_out: 已成功登出。
|
signed_out: 已成功登出。
|
||||||
unlocks:
|
unlocks:
|
||||||
send_instructions: 几分钟后,你将收到一封解锁帐户的邮件。如果没有,请检查你的垃圾邮箱。
|
send_instructions: 几分钟后,你将收到一封解锁帐户的邮件。如果没有,请检查你的垃圾邮箱。
|
||||||
send_paranoid_instructions: 如果你的邮箱存在于我们的数据库中,你将收到一封解锁帐户的邮件。如果没有,请检查你的垃圾邮箱。
|
send_paranoid_instructions: 如果你的帐号存在于数据库中,你将收到一封指引你解锁帐户的邮件。如果没有,请检查你的垃圾邮箱。
|
||||||
unlocked: 你的帐户已成功解锁。登录以继续。
|
unlocked: 你的帐户已成功解锁。登录以继续。
|
||||||
errors:
|
errors:
|
||||||
messages:
|
messages:
|
||||||
|
|
|
@ -13,9 +13,9 @@ tr:
|
||||||
attributes:
|
attributes:
|
||||||
redirect_uri:
|
redirect_uri:
|
||||||
fragment_present: parça içeremez.
|
fragment_present: parça içeremez.
|
||||||
invalid_uri: geçerli bir URI olmalıdır.
|
invalid_uri: geçerli bir URL olmalıdır.
|
||||||
relative_uri: mutlak bir URI olmalıdır.
|
relative_uri: mutlaka bir URL olmalıdır.
|
||||||
secured_uri: HTTPS/SSL URI olması gerekir.
|
secured_uri: HTTPS/SSL URL olması gerekir.
|
||||||
doorkeeper:
|
doorkeeper:
|
||||||
applications:
|
applications:
|
||||||
buttons:
|
buttons:
|
||||||
|
@ -29,7 +29,7 @@ tr:
|
||||||
edit:
|
edit:
|
||||||
title: Uygulamayı düzenle
|
title: Uygulamayı düzenle
|
||||||
form:
|
form:
|
||||||
error: Tüh! Muhtemel hatalar için formunuzu kontrol edin
|
error: Hata! Olası hatalar için formunuzu kontrol edin
|
||||||
help:
|
help:
|
||||||
native_redirect_uri: Yerel testler için %{native_redirect_uri} kullanın
|
native_redirect_uri: Yerel testler için %{native_redirect_uri} kullanın
|
||||||
redirect_uri: URL başına bir satır kullanın
|
redirect_uri: URL başına bir satır kullanın
|
||||||
|
@ -79,19 +79,19 @@ tr:
|
||||||
errors:
|
errors:
|
||||||
messages:
|
messages:
|
||||||
access_denied: Kaynak sahibi veya yetkilendirme sunucusu isteği reddetti.
|
access_denied: Kaynak sahibi veya yetkilendirme sunucusu isteği reddetti.
|
||||||
credential_flow_not_configured: Kaynak Sahibi Şifresinin Bilgi akışı Doorkeeper.configure.resource_owner_from_credentials bilgilerinin yapılandırılmamış olması nedeniyle başarısız oldu.
|
credential_flow_not_configured: Kaynak Sahibi Şifresi Kimlik Bilgileri akışı Doorkeeper.configure.resource_owner_from_credentials 'ın yapılandırılmamış olması nedeniyle başarısız oldu.
|
||||||
invalid_client: İstemcinin kimlik doğrulaması bilinmeyen istemci, istemci kimlik doğrulamasının dahil olmaması veya desteklenmeyen kimlik doğrulama yöntemi nedeniyle başarısız oldu.
|
invalid_client: İstemcinin kimlik doğrulaması bilinmeyen istemci, istemci kimlik doğrulamasının dahil olmaması veya desteklenmeyen kimlik doğrulama yöntemi nedeniyle başarısız oldu.
|
||||||
invalid_grant: Sağlanan yetkilendirme izni geçersiz, süresi dolmuş, iptal edilmiş, yetkilendirme isteğinde kullanılan yönlendirme URI'siyle eşleşmiyor veya başka bir müşteriye verilmiş.
|
invalid_grant: Sağlanan yetkilendirme izni geçersiz, süresi dolmuş, iptal edilmiş, yetkilendirme isteğinde kullanılan yönlendirme URL'siyle eşleşmiyor veya başka bir istemciye verilmiş.
|
||||||
invalid_redirect_uri: Dahil edilmiş yönlendirme Uri'si geçersiz.
|
invalid_redirect_uri: Dahil edilmiş yönlendirme URL'si geçersiz.
|
||||||
invalid_request: İstekte gerekli bir parametre eksik, desteklenmeyen bir parametre değeri içeriyor veya başka türlü hatalı biçimlendirilmiş.
|
invalid_request: İstekte gerekli bir parametre eksik, desteklenmeyen bir parametre değeri içeriyor veya başka türlü hatalı biçimlendirilmiş.
|
||||||
invalid_resource_owner: Sağlanan kaynak sahibi kimlik bilgileri geçerli değil veya kaynak sahibi bulunamıyor
|
invalid_resource_owner: Sağlanan kaynak sahibi kimlik bilgileri geçerli değil veya kaynak sahibi bulunamıyor
|
||||||
invalid_scope: İstenen kapsam geçersiz, bilinmeyen veya hatalı biçimlendirilmiş olabilir.
|
invalid_scope: İstenen kapsam geçersiz, bilinmeyen veya hatalı biçimlendirilmiş olabilir.
|
||||||
invalid_token:
|
invalid_token:
|
||||||
expired: Erişim belirtecinin süresi dolmuş
|
expired: Erişim belirtecinin süresi doldu
|
||||||
revoked: Erişim belirteci iptal edildi
|
revoked: Erişim belirteci iptal edildi
|
||||||
unknown: Erişim belirteci geçersiz
|
unknown: Erişim belirteci geçersiz
|
||||||
resource_owner_authenticator_not_configured: Kaynak Sahibi yapılandırılmamış Doorkeeper.configure.resource_owner_authenticator nedeniyle başarısız oldu.
|
resource_owner_authenticator_not_configured: Kaynak Sahibi yapılandırılmamış Doorkeeper.configure.resource_owner_authenticator nedeniyle başarısız oldu.
|
||||||
server_error: Yetkilendirme sunucusu, isteği yerine getirmesini engelleyen beklenmeyen bir koşulla karşılaştı.
|
server_error: Yetkilendirme sunucunun isteği yerine getirmesini engelleyen beklenmeyen bir koşulla karşılaştı.
|
||||||
temporarily_unavailable: Yetkilendirme sunucusu şu anda sunucunun geçici bir aşırı yüklenmesi veya bakımı nedeniyle isteği yerine getiremiyor.
|
temporarily_unavailable: Yetkilendirme sunucusu şu anda sunucunun geçici bir aşırı yüklenmesi veya bakımı nedeniyle isteği yerine getiremiyor.
|
||||||
unauthorized_client: İstemci bu yöntemi kullanarak bu isteği gerçekleştirmek için yetkili değil.
|
unauthorized_client: İstemci bu yöntemi kullanarak bu isteği gerçekleştirmek için yetkili değil.
|
||||||
unsupported_grant_type: Yetkilendirme izni türü, yetkilendirme sunucusu tarafından desteklenmiyor.
|
unsupported_grant_type: Yetkilendirme izni türü, yetkilendirme sunucusu tarafından desteklenmiyor.
|
||||||
|
|
|
@ -1 +1,42 @@
|
||||||
|
---
|
||||||
zgh:
|
zgh:
|
||||||
|
activerecord:
|
||||||
|
attributes:
|
||||||
|
doorkeeper/application:
|
||||||
|
name: ⵉⵙⵏ ⵏ ⵜⵙⵏⵙⵉ
|
||||||
|
website: ⴰⵙⵉⵜ ⵡⵉⴱ ⵏ ⵜⵙⵏⵙⵉ
|
||||||
|
doorkeeper:
|
||||||
|
applications:
|
||||||
|
buttons:
|
||||||
|
authorize: ⵙⵙⵓⵔⴳ
|
||||||
|
cancel: ⵙⵔ
|
||||||
|
edit: ⵙⵏⴼⵍ
|
||||||
|
submit: ⴰⵣⵏ
|
||||||
|
confirmations:
|
||||||
|
destroy: ⵉⵙ ⵏⵉⵜ?
|
||||||
|
edit:
|
||||||
|
title: ⵙⵏⴼⵍ ⵜⵉⵙⵏⵙⵉ
|
||||||
|
index:
|
||||||
|
application: ⵜⵉⵙⵏⵙⵉ
|
||||||
|
delete: ⴽⴽⵙ
|
||||||
|
empty: ⵓⵔ ⵖⵓⵔⴽ ⴽⵔⴰ ⵏ ⵜⵙⵏⵙⵉⵡⵉⵏ.
|
||||||
|
name: ⵉⵙⵎ
|
||||||
|
new: ⵜⵉⵙⵏⵙⵉ ⵜⴰⵎⴰⵢⵏⵓⵜ
|
||||||
|
title: ⵜⵉⵙⵏⵙⵉⵡⵉⵏ ⵏⵏⴽ
|
||||||
|
new:
|
||||||
|
title: ⵜⵉⵙⵏⵙⵉ ⵜⴰⵎⴰⵢⵏⵓⵜ
|
||||||
|
show:
|
||||||
|
actions: ⵜⵉⴳⴰⵡⵉⵏ
|
||||||
|
title: ⵜⵉⵙⵏⵙⵉ %{name}
|
||||||
|
authorizations:
|
||||||
|
buttons:
|
||||||
|
authorize: ⵙⵙⵓⵔⴳ
|
||||||
|
deny: ⴰⴳⵢ
|
||||||
|
authorized_applications:
|
||||||
|
confirmations:
|
||||||
|
revoke: ⵉⵙ ⵏⵉⵜ?
|
||||||
|
index:
|
||||||
|
application: ⵜⵉⵙⵏⵙⵉ
|
||||||
|
created_at: ⵜⴻⵜⵜⵓⵙⵓⵔⴳ
|
||||||
|
date_format: "%d-%m-%Y %H:%M:%S"
|
||||||
|
title: ⵜⵉⵙⵏⵙⵉⵡⵉⵏ ⵏⵏⴽ ⵉⵜⵜⵓⵙⵓⵔⴷⵏ
|
||||||
|
|
|
@ -855,7 +855,7 @@ en:
|
||||||
filters:
|
filters:
|
||||||
contexts:
|
contexts:
|
||||||
account: Profiles
|
account: Profiles
|
||||||
home: Home timeline
|
home: Home and lists
|
||||||
notifications: Notifications
|
notifications: Notifications
|
||||||
public: Public timelines
|
public: Public timelines
|
||||||
thread: Conversations
|
thread: Conversations
|
||||||
|
@ -1075,6 +1075,7 @@ en:
|
||||||
relationships:
|
relationships:
|
||||||
activity: Account activity
|
activity: Account activity
|
||||||
dormant: Dormant
|
dormant: Dormant
|
||||||
|
follow_selected_followers: Follow selected followers
|
||||||
followers: Followers
|
followers: Followers
|
||||||
following: Following
|
following: Following
|
||||||
invited: Invited
|
invited: Invited
|
||||||
|
|
|
@ -600,7 +600,7 @@ en_GB:
|
||||||
limit: You have already featured the maximum amount of hashtags
|
limit: You have already featured the maximum amount of hashtags
|
||||||
filters:
|
filters:
|
||||||
contexts:
|
contexts:
|
||||||
home: Home timeline
|
home: Home and lists
|
||||||
notifications: Notifications
|
notifications: Notifications
|
||||||
public: Public timelines
|
public: Public timelines
|
||||||
thread: Conversations
|
thread: Conversations
|
||||||
|
|
|
@ -167,7 +167,7 @@ is:
|
||||||
redownloaded_msg: Tókst að endurlesa notandasnið %{username} úr upphaflegu sniði
|
redownloaded_msg: Tókst að endurlesa notandasnið %{username} úr upphaflegu sniði
|
||||||
reject: Hafna
|
reject: Hafna
|
||||||
reject_all: Hafna öllu
|
reject_all: Hafna öllu
|
||||||
rejected_msg: Tókst að hafna skráningu fyrir {username}
|
rejected_msg: Tókst að hafna skráningu fyrir %{username}
|
||||||
remove_avatar: Fjarlægja auðkennismynd
|
remove_avatar: Fjarlægja auðkennismynd
|
||||||
remove_header: Fjarlægja haus
|
remove_header: Fjarlægja haus
|
||||||
removed_avatar_msg: Tókst að fjarlægja auðkennismynd notandans %{username}
|
removed_avatar_msg: Tókst að fjarlægja auðkennismynd notandans %{username}
|
||||||
|
@ -188,6 +188,8 @@ is:
|
||||||
search: Leita
|
search: Leita
|
||||||
search_same_email_domain: Aðra notendur með sama tölvupóstlén
|
search_same_email_domain: Aðra notendur með sama tölvupóstlén
|
||||||
search_same_ip: Aðrir notendur með sama IP-vistfang
|
search_same_ip: Aðrir notendur með sama IP-vistfang
|
||||||
|
sensitive: Viðkvæmt
|
||||||
|
sensitized: merkt sem viðkvæmt
|
||||||
shared_inbox_url: Slóð á sameiginlegt innhólf
|
shared_inbox_url: Slóð á sameiginlegt innhólf
|
||||||
show:
|
show:
|
||||||
created_reports: Gerðar kærur
|
created_reports: Gerðar kærur
|
||||||
|
@ -202,6 +204,7 @@ is:
|
||||||
time_in_queue: Bíður í biðröð %{time}
|
time_in_queue: Bíður í biðröð %{time}
|
||||||
title: Notandaaðgangar
|
title: Notandaaðgangar
|
||||||
unconfirmed_email: Óstaðfestur tölvupóstur
|
unconfirmed_email: Óstaðfestur tölvupóstur
|
||||||
|
undo_sensitized: Afturkalla merkingu sem viðkvæmt
|
||||||
undo_silenced: Hætta að hylja
|
undo_silenced: Hætta að hylja
|
||||||
undo_suspension: Taka úr bið
|
undo_suspension: Taka úr bið
|
||||||
unsilenced_msg: Tókst að fjarlægja takmarkanir af notandaaðgangnum fyrir %{username}
|
unsilenced_msg: Tókst að fjarlægja takmarkanir af notandaaðgangnum fyrir %{username}
|
||||||
|
@ -243,9 +246,11 @@ is:
|
||||||
reopen_report: Enduropna kæru
|
reopen_report: Enduropna kæru
|
||||||
reset_password_user: Endurstilla lykilorð
|
reset_password_user: Endurstilla lykilorð
|
||||||
resolve_report: Leysa kæru
|
resolve_report: Leysa kæru
|
||||||
|
sensitive_account: Merkja myndefni á aðgangnum þínum sem viðkvæmt
|
||||||
silence_account: Hylja notandaaðgang
|
silence_account: Hylja notandaaðgang
|
||||||
suspend_account: Setja notandaaðgang í bið
|
suspend_account: Setja notandaaðgang í bið
|
||||||
unassigned_report: Aftengja úthlutun kæru
|
unassigned_report: Aftengja úthlutun kæru
|
||||||
|
unsensitive_account: Afmerkja myndefni á aðgangnum þínum sem viðkvæmt
|
||||||
unsilence_account: Hætta að hylja notandaaðgang
|
unsilence_account: Hætta að hylja notandaaðgang
|
||||||
unsuspend_account: Taka notandaaðgang úr bið
|
unsuspend_account: Taka notandaaðgang úr bið
|
||||||
update_announcement: Uppfæra tilkynningu
|
update_announcement: Uppfæra tilkynningu
|
||||||
|
@ -281,9 +286,11 @@ is:
|
||||||
reopen_report: "%{name} enduropnaði skýrslu %{target}"
|
reopen_report: "%{name} enduropnaði skýrslu %{target}"
|
||||||
reset_password_user: "%{name} endurstillti lykilorð fyrir notandann %{target}"
|
reset_password_user: "%{name} endurstillti lykilorð fyrir notandann %{target}"
|
||||||
resolve_report: "%{name} leysti skýrslu %{target}"
|
resolve_report: "%{name} leysti skýrslu %{target}"
|
||||||
|
sensitive_account: "%{name} merkti myndefni frá %{target} sem viðkvæmt"
|
||||||
silence_account: "%{name} gerði notandaaðganginn %{target} hulinn"
|
silence_account: "%{name} gerði notandaaðganginn %{target} hulinn"
|
||||||
suspend_account: "%{name} setti notandaaðganginn %{target} í bið"
|
suspend_account: "%{name} setti notandaaðganginn %{target} í bið"
|
||||||
unassigned_report: "%{name} fjarlægði úthlutun af skýrslu %{target}"
|
unassigned_report: "%{name} fjarlægði úthlutun af skýrslu %{target}"
|
||||||
|
unsensitive_account: "%{name} afmerkti myndefni frá %{target} sem viðkvæmt"
|
||||||
unsilence_account: "%{name} hætti að hylja notandaaðganginn %{target}"
|
unsilence_account: "%{name} hætti að hylja notandaaðganginn %{target}"
|
||||||
unsuspend_account: "%{name} tók notandaaðganginn %{target} úr bið"
|
unsuspend_account: "%{name} tók notandaaðganginn %{target} úr bið"
|
||||||
update_announcement: "%{name} uppfærði auglýsingu %{target}"
|
update_announcement: "%{name} uppfærði auglýsingu %{target}"
|
||||||
|
@ -1202,6 +1209,8 @@ is:
|
||||||
other: "%{count} atkvæði"
|
other: "%{count} atkvæði"
|
||||||
vote: Greiða atkvæði
|
vote: Greiða atkvæði
|
||||||
show_more: Sýna meira
|
show_more: Sýna meira
|
||||||
|
show_newer: Sýna nýrri
|
||||||
|
show_older: Sýna eldri
|
||||||
show_thread: Birta þráð
|
show_thread: Birta þráð
|
||||||
sign_in_to_participate: Skráðu þig inn til að taka þátt í samtalinu
|
sign_in_to_participate: Skráðu þig inn til að taka þátt í samtalinu
|
||||||
title: "%{name}: „%{quote}‟"
|
title: "%{name}: „%{quote}‟"
|
||||||
|
@ -1338,6 +1347,7 @@ is:
|
||||||
warning:
|
warning:
|
||||||
explanation:
|
explanation:
|
||||||
disable: Á meðan aðgangurinn þinn er frystur, eru gögn aðgangsins ósnert, en þú getur ekki framkvæmt neinar aðgerðir fyrr en honum hefur verið aflæst.
|
disable: Á meðan aðgangurinn þinn er frystur, eru gögn aðgangsins ósnert, en þú getur ekki framkvæmt neinar aðgerðir fyrr en honum hefur verið aflæst.
|
||||||
|
sensitive: Innsent myndefni sem þú sendir inn og tengt myndefni verður farið með sem viðkvæmt efni.
|
||||||
silence: Á meðan aðgangurinn þinn er takmarkaður, mun aðeins fólk sem þegar fylgist með þér sjá tístin þín á þessum vefþjóni, auk þess sem lokað gæti verið á þig á ýmsum opinberum listum. Aftur á móti geta aðrir gerst fylgjendur þínir handvirkt.
|
silence: Á meðan aðgangurinn þinn er takmarkaður, mun aðeins fólk sem þegar fylgist með þér sjá tístin þín á þessum vefþjóni, auk þess sem lokað gæti verið á þig á ýmsum opinberum listum. Aftur á móti geta aðrir gerst fylgjendur þínir handvirkt.
|
||||||
suspend: Aðgangurinn þinn hefur verið settur í biðstöðu, öll þín tíst og innsent myndefni hafa verið óafturkræft fjarlægð af þessum vefþjóni, sem og af þeim vefþjónum þar sem þú áttir þér fylgjendur.
|
suspend: Aðgangurinn þinn hefur verið settur í biðstöðu, öll þín tíst og innsent myndefni hafa verið óafturkræft fjarlægð af þessum vefþjóni, sem og af þeim vefþjónum þar sem þú áttir þér fylgjendur.
|
||||||
get_in_touch: Þú getur svarað þessum tölvupósti til að setja þig í samband við umsjónarmenn %{instance}.
|
get_in_touch: Þú getur svarað þessum tölvupósti til að setja þig í samband við umsjónarmenn %{instance}.
|
||||||
|
@ -1346,11 +1356,13 @@ is:
|
||||||
subject:
|
subject:
|
||||||
disable: Notandaaðgangurinn þinn %{acct} hefur verið frystur
|
disable: Notandaaðgangurinn þinn %{acct} hefur verið frystur
|
||||||
none: Aðvörun fyrir %{acct}
|
none: Aðvörun fyrir %{acct}
|
||||||
|
sensitive: Myndefni sent frá %{acct} aðgangnum þínum hefur verið merkt sem viðkvæmt
|
||||||
silence: Notandaaðgangurinn þinn %{acct} hefur verið takmarkaður
|
silence: Notandaaðgangurinn þinn %{acct} hefur verið takmarkaður
|
||||||
suspend: Notandaaðgangurinn þinn %{acct} hefur verið settur í bið
|
suspend: Notandaaðgangurinn þinn %{acct} hefur verið settur í bið
|
||||||
title:
|
title:
|
||||||
disable: Notandaaðgangur frystur
|
disable: Notandaaðgangur frystur
|
||||||
none: Aðvörun
|
none: Aðvörun
|
||||||
|
sensitive: Myndefnið þitt hefur verið merkt sem viðkvæmt
|
||||||
silence: Notandaaðgangur takmarkaður
|
silence: Notandaaðgangur takmarkaður
|
||||||
suspend: Notandaaðgangur í bið
|
suspend: Notandaaðgangur í bið
|
||||||
welcome:
|
welcome:
|
||||||
|
|
|
@ -108,6 +108,7 @@ ja:
|
||||||
confirm: 確認
|
confirm: 確認
|
||||||
confirmed: 確認済み
|
confirmed: 確認済み
|
||||||
confirming: 確認中
|
confirming: 確認中
|
||||||
|
delete: データを削除する
|
||||||
deleted: 削除済み
|
deleted: 削除済み
|
||||||
demote: 降格
|
demote: 降格
|
||||||
destroyed_msg: "%{username} のデータは完全に削除されるよう登録されました"
|
destroyed_msg: "%{username} のデータは完全に削除されるよう登録されました"
|
||||||
|
@ -182,7 +183,7 @@ ja:
|
||||||
search_same_email_domain: 同じドメインのメールアドレスを使用しているユーザー
|
search_same_email_domain: 同じドメインのメールアドレスを使用しているユーザー
|
||||||
search_same_ip: 同じ IP のユーザーを検索
|
search_same_ip: 同じ IP のユーザーを検索
|
||||||
sensitive: 閲覧注意
|
sensitive: 閲覧注意
|
||||||
sensitized: 閲覧注意済み
|
sensitized: 閲覧注意にする
|
||||||
shared_inbox_url: Shared inbox URL
|
shared_inbox_url: Shared inbox URL
|
||||||
show:
|
show:
|
||||||
created_reports: このアカウントで作られた通報
|
created_reports: このアカウントで作られた通報
|
||||||
|
@ -197,11 +198,12 @@ ja:
|
||||||
time_in_queue: "%{time} 待ち"
|
time_in_queue: "%{time} 待ち"
|
||||||
title: アカウント
|
title: アカウント
|
||||||
unconfirmed_email: 確認待ちのメールアドレス
|
unconfirmed_email: 確認待ちのメールアドレス
|
||||||
undo_sensitized: 閲覧注意から戻す
|
undo_sensitized: 機密情報から戻す
|
||||||
undo_silenced: サイレンスから戻す
|
undo_silenced: サイレンスから戻す
|
||||||
undo_suspension: 停止から戻す
|
undo_suspension: 停止から戻す
|
||||||
unsubscribe: 購読の解除
|
unsubscribe: 購読の解除
|
||||||
username: ユーザー名
|
username: ユーザー名
|
||||||
|
view_domain: ドメインの概要を表示
|
||||||
warn: 警告
|
warn: 警告
|
||||||
web: Web
|
web: Web
|
||||||
whitelisted: 連合許可済み
|
whitelisted: 連合許可済み
|
||||||
|
@ -236,11 +238,9 @@ ja:
|
||||||
reopen_report: 通報を再度開く
|
reopen_report: 通報を再度開く
|
||||||
reset_password_user: パスワードをリセット
|
reset_password_user: パスワードをリセット
|
||||||
resolve_report: 通報を解決済みにする
|
resolve_report: 通報を解決済みにする
|
||||||
sensitive_account: アカウントのメディアを閲覧注意にマーク
|
|
||||||
silence_account: アカウントをサイレンス
|
silence_account: アカウントをサイレンス
|
||||||
suspend_account: アカウントを停止
|
suspend_account: アカウントを停止
|
||||||
unassigned_report: 通報の担当を解除
|
unassigned_report: 通報の担当を解除
|
||||||
unsensitive_account: アカウントのメディアの閲覧注意マークを解除
|
|
||||||
unsilence_account: アカウントのサイレンスを解除
|
unsilence_account: アカウントのサイレンスを解除
|
||||||
unsuspend_account: アカウントの停止を解除
|
unsuspend_account: アカウントの停止を解除
|
||||||
update_announcement: お知らせを更新
|
update_announcement: お知らせを更新
|
||||||
|
@ -276,11 +276,9 @@ ja:
|
||||||
reopen_report: "%{name} さんが通報 %{target} を再び開きました"
|
reopen_report: "%{name} さんが通報 %{target} を再び開きました"
|
||||||
reset_password_user: "%{name} さんが %{target} さんのパスワードをリセットしました"
|
reset_password_user: "%{name} さんが %{target} さんのパスワードをリセットしました"
|
||||||
resolve_report: "%{name} さんが通報 %{target} を解決済みにしました"
|
resolve_report: "%{name} さんが通報 %{target} を解決済みにしました"
|
||||||
sensitive_account: "%{name} さんが %{target} さんのメディアを閲覧注意にマークしました"
|
|
||||||
silence_account: "%{name} さんが %{target} さんをサイレンスにしました"
|
silence_account: "%{name} さんが %{target} さんをサイレンスにしました"
|
||||||
suspend_account: "%{name} さんが %{target} さんを停止しました"
|
suspend_account: "%{name} さんが %{target} さんを停止しました"
|
||||||
unassigned_report: "%{name} さんが通報 %{target} の担当を外しました"
|
unassigned_report: "%{name} さんが通報 %{target} の担当を外しました"
|
||||||
unsensitive_account: "%{name} さんが %{target} さんのメディアの閲覧注意を解除しました"
|
|
||||||
unsilence_account: "%{name} さんが %{target} さんのサイレンスを解除しました"
|
unsilence_account: "%{name} さんが %{target} さんのサイレンスを解除しました"
|
||||||
unsuspend_account: "%{name} さんが %{target} さんの停止を解除しました"
|
unsuspend_account: "%{name} さんが %{target} さんの停止を解除しました"
|
||||||
update_announcement: "%{name} さんがお知らせ %{target} を更新しました"
|
update_announcement: "%{name} さんがお知らせ %{target} を更新しました"
|
||||||
|
@ -708,9 +706,11 @@ ja:
|
||||||
prefix_sign_up: 今すぐ Mastodon を始めよう!
|
prefix_sign_up: 今すぐ Mastodon を始めよう!
|
||||||
suffix: アカウントがあれば、どんな Mastodon 互換サーバーのユーザーでもフォローしたりメッセージをやり取りできるようになります!
|
suffix: アカウントがあれば、どんな Mastodon 互換サーバーのユーザーでもフォローしたりメッセージをやり取りできるようになります!
|
||||||
didnt_get_confirmation: 確認メールを受信できませんか?
|
didnt_get_confirmation: 確認メールを受信できませんか?
|
||||||
|
dont_have_your_security_key: セキュリティキーを持っていませんか?
|
||||||
forgot_password: パスワードをお忘れですか?
|
forgot_password: パスワードをお忘れですか?
|
||||||
invalid_reset_password_token: パスワードリセットトークンが正しくないか期限切れです。もう一度リクエストしてください。
|
invalid_reset_password_token: パスワードリセットトークンが正しくないか期限切れです。もう一度リクエストしてください。
|
||||||
link_to_otp: 携帯電話から二段階認証コードを入力するか、リカバリーコードを入力してください
|
link_to_otp: 携帯電話から二段階認証コードを入力するか、リカバリーコードを入力してください
|
||||||
|
link_to_webauth: セキュリティキーを使用する
|
||||||
login: ログイン
|
login: ログイン
|
||||||
logout: ログアウト
|
logout: ログアウト
|
||||||
migrate_account: 別のアカウントに引っ越す
|
migrate_account: 別のアカウントに引っ越す
|
||||||
|
@ -736,6 +736,7 @@ ja:
|
||||||
pending: あなたの申請は現在サーバー管理者による審査待ちです。これにはしばらくかかります。申請が承認されるとメールが届きます。
|
pending: あなたの申請は現在サーバー管理者による審査待ちです。これにはしばらくかかります。申請が承認されるとメールが届きます。
|
||||||
redirecting_to: アカウントは %{acct} に引っ越し設定されているため非アクティブになっています。
|
redirecting_to: アカウントは %{acct} に引っ越し設定されているため非アクティブになっています。
|
||||||
trouble_logging_in: ログインできませんか?
|
trouble_logging_in: ログインできませんか?
|
||||||
|
use_security_key: セキュリティキーを使用
|
||||||
authorize_follow:
|
authorize_follow:
|
||||||
already_following: あなたは既にこのアカウントをフォローしています
|
already_following: あなたは既にこのアカウントをフォローしています
|
||||||
already_requested: 既にこのアカウントへフォローリクエストを送信しています
|
already_requested: 既にこのアカウントへフォローリクエストを送信しています
|
||||||
|
@ -1018,6 +1019,9 @@ ja:
|
||||||
trillion: T
|
trillion: T
|
||||||
otp_authentication:
|
otp_authentication:
|
||||||
code_hint: 続行するには認証アプリで表示されたコードを入力してください
|
code_hint: 続行するには認証アプリで表示されたコードを入力してください
|
||||||
|
description_html: "<strong>二要素認証</strong>を有効にすると、ログイン時に認証アプリからコードを入力する必要があります。"
|
||||||
|
instructions_html: "<strong>Google Authenticatorか、もしくはほかのTOTPアプリでこのQRコードをスキャンしてください。</strong>これ以降、ログインするときはそのアプリで生成されるコードが必要になります。"
|
||||||
|
manual_instructions: 'QRコードがスキャンできず、手動での登録を希望の場合はこのシークレットコードを利用してください。:'
|
||||||
setup: セットアップ
|
setup: セットアップ
|
||||||
wrong_code: コードが間違っています。サーバーとデバイスの時計にずれがあるかもしれません。
|
wrong_code: コードが間違っています。サーバーとデバイスの時計にずれがあるかもしれません。
|
||||||
pagination:
|
pagination:
|
||||||
|
@ -1289,6 +1293,7 @@ ja:
|
||||||
two_factor_authentication:
|
two_factor_authentication:
|
||||||
add: 追加
|
add: 追加
|
||||||
disable: 無効化
|
disable: 無効化
|
||||||
|
disabled_success: 二要素認証が更新されました
|
||||||
edit: 編集
|
edit: 編集
|
||||||
enabled: 二段階認証は有効になっています
|
enabled: 二段階認証は有効になっています
|
||||||
enabled_success: 二段階認証が有効になりました
|
enabled_success: 二段階認証が有効になりました
|
||||||
|
|
|
@ -600,13 +600,13 @@ kab:
|
||||||
one: "1 wulɣu seg tirza-inek·inm taneqqarut ar tura \U0001F418"
|
one: "1 wulɣu seg tirza-inek·inm taneqqarut ar tura \U0001F418"
|
||||||
other: "%{count} ilɣa imaynuten seg tirza-nek·inem taneggarut ar tura \U0001F418"
|
other: "%{count} ilɣa imaynuten seg tirza-nek·inem taneggarut ar tura \U0001F418"
|
||||||
favourite:
|
favourite:
|
||||||
subject: "{name} yesmenyaf addad-ik·im"
|
subject: "%{name} yesmenyaf addad-ik·im"
|
||||||
follow:
|
follow:
|
||||||
body: "%{name} yeṭafaṛ-ik-id tura!"
|
body: "%{name} yeṭafaṛ-ik-id tura!"
|
||||||
subject: "%{name} yeṭafaṛ-ik-id tura"
|
subject: "%{name} yeṭafaṛ-ik-id tura"
|
||||||
title: Ameḍfaṛ amaynut
|
title: Ameḍfaṛ amaynut
|
||||||
follow_request:
|
follow_request:
|
||||||
body: "{name} yessuter-d ad ak·akem-yeḍfer"
|
body: "%{name} yessuter-d ad ak·akem-yeḍfer"
|
||||||
title: Asuter amaynut n teḍfeṛt
|
title: Asuter amaynut n teḍfeṛt
|
||||||
mention:
|
mention:
|
||||||
action: Err
|
action: Err
|
||||||
|
|
|
@ -196,6 +196,8 @@ ru:
|
||||||
search: Поиск
|
search: Поиск
|
||||||
search_same_email_domain: Другие пользователи с тем же доменом электронной почты
|
search_same_email_domain: Другие пользователи с тем же доменом электронной почты
|
||||||
search_same_ip: Другие пользователи с таким же IP
|
search_same_ip: Другие пользователи с таким же IP
|
||||||
|
sensitive: Деликатный
|
||||||
|
sensitized: отмечено как деликатный контент
|
||||||
shared_inbox_url: URL общих входящих
|
shared_inbox_url: URL общих входящих
|
||||||
show:
|
show:
|
||||||
created_reports: Жалобы, отправленные с этой учётной записи
|
created_reports: Жалобы, отправленные с этой учётной записи
|
||||||
|
@ -210,6 +212,7 @@ ru:
|
||||||
time_in_queue: Ожидание в очереди %{time}
|
time_in_queue: Ожидание в очереди %{time}
|
||||||
title: Учётные записи
|
title: Учётные записи
|
||||||
unconfirmed_email: Неподтверждённый e-mail
|
unconfirmed_email: Неподтверждённый e-mail
|
||||||
|
undo_sensitized: Снять отметку "деликатный"
|
||||||
undo_silenced: Отменить скрытие
|
undo_silenced: Отменить скрытие
|
||||||
undo_suspension: Снять блокировку
|
undo_suspension: Снять блокировку
|
||||||
unsilenced_msg: Ограничения с учётной записи %{username} сняты успешно
|
unsilenced_msg: Ограничения с учётной записи %{username} сняты успешно
|
||||||
|
@ -251,9 +254,11 @@ ru:
|
||||||
reopen_report: Возобновление жалоб
|
reopen_report: Возобновление жалоб
|
||||||
reset_password_user: Сброс пароля пользователей
|
reset_password_user: Сброс пароля пользователей
|
||||||
resolve_report: Отметка жалоб «решёнными»
|
resolve_report: Отметка жалоб «решёнными»
|
||||||
|
sensitive_account: Отметить все медиафайлы в вашей учётной записи как деликатные
|
||||||
silence_account: Скрытие пользователей
|
silence_account: Скрытие пользователей
|
||||||
suspend_account: Блокировка пользователей
|
suspend_account: Блокировка пользователей
|
||||||
unassigned_report: Снятие жалоб
|
unassigned_report: Снятие жалоб
|
||||||
|
unsensitive_account: Снять отметку "деликатный" с медиафайлов вашей учётной записи
|
||||||
unsilence_account: Отмена скрытия пользователей
|
unsilence_account: Отмена скрытия пользователей
|
||||||
unsuspend_account: Разблокировка пользователей
|
unsuspend_account: Разблокировка пользователей
|
||||||
update_announcement: Обновление объявлений
|
update_announcement: Обновление объявлений
|
||||||
|
@ -289,9 +294,11 @@ ru:
|
||||||
reopen_report: "%{name} переоткрыл(а) жалобу %{target}"
|
reopen_report: "%{name} переоткрыл(а) жалобу %{target}"
|
||||||
reset_password_user: "%{name} сбросил(а) пароль пользователя %{target}"
|
reset_password_user: "%{name} сбросил(а) пароль пользователя %{target}"
|
||||||
resolve_report: "%{name} решил(а) жалобу %{target}"
|
resolve_report: "%{name} решил(а) жалобу %{target}"
|
||||||
|
sensitive_account: "%{name} пометил медиа %{target} как деликатное"
|
||||||
silence_account: "%{name} наложил(а) ограничения на видимость постов учётной записи %{target}"
|
silence_account: "%{name} наложил(а) ограничения на видимость постов учётной записи %{target}"
|
||||||
suspend_account: "%{name} заблокировал(а) учётную запись %{target}"
|
suspend_account: "%{name} заблокировал(а) учётную запись %{target}"
|
||||||
unassigned_report: "%{name} сняла назначение жалобы %{target}"
|
unassigned_report: "%{name} сняла назначение жалобы %{target}"
|
||||||
|
unsensitive_account: '%{name} снял отметку "деликатное" с медиа %{target}'
|
||||||
unsilence_account: "%{name} снял ограничения видимости постов пользователя %{target}"
|
unsilence_account: "%{name} снял ограничения видимости постов пользователя %{target}"
|
||||||
unsuspend_account: "%{name} снял(а) блокировку с пользователя %{target}"
|
unsuspend_account: "%{name} снял(а) блокировку с пользователя %{target}"
|
||||||
update_announcement: "%{name} обновил объявление %{target}"
|
update_announcement: "%{name} обновил объявление %{target}"
|
||||||
|
@ -1243,6 +1250,8 @@ ru:
|
||||||
other: "%{count} голосов"
|
other: "%{count} голосов"
|
||||||
vote: Голосовать
|
vote: Голосовать
|
||||||
show_more: Развернуть
|
show_more: Развернуть
|
||||||
|
show_newer: Показать более новое
|
||||||
|
show_older: Показать старые
|
||||||
show_thread: Открыть обсуждение
|
show_thread: Открыть обсуждение
|
||||||
sign_in_to_participate: Войдите, чтобы принять участие в дискуссии
|
sign_in_to_participate: Войдите, чтобы принять участие в дискуссии
|
||||||
title: '%{name}: "%{quote}"'
|
title: '%{name}: "%{quote}"'
|
||||||
|
@ -1375,6 +1384,7 @@ ru:
|
||||||
warning:
|
warning:
|
||||||
explanation:
|
explanation:
|
||||||
disable: Пока ваша учётная запись заморожена, ваши данные остаются нетронутыми, но вы не можете производить никаких действий до разблокировки.
|
disable: Пока ваша учётная запись заморожена, ваши данные остаются нетронутыми, но вы не можете производить никаких действий до разблокировки.
|
||||||
|
sensitive: Ваши загруженные медиа-файлы и связанные с ними медиа будут рассматриваться как деликатные.
|
||||||
silence: Пока действуют данные ограничения, публикуемые вами посты будут видеть исключительно люди, которые на вас уже подписаны на этом узле, вы также можете быть исключены из различных публичных лент. Несмотря на это, остальные пользователи по-прежнему могут подписаться на вас, чтобы читать новые посты.
|
silence: Пока действуют данные ограничения, публикуемые вами посты будут видеть исключительно люди, которые на вас уже подписаны на этом узле, вы также можете быть исключены из различных публичных лент. Несмотря на это, остальные пользователи по-прежнему могут подписаться на вас, чтобы читать новые посты.
|
||||||
suspend: Ваша учётная запись заблокирована и все ваши посты и загруженные медиафайлы безвозвратно удалены с этого сервера и других серверов, где у вас были подписчики.
|
suspend: Ваша учётная запись заблокирована и все ваши посты и загруженные медиафайлы безвозвратно удалены с этого сервера и других серверов, где у вас были подписчики.
|
||||||
get_in_touch: Вы можете ответить на это письмо, чтобы связаться с сотрудниками %{instance}.
|
get_in_touch: Вы можете ответить на это письмо, чтобы связаться с сотрудниками %{instance}.
|
||||||
|
@ -1383,11 +1393,13 @@ ru:
|
||||||
subject:
|
subject:
|
||||||
disable: Ваша учётная запись %{acct} заморожена
|
disable: Ваша учётная запись %{acct} заморожена
|
||||||
none: "%{acct} вынесено предупреждение"
|
none: "%{acct} вынесено предупреждение"
|
||||||
|
sensitive: Ваша учётная запись %{acct} помечена как деликатная
|
||||||
silence: На учётную запись %{acct} наложены ограничения
|
silence: На учётную запись %{acct} наложены ограничения
|
||||||
suspend: Ваша учётная запись %{acct} была заблокирована
|
suspend: Ваша учётная запись %{acct} была заблокирована
|
||||||
title:
|
title:
|
||||||
disable: Учётная запись заморожена
|
disable: Учётная запись заморожена
|
||||||
none: Предупреждение
|
none: Предупреждение
|
||||||
|
sensitive: Ваш медиафайл был отмечен как деликатный
|
||||||
silence: На учётную запись наложены ограничения
|
silence: На учётную запись наложены ограничения
|
||||||
suspend: Учётная запись заблокирована
|
suspend: Учётная запись заблокирована
|
||||||
welcome:
|
welcome:
|
||||||
|
|
|
@ -100,6 +100,7 @@ is:
|
||||||
types:
|
types:
|
||||||
disable: Gera innskráningu óvirka
|
disable: Gera innskráningu óvirka
|
||||||
none: Gera ekkert
|
none: Gera ekkert
|
||||||
|
sensitive: Viðkvæmt
|
||||||
silence: Hylja
|
silence: Hylja
|
||||||
suspend: Setja í bið og eyða endanlega gögnum notandaaðgangsins
|
suspend: Setja í bið og eyða endanlega gögnum notandaaðgangsins
|
||||||
warning_preset_id: Nota forstillta aðvörun
|
warning_preset_id: Nota forstillta aðvörun
|
||||||
|
|
|
@ -75,6 +75,7 @@ ja:
|
||||||
severity: このIPに対する措置を選択してください
|
severity: このIPに対する措置を選択してください
|
||||||
sessions:
|
sessions:
|
||||||
otp: '携帯電話のアプリで生成された二段階認証コードを入力するか、リカバリーコードを使用してください:'
|
otp: '携帯電話のアプリで生成された二段階認証コードを入力するか、リカバリーコードを使用してください:'
|
||||||
|
webauthn: USBキーの場合は、必ず挿入し、必要に応じてタップしてください。
|
||||||
tag:
|
tag:
|
||||||
name: 視認性向上などのためにアルファベット大文字小文字の変更のみ行うことができます
|
name: 視認性向上などのためにアルファベット大文字小文字の変更のみ行うことができます
|
||||||
user:
|
user:
|
||||||
|
@ -205,4 +206,7 @@ ja:
|
||||||
required:
|
required:
|
||||||
mark: "*"
|
mark: "*"
|
||||||
text: 必須
|
text: 必須
|
||||||
|
title:
|
||||||
|
sessions:
|
||||||
|
webauthn: セキュリティキーを使用してサインインする
|
||||||
'yes': はい
|
'yes': はい
|
||||||
|
|
|
@ -100,6 +100,7 @@ ru:
|
||||||
types:
|
types:
|
||||||
disable: Заморозить
|
disable: Заморозить
|
||||||
none: Ничего не делать
|
none: Ничего не делать
|
||||||
|
sensitive: Деликатный
|
||||||
silence: Скрыть
|
silence: Скрыть
|
||||||
suspend: Заблокировать и безвозвратно удалить все данные учётной записи
|
suspend: Заблокировать и безвозвратно удалить все данные учётной записи
|
||||||
warning_preset_id: Использовать шаблон
|
warning_preset_id: Использовать шаблон
|
||||||
|
|
|
@ -3,15 +3,15 @@ tr:
|
||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
account_alias:
|
account_alias:
|
||||||
acct: Taşımak istediğiniz hesabın kullanıcı-adı@alan-adını belirtin
|
acct: Taşımak istediğiniz hesabın kullanıcıadı@alanadını belirtin
|
||||||
account_migration:
|
account_migration:
|
||||||
acct: Taşınmak istediğiniz hesabın kullanıcı-adı@alan-adını belirtin
|
acct: Taşımak istediğiniz hesabın kullanıcıadı@alanadını belirtin
|
||||||
account_warning_preset:
|
account_warning_preset:
|
||||||
text: URL'ler, etiketler ve bahsetmeler gibi toot sözdizimleri kullanabilirsiniz
|
text: URL'ler, etiketler ve bahsedenler gibi toot sözdizimini kullanabilirsiniz
|
||||||
title: İsteğe bağlı. Alıcı tarafından görülemez
|
title: İsteğe bağlı. Alıcıya görünmez
|
||||||
admin_account_action:
|
admin_account_action:
|
||||||
include_statuses: Kullanıcı hangi tootların denetleme eylemi ya da uyarısına neden olduğunu görecektir
|
include_statuses: Kullanıcı hangi tootların denetleme eylemi ya da uyarısına neden olduğunu görecektir
|
||||||
send_email_notification: Kullanıcı, hesabına ne olduğu hakkında bir bildirim alacak
|
send_email_notification: Kullanıcı, hesabına ne olduğuna dair bir açıklama alacak
|
||||||
text_html: İsteğe bağlı. Toot sözdizimleri kullanabilirsiniz. Zamandan kazanmak için <a href="%{path}">uyarı ön-ayarları ekleyebilirsiniz</a>
|
text_html: İsteğe bağlı. Toot sözdizimleri kullanabilirsiniz. Zamandan kazanmak için <a href="%{path}">uyarı ön-ayarları ekleyebilirsiniz</a>
|
||||||
type_html: "<strong>%{acct}</strong> ile ne yapılacağını seçin"
|
type_html: "<strong>%{acct}</strong> ile ne yapılacağını seçin"
|
||||||
warning_preset_id: İsteğe bağlı. Hazır ayarın sonuna hala özel metin ekleyebilirsiniz
|
warning_preset_id: İsteğe bağlı. Hazır ayarın sonuna hala özel metin ekleyebilirsiniz
|
||||||
|
@ -40,16 +40,16 @@ tr:
|
||||||
password: En az 8 karakter kullanın
|
password: En az 8 karakter kullanın
|
||||||
phrase: Metnin büyük/küçük harf durumundan veya tootun içerik uyarısından bağımsız olarak eşleştirilecek
|
phrase: Metnin büyük/küçük harf durumundan veya tootun içerik uyarısından bağımsız olarak eşleştirilecek
|
||||||
scopes: Uygulamanın erişmesine izin verilen API'ler. Üst seviye bir kapsam seçtiyseniz, bireysel kapsam seçmenize gerek yoktur.
|
scopes: Uygulamanın erişmesine izin verilen API'ler. Üst seviye bir kapsam seçtiyseniz, bireysel kapsam seçmenize gerek yoktur.
|
||||||
setting_aggregate_reblogs: Yakın zamanda boostlanmış tootlar için yeni boostları gösterme (yalnızca yeni alınan boostları etkiler)
|
setting_aggregate_reblogs: Yakın zamanda boostlanmış tootlar için yeni boostları göstermeyin (yalnızca yeni alınan boostları etkiler)
|
||||||
setting_default_sensitive: Hassas medya varsayılan olarak gizlenir ve bir tıklama ile görüntülenebilir
|
setting_default_sensitive: Hassas medya varsayılan olarak gizlidir ve bir tıklama ile gösterilebilir
|
||||||
setting_display_media_default: Hassas olarak işaretlenmiş medyayı gizle
|
setting_display_media_default: Hassas olarak işaretlenmiş medyayı gizle
|
||||||
setting_display_media_hide_all: Medyayı her zaman gizle
|
setting_display_media_hide_all: Medyayı her zaman gizle
|
||||||
setting_display_media_show_all: Medyayı her zaman göster
|
setting_display_media_show_all: Medyayı her zaman göster
|
||||||
setting_hide_network: Takip edilenler ve takipçiler profilinizde gösterilmeyecek
|
setting_hide_network: Takip ettiğiniz ve sizi takip eden kişiler profilinizde gösterilmeyecek
|
||||||
setting_noindex: Herkese açık profilinizi ve durum sayfalarınızı etkiler
|
setting_noindex: Herkese açık profilinizi ve durum sayfalarınızı etkiler
|
||||||
setting_show_application: Tootlamak için kullandığınız uygulama, tootlarınızın detaylı görünümünde gösterilecektir
|
setting_show_application: Tootlamak için kullandığınız uygulama, tootlarınızın detaylı görünümünde gösterilecektir
|
||||||
setting_use_blurhash: Gradyenler gizli görsellerin renklerine dayanır, ancak detayları gizler
|
setting_use_blurhash: Gradyenler gizli görsellerin renklerine dayanır, ancak detayları gizler
|
||||||
setting_use_pending_items: Zaman çizelgesi güncellemelerini, akışı otomatik olarak kaydırmak yerine bir tıklamanın arkasına gizleyin
|
setting_use_pending_items: Akışı otomatik olarak kaydırmak yerine, zaman çizelgesi güncellemelerini tek bir tıklamayla gizleyin
|
||||||
username: Kullanıcı adınız %{domain} alanında benzersiz olacak
|
username: Kullanıcı adınız %{domain} alanında benzersiz olacak
|
||||||
whole_word: Anahtar kelime veya kelime öbeği yalnızca alfasayısal olduğunda, yalnızca tüm sözcükle eşleşirse uygulanır
|
whole_word: Anahtar kelime veya kelime öbeği yalnızca alfasayısal olduğunda, yalnızca tüm sözcükle eşleşirse uygulanır
|
||||||
domain_allow:
|
domain_allow:
|
||||||
|
@ -90,25 +90,25 @@ tr:
|
||||||
account_migration:
|
account_migration:
|
||||||
acct: Yeni hesabın tanıtıcısı
|
acct: Yeni hesabın tanıtıcısı
|
||||||
account_warning_preset:
|
account_warning_preset:
|
||||||
text: Ön-ayar metni
|
text: Ön ayarlı metin
|
||||||
title: Başlık
|
title: Başlık
|
||||||
admin_account_action:
|
admin_account_action:
|
||||||
include_statuses: Birdirilen tootları e-postaya dahil et
|
include_statuses: Bildirilen tootları e-postaya dahil et
|
||||||
send_email_notification: E-postayla kullanıcıyı bilgilendir
|
send_email_notification: Kullanıcıyı e-posta ile bilgilendir
|
||||||
text: Özel uyarı
|
text: Özel uyarı
|
||||||
type: Eylem
|
type: Eylem
|
||||||
types:
|
types:
|
||||||
disable: Devre dışı
|
disable: Dondur
|
||||||
none: Hiç birşey
|
none: Hiç birşey
|
||||||
sensitive: Hassas
|
sensitive: Hassas
|
||||||
silence: Sessiz
|
silence: Limit
|
||||||
suspend: Hesap verilerini askıya alın ve geri alınamaz şekilde silin
|
suspend: Hesap verilerini askıya alın ve geri alınamaz şekilde silin
|
||||||
warning_preset_id: Bir uyarı ön-ayarı kullan
|
warning_preset_id: Bir uyarı ön ayarı kullan
|
||||||
announcement:
|
announcement:
|
||||||
all_day: Tüm gün etkinliği
|
all_day: Tüm gün etkinliği
|
||||||
ends_at: Etkinlik sonu
|
ends_at: Etkinliğin sonu
|
||||||
scheduled_at: Yayınlamayı zamanla
|
scheduled_at: Yayınlamayı zamanla
|
||||||
starts_at: Etkinlik başlangıcı
|
starts_at: Etkinliğin başlangıcı
|
||||||
text: Duyuru
|
text: Duyuru
|
||||||
defaults:
|
defaults:
|
||||||
autofollow: Hesabınızı takip etmeye davet edin
|
autofollow: Hesabınızı takip etmeye davet edin
|
||||||
|
@ -151,7 +151,7 @@ tr:
|
||||||
setting_display_media_hide_all: Tümünü gizle
|
setting_display_media_hide_all: Tümünü gizle
|
||||||
setting_display_media_show_all: Tümünü göster
|
setting_display_media_show_all: Tümünü göster
|
||||||
setting_expand_spoilers: İçerik uyarılarıyla işaretli tootları her zaman genişlet
|
setting_expand_spoilers: İçerik uyarılarıyla işaretli tootları her zaman genişlet
|
||||||
setting_hide_network: Ağını gizle
|
setting_hide_network: Ağınızı gizleyin
|
||||||
setting_noindex: Arama motoru dizinine eklemeyi iptal et
|
setting_noindex: Arama motoru dizinine eklemeyi iptal et
|
||||||
setting_reduce_motion: Animasyonlarda hareketi azalt
|
setting_reduce_motion: Animasyonlarda hareketi azalt
|
||||||
setting_show_application: Tootları göndermek için kullanılan uygulamayı belirt
|
setting_show_application: Tootları göndermek için kullanılan uygulamayı belirt
|
||||||
|
@ -161,9 +161,9 @@ tr:
|
||||||
setting_unfollow_modal: Birini takip etmeden önce onay iletişim kutusu göster
|
setting_unfollow_modal: Birini takip etmeden önce onay iletişim kutusu göster
|
||||||
setting_use_blurhash: Gizli medya için renkli gradyanlar göster
|
setting_use_blurhash: Gizli medya için renkli gradyanlar göster
|
||||||
setting_use_pending_items: Yavaş mod
|
setting_use_pending_items: Yavaş mod
|
||||||
severity: Zorluk
|
severity: Önem derecesi
|
||||||
sign_in_token_attempt: Güvenlik kodu
|
sign_in_token_attempt: Güvenlik kodu
|
||||||
type: Dosya türü
|
type: İçeri aktarma türü
|
||||||
username: Kullanıcı adı
|
username: Kullanıcı adı
|
||||||
username_or_email: Kullanıcı adı ya da e-posta
|
username_or_email: Kullanıcı adı ya da e-posta
|
||||||
whole_word: Tam sözcük
|
whole_word: Tam sözcük
|
||||||
|
@ -174,7 +174,7 @@ tr:
|
||||||
interactions:
|
interactions:
|
||||||
must_be_follower: Takipçim olmayan kişilerden gelen bildirimleri engelle
|
must_be_follower: Takipçim olmayan kişilerden gelen bildirimleri engelle
|
||||||
must_be_following: Takip etmediğim kişilerden gelen bildirimleri engelle
|
must_be_following: Takip etmediğim kişilerden gelen bildirimleri engelle
|
||||||
must_be_following_dm: Takip etmediğiniz kişilerden gelen doğrudan mesajları engelle
|
must_be_following_dm: Takip etmediğiniz kişilerden gelen direkt mesajları engelle
|
||||||
invite:
|
invite:
|
||||||
comment: Yorum
|
comment: Yorum
|
||||||
invite_request:
|
invite_request:
|
||||||
|
@ -188,18 +188,18 @@ tr:
|
||||||
severity: Kural
|
severity: Kural
|
||||||
notification_emails:
|
notification_emails:
|
||||||
digest: Özet e-postaları gönder
|
digest: Özet e-postaları gönder
|
||||||
favourite: Biri durumumu favorilerine eklediginde bana e-posta gönder
|
favourite: Birisi durumunuzu beğendi
|
||||||
follow: Biri beni takip ettiğinde bana e-posta gönder
|
follow: Biri seni takip etti
|
||||||
follow_request: Biri bana takip isteği gönderdiğinde bana e-posta gönder
|
follow_request: Biri seni takip etmek istedi
|
||||||
mention: Biri benden bahsettiğinde bana e-posta gönder
|
mention: Biri senden bahsetti
|
||||||
pending_account: Yeni bir hesap incelemesi gerektiğinde e-posta gönder
|
pending_account: Yeni hesabın incelenmesi gerekiyor
|
||||||
reblog: Biri durumumu boostladığında bana e-posta gönder
|
reblog: Biri durumunuzu boostladı
|
||||||
report: Yeni bir rapor gönderildiğinde e-posta gönder
|
report: Yeni rapor gönderildi
|
||||||
trending_tag: İncelenmemiş bir hashtag trend olduğunda e-posta gönder
|
trending_tag: İncelenmemiş bir etiket gündem oluyor
|
||||||
tag:
|
tag:
|
||||||
listable: Bu etiketin aramalarda ve profil dizininde görünmesine izin ver
|
listable: Bu etiketin aramalarda ve profil dizininde görünmesine izin ver
|
||||||
name: Etiket
|
name: Etiket
|
||||||
trendable: Bu etiketin trendlerin altında görünmesine izin ver
|
trendable: Bu etiketin gündem altında görünmesine izin ver
|
||||||
usable: Tootların bu etiketi kullanmasına izin ver
|
usable: Tootların bu etiketi kullanmasına izin ver
|
||||||
'no': Hayır
|
'no': Hayır
|
||||||
recommended: Önerilen
|
recommended: Önerilen
|
||||||
|
@ -208,5 +208,5 @@ tr:
|
||||||
text: gerekli
|
text: gerekli
|
||||||
title:
|
title:
|
||||||
sessions:
|
sessions:
|
||||||
webauthn: Giriş yapmak için güvenlik anahtarlarınızdan birini kullanın
|
webauthn: Oturum açmak için güvenlik anahtarlarınızdan birini kullanın
|
||||||
'yes': Evet
|
'yes': Evet
|
||||||
|
|
|
@ -3,9 +3,9 @@ vi:
|
||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
account_alias:
|
account_alias:
|
||||||
acct: Chọn tên_người_dùng@máy chủ của tài khoản lúc trước
|
acct: Nhập tên_người_dùng@máy chủ của tài khoản cũ
|
||||||
account_migration:
|
account_migration:
|
||||||
acct: Chọn tên_người_dùng@máy chủ của tài khoản bạn muốn dời sang
|
acct: Nhập tên_người_dùng@máy chủ của tài khoản bạn muốn dời sang
|
||||||
account_warning_preset:
|
account_warning_preset:
|
||||||
text: Bạn có thể sử dụng URL, hashtag và nhắc đến
|
text: Bạn có thể sử dụng URL, hashtag và nhắc đến
|
||||||
title: Tùy chọn. Không cho người nhận xem
|
title: Tùy chọn. Không cho người nhận xem
|
||||||
|
@ -41,15 +41,15 @@ vi:
|
||||||
phrase: Sẽ được hiện thị trong văn bản hoặc cảnh báo nội dung của một tút
|
phrase: Sẽ được hiện thị trong văn bản hoặc cảnh báo nội dung của một tút
|
||||||
scopes: API nào ứng dụng sẽ được phép truy cập. Nếu bạn chọn quyền hạn cấp cao nhất, bạn không cần chọn từng phạm vi.
|
scopes: API nào ứng dụng sẽ được phép truy cập. Nếu bạn chọn quyền hạn cấp cao nhất, bạn không cần chọn từng phạm vi.
|
||||||
setting_aggregate_reblogs: Nếu một tút đã được chia sẻ thì những lượt chia sẻ sau sẽ không hiển thị trên bảng tin nữa
|
setting_aggregate_reblogs: Nếu một tút đã được chia sẻ thì những lượt chia sẻ sau sẽ không hiển thị trên bảng tin nữa
|
||||||
setting_default_sensitive: Nội dung nhạy cảm sẽ mặc định là ẩn và chỉ hiển thị nếu nhấp chuột
|
setting_default_sensitive: Nội dung nhạy cảm mặc định là ẩn và chỉ hiển thị nếu nhấn vào
|
||||||
setting_display_media_default: Làm mờ những thứ được đánh dấu là nhạy cảm
|
setting_display_media_default: Làm mờ những thứ được đánh dấu là nhạy cảm
|
||||||
setting_display_media_hide_all: Không hiển thị
|
setting_display_media_hide_all: Không hiển thị
|
||||||
setting_display_media_show_all: Luôn luôn hiển thị
|
setting_display_media_show_all: Luôn luôn hiển thị
|
||||||
setting_hide_network: Ẩn những người bạn theo dõi và những người theo dõi bạn trên trang cá nhân
|
setting_hide_network: Ẩn những người bạn theo dõi và những người theo dõi bạn trên trang cá nhân
|
||||||
setting_noindex: Ảnh hưởng đến trang cá nhân và tút của bạn
|
setting_noindex: Ảnh hưởng đến trang cá nhân và tút của bạn
|
||||||
setting_show_application: Tên ứng dụng bạn sử dụng để đăng tút sẽ được hiển thị trong chi tiết bài đăng
|
setting_show_application: Tên ứng dụng bạn dùng để đăng tút sẽ hiện trong chi tiết bài đăng
|
||||||
setting_use_blurhash: Lớp phủ mờ dựa trên màu sắc của hình ảnh nhạy cảm
|
setting_use_blurhash: Lớp phủ mờ dựa trên màu sắc của hình ảnh nhạy cảm
|
||||||
setting_use_pending_items: Ẩn cập nhật bảng tin bằng một cái nhấp chuột thay vì phải cuộn toàn bộ
|
setting_use_pending_items: Dồn lại toàn bộ tút mới và chỉ hiển thị khi nào nhấp chuột vào
|
||||||
username: Tên người dùng của bạn sẽ là duy nhất trên %{domain}
|
username: Tên người dùng của bạn sẽ là duy nhất trên %{domain}
|
||||||
whole_word: Khi từ khóa hoặc cụm từ là chữ và số, nó sẽ chỉ hiện ra những từ chính xác như vậy
|
whole_word: Khi từ khóa hoặc cụm từ là chữ và số, nó sẽ chỉ hiện ra những từ chính xác như vậy
|
||||||
domain_allow:
|
domain_allow:
|
||||||
|
@ -86,9 +86,9 @@ vi:
|
||||||
name: Nhãn
|
name: Nhãn
|
||||||
value: Nội dung
|
value: Nội dung
|
||||||
account_alias:
|
account_alias:
|
||||||
acct: Xử lý tài khoản cũ
|
acct: Tài khoản cũ
|
||||||
account_migration:
|
account_migration:
|
||||||
acct: Xử lý tài khoản mới
|
acct: Tài khoản mới
|
||||||
account_warning_preset:
|
account_warning_preset:
|
||||||
text: Văn bản cài sẵn
|
text: Văn bản cài sẵn
|
||||||
title: Tựa đề
|
title: Tựa đề
|
||||||
|
@ -120,7 +120,7 @@ vi:
|
||||||
context: Áp dụng
|
context: Áp dụng
|
||||||
current_password: Mật khẩu hiện tại
|
current_password: Mật khẩu hiện tại
|
||||||
data: Dữ liệu
|
data: Dữ liệu
|
||||||
discoverable: Liệt kê tài khoản này trên danh sách thành viên
|
discoverable: Liệt kê tài khoản trên danh sách thành viên
|
||||||
display_name: Tên hiển thị
|
display_name: Tên hiển thị
|
||||||
email: Địa chỉ email
|
email: Địa chỉ email
|
||||||
expires_in: Hết hạn sau
|
expires_in: Hết hạn sau
|
||||||
|
@ -138,7 +138,7 @@ vi:
|
||||||
phrase: Từ khóa hoặc cụm từ
|
phrase: Từ khóa hoặc cụm từ
|
||||||
setting_advanced_layout: Kích hoạt giao diện nhiều cột
|
setting_advanced_layout: Kích hoạt giao diện nhiều cột
|
||||||
setting_aggregate_reblogs: Không hiện lượt chia sẻ trùng
|
setting_aggregate_reblogs: Không hiện lượt chia sẻ trùng
|
||||||
setting_auto_play_gif: Tự động phát GIF
|
setting_auto_play_gif: Tự động phát ảnh GIF
|
||||||
setting_boost_modal: Yêu cầu xác nhận trước khi chia sẻ tút
|
setting_boost_modal: Yêu cầu xác nhận trước khi chia sẻ tút
|
||||||
setting_crop_images: Hiển thị ảnh theo tỉ lệ 16x9
|
setting_crop_images: Hiển thị ảnh theo tỉ lệ 16x9
|
||||||
setting_default_language: Ngôn ngữ đăng
|
setting_default_language: Ngôn ngữ đăng
|
||||||
|
@ -154,9 +154,9 @@ vi:
|
||||||
setting_hide_network: Ẩn kết nối của bạn
|
setting_hide_network: Ẩn kết nối của bạn
|
||||||
setting_noindex: Không xuất hiện trong công cụ tìm kiếm
|
setting_noindex: Không xuất hiện trong công cụ tìm kiếm
|
||||||
setting_reduce_motion: Giảm chuyển động ảnh GIF
|
setting_reduce_motion: Giảm chuyển động ảnh GIF
|
||||||
setting_show_application: Hiện ứng dụng được sử dụng để đăng tút
|
setting_show_application: Hiện ứng dụng đã dùng để đăng tút
|
||||||
setting_system_font_ui: Sử dụng phông chữ mặc định của hệ thống
|
setting_system_font_ui: Sử dụng phông chữ mặc định của hệ thống
|
||||||
setting_theme: Giao diện trang web
|
setting_theme: Giao diện
|
||||||
setting_trends: Hiển thị xu hướng hôm nay
|
setting_trends: Hiển thị xu hướng hôm nay
|
||||||
setting_unfollow_modal: Yêu cầu xác nhận trước khi hủy theo dõi ai đó
|
setting_unfollow_modal: Yêu cầu xác nhận trước khi hủy theo dõi ai đó
|
||||||
setting_use_blurhash: Làm mờ trước ảnh/video nhạy cảm
|
setting_use_blurhash: Làm mờ trước ảnh/video nhạy cảm
|
||||||
|
|
|
@ -1 +1,41 @@
|
||||||
|
---
|
||||||
zgh:
|
zgh:
|
||||||
|
simple_form:
|
||||||
|
hints:
|
||||||
|
defaults:
|
||||||
|
setting_display_media_hide_all: ⵙⵏⵜⵍ ⵉⵙⵏⵖⵎⵉⵙⵏ ⴰⴱⴷⴰ
|
||||||
|
setting_display_media_show_all: ⵙⵎⴰⵍ ⵉⵙⵏⵖⵎⵉⵙⵏ ⴰⴱⴷⴰ
|
||||||
|
labels:
|
||||||
|
account_warning_preset:
|
||||||
|
title: ⴰⵣⵡⵍ
|
||||||
|
admin_account_action:
|
||||||
|
type: ⵜⵉⴳⴰⵡⵜ
|
||||||
|
defaults:
|
||||||
|
bot: ⵡⴰⴷ ⴰⵎⵉⴹⴰⵏ ⵏ ⵓⴱⵓⵜ
|
||||||
|
chosen_languages: ⵙⵜⵢ ⵜⵓⵜⵍⴰⵢⵉⵏ
|
||||||
|
confirm_new_password: ⵙⵏⵜⵎ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ ⵜⴰⵎⴰⵢⵏⵓⵜ
|
||||||
|
confirm_password: ⵙⵏⵜⵎ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ
|
||||||
|
data: ⵉⴼⵙⴽⴰ
|
||||||
|
email: ⵜⴰⵏⵙⴰ ⵉⵎⴰⵢⵍ
|
||||||
|
locale: ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵓⵏⴳⵔⵓⴷⵎ
|
||||||
|
locked: ⵔⴳⵍ ⴰⵎⵉⴹⴰⵏ
|
||||||
|
new_password: ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ ⵜⴰⵎⴰⵢⵏⵓⵜ
|
||||||
|
note: ⵜⴰⵔⵉⴷⵉⵔⵜ
|
||||||
|
password: ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ
|
||||||
|
setting_hide_network: ⴼⴼⵔ ⴰⵥⵟⵟⴰ ⵏⵏⴽ
|
||||||
|
setting_theme: ⴰⵙⴳⵓⵎ ⵏ ⵡⴰⵙⵉⵜ
|
||||||
|
username: ⵉⵙⵎ ⵏ ⵓⵏⵙⵙⵎⵔⵙ
|
||||||
|
username_or_email: ⵉⵙⵎ ⵏ ⵓⵏⵙⵙⵎⵔⵙ ⵏⵖ ⵉⵎⴰⵢⵍ
|
||||||
|
featured_tag:
|
||||||
|
name: ⵀⴰⵛⵟⴰⴳ
|
||||||
|
invite:
|
||||||
|
comment: ⴰⵖⴼⴰⵡⴰⵍ
|
||||||
|
ip_block:
|
||||||
|
comment: ⵖⴼⴰⵡⵍ
|
||||||
|
ip: ⵜⴰⵏⵙⴰ IP
|
||||||
|
tag:
|
||||||
|
name: ⵀⴰⵛⵟⴰⴳ
|
||||||
|
'no': ⵓⵀⵓ
|
||||||
|
required:
|
||||||
|
mark: "*"
|
||||||
|
'yes': ⵢⴰⵀ
|
||||||
|
|
|
@ -3,10 +3,10 @@ tr:
|
||||||
about:
|
about:
|
||||||
about_hashtag_html: Bunlar <strong>#%{hashtag}</strong> ile etiketlenen genel tootlar. Fediverse içinde herhangi bir yerde bir hesabınız varsa, onlarla etkileşime geçebilirsiniz.
|
about_hashtag_html: Bunlar <strong>#%{hashtag}</strong> ile etiketlenen genel tootlar. Fediverse içinde herhangi bir yerde bir hesabınız varsa, onlarla etkileşime geçebilirsiniz.
|
||||||
about_mastodon_html: Mastodon <em>ücretsiz ve açık kaynaklı</em> bir sosyal ağdır. <em>Merkezileştirilmemiş</em> yapısı sayesinde diğer ticari sosyal platformların aksine iletişimininizin tek bir firmada tutulmasının/yönetilmesinin önüne geçer. Güvendiğiniz bir sunucuyu seçerek oradaki kişilerle etkileşimde bulunabilirsiniz. Herkes kendi Mastodon sunucusunu kurabilir ve sorunsuz bir şekilde Mastodon <em>sosyal ağına</em> dahil edebilir.
|
about_mastodon_html: Mastodon <em>ücretsiz ve açık kaynaklı</em> bir sosyal ağdır. <em>Merkezileştirilmemiş</em> yapısı sayesinde diğer ticari sosyal platformların aksine iletişimininizin tek bir firmada tutulmasının/yönetilmesinin önüne geçer. Güvendiğiniz bir sunucuyu seçerek oradaki kişilerle etkileşimde bulunabilirsiniz. Herkes kendi Mastodon sunucusunu kurabilir ve sorunsuz bir şekilde Mastodon <em>sosyal ağına</em> dahil edebilir.
|
||||||
about_this: Bu sunucu hakkında
|
about_this: Hakkında
|
||||||
active_count_after: etkin
|
active_count_after: etkin
|
||||||
active_footnote: Aylık Aktif Kullanıcılar (AAK)
|
active_footnote: Aylık Aktif Kullanıcılar (AAK)
|
||||||
administered_by: 'Yöneten:'
|
administered_by: 'Yönetici:'
|
||||||
api: API
|
api: API
|
||||||
apps: Mobil uygulamalar
|
apps: Mobil uygulamalar
|
||||||
apps_platforms: İos, Android ve diğer platformlardaki Mastodon'u kullanın
|
apps_platforms: İos, Android ve diğer platformlardaki Mastodon'u kullanın
|
||||||
|
@ -30,8 +30,8 @@ tr:
|
||||||
server_stats: 'Sunucu istatistikleri:'
|
server_stats: 'Sunucu istatistikleri:'
|
||||||
source_code: Kaynak kodu
|
source_code: Kaynak kodu
|
||||||
status_count_after:
|
status_count_after:
|
||||||
one: durum
|
one: durum yazıldı
|
||||||
other: durum
|
other: durum yazıldı
|
||||||
status_count_before: Şu ana kadar
|
status_count_before: Şu ana kadar
|
||||||
tagline: Arkadaşlarını takip et ve yenilerini keşfet
|
tagline: Arkadaşlarını takip et ve yenilerini keşfet
|
||||||
terms: Kullanım şartları
|
terms: Kullanım şartları
|
||||||
|
@ -74,7 +74,7 @@ tr:
|
||||||
following: Onaylamak istediğiniz kişiyi zaten takip ediyor olmalısınız
|
following: Onaylamak istediğiniz kişiyi zaten takip ediyor olmalısınız
|
||||||
posts:
|
posts:
|
||||||
one: Toot
|
one: Toot
|
||||||
other: Tootlar
|
other: Toot
|
||||||
posts_tab_heading: Tootlar
|
posts_tab_heading: Tootlar
|
||||||
posts_with_replies: Tootlar ve yanıtlar
|
posts_with_replies: Tootlar ve yanıtlar
|
||||||
reserved_username: Kullanıcı adı saklıdır
|
reserved_username: Kullanıcı adı saklıdır
|
||||||
|
@ -100,8 +100,8 @@ tr:
|
||||||
approve_all: Tümünü onayla
|
approve_all: Tümünü onayla
|
||||||
approved_msg: "%{username} adlı kullanıcının kayıt başvurusu başarıyla onaylandı"
|
approved_msg: "%{username} adlı kullanıcının kayıt başvurusu başarıyla onaylandı"
|
||||||
are_you_sure: Emin misiniz?
|
are_you_sure: Emin misiniz?
|
||||||
avatar: Avatar
|
avatar: Profil resmi
|
||||||
by_domain: Sunucu
|
by_domain: Alan adı
|
||||||
change_email:
|
change_email:
|
||||||
changed_msg: Hesap e-postası başarıyla değiştirildi!
|
changed_msg: Hesap e-postası başarıyla değiştirildi!
|
||||||
current_email: Mevcut e-posta
|
current_email: Mevcut e-posta
|
||||||
|
@ -111,16 +111,16 @@ tr:
|
||||||
title: "%{username} için e-postayı değiştir"
|
title: "%{username} için e-postayı değiştir"
|
||||||
confirm: Onayla
|
confirm: Onayla
|
||||||
confirmed: Onaylandı
|
confirmed: Onaylandı
|
||||||
confirming: Onaylama
|
confirming: Onaylanıyor
|
||||||
delete: Veriyi sil
|
delete: Veriyi sil
|
||||||
deleted: Silinen
|
deleted: Silindi
|
||||||
demote: Düşür
|
demote: Düşür
|
||||||
destroyed_msg: "%{username} verilerinin hemen silinmesi için kuyruğa alındı"
|
destroyed_msg: "%{username} verilerinin hemen silinmesi için kuyruğa alındı"
|
||||||
disable: Devre dışı
|
disable: Devre dışı
|
||||||
disable_two_factor_authentication: 2AD kapat
|
disable_two_factor_authentication: 2AD kapat
|
||||||
disabled: Kapalı
|
disabled: Kapalı
|
||||||
display_name: Görünen adınız
|
display_name: Görünen isim
|
||||||
domain: Sunucu
|
domain: Alan adı
|
||||||
edit: Düzenle
|
edit: Düzenle
|
||||||
email: E-posta
|
email: E-posta
|
||||||
email_status: E-posta durumu
|
email_status: E-posta durumu
|
||||||
|
@ -168,7 +168,7 @@ tr:
|
||||||
reject: Reddet
|
reject: Reddet
|
||||||
reject_all: Tümünü reddet
|
reject_all: Tümünü reddet
|
||||||
rejected_msg: "%{username} adlı kullanıcının kayıt başvurusu başarıyla reddedildi"
|
rejected_msg: "%{username} adlı kullanıcının kayıt başvurusu başarıyla reddedildi"
|
||||||
remove_avatar: Avatarı kaldır
|
remove_avatar: Profil resmini kaldır
|
||||||
remove_header: Üstbilgiyi kaldır
|
remove_header: Üstbilgiyi kaldır
|
||||||
removed_avatar_msg: "%{username} hesabının avatar resmi başarıyla kaldırıldı"
|
removed_avatar_msg: "%{username} hesabının avatar resmi başarıyla kaldırıldı"
|
||||||
removed_header_msg: "%{username} hesabının başlık resmi başarıyla kaldırıldı"
|
removed_header_msg: "%{username} hesabının başlık resmi başarıyla kaldırıldı"
|
||||||
|
@ -177,7 +177,7 @@ tr:
|
||||||
send: Doğrulama epostasını yeniden gönder
|
send: Doğrulama epostasını yeniden gönder
|
||||||
success: Onay e-postası başarıyla gönderildi!
|
success: Onay e-postası başarıyla gönderildi!
|
||||||
reset: Sıfırla
|
reset: Sıfırla
|
||||||
reset_password: Parolayı değiştir
|
reset_password: Şifreyi sıfırla
|
||||||
resubscribe: Yeniden abone ol
|
resubscribe: Yeniden abone ol
|
||||||
role: İzinler
|
role: İzinler
|
||||||
roles:
|
roles:
|
||||||
|
@ -312,7 +312,7 @@ tr:
|
||||||
title: Yeni duyuru
|
title: Yeni duyuru
|
||||||
published_msg: Duyuru başarıyla yayınlandı!
|
published_msg: Duyuru başarıyla yayınlandı!
|
||||||
scheduled_for: "%{time} için zamanlandı"
|
scheduled_for: "%{time} için zamanlandı"
|
||||||
scheduled_msg: Duyuru yayınlanmak üzere planlandı!
|
scheduled_msg: Duyuru yayınlanmak üzere zamanlandı!
|
||||||
title: Duyurular
|
title: Duyurular
|
||||||
unpublished_msg: Duyuru başarıyla yayından kaldırıldı!
|
unpublished_msg: Duyuru başarıyla yayından kaldırıldı!
|
||||||
updated_msg: Duyuru başarıyla güncellendi!
|
updated_msg: Duyuru başarıyla güncellendi!
|
||||||
|
@ -322,8 +322,8 @@ tr:
|
||||||
copied_msg: Emojinin yerel kopyası başarıyla oluşturuldu
|
copied_msg: Emojinin yerel kopyası başarıyla oluşturuldu
|
||||||
copy: Kopyala
|
copy: Kopyala
|
||||||
copy_failed_msg: Bu emojinin yerel bir kopyası oluşturulamadı
|
copy_failed_msg: Bu emojinin yerel bir kopyası oluşturulamadı
|
||||||
create_new_category: Yeni kategori ekle
|
create_new_category: Yeni kategori oluştur
|
||||||
created_msg: Emoji başarıyla oluşturuldu!
|
created_msg: İfade başarıyla oluşturuldu!
|
||||||
delete: Sil
|
delete: Sil
|
||||||
destroyed_msg: Emojo başarıyla yok edildi!
|
destroyed_msg: Emojo başarıyla yok edildi!
|
||||||
disable: Devre dışı bırak
|
disable: Devre dışı bırak
|
||||||
|
@ -354,7 +354,7 @@ tr:
|
||||||
backlog: bekleyen işler
|
backlog: bekleyen işler
|
||||||
config: Yapılandırma
|
config: Yapılandırma
|
||||||
feature_deletions: Hesap silme
|
feature_deletions: Hesap silme
|
||||||
feature_invites: Davet linkleri
|
feature_invites: Davet bağlantıları
|
||||||
feature_profile_directory: Profil Dizini
|
feature_profile_directory: Profil Dizini
|
||||||
feature_registrations: Kayıtlar
|
feature_registrations: Kayıtlar
|
||||||
feature_relay: Federasyon aktarıcısı
|
feature_relay: Federasyon aktarıcısı
|
||||||
|
@ -372,7 +372,7 @@ tr:
|
||||||
space: Alan kullanımı
|
space: Alan kullanımı
|
||||||
title: Kontrol Paneli
|
title: Kontrol Paneli
|
||||||
total_users: toplam kullanıcı
|
total_users: toplam kullanıcı
|
||||||
trends: Trendler
|
trends: Gündemler
|
||||||
week_interactions: bu haftaki etkileşimler
|
week_interactions: bu haftaki etkileşimler
|
||||||
week_users_active: bu hafta aktif
|
week_users_active: bu hafta aktif
|
||||||
week_users_new: bu hafta kullanıcılar
|
week_users_new: bu hafta kullanıcılar
|
||||||
|
@ -1073,7 +1073,7 @@ tr:
|
||||||
unrecognized_emoji: tanınan bir emoji değil
|
unrecognized_emoji: tanınan bir emoji değil
|
||||||
relationships:
|
relationships:
|
||||||
activity: Hesap etkinliği
|
activity: Hesap etkinliği
|
||||||
dormant: Atıl
|
dormant: Uykuda
|
||||||
followers: Takipçiler
|
followers: Takipçiler
|
||||||
following: Takip edilenler
|
following: Takip edilenler
|
||||||
invited: Davet edildi
|
invited: Davet edildi
|
||||||
|
@ -1211,7 +1211,7 @@ tr:
|
||||||
show_more: Daha fazlasını göster
|
show_more: Daha fazlasını göster
|
||||||
show_newer: Yenileri göster
|
show_newer: Yenileri göster
|
||||||
show_older: Eskileri göster
|
show_older: Eskileri göster
|
||||||
show_thread: Mesaj dizisini göster
|
show_thread: Konuyu göster
|
||||||
sign_in_to_participate: Sohbete katılmak için oturum açın
|
sign_in_to_participate: Sohbete katılmak için oturum açın
|
||||||
title: '%{name}: "%{quote}"'
|
title: '%{name}: "%{quote}"'
|
||||||
visibilities:
|
visibilities:
|
||||||
|
|
|
@ -206,7 +206,7 @@ vi:
|
||||||
unsilenced_msg: Bỏ ẩn %{username} thành công
|
unsilenced_msg: Bỏ ẩn %{username} thành công
|
||||||
unsubscribe: Hủy đăng ký
|
unsubscribe: Hủy đăng ký
|
||||||
unsuspended_msg: Đã kích hoạt lại tài khoản %{username} thành công
|
unsuspended_msg: Đã kích hoạt lại tài khoản %{username} thành công
|
||||||
username: ABC
|
username: Tài khoản
|
||||||
view_domain: Xem mô tả tài khoản này
|
view_domain: Xem mô tả tài khoản này
|
||||||
warn: Cảnh cáo
|
warn: Cảnh cáo
|
||||||
web: Web
|
web: Web
|
||||||
|
@ -669,16 +669,16 @@ vi:
|
||||||
body: 'Hashtag # %{name} đang là xu hướng nhưng chưa được kiểm duyệt. Nó sẽ không được hiển thị công khai trừ khi bạn cho phép. Bỏ qua nếu bạn không bao giờ muốn thấy nó xuất hiện.'
|
body: 'Hashtag # %{name} đang là xu hướng nhưng chưa được kiểm duyệt. Nó sẽ không được hiển thị công khai trừ khi bạn cho phép. Bỏ qua nếu bạn không bao giờ muốn thấy nó xuất hiện.'
|
||||||
subject: Hashtag mới được xem xét trên %{instance} (# %{name})
|
subject: Hashtag mới được xem xét trên %{instance} (# %{name})
|
||||||
aliases:
|
aliases:
|
||||||
add_new: Tạo tên hiển thị
|
add_new: Kết nối tài khoản
|
||||||
created_msg: Tạo thành công một tên hiển thị mới. Bây giờ bạn có thể bắt đầu di chuyển từ tài khoản cũ.
|
created_msg: Tạo thành công một tên hiển thị mới. Bây giờ bạn có thể bắt đầu di chuyển từ tài khoản cũ.
|
||||||
deleted_msg: Xóa thành công tên hiển thị. Chuyển từ tài khoản này sang tài khoản này sẽ không còn có thể.
|
deleted_msg: Xóa thành công tên hiển thị. Chuyển từ tài khoản này sang tài khoản này sẽ không còn có thể.
|
||||||
empty: Bạn không tên hiển thị nào.
|
empty: Bạn không có tài khoản cũ nào.
|
||||||
hint_html: Nếu bạn muốn chuyển từ máy chủ khác sang máy chủ này, tại đây bạn có thể tạo bí danh, điều này là bắt buộc trước khi bạn có thể tiến hành chuyển người theo dõi từ tài khoản cũ sang tài khoản này. Hành động này của chính nó là <strong>vô hại và có thể đảo ngược</strong>. <strong>Việc di chuyển tài khoản được bắt đầu từ tài khoản cũ</strong>.
|
hint_html: Nếu bạn muốn chuyển từ máy chủ khác sang máy chủ này, bắt buộc bạn phải tạo tên người dùng mới thì mới có thể tiến hành chuyển được người theo dõi. Hành động này <strong>không ảnh hưởng gì và có thể đảo ngược</strong>. <strong>Việc di chuyển tài khoản được bắt đầu từ tài khoản cũ</strong>.
|
||||||
remove: Bỏ liên kết bí danh
|
remove: Bỏ liên kết bí danh
|
||||||
appearance:
|
appearance:
|
||||||
advanced_web_interface: Bố cục
|
advanced_web_interface: Bố cục
|
||||||
advanced_web_interface_hint: 'Giao diện nhiều cột cho phép bạn chuyển đổi bố cục hiển thị thành nhiều cột khác nhau. Bao gồm: Bảng tin, thông báo, thế giới, cũng như danh sách và hashtag. Rất thích hợp nếu bạn sử dụng màn hình rộng.'
|
advanced_web_interface_hint: 'Giao diện nhiều cột cho phép bạn chuyển đổi bố cục hiển thị thành nhiều cột khác nhau. Bao gồm: Bảng tin, thông báo, thế giới, cũng như danh sách và hashtag. Rất thích hợp nếu bạn sử dụng màn hình rộng.'
|
||||||
animations_and_accessibility: Nâng cao
|
animations_and_accessibility: Bảng tin
|
||||||
confirmation_dialogs: Hộp thoại xác nhận
|
confirmation_dialogs: Hộp thoại xác nhận
|
||||||
discovery: Khám phá
|
discovery: Khám phá
|
||||||
localization:
|
localization:
|
||||||
|
@ -792,7 +792,7 @@ vi:
|
||||||
success_msg: Tài khoản của bạn đã được xóa thành công
|
success_msg: Tài khoản của bạn đã được xóa thành công
|
||||||
warning:
|
warning:
|
||||||
before: 'Trước khi tiếp tục, xin vui lòng xem xét cẩn thận:'
|
before: 'Trước khi tiếp tục, xin vui lòng xem xét cẩn thận:'
|
||||||
caches: Nội dung đã được lưu trữ bởi các máy chủ khác có thể tồn tại
|
caches: Nội dung đã lưu trữ trên các máy chủ khác có thể vẫn tồn tại
|
||||||
data_removal: Bài viết của bạn và dữ liệu khác sẽ bị xóa vĩnh viễn
|
data_removal: Bài viết của bạn và dữ liệu khác sẽ bị xóa vĩnh viễn
|
||||||
email_change_html: Bạn có thể <a href="%{path}">thay đổi địa chỉ email</a> mà không cần phải xóa tài khoản
|
email_change_html: Bạn có thể <a href="%{path}">thay đổi địa chỉ email</a> mà không cần phải xóa tài khoản
|
||||||
email_contact_html: Nếu vẫn không nhận được, bạn có thể liên hệ <a href="mailto:%{email}">%{email}</a> để được giúp đỡ
|
email_contact_html: Nếu vẫn không nhận được, bạn có thể liên hệ <a href="mailto:%{email}">%{email}</a> để được giúp đỡ
|
||||||
|
@ -966,14 +966,14 @@ vi:
|
||||||
redirecting_to: Tài khoản của bạn đang chuyển hướng đến %{acct}.
|
redirecting_to: Tài khoản của bạn đang chuyển hướng đến %{acct}.
|
||||||
set_redirect: Thiết lập chuyển hướng
|
set_redirect: Thiết lập chuyển hướng
|
||||||
warning:
|
warning:
|
||||||
backreference_required: Tài khoản mới trước tiên phải được cấu hình để tham chiếu lại tài khoản này
|
backreference_required: Bạn cần phải đăng ký tài khoản mới ở máy chủ khác trước
|
||||||
before: 'Trước khi tiếp tục, xin vui lòng đọc các lưu ý:'
|
before: 'Trước khi tiếp tục, xin vui lòng đọc các lưu ý:'
|
||||||
cooldown: Sau khi di chuyển, có thời gian chiêu hồi, trong đó bạn sẽ không thể di chuyển nữa
|
cooldown: Trong thời gian chuyển tài khoản, bạn sẽ không thể sử dụng tài khoản này
|
||||||
disabled_account: Tài khoản hiện tại của bạn sẽ không thể sử dụng đầy đủ sau đó. Tuy nhiên, bạn sẽ có quyền truy cập để xuất dữ liệu cũng như kích hoạt lại.
|
disabled_account: Tài khoản này sẽ không thể tiếp tục sử dụng. Tuy nhiên, bạn có quyền truy cập để xuất dữ liệu cũng như kích hoạt lại.
|
||||||
followers: Hành động này sẽ chuyển tất cả người theo dõi từ tài khoản hiện tại sang tài khoản mới
|
followers: Hành động này sẽ chuyển tất cả người theo dõi từ tài khoản hiện tại sang tài khoản mới
|
||||||
only_redirect_html: Ngoài ra, bạn có thể <a href="%{path}">đặt chuyển hướng trên trang cá nhân của bạn</a>.
|
only_redirect_html: Ngoài ra, bạn có thể <a href="%{path}">đặt chuyển hướng trên trang cá nhân của bạn</a>.
|
||||||
other_data: Dữ liệu khác sẽ không được di chuyển tự động
|
other_data: Dữ liệu khác sẽ không được di chuyển tự động
|
||||||
redirect: Trang cá nhân hiện tại của bạn sẽ được cập nhật với thông báo chuyển hướng và bị loại khỏi các tìm kiếm
|
redirect: Trang cá nhân hiện tại của bạn sẽ hiển thị thông báo chuyển hướng và bị loại khỏi kết quả tìm kiếm
|
||||||
moderation:
|
moderation:
|
||||||
title: Kiểm duyệt
|
title: Kiểm duyệt
|
||||||
move_handler:
|
move_handler:
|
||||||
|
@ -995,8 +995,8 @@ vi:
|
||||||
subject: "%{name} vừa thích tút của bạn"
|
subject: "%{name} vừa thích tút của bạn"
|
||||||
title: Lượt thích mới
|
title: Lượt thích mới
|
||||||
follow:
|
follow:
|
||||||
body: Bạn vừa mới được %{name} theo dõi
|
body: Bạn vừa được %{name} theo dõi!
|
||||||
subject: "%{name} vừa mới theo dõi bạn"
|
subject: "%{name} vừa theo dõi bạn"
|
||||||
title: Người theo dõi mới
|
title: Người theo dõi mới
|
||||||
follow_request:
|
follow_request:
|
||||||
action: Quản lý yêu cầu theo dõi
|
action: Quản lý yêu cầu theo dõi
|
||||||
|
@ -1140,7 +1140,7 @@ vi:
|
||||||
settings:
|
settings:
|
||||||
account: Tài khoản
|
account: Tài khoản
|
||||||
account_settings: Cài đặt tài khoản
|
account_settings: Cài đặt tài khoản
|
||||||
aliases: Định danh tài khoản
|
aliases: Kết nối tài khoản
|
||||||
appearance: Giao diện
|
appearance: Giao diện
|
||||||
authorized_apps: App đã sử dụng
|
authorized_apps: App đã sử dụng
|
||||||
back: Quay lại Mastodon
|
back: Quay lại Mastodon
|
||||||
|
@ -1221,7 +1221,7 @@ vi:
|
||||||
time:
|
time:
|
||||||
formats:
|
formats:
|
||||||
default: "%d.%m.%Y %H:%M"
|
default: "%d.%m.%Y %H:%M"
|
||||||
month: "%b %Y"
|
month: "%B %Y"
|
||||||
two_factor_authentication:
|
two_factor_authentication:
|
||||||
add: Thêm
|
add: Thêm
|
||||||
disable: Vô hiệu hóa
|
disable: Vô hiệu hóa
|
||||||
|
|
|
@ -1,5 +1,91 @@
|
||||||
---
|
---
|
||||||
zgh:
|
zgh:
|
||||||
|
about:
|
||||||
|
about_this: ⵖⴼ
|
||||||
|
unavailable_content_description:
|
||||||
|
domain: ⴰⵎⴰⴽⴽⴰⵢ
|
||||||
|
what_is_mastodon: ⵎⴰ'ⵢⴷ ⵉⴳⴰⵏ ⵎⴰⵙⵜⵔⴷⵓⵎ?
|
||||||
|
accounts:
|
||||||
|
follow: ⴹⴼⵕ
|
||||||
|
never_active: ⵓⵙⴰⵔ
|
||||||
|
roles:
|
||||||
|
group: ⵜⴰⵔⴰⴱⴱⵓⵜ
|
||||||
|
admin:
|
||||||
|
account_moderation_notes:
|
||||||
|
delete: ⴽⴽⵙ
|
||||||
|
accounts:
|
||||||
|
change_email:
|
||||||
|
label: ⵙⵏⴼⵍ ⵉⵎⴰⵢⵍ
|
||||||
|
submit: ⵙⵏⴼⵍ ⵉⵎⴰⵢⵍ
|
||||||
|
confirm: ⵙⵏⵜⵎ
|
||||||
|
delete: ⴽⴽⵙ ⵉⴼⵙⴽⴰ
|
||||||
|
edit: ⵙⵏⴼⵍ
|
||||||
|
email: ⵉⵎⴰⵢⵍ
|
||||||
|
location:
|
||||||
|
all: ⵎⴰⵕⵕⴰ
|
||||||
|
moderation:
|
||||||
|
all: ⵎⴰⵕⵕⴰ
|
||||||
|
public: ⴰⴳⴷⵓⴷⴰⵏ
|
||||||
|
reject: ⴰⴳⵢ
|
||||||
|
title: ⵉⵎⵉⴹⴰⵏⵏ
|
||||||
|
web: ⵡⵉⴱ
|
||||||
|
announcements:
|
||||||
|
live: ⵓⵙⵔⵉⴷ
|
||||||
|
custom_emojis:
|
||||||
|
copy: ⵙⵏⵖⵍ
|
||||||
|
delete: ⴽⴽⵙ
|
||||||
|
emoji: ⵉⵎⵓⵊⵉ
|
||||||
|
email_domain_blocks:
|
||||||
|
delete: ⴽⴽⵙ
|
||||||
|
instances:
|
||||||
|
moderation:
|
||||||
|
all: ⵎⴰⵕⵕⴰ
|
||||||
|
ip_blocks:
|
||||||
|
delete: ⴽⴽⵙ
|
||||||
|
expires_in:
|
||||||
|
'1209600': 2 weeks
|
||||||
|
'15778476': 6 ⵡⴰⵢⵢⵓⵔⵏ
|
||||||
|
'2629746': ⴰⵢⵢⵓⵔ
|
||||||
|
'31556952': ⴰⵙⴳⴳⵯⴰⵙ
|
||||||
|
'86400': ⴰⵙⵙ
|
||||||
|
'94670856': 3 ⵉⵙⴳⴳⵯⴰⵙⵏ
|
||||||
|
relays:
|
||||||
|
delete: ⴽⴽⵙ
|
||||||
|
status: ⴰⴷⴷⴰⴷ
|
||||||
|
reports:
|
||||||
|
notes:
|
||||||
|
delete: ⴽⴽⵙ
|
||||||
|
status: ⴰⴷⴷⴰⴷ
|
||||||
|
settings:
|
||||||
|
site_title: ⵉⵙⵎ ⵏ ⵓⵎⴰⴽⴽⴰⵢ
|
||||||
|
title: ⵜⵉⵙⵖⴰⵍ ⵏ ⵡⴰⵙⵉⵜ
|
||||||
|
statuses:
|
||||||
|
batch:
|
||||||
|
delete: ⴽⴽⵙ
|
||||||
|
media:
|
||||||
|
title: ⵉⵙⵏⵖⵎⵉⵙⵏ
|
||||||
|
with_media: ⵙ ⵉⵙⵏⵖⵎⵉⵙⵏ
|
||||||
|
tags:
|
||||||
|
name: ⵀⴰⵛⵟⴰⴳ
|
||||||
|
title: ⵉⵀⴰⵛⵟⴰⴳⵏ
|
||||||
|
warning_presets:
|
||||||
|
delete: ⴽⴽⵙ
|
||||||
|
application_mailer:
|
||||||
|
view_profile: ⵙⴽⵏ ⵉⴼⵔⵙ
|
||||||
|
auth:
|
||||||
|
change_password: ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ
|
||||||
|
forgot_password: ⵜⴻⵜⵜⵓⴷ ⵜⴰⴳⵓⵔⵉ ⵏ ⵓⵣⵔⴰⵢ ⵏⵏⴽ?
|
||||||
|
login: ⴽⵛⵎ
|
||||||
|
logout: ⴼⴼⵖ
|
||||||
|
or_log_in_with: ⵏⵖ ⴽⵛⵎ ⵙ
|
||||||
|
register: ⵣⵎⵎⴻⵎ
|
||||||
|
status:
|
||||||
|
account_status: ⴰⴷⴷⴰⴷ ⵏ ⵓⵎⵉⴹⴰⵏ
|
||||||
|
authorize_follow:
|
||||||
|
follow: ⴹⴼⵕ
|
||||||
|
title: ⴹⴼⵕ %{acct}
|
||||||
|
deletes:
|
||||||
|
proceed: ⴽⴽⵙ ⴰⵎⵉⴹⴰⵏ
|
||||||
errors:
|
errors:
|
||||||
'400': The request you submitted was invalid or malformed.
|
'400': The request you submitted was invalid or malformed.
|
||||||
'403': You don't have permission to view this page.
|
'403': You don't have permission to view this page.
|
||||||
|
@ -10,3 +96,31 @@ zgh:
|
||||||
'429': Too many requests
|
'429': Too many requests
|
||||||
'500':
|
'500':
|
||||||
'503': The page could not be served due to a temporary server failure.
|
'503': The page could not be served due to a temporary server failure.
|
||||||
|
exports:
|
||||||
|
archive_takeout:
|
||||||
|
date: ⴰⵣⵎⵣ
|
||||||
|
filters:
|
||||||
|
index:
|
||||||
|
delete: ⴽⴽⵙ
|
||||||
|
footer:
|
||||||
|
more: ⵓⴳⴳⴰⵔ…
|
||||||
|
generic:
|
||||||
|
all: ⵎⴰⵕⵕⴰ
|
||||||
|
copy: ⵙⵏⵖⵍ
|
||||||
|
delete: ⴽⴽⵙ
|
||||||
|
invites:
|
||||||
|
expires_in:
|
||||||
|
'1800': 30 ⵜⵓⵙⴷⵉⴷⵉⵏ
|
||||||
|
'21600': 6 ⵜⵙⵔⴰⴳⵉⵏ
|
||||||
|
'3600': ⵜⴰⵙⵔⴰⴳⵜ
|
||||||
|
'43200': 12 ⵜⵙⵔⴰⴳⵉⵏ
|
||||||
|
'604800': ⵉⵎⴰⵍⴰⵙⵙ
|
||||||
|
'86400': ⴰⵙⵙ
|
||||||
|
expires_in_prompt: ⵓⵙⴰⵔ
|
||||||
|
notification_mailer:
|
||||||
|
mention:
|
||||||
|
action: ⵔⴰⵔ
|
||||||
|
settings:
|
||||||
|
account: ⴰⵎⵉⴹⴰⵏ
|
||||||
|
account_settings: ⵜⵉⵙⵖⴰⵍ ⵏ ⵓⵎⵉⴹⴰⵏ
|
||||||
|
profile: ⵉⴼⵔⵙ
|
||||||
|
|
28
package.json
28
package.json
|
@ -66,8 +66,8 @@
|
||||||
"@babel/plugin-transform-react-inline-elements": "^7.12.1",
|
"@babel/plugin-transform-react-inline-elements": "^7.12.1",
|
||||||
"@babel/plugin-transform-runtime": "^7.12.1",
|
"@babel/plugin-transform-runtime": "^7.12.1",
|
||||||
"@babel/preset-env": "^7.12.1",
|
"@babel/preset-env": "^7.12.1",
|
||||||
"@babel/preset-react": "^7.12.1",
|
"@babel/preset-react": "^7.12.5",
|
||||||
"@babel/runtime": "^7.12.1",
|
"@babel/runtime": "^7.12.5",
|
||||||
"@clusterws/cws": "^3.0.0",
|
"@clusterws/cws": "^3.0.0",
|
||||||
"@gamestdio/websocket": "^0.3.2",
|
"@gamestdio/websocket": "^0.3.2",
|
||||||
"@github/webauthn-json": "^0.5.7",
|
"@github/webauthn-json": "^0.5.7",
|
||||||
|
@ -85,9 +85,9 @@
|
||||||
"babel-runtime": "^6.26.0",
|
"babel-runtime": "^6.26.0",
|
||||||
"blurhash": "^1.1.3",
|
"blurhash": "^1.1.3",
|
||||||
"classnames": "^2.2.5",
|
"classnames": "^2.2.5",
|
||||||
"compression-webpack-plugin": "^6.0.4",
|
"compression-webpack-plugin": "^6.1.0",
|
||||||
"cross-env": "^7.0.2",
|
"cross-env": "^7.0.2",
|
||||||
"css-loader": "^5.0.0",
|
"css-loader": "^5.0.1",
|
||||||
"cssnano": "^4.1.10",
|
"cssnano": "^4.1.10",
|
||||||
"detect-passive-events": "^2.0.1",
|
"detect-passive-events": "^2.0.1",
|
||||||
"dotenv": "^8.2.0",
|
"dotenv": "^8.2.0",
|
||||||
|
@ -113,7 +113,7 @@
|
||||||
"lodash": "^4.17.19",
|
"lodash": "^4.17.19",
|
||||||
"mark-loader": "^0.1.6",
|
"mark-loader": "^0.1.6",
|
||||||
"marky": "^1.2.1",
|
"marky": "^1.2.1",
|
||||||
"mini-css-extract-plugin": "^1.2.1",
|
"mini-css-extract-plugin": "^1.3.0",
|
||||||
"mkdirp": "^1.0.4",
|
"mkdirp": "^1.0.4",
|
||||||
"npmlog": "^4.1.2",
|
"npmlog": "^4.1.2",
|
||||||
"object-assign": "^4.1.1",
|
"object-assign": "^4.1.1",
|
||||||
|
@ -144,7 +144,7 @@
|
||||||
"react-select": "^3.1.0",
|
"react-select": "^3.1.0",
|
||||||
"react-sparklines": "^1.7.0",
|
"react-sparklines": "^1.7.0",
|
||||||
"react-swipeable-views": "^0.13.9",
|
"react-swipeable-views": "^0.13.9",
|
||||||
"react-textarea-autosize": "^8.2.0",
|
"react-textarea-autosize": "^8.3.0",
|
||||||
"react-toggle": "^4.1.1",
|
"react-toggle": "^4.1.1",
|
||||||
"redis": "^3.0.2",
|
"redis": "^3.0.2",
|
||||||
"redux": "^4.0.5",
|
"redux": "^4.0.5",
|
||||||
|
@ -155,8 +155,8 @@
|
||||||
"requestidlecallback": "^0.3.0",
|
"requestidlecallback": "^0.3.0",
|
||||||
"reselect": "^4.0.0",
|
"reselect": "^4.0.0",
|
||||||
"rimraf": "^3.0.2",
|
"rimraf": "^3.0.2",
|
||||||
"sass": "^1.28.0",
|
"sass": "^1.29.0",
|
||||||
"sass-loader": "^10.0.4",
|
"sass-loader": "^10.0.5",
|
||||||
"stacktrace-js": "^2.0.2",
|
"stacktrace-js": "^2.0.2",
|
||||||
"stringz": "^2.1.0",
|
"stringz": "^2.1.0",
|
||||||
"substring-trie": "^1.0.2",
|
"substring-trie": "^1.0.2",
|
||||||
|
@ -167,22 +167,22 @@
|
||||||
"uuid": "^8.3.1",
|
"uuid": "^8.3.1",
|
||||||
"webpack": "^4.44.2",
|
"webpack": "^4.44.2",
|
||||||
"webpack-assets-manifest": "^3.1.1",
|
"webpack-assets-manifest": "^3.1.1",
|
||||||
"webpack-bundle-analyzer": "^3.9.0",
|
"webpack-bundle-analyzer": "^4.1.0",
|
||||||
"webpack-cli": "^3.3.12",
|
"webpack-cli": "^3.3.12",
|
||||||
"webpack-merge": "^5.0.9",
|
"webpack-merge": "^5.3.0",
|
||||||
"wicg-inert": "^3.1.0"
|
"wicg-inert": "^3.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@testing-library/jest-dom": "^5.11.5",
|
"@testing-library/jest-dom": "^5.11.5",
|
||||||
"@testing-library/react": "^11.1.0",
|
"@testing-library/react": "^11.1.1",
|
||||||
"babel-eslint": "^10.1.0",
|
"babel-eslint": "^10.1.0",
|
||||||
"babel-jest": "^26.6.1",
|
"babel-jest": "^26.6.3",
|
||||||
"eslint": "^7.12.1",
|
"eslint": "^7.13.0",
|
||||||
"eslint-plugin-import": "~2.22.1",
|
"eslint-plugin-import": "~2.22.1",
|
||||||
"eslint-plugin-jsx-a11y": "~6.4.1",
|
"eslint-plugin-jsx-a11y": "~6.4.1",
|
||||||
"eslint-plugin-promise": "~4.2.1",
|
"eslint-plugin-promise": "~4.2.1",
|
||||||
"eslint-plugin-react": "~7.21.5",
|
"eslint-plugin-react": "~7.21.5",
|
||||||
"jest": "^26.6.1",
|
"jest": "^26.6.3",
|
||||||
"raf": "^3.4.1",
|
"raf": "^3.4.1",
|
||||||
"react-intl-translations-manager": "^5.0.3",
|
"react-intl-translations-manager": "^5.0.3",
|
||||||
"react-test-renderer": "^16.14.0",
|
"react-test-renderer": "^16.14.0",
|
||||||
|
|
|
@ -817,4 +817,27 @@ RSpec.describe Account, type: :model do
|
||||||
|
|
||||||
include_examples 'AccountAvatar', :account
|
include_examples 'AccountAvatar', :account
|
||||||
include_examples 'AccountHeader', :account
|
include_examples 'AccountHeader', :account
|
||||||
|
|
||||||
|
describe '#increment_count!' do
|
||||||
|
subject { Fabricate(:account) }
|
||||||
|
|
||||||
|
it 'increments the count in multi-threaded an environment when account_stat is not yet initialized' do
|
||||||
|
subject
|
||||||
|
|
||||||
|
increment_by = 15
|
||||||
|
wait_for_start = true
|
||||||
|
|
||||||
|
threads = Array.new(increment_by) do
|
||||||
|
Thread.new do
|
||||||
|
true while wait_for_start
|
||||||
|
Account.find(subject.id).increment_count!(:followers_count)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
wait_for_start = false
|
||||||
|
threads.each(&:join)
|
||||||
|
|
||||||
|
expect(subject.reload.followers_count).to eq 15
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue