Compare commits

...

1 commit

Author SHA1 Message Date
Eugen Rochko
d84d9fbed9 Change interaction modal in web UI 2023-07-03 22:45:32 +02:00
102 changed files with 380 additions and 1074 deletions

View file

@ -0,0 +1,12 @@
# frozen_string_literal: true
class InstancesIndex < Chewy::Index
settings index: { refresh_interval: '30s' }
index_scope ::Instance.searchable
root date_detection: false do
field :domain, type: 'text', index_prefixes: { min_chars: 1 }
field :accounts_count, type: 'long'
end
end

View file

@ -15,7 +15,7 @@ class Api::V1::Instances::PeersController < Api::BaseController
def index def index
cache_even_if_authenticated! cache_even_if_authenticated!
render_with_cache(expires_in: 1.day) { Instance.where.not(domain: DomainBlock.select(:domain)).pluck(:domain) } render_with_cache(expires_in: 1.day) { Instance.searchable.pluck(:domain) }
end end
private private

View file

@ -0,0 +1,39 @@
# frozen_string_literal: true
class Api::V1::Peers::SearchController < Api::BaseController
before_action :require_enabled_api!
before_action :set_domains
skip_before_action :require_authenticated_user!, unless: :whitelist_mode?
skip_around_action :set_locale
vary_by ''
def index
cache_even_if_authenticated!
render json: @domains
end
private
def require_enabled_api!
head 404 unless Setting.peers_api_enabled && Chewy.enabled? && !whitelist_mode?
end
def set_domains
return if params[:q].blank?
@domains = InstancesIndex.query(function_score: {
query: {
prefix: {
domain: params[:q],
},
},
field_value_factor: {
field: 'accounts_count',
modifier: 'log2p',
},
}).limit(10).pluck(:domain)
end
end

View file

@ -3,32 +3,19 @@
class AuthorizeInteractionsController < ApplicationController class AuthorizeInteractionsController < ApplicationController
include Authorization include Authorization
layout 'modal'
before_action :authenticate_user! before_action :authenticate_user!
before_action :set_body_classes
before_action :set_resource before_action :set_resource
def show def show
if @resource.is_a?(Account) if @resource.is_a?(Account)
render :show redirect_to web_url("@#{@resource.pretty_acct}")
elsif @resource.is_a?(Status) elsif @resource.is_a?(Status)
redirect_to web_url("@#{@resource.account.pretty_acct}/#{@resource.id}") redirect_to web_url("@#{@resource.account.pretty_acct}/#{@resource.id}")
else else
render :error not_found
end end
end end
def create
if @resource.is_a?(Account) && FollowService.new.call(current_account, @resource, with_rate_limit: true)
render :success
else
render :error
end
rescue ActiveRecord::RecordNotFound
render :error
end
private private
def set_resource def set_resource
@ -61,8 +48,4 @@ class AuthorizeInteractionsController < ApplicationController
def uri_param def uri_param
params[:uri] || params.fetch(:acct, '').delete_prefix('acct:') params[:uri] || params.fetch(:acct, '').delete_prefix('acct:')
end end
def set_body_classes
@body_classes = 'modal-layout'
end
end end

View file

@ -19,6 +19,7 @@ module WellKnown
def set_account def set_account
username = username_from_resource username = username_from_resource
@account = begin @account = begin
if username == Rails.configuration.x.local_domain if username == Rails.configuration.x.local_domain
Account.representative Account.representative

View file

@ -25,8 +25,7 @@ export default class ModalRoot extends PureComponent {
activeElement = this.props.children ? document.activeElement : null; activeElement = this.props.children ? document.activeElement : null;
handleKeyUp = (e) => { handleKeyUp = (e) => {
if ((e.key === 'Escape' || e.key === 'Esc' || e.keyCode === 27) if (e.key === 'Escape' && !!this.props.children) {
&& !!this.props.children) {
this.props.onClose(); this.props.onClose();
} }
}; };

View file

@ -139,10 +139,6 @@ class Search extends PureComponent {
this.setState({ expanded: false, selectedOption: -1 }); this.setState({ expanded: false, selectedOption: -1 });
}; };
findTarget = () => {
return this.searchForm;
};
handleHashtagClick = () => { handleHashtagClick = () => {
const { router } = this.context; const { router } = this.context;
const { value, onClickSearchResult } = this.props; const { value, onClickSearchResult } = this.props;

View file

@ -1,95 +1,253 @@
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { PureComponent } from 'react'; import React from 'react';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
import classNames from 'classnames'; import classNames from 'classnames';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { throttle, escapeRegExp } from 'lodash';
import { openModal, closeModal } from 'mastodon/actions/modal'; import { openModal, closeModal } from 'mastodon/actions/modal';
import api from 'mastodon/api';
import Button from 'mastodon/components/button';
import { Icon } from 'mastodon/components/icon'; import { Icon } from 'mastodon/components/icon';
import { registrationsOpen } from 'mastodon/initial_state'; import { registrationsOpen } from 'mastodon/initial_state';
const messages = defineMessages({
loginPrompt: { id: 'interaction_modal.login.prompt', defaultMessage: 'Domain of your home server, e.g. mastodon.social' },
});
const mapStateToProps = (state, { accountId }) => ({ const mapStateToProps = (state, { accountId }) => ({
displayNameHtml: state.getIn(['accounts', accountId, 'display_name_html']), displayNameHtml: state.getIn(['accounts', accountId, 'display_name_html']),
signupUrl: state.getIn(['server', 'server', 'registrations', 'url'], null) || '/auth/sign_up',
}); });
const mapDispatchToProps = (dispatch) => ({ const mapDispatchToProps = (dispatch) => ({
onSignupClick() { onSignupClick() {
dispatch(closeModal({ dispatch(closeModal());
modalType: undefined, dispatch(openModal('CLOSED_REGISTRATIONS'));
ignoreFocus: false,
}));
dispatch(openModal({ modalType: 'CLOSED_REGISTRATIONS' }));
}, },
}); });
class Copypaste extends PureComponent { const PERSISTENCE_KEY = 'mastodon_home';
const isValidDomain = value => {
const url = new URL('https:///path');
url.hostname = value;
return url.hostname === value;
};
const valueToDomain = value => {
// If the user uses a URL to their profile page or server
if (/^https?:\/\//.test(value)) {
try {
return (new URL(value)).host;
} catch {
return '';
}
// If the user writes their full handle including username
} else if (value.includes('@')) {
const segments = value.split('@');
if (segments.length === 2) {
return segments[1];
} else {
return '';
}
}
return value;
};
class LoginForm extends React.PureComponent {
static propTypes = { static propTypes = {
value: PropTypes.string, resourceUrl: PropTypes.string,
intl: PropTypes.object.isRequired,
}; };
state = { state = {
copied: false, value: localStorage ? (localStorage.getItem(PERSISTENCE_KEY) || '') : '',
expanded: false,
selectedOption: -1,
isLoading: false,
isSubmitting: false,
error: false,
options: [],
}; };
setRef = c => { setRef = c => {
this.input = c; this.input = c;
}; };
handleInputClick = () => { handleChange = ({ target }) => {
this.setState({ copied: false }); this.setState({ value: target.value, isLoading: true, error: false }, () => this._loadOptions());
this.input.focus();
this.input.select();
this.input.setSelectionRange(0, this.input.value.length);
}; };
handleButtonClick = () => { handleSubmit = () => {
const { value } = this.props; const { value } = this.state;
navigator.clipboard.writeText(value); const { resourceUrl } = this.props;
this.input.blur();
this.setState({ copied: true }); const domain = valueToDomain(value);
this.timeout = setTimeout(() => this.setState({ copied: false }), 700);
if (!isValidDomain(domain)) {
this.setState({ error: true });
return;
}
if (localStorage) {
localStorage.setItem(PERSISTENCE_KEY, domain);
}
const fallbackUrl = `https://${domain}/authorize_interaction?uri={uri}`;
this.setState({ isSubmitting: true });
api().get(`https://${domain}/.well-known/webfinger`, { params: { resource: domain } }).then(({ data }) => {
const template = data.links.find(link => link.rel === 'http://ostatus.org/schema/1.0/subscribe')?.template;
window.location.href = (template || fallbackUrl).replace('{uri}', encodeURIComponent(resourceUrl));
}).catch(() => {
this.setState({ isSubmitting: false });
window.location.href = fallbackUrl.replace('{uri}', encodeURIComponent(resourceUrl));
});
}; };
componentWillUnmount () { handleFocus = () => {
if (this.timeout) clearTimeout(this.timeout); this.setState({ expanded: true });
} };
handleBlur = () => {
this.setState({ expanded: false });
};
handleKeyDown = (e) => {
const { options, selectedOption } = this.state;
switch(e.key) {
case 'ArrowDown':
e.preventDefault();
if (options.length > 0) {
this.setState({ selectedOption: Math.min(selectedOption + 1, options.length - 1) });
}
break;
case 'ArrowUp':
e.preventDefault();
if (options.length > 0) {
this.setState({ selectedOption: Math.max(selectedOption - 1, -1) });
}
break;
case 'Enter':
e.preventDefault();
if (selectedOption === -1) {
this.handleSubmit();
} else if (options.length > 0) {
this.setState({ value: options[selectedOption], error: false }, () => this.handleSubmit());
}
break;
}
};
handleOptionClick = e => {
const index = Number(e.currentTarget.getAttribute('data-index'));
const option = this.state.options[index];
e.preventDefault();
this.setState({ selectedOption: index, value: option, error: false }, () => this.handleSubmit());
};
_loadOptions = throttle(() => {
const { value } = this.state;
const domain = valueToDomain(value);
if (domain.trim().length === 0) {
this.setState({ options: [], isLoading: false, error: value.trim().length > 0 });
return;
}
api().get('/api/v1/peers/search', { params: { q: domain } }).then(({ data }) => {
if (!data) {
data = [];
}
if (domain.includes('.') && !data.includes(domain) && isValidDomain(domain)) {
data.unshift(domain);
}
this.setState({ options: data, isLoading: false });
}).catch(() => {
this.setState({ isLoading: false });
});
}, 200, { leading: true, trailing: true });
render () { render () {
const { value } = this.props; const { intl } = this.props;
const { copied } = this.state; const { value, expanded, options, selectedOption, error, isSubmitting } = this.state;
const domain = valueToDomain(value).trim();
const domainRegExp = new RegExp(`(${escapeRegExp(domain)})`, 'gi');
const hasPopOut = domain.length > 0 && options.length > 0;
return ( return (
<div className={classNames('copypaste', { copied })}> <div className={classNames('interaction-modal__login', { focused: expanded, expanded: hasPopOut, invalid: error })}>
<input <div className='interaction-modal__login__input'>
type='text' <input
ref={this.setRef} ref={this.setRef}
value={value} type='text'
readOnly value={value}
onClick={this.handleInputClick} placeholder={intl.formatMessage(messages.loginPrompt)}
/> aria-label={intl.formatMessage(messages.loginPrompt)}
autoFocus
onChange={this.handleChange}
onFocus={this.handleFocus}
onBlur={this.handleBlur}
onKeyDown={this.handleKeyDown}
/>
<button className='button' onClick={this.handleButtonClick}> <Button onClick={this.handleSubmit} disabled={isSubmitting}><FormattedMessage id='interaction_modal.login.action' defaultMessage='Take me home' /></Button>
{copied ? <FormattedMessage id='copypaste.copied' defaultMessage='Copied' /> : <FormattedMessage id='copypaste.copy' defaultMessage='Copy' />} </div>
</button>
{hasPopOut && (
<div className='search__popout'>
<div className='search__popout__menu'>
{options.map((option, i) => (
<button key={option} onMouseDown={this.handleOptionClick} data-index={i} className={classNames('search__popout__menu__item', { selected: selectedOption === i })}>
{option.split(domainRegExp).map((part, i) => (
part.toLowerCase() === domain.toLowerCase() ? (
<mark key={i}>
{part}
</mark>
) : (
<span key={i}>
{part}
</span>
)
))}
</button>
))}
</div>
</div>
)}
</div> </div>
); );
} }
} }
class InteractionModal extends PureComponent { const IntlLoginForm = injectIntl(LoginForm);
class InteractionModal extends React.PureComponent {
static propTypes = { static propTypes = {
displayNameHtml: PropTypes.string, displayNameHtml: PropTypes.string,
url: PropTypes.string, url: PropTypes.string,
type: PropTypes.oneOf(['reply', 'reblog', 'favourite', 'follow']), type: PropTypes.oneOf(['reply', 'reblog', 'favourite', 'follow']),
onSignupClick: PropTypes.func.isRequired, onSignupClick: PropTypes.func.isRequired,
signupUrl: PropTypes.string.isRequired,
}; };
handleSignupClick = () => { handleSignupClick = () => {
@ -97,7 +255,7 @@ class InteractionModal extends PureComponent {
}; };
render () { render () {
const { url, type, displayNameHtml, signupUrl } = this.props; const { url, type, displayNameHtml } = this.props;
const name = <bdi dangerouslySetInnerHTML={{ __html: displayNameHtml }} />; const name = <bdi dangerouslySetInnerHTML={{ __html: displayNameHtml }} />;
@ -130,13 +288,13 @@ class InteractionModal extends PureComponent {
if (registrationsOpen) { if (registrationsOpen) {
signupButton = ( signupButton = (
<a href={signupUrl} className='button button--block button-tertiary'> <a href='/auth/sign_up' className='link-button'>
<FormattedMessage id='sign_in_banner.create_account' defaultMessage='Create account' /> <FormattedMessage id='sign_in_banner.create_account' defaultMessage='Create account' />
</a> </a>
); );
} else { } else {
signupButton = ( signupButton = (
<button className='button button--block button-tertiary' onClick={this.handleSignupClick}> <button className='link-button' onClick={this.handleSignupClick}>
<FormattedMessage id='sign_in_banner.create_account' defaultMessage='Create account' /> <FormattedMessage id='sign_in_banner.create_account' defaultMessage='Create account' />
</button> </button>
); );
@ -146,22 +304,12 @@ class InteractionModal extends PureComponent {
<div className='modal-root__modal interaction-modal'> <div className='modal-root__modal interaction-modal'>
<div className='interaction-modal__lead'> <div className='interaction-modal__lead'>
<h3><span className='interaction-modal__icon'>{icon}</span> {title}</h3> <h3><span className='interaction-modal__icon'>{icon}</span> {title}</h3>
<p>{actionDescription} <FormattedMessage id='interaction_modal.preamble' defaultMessage="Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one." /></p> <p>{actionDescription} <strong><FormattedMessage id='interaction_modal.sign_in' defaultMessage='You are not signed in. Where is your account hosted?' /></strong> <FormattedMessage id='interaction_modal.sign_in_hint' defaultMessage="Tip: It's the second half of your username." /></p>
</div> </div>
<div className='interaction-modal__choices'> <IntlLoginForm resourceUrl={url} />
<div className='interaction-modal__choices__choice'>
<h3><FormattedMessage id='interaction_modal.on_this_server' defaultMessage='On this server' /></h3>
<a href='/auth/sign_in' className='button button--block'><FormattedMessage id='sign_in_banner.sign_in' defaultMessage='Login' /></a>
{signupButton}
</div>
<div className='interaction-modal__choices__choice'> <p><FormattedMessage id='interaction_modal.no_account_yet' defaultMessage='Not on Mastodon?' /> {signupButton}</p>
<h3><FormattedMessage id='interaction_modal.on_another_server' defaultMessage='On a different server' /></h3>
<p><FormattedMessage id='interaction_modal.other_server_instructions' defaultMessage='Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.' /></p>
<Copypaste value={url} />
</div>
</div>
</div> </div>
); );
} }

View file

@ -189,7 +189,6 @@
"conversation.open": "View conversation", "conversation.open": "View conversation",
"conversation.with": "With {names}", "conversation.with": "With {names}",
"copypaste.copied": "Copied", "copypaste.copied": "Copied",
"copypaste.copy": "Copy",
"copypaste.copy_to_clipboard": "Copy to clipboard", "copypaste.copy_to_clipboard": "Copy to clipboard",
"directory.federated": "From known fediverse", "directory.federated": "From known fediverse",
"directory.local": "From {domain} only", "directory.local": "From {domain} only",
@ -309,10 +308,13 @@
"interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
"interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
"interaction_modal.login.action": "Take me home",
"interaction_modal.login.prompt": "Domain of your home server, e.g. mastodon.social",
"interaction_modal.no_account_yet": "Not on Mastodon?",
"interaction_modal.on_another_server": "On a different server", "interaction_modal.on_another_server": "On a different server",
"interaction_modal.on_this_server": "On this server", "interaction_modal.on_this_server": "On this server",
"interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.sign_in": "You are not signed in. Where is your account hosted?",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.sign_in_hint": "Tip: It's the second half of your username.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Favourite {name}'s post",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Follow {name}",
"interaction_modal.title.reblog": "Boost {name}'s post", "interaction_modal.title.reblog": "Boost {name}'s post",

View file

@ -8373,13 +8373,13 @@ noscript {
.interaction-modal { .interaction-modal {
max-width: 90vw; max-width: 90vw;
width: 600px; width: 600px;
background: $ui-base-color; background: var(--modal-background-color);
border: 1px solid var(--modal-border-color);
border-radius: 8px; border-radius: 8px;
overflow-x: hidden; overflow: visible;
overflow-y: auto;
position: relative; position: relative;
display: block; display: block;
padding: 20px; padding: 40px;
h3 { h3 {
font-size: 22px; font-size: 22px;
@ -8388,63 +8388,95 @@ noscript {
text-align: center; text-align: center;
} }
p {
font-size: 17px;
line-height: 22px;
color: $darker-text-color;
strong {
color: $primary-text-color;
font-weight: 700;
}
}
&__icon { &__icon {
color: $highlight-text-color; color: $highlight-text-color;
margin: 0 5px; margin: 0 5px;
} }
&__lead { &__lead {
padding: 20px; margin-bottom: 20px;
text-align: center;
h3 { h3 {
margin-bottom: 15px; margin-bottom: 15px;
} }
p {
font-size: 17px;
line-height: 22px;
color: $darker-text-color;
}
} }
&__choices { &__login {
display: flex; position: relative;
margin-bottom: 20px;
&__choice { &__input {
flex: 0 0 auto; @include search-input;
width: 50%;
box-sizing: border-box;
padding: 20px;
h3 { border: 1px solid lighten($ui-base-color, 8%);
margin-bottom: 20px; padding: 4px 6px;
} color: $primary-text-color;
font-size: 16px;
line-height: 18px;
display: flex;
align-items: center;
p { input {
color: $darker-text-color; background: transparent;
margin-bottom: 20px; color: inherit;
font: inherit;
border: 0;
padding: 15px - 4px 15px - 6px;
flex: 1 1 auto;
&::placeholder {
color: lighten($darker-text-color, 4%);
}
&:focus {
outline: 0;
}
} }
.button { .button {
margin-bottom: 10px; flex: 0 0 auto;
&:last-child {
margin-bottom: 0;
}
} }
} }
.search__popout {
margin-top: -1px;
padding-top: 5px;
padding-bottom: 5px;
border: 1px solid lighten($ui-base-color, 8%);
}
&.focused &__input {
border-color: $highlight-text-color;
background: lighten($ui-base-color, 4%);
}
&.invalid &__input {
border-color: $error-red;
}
&.expanded .search__popout {
display: block;
}
&.expanded &__input {
border-radius: 4px 4px 0 0;
}
} }
@media screen and (max-width: $no-gap-breakpoint - 1px) { .link-button {
&__choices { font-size: inherit;
display: block; display: inline;
&__choice {
width: auto;
margin-bottom: 20px;
}
}
} }
} }

View file

@ -92,4 +92,6 @@ $font-monospace: 'mastodon-font-monospace' !default;
--dropdown-background-color: #{lighten($ui-base-color, 4%)}; --dropdown-background-color: #{lighten($ui-base-color, 4%)};
--dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)}, --dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)},
0 8px 10px -6px #{rgba($base-shadow-color, 0.25)}; 0 8px 10px -6px #{rgba($base-shadow-color, 0.25)};
--modal-background-color: #{darken($ui-base-color, 4%)};
--modal-border-color: #{lighten($ui-base-color, 4%)};
} }

View file

@ -0,0 +1,26 @@
# frozen_string_literal: true
class Importer::InstancesIndexImporter < Importer::BaseImporter
def import!
index.adapter.default_scope.find_in_batches(batch_size: @batch_size) do |tmp|
in_work_unit(tmp) do |instances|
bulk = Chewy::Index::Import::BulkBuilder.new(index, to_index: instances).bulk_body
indexed = bulk.count { |entry| entry[:index] }
deleted = bulk.count { |entry| entry[:delete] }
Chewy::Index::Import::BulkRequest.new(index).perform(bulk)
[indexed, deleted]
end
end
wait!
end
private
def index
InstancesIndex
end
end

View file

@ -11,6 +11,8 @@ class WebfingerResource
def username def username
case resource case resource
when Rails.configuration.x.local_domain
Rails.configuration.x.local_domain
when /\Ahttps?/i when /\Ahttps?/i
username_from_url username_from_url
when /@/ when /@/

View file

@ -21,6 +21,7 @@ class Instance < ApplicationRecord
belongs_to :unavailable_domain # skipcq: RB-RL1031 belongs_to :unavailable_domain # skipcq: RB-RL1031
end end
scope :searchable, -> { where.not(domain: DomainBlock.select(:domain)) }
scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) } scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) }
scope :by_domain_and_subdomains, ->(domain) { where("reverse('.' || domain) LIKE reverse(?)", "%.#{domain}") } scope :by_domain_and_subdomains, ->(domain) { where("reverse('.' || domain) LIKE reverse(?)", "%.#{domain}") }

View file

@ -22,6 +22,7 @@ class WebfingerSerializer < ActiveModel::Serializer
[ [
{ rel: 'http://webfinger.net/rel/profile-page', type: 'text/html', href: about_more_url(instance_actor: true) }, { rel: 'http://webfinger.net/rel/profile-page', type: 'text/html', href: about_more_url(instance_actor: true) },
{ rel: 'self', type: 'application/activity+json', href: instance_actor_url }, { rel: 'self', type: 'application/activity+json', href: instance_actor_url },
{ rel: 'http://ostatus.org/schema/1.0/subscribe', template: "#{authorize_interaction_url}?uri={uri}" },
] ]
else else
[ [

View file

@ -1,4 +0,0 @@
.post-follow-actions
%div= link_to t('authorize_follow.post_follow.web'), web_url("@#{@resource.pretty_acct}"), class: 'button button--block'
%div= link_to t('authorize_follow.post_follow.return'), ActivityPub::TagManager.instance.url_for(@resource), class: 'button button--block'
%div= t('authorize_follow.post_follow.close')

View file

@ -1,3 +0,0 @@
.form-container
.flash-message#error_explanation
= t('authorize_follow.error')

View file

@ -1,24 +0,0 @@
- content_for :page_title do
= t('authorize_follow.title', acct: @resource.pretty_acct)
.form-container
.follow-prompt
= render 'application/card', account: @resource
- if current_account.following?(@resource)
.flash-message
%strong
= t('authorize_follow.already_following')
= render 'post_follow_actions'
- elsif current_account.requested?(@resource)
.flash-message
%strong
= t('authorize_follow.already_requested')
= render 'post_follow_actions'
- else
= form_tag authorize_interaction_path, method: :post, class: 'simple_form' do
= hidden_field_tag :action, :follow
= hidden_field_tag :acct, @resource.acct
= button_tag t('authorize_follow.follow'), type: :submit

View file

@ -1,13 +0,0 @@
- content_for :page_title do
= t('authorize_follow.title', acct: @resource.pretty_acct)
.form-container
.follow-prompt
- if @resource.locked?
%h2= t('authorize_follow.follow_request')
- else
%h2= t('authorize_follow.following')
= render 'application/card', account: @resource
= render 'post_follow_actions'

View file

@ -7,5 +7,6 @@ class Scheduler::InstanceRefreshScheduler
def perform def perform
Instance.refresh Instance.refresh
InstancesIndex.import if Chewy.enabled?
end end
end end

View file

@ -984,18 +984,6 @@ an:
view_strikes: Veyer amonestacions pasadas contra la tuya cuenta view_strikes: Veyer amonestacions pasadas contra la tuya cuenta
too_fast: Formulario ninviau masiau rapido, lo intente de nuevo. too_fast: Formulario ninviau masiau rapido, lo intente de nuevo.
use_security_key: Usar la clau de seguranza use_security_key: Usar la clau de seguranza
authorize_follow:
already_following: Ya yes seguindo a esta cuenta
already_requested: Ya has ninviau una solicitut de seguimiento a ixa cuenta
error: Desafortunadament, ha ocurriu una error buscando la cuenta remota
follow: Seguir
follow_request: 'Tiens una solicitut de seguimiento de:'
following: 'Exito! Agora yes seguindo a:'
post_follow:
close: U, puetz simplament zarrar esta finestra.
return: Tornar ta lo perfil de l'usuario
web: Ir ta lo puesto web
title: Seguir a %{acct}
challenge: challenge:
confirm: Continar confirm: Continar
hint_html: "<strong>Tip:</strong> No tornaremos a preguntar-te per la clau entre la siguient hora." hint_html: "<strong>Tip:</strong> No tornaremos a preguntar-te per la clau entre la siguient hora."

View file

@ -1050,18 +1050,6 @@ ar:
view_strikes: عرض السجلات السابقة ضد حسابك view_strikes: عرض السجلات السابقة ضد حسابك
too_fast: تم إرسال النموذج بسرعة كبيرة، حاول مرة أخرى. too_fast: تم إرسال النموذج بسرعة كبيرة، حاول مرة أخرى.
use_security_key: استخدام مفتاح الأمان use_security_key: استخدام مفتاح الأمان
authorize_follow:
already_following: أنت تتابع بالفعل هذا الحساب
already_requested: لقد قُمتَ بإرسال طلب متابَعة إلى هذا الحساب مِن قَبل
error: يا للأسف، وقع هناك خطأ إثر عملية البحث عن الحساب عن بعد
follow: اتبع
follow_request: 'لقد قمت بإرسال طلب متابعة إلى:'
following: 'مرحى! أنت الآن تتبع:'
post_follow:
close: أو يمكنك إغلاق هذه النافذة.
return: اظهر الملف التعريفي للمستخدم
web: واصل إلى الويب
title: إتباع %{acct}
challenge: challenge:
confirm: واصل confirm: واصل
hint_html: "<strong>توصية:</strong> لن نطلب منك ثانية كلمتك السرية في غضون الساعة اللاحقة." hint_html: "<strong>توصية:</strong> لن نطلب منك ثانية كلمتك السرية في غضون الساعة اللاحقة."

View file

@ -482,15 +482,6 @@ ast:
functional: La cuenta ta completamente operativa. functional: La cuenta ta completamente operativa.
pending: La to solicitú ta pendiente de que la revise'l nuesu personal ya ye posible que tarde tiempu. Vas recibir un mensaxe si s'aprueba. pending: La to solicitú ta pendiente de que la revise'l nuesu personal ya ye posible que tarde tiempu. Vas recibir un mensaxe si s'aprueba.
too_fast: El formulariu xubióse mui rápido, volvi tentalo. too_fast: El formulariu xubióse mui rápido, volvi tentalo.
authorize_follow:
already_following: Xá tas siguiendo a esta cuenta
already_requested: Yá unviesti una solicitú de siguimientu a esa cuenta
error: Desafortunadamente, hebo un error al buscar la cuenta remota
follow_request: 'Unviesti una solicitú de siguimientu a:'
post_follow:
close: O pues zarrar esta ventana.
return: Amosar el perfil de la cuenta
web: Dir a la web
challenge: challenge:
confirm: Siguir confirm: Siguir
hint_html: "<strong>Conseyu:</strong> nun vamos volver pidite la contraseña hasta dientro d'una hora." hint_html: "<strong>Conseyu:</strong> nun vamos volver pidite la contraseña hasta dientro d'una hora."

View file

@ -1077,18 +1077,6 @@ be:
view_strikes: Праглядзець мінулыя папярэджанні для вашага ўліковага запісу view_strikes: Праглядзець мінулыя папярэджанні для вашага ўліковага запісу
too_fast: Форма адпраўлена занадта хутка, паспрабуйце яшчэ раз. too_fast: Форма адпраўлена занадта хутка, паспрабуйце яшчэ раз.
use_security_key: Выкарыстаеце ключ бяспекі use_security_key: Выкарыстаеце ключ бяспекі
authorize_follow:
already_following: Вы ўжо падпісаныя на гэты ўліковы запіс
already_requested: Вы ўжо адправілі запыт на гэты ўліковы запіс
error: На жаль, падчас пошуку аддаленага ўліковага запісу здарылася памылка
follow: Падпісацца
follow_request: 'Вы адправілі запыт на падпіску:'
following: 'Поспех! Цяпер вы падпісаны на:'
post_follow:
close: Або, вы можаце проста закрыць гэтае акно.
return: Паказаць профіль карыстальніка
web: Перайсці ў вэб-версію
title: Падпісацца на %{acct}
challenge: challenge:
confirm: Працягнуць confirm: Працягнуць
hint_html: "<strong>Парада:</strong> Мы не будзем запытваць ваш пароль зноўку на працягу наступнай гадзіны." hint_html: "<strong>Парада:</strong> Мы не будзем запытваць ваш пароль зноўку на працягу наступнай гадзіны."

View file

@ -1041,18 +1041,6 @@ bg:
view_strikes: Преглед на предишните предупреждения против акаунта ви view_strikes: Преглед на предишните предупреждения против акаунта ви
too_fast: Образецът подаден пребързо, опитайте пак. too_fast: Образецът подаден пребързо, опитайте пак.
use_security_key: Употреба на ключ за сигурност use_security_key: Употреба на ключ за сигурност
authorize_follow:
already_following: Вече следвате този акаунт
already_requested: Вече сте изпратили заявка за последване до този акаунт
error: Възникна грешка, търсейки отдалечения акаунт
follow: Последвай
follow_request: 'Изпратихте следната заявка до:'
following: 'Успешно! Сега сте последвали:'
post_follow:
close: Или просто затворете този прозорец.
return: Показване на профила на потребителя
web: Към мрежата
title: Последвай %{acct}
challenge: challenge:
confirm: Продължаване confirm: Продължаване
hint_html: "<strong>Съвет</strong>: няма да ви питаме пак за паролата през следващия час." hint_html: "<strong>Съвет</strong>: няма да ви питаме пак за паролата през следващия час."

View file

@ -299,11 +299,6 @@ br:
security: Diogelroez security: Diogelroez
status: status:
account_status: Statud ar gont account_status: Statud ar gont
authorize_follow:
follow: Heuliañ
post_follow:
web: Distreiñ d'an etrefas web
title: Heuliañ %{acct}
challenge: challenge:
confirm: Kenderc' hel confirm: Kenderc' hel
invalid_password: Ger-tremen diwiriek invalid_password: Ger-tremen diwiriek

View file

@ -1041,18 +1041,6 @@ ca:
view_strikes: Veure accions del passat contra el teu compte view_strikes: Veure accions del passat contra el teu compte
too_fast: Formulari enviat massa ràpid, torna a provar-ho. too_fast: Formulari enviat massa ràpid, torna a provar-ho.
use_security_key: Usa clau de seguretat use_security_key: Usa clau de seguretat
authorize_follow:
already_following: Ja estàs seguint aquest compte
already_requested: Ja has enviat una sol·licitud de seguiment a aquest usuari
error: Malauradament, ha ocorregut un error cercant el compte remot
follow: Segueix
follow_request: 'Has enviat una sol·licitud de seguiment a:'
following: 'Perfecte! Ara segueixes:'
post_follow:
close: O bé, pots tancar aquesta finestra.
return: Mostra el perfil de l'usuari
web: Vés a la web
title: Segueix %{acct}
challenge: challenge:
confirm: Continua confirm: Continua
hint_html: "<strong>Pista:</strong> No et preguntarem un altre cop la teva contrasenya en la pròxima hora." hint_html: "<strong>Pista:</strong> No et preguntarem un altre cop la teva contrasenya en la pròxima hora."

View file

@ -621,18 +621,6 @@ ckb:
view_strikes: بینینی لێدانەکانی ڕابردوو لە دژی ئەکاونتەکەت view_strikes: بینینی لێدانەکانی ڕابردوو لە دژی ئەکاونتەکەت
too_fast: فۆڕم زۆر خێرا پێشکەش کراوە، دووبارە هەوڵبدەرەوە. too_fast: فۆڕم زۆر خێرا پێشکەش کراوە، دووبارە هەوڵبدەرەوە.
use_security_key: کلیلی ئاسایش بەکاربهێنە use_security_key: کلیلی ئاسایش بەکاربهێنە
authorize_follow:
already_following: ئێوە ئێستا شوێن کەوتووی ئەم هەژمارەیەی
already_requested: تۆ پێشتر داواکاری بەدواداچوت ناردوە بۆ ئەو هەژمارە
error: بەداخەوە هەڵەیەک هەبوو لە کاتی گەڕان بەدوای ئەو هەژمارەیە
follow: شوێن کەوە
follow_request: 'تۆ داواکاری شوێنکەوتنت ناردووە بۆ:'
following: 'ئەنجام بوو! تۆ ئێستا بەدوای ئەم بەکارهێنەرە دەکەویت:'
post_follow:
close: یان، دەتوانیت ئەم پەنجەرەیە دابخەیت.
return: پرۆفایلی بەکارهێنەر نیشان بدە
web: بڕۆ بۆ وێب
title: دوای %{acct} بکەوە
challenge: challenge:
confirm: بەردەوام بە confirm: بەردەوام بە
hint_html: "<strong>خاڵ:</strong> ئیمە لە کاتژمێری داهاتوو تێپەروشەت لێداوا ناکەین." hint_html: "<strong>خاڵ:</strong> ئیمە لە کاتژمێری داهاتوو تێپەروشەت لێداوا ناکەین."

View file

@ -584,18 +584,6 @@ co:
redirecting_to: U vostru contu hè inattivu perchè riindirizza versu %{acct}. redirecting_to: U vostru contu hè inattivu perchè riindirizza versu %{acct}.
too_fast: Furmulariu mandatu troppu prestu, ripruvate. too_fast: Furmulariu mandatu troppu prestu, ripruvate.
use_security_key: Utilizà a chjave di sicurità use_security_key: Utilizà a chjave di sicurità
authorize_follow:
already_following: Site digià abbunatu·a à stu contu
already_requested: Avete digià mandatu una dumanda d'abbunamentu à stu contu
error: Peccatu, chè statu un prublemu ricercandu u contu
follow: Siguità
follow_request: 'Avete dumandatu di siguità:'
following: 'Eccu! Avà seguitate:'
post_follow:
close: O pudete ancu chjude sta finestra.
return: Vede u prufile di lutilizatore
web: Andà à linterfaccia web
title: Siguità %{acct}
challenge: challenge:
confirm: Cuntinuvà confirm: Cuntinuvà
hint_html: "<strong>Astuzia:</strong> Ùn avemu micca da dumandavvi stu codice per l'ore chì vene." hint_html: "<strong>Astuzia:</strong> Ùn avemu micca da dumandavvi stu codice per l'ore chì vene."

View file

@ -1077,18 +1077,6 @@ cs:
view_strikes: Zobrazit minulé prohřešky vašeho účtu view_strikes: Zobrazit minulé prohřešky vašeho účtu
too_fast: Formulář byl odeslán příliš rychle, zkuste to znovu. too_fast: Formulář byl odeslán příliš rychle, zkuste to znovu.
use_security_key: Použít bezpečnostní klíč use_security_key: Použít bezpečnostní klíč
authorize_follow:
already_following: Tento účet již sledujete
already_requested: Tomuto účtu už jste žádost o sledování zaslali
error: Při hledání vzdáleného účtu bohužel nastala chyba
follow: Sledovat
follow_request: 'Poslali jste žádost o sledování uživateli:'
following: 'Podařilo se! Nyní sledujete uživatele:'
post_follow:
close: Nebo můžete toto okno klidně zavřít.
return: Zobrazit profil uživatele
web: Přejít na web
title: Sledovat %{acct}
challenge: challenge:
confirm: Pokračovat confirm: Pokračovat
hint_html: "<strong>Tip:</strong> Po dobu jedné hodiny vás o heslo nebudeme znovu žádat." hint_html: "<strong>Tip:</strong> Po dobu jedné hodiny vás o heslo nebudeme znovu žádat."

View file

@ -1113,18 +1113,6 @@ cy:
view_strikes: Gweld rybuddion y gorffennol yn erbyn eich cyfrif view_strikes: Gweld rybuddion y gorffennol yn erbyn eich cyfrif
too_fast: Cafodd y ffurflen ei chyflwyno'n rhy gyflym, ceisiwch eto. too_fast: Cafodd y ffurflen ei chyflwyno'n rhy gyflym, ceisiwch eto.
use_security_key: Defnyddiwch allwedd diogelwch use_security_key: Defnyddiwch allwedd diogelwch
authorize_follow:
already_following: Rydych yn dilyn y cyfrif hwn yn barod
already_requested: Rydych chi eisoes wedi anfon cais i ddilyn y cyfrif hwnnw
error: Yn anffodus, roedd gwall tra'n edrych am y cyfrif pell
follow: Dilyn
follow_request: 'Rydych wedi anfon cais dilyn at:'
following: 'Llwyddiant! Rydych nawr yn dilyn:'
post_follow:
close: Neu, gallwch gau'r ffenest hon.
return: Dangos proffil y defnyddiwr
web: Ewch i'r we
title: Dilyn %{acct}
challenge: challenge:
confirm: Parhau confirm: Parhau
hint_html: "<strong>Awgrym:</strong> Fyddwn ni ddim yn gofyn i chi am eich cyfrinair eto am yr awr nesaf." hint_html: "<strong>Awgrym:</strong> Fyddwn ni ddim yn gofyn i chi am eich cyfrinair eto am yr awr nesaf."

View file

@ -1041,18 +1041,6 @@ da:
view_strikes: Se tidligere anmeldelser af din konto view_strikes: Se tidligere anmeldelser af din konto
too_fast: Formularen indsendt for hurtigt, forsøg igen. too_fast: Formularen indsendt for hurtigt, forsøg igen.
use_security_key: Brug sikkerhedsnøgle use_security_key: Brug sikkerhedsnøgle
authorize_follow:
already_following: Du følger allerede denne konto
already_requested: Du har allerede sendt en følgeanmodning til den konto
error: Desværre opstod en fejl under søgning af fjernkontoen
follow: Følg
follow_request: 'Du har sendt en følgeanmodning til:'
following: 'Accepteret! Du følger nu:'
post_follow:
close: Du kan også bare lukke dette vindue.
return: Vis brugerens profil
web: Gå til web
title: Følg %{acct}
challenge: challenge:
confirm: Fortsæt confirm: Fortsæt
hint_html: "<strong>Tip:</strong> Du bliver ikke anmodet om din adgangskode igen den næste time." hint_html: "<strong>Tip:</strong> Du bliver ikke anmodet om din adgangskode igen den næste time."

View file

@ -1041,18 +1041,6 @@ de:
view_strikes: Vorherige Verstöße deines Kontos ansehen view_strikes: Vorherige Verstöße deines Kontos ansehen
too_fast: Formular zu schnell abgeschickt, versuche es erneut. too_fast: Formular zu schnell abgeschickt, versuche es erneut.
use_security_key: Sicherheitsschlüssel verwenden use_security_key: Sicherheitsschlüssel verwenden
authorize_follow:
already_following: Du folgst diesem Konto bereits
already_requested: Du hast bereits eine Folgeanfrage an dieses Konto gestellt
error: Bedauerlicherweise konnte das externe Konto nicht geladen werden
follow: Folgen
follow_request: 'Du hast eine Folgeanfrage gestellt an:'
following: 'Erfolg! Du folgst nun:'
post_follow:
close: Oder du schließt einfach dieses Fenster.
return: Benutzerprofil anzeigen
web: Im Webinterface öffnen
title: "%{acct} folgen"
challenge: challenge:
confirm: Fortfahren confirm: Fortfahren
hint_html: "<strong>Hinweis:</strong> Wir werden dich für die nächste Stunde nicht erneut nach deinem Passwort fragen." hint_html: "<strong>Hinweis:</strong> Wir werden dich für die nächste Stunde nicht erneut nach deinem Passwort fragen."

View file

@ -1041,18 +1041,6 @@ el:
view_strikes: Προβολή προηγούμενων ποινών εναντίον του λογαριασμού σας view_strikes: Προβολή προηγούμενων ποινών εναντίον του λογαριασμού σας
too_fast: Η φόρμα υποβλήθηκε πολύ γρήγορα, προσπαθήστε ξανά. too_fast: Η φόρμα υποβλήθηκε πολύ γρήγορα, προσπαθήστε ξανά.
use_security_key: Χρήση κλειδιού ασφαλείας use_security_key: Χρήση κλειδιού ασφαλείας
authorize_follow:
already_following: Ήδη ακολουθείς αυτό το λογαριασμό
already_requested: Έχετε ήδη στείλει ένα αίτημα ακολούθησης σε αυτόν τον λογαριασμό
error: Δυστυχώς παρουσιάστηκε ένα σφάλμα κατά την αναζήτηση του απομακρυσμένου λογαριασμού
follow: Ακολούθησε
follow_request: 'Έστειλες αίτημα παρακολούθησης προς:'
following: 'Επιτυχία! Πλέον ακολουθείς τον/την:'
post_follow:
close: Ή, μπορείς απλά να κλείσεις αυτό το παράθυρο.
return: Δείξε το προφίλ του χρήστη
web: Πήγαινε στο δίκτυο
title: Ακολούθησε %{acct}
challenge: challenge:
confirm: Συνέχεια confirm: Συνέχεια
hint_html: "<strong>Συμβουλή:</strong> Δεν θα σου ζητήσουμε τον κωδικό ασφαλείας σου ξανά για την επόμενη ώρα." hint_html: "<strong>Συμβουλή:</strong> Δεν θα σου ζητήσουμε τον κωδικό ασφαλείας σου ξανά για την επόμενη ώρα."

View file

@ -1041,18 +1041,6 @@ en-GB:
view_strikes: View past strikes against your account view_strikes: View past strikes against your account
too_fast: Form submitted too fast, try again. too_fast: Form submitted too fast, try again.
use_security_key: Use security key use_security_key: Use security key
authorize_follow:
already_following: You are already following this account
already_requested: You have already sent a follow request to that account
error: Unfortunately, there was an error looking up the remote account
follow: Follow
follow_request: 'You have sent a follow request to:'
following: 'Success! You are now following:'
post_follow:
close: Or, you can just close this window.
return: Show the user's profile
web: Go to web
title: Follow %{acct}
challenge: challenge:
confirm: Continue confirm: Continue
hint_html: "<strong>Tip:</strong> We won't ask you for your password again for the next hour." hint_html: "<strong>Tip:</strong> We won't ask you for your password again for the next hour."

View file

@ -1061,18 +1061,6 @@ en:
view_strikes: View past strikes against your account view_strikes: View past strikes against your account
too_fast: Form submitted too fast, try again. too_fast: Form submitted too fast, try again.
use_security_key: Use security key use_security_key: Use security key
authorize_follow:
already_following: You are already following this account
already_requested: You have already sent a follow request to that account
error: Unfortunately, there was an error looking up the remote account
follow: Follow
follow_request: 'You have sent a follow request to:'
following: 'Success! You are now following:'
post_follow:
close: Or, you can just close this window.
return: Show the user's profile
web: Go to web
title: Follow %{acct}
challenge: challenge:
confirm: Continue confirm: Continue
hint_html: "<strong>Tip:</strong> We won't ask you for your password again for the next hour." hint_html: "<strong>Tip:</strong> We won't ask you for your password again for the next hour."

View file

@ -1019,18 +1019,6 @@ eo:
view_strikes: Vidi antauaj admonoj kontra via konto view_strikes: Vidi antauaj admonoj kontra via konto
too_fast: Formularo sendita tro rapide, klopodu denove. too_fast: Formularo sendita tro rapide, klopodu denove.
use_security_key: Uzi sekurecan ŝlosilon use_security_key: Uzi sekurecan ŝlosilon
authorize_follow:
already_following: Vi jam sekvas tiun konton
already_requested: Vi jam sendis peton de sekvado al ĉi tiu konto
error: Bedaŭrinde, estis eraro en la serĉado de la fora konto
follow: Sekvi
follow_request: 'Vi sendis peton de sekvado al:'
following: 'Sukceson! Vi nun sekvas:'
post_follow:
close: Aŭ, vi povas simple fermi ĉi tiun fenestron.
return: Montri la profilon de la uzanto
web: Iri al reto
title: Sekvi %{acct}
challenge: challenge:
confirm: Daŭrigi confirm: Daŭrigi
hint_html: "<strong>Konsileto:</strong> Ni ne demandos pri via pasvorto ĝis 1 horo." hint_html: "<strong>Konsileto:</strong> Ni ne demandos pri via pasvorto ĝis 1 horo."

View file

@ -1041,18 +1041,6 @@ es-AR:
view_strikes: Ver incumplimientos pasados contra tu cuenta view_strikes: Ver incumplimientos pasados contra tu cuenta
too_fast: Formulario enviado demasiado rápido, probá de nuevo. too_fast: Formulario enviado demasiado rápido, probá de nuevo.
use_security_key: Usar la llave de seguridad use_security_key: Usar la llave de seguridad
authorize_follow:
already_following: Ya estás siguiendo a esta cuenta
already_requested: Ya enviaste una solicitud de seguimiento a esa cuenta
error: Lamentablemente, ocurrió un error buscando la cuenta remota
follow: Seguir
follow_request: 'Enviaste una solicitud de seguimiento a:'
following: "¡Listo! Ahora estás siguiendo a:"
post_follow:
close: O simplemente podés cerrar esta ventana.
return: Mostrar el perfil del usuario
web: Ir a la web
title: Seguir a %{acct}
challenge: challenge:
confirm: Continuar confirm: Continuar
hint_html: "<strong>Dato:</strong> No volveremos a preguntarte por la contraseña durante la siguiente hora." hint_html: "<strong>Dato:</strong> No volveremos a preguntarte por la contraseña durante la siguiente hora."

View file

@ -1041,18 +1041,6 @@ es-MX:
view_strikes: Ver amonestaciones pasadas contra tu cuenta view_strikes: Ver amonestaciones pasadas contra tu cuenta
too_fast: Formulario enviado demasiado rápido, inténtelo de nuevo. too_fast: Formulario enviado demasiado rápido, inténtelo de nuevo.
use_security_key: Usar la clave de seguridad use_security_key: Usar la clave de seguridad
authorize_follow:
already_following: Ya estás siguiendo a esta cuenta
already_requested: Ya has enviado una solicitud de seguimiento a esa cuenta
error: Desafortunadamente, ha ocurrido un error buscando la cuenta remota
follow: Seguir
follow_request: 'Tienes una solicitud de seguimiento de:'
following: "¡Éxito! Ahora estás siguiendo a:"
post_follow:
close: O, puedes simplemente cerrar esta ventana.
return: Regresar al perfil del usuario
web: Ir al sitio web
title: Seguir a %{acct}
challenge: challenge:
confirm: Continuar confirm: Continuar
hint_html: "<strong>Tip:</strong> No volveremos a preguntarte por la contraseña durante la siguiente hora." hint_html: "<strong>Tip:</strong> No volveremos a preguntarte por la contraseña durante la siguiente hora."

View file

@ -1041,18 +1041,6 @@ es:
view_strikes: Ver amonestaciones pasadas contra tu cuenta view_strikes: Ver amonestaciones pasadas contra tu cuenta
too_fast: Formulario enviado demasiado rápido, inténtelo de nuevo. too_fast: Formulario enviado demasiado rápido, inténtelo de nuevo.
use_security_key: Usar la clave de seguridad use_security_key: Usar la clave de seguridad
authorize_follow:
already_following: Ya estás siguiendo a esta cuenta
already_requested: Ya has enviado una solicitud de seguimiento a esa cuenta
error: Desafortunadamente, ha ocurrido un error buscando la cuenta remota
follow: Seguir
follow_request: 'Tienes una solicitud de seguimiento de:'
following: "¡Éxito! Ahora estás siguiendo a:"
post_follow:
close: O, puedes simplemente cerrar esta ventana.
return: Regresar al perfil del usuario
web: Ir al sitio web
title: Seguir a %{acct}
challenge: challenge:
confirm: Continuar confirm: Continuar
hint_html: "<strong>Tip:</strong> No volveremos a preguntarte por la contraseña durante la siguiente hora." hint_html: "<strong>Tip:</strong> No volveremos a preguntarte por la contraseña durante la siguiente hora."

View file

@ -1041,18 +1041,6 @@ et:
view_strikes: Vaata enda eelnevaid juhtumeid view_strikes: Vaata enda eelnevaid juhtumeid
too_fast: Vorm esitatud liiga kiirelt, proovi uuesti. too_fast: Vorm esitatud liiga kiirelt, proovi uuesti.
use_security_key: Kasuta turvavõtit use_security_key: Kasuta turvavõtit
authorize_follow:
already_following: Juba jälgid seda kontot
already_requested: Saatsid juba sellele kontole jälgimistaotluse
error: Kahjuks ilmus viga kasutaja kaugserverist otsimisel
follow: Jälgi
follow_request: 'Oled saatnud jälgimistaotluse kasutajale:'
following: 'Õnnestus! Jälgid nüüd kasutajat:'
post_follow:
close: Või sulge lihtsalt see aken.
return: Näita kasutaja profiili
web: Mine veebi
title: Jälgi %{acct}
challenge: challenge:
confirm: Jätka confirm: Jätka
hint_html: "<strong>Nõuanne:</strong> Me ei küsi salasõna uuesti järgmise tunni jooksul." hint_html: "<strong>Nõuanne:</strong> Me ei küsi salasõna uuesti järgmise tunni jooksul."

View file

@ -1043,18 +1043,6 @@ eu:
view_strikes: Ikusi zure kontuaren aurkako neurriak view_strikes: Ikusi zure kontuaren aurkako neurriak
too_fast: Formularioa azkarregi bidali duzu, saiatu berriro. too_fast: Formularioa azkarregi bidali duzu, saiatu berriro.
use_security_key: Erabili segurtasun gakoa use_security_key: Erabili segurtasun gakoa
authorize_follow:
already_following: Kontu hau aurretik jarraitzen duzu
already_requested: Bidali duzu dagoeneko kontu hori jarraitzeko eskaera bat
error: Zoritxarrez, urruneko kontua bilatzean errore bat gertatu da
follow: Jarraitu
follow_request: 'Jarraitzeko eskari bat bidali duzu hona:'
following: 'Ongi! Orain jarraitzen duzu:'
post_follow:
close: Edo, leiho hau besterik gabe itxi dezakezu.
return: Erakutsi erabiltzailearen profila
web: Joan webera
title: Jarraitu %{acct}
challenge: challenge:
confirm: Jarraitu confirm: Jarraitu
hint_html: "<strong>Oharra:</strong> Ez dizugu pasahitza berriro eskatuko ordu batez." hint_html: "<strong>Oharra:</strong> Ez dizugu pasahitza berriro eskatuko ordu batez."

View file

@ -858,18 +858,6 @@ fa:
view_strikes: دیدن شکایت‌های گذشته از حسابتان view_strikes: دیدن شکایت‌های گذشته از حسابتان
too_fast: فرم با سرعت بسیار زیادی فرستاده شد، دوباره تلاش کنید. too_fast: فرم با سرعت بسیار زیادی فرستاده شد، دوباره تلاش کنید.
use_security_key: استفاده از کلید امنیتی use_security_key: استفاده از کلید امنیتی
authorize_follow:
already_following: شما همین الان هم این حساب را پی‌می‌گیرید
already_requested: درخواست پی‌گیری‌ای برای آن حساب فرستاده‌ بودید
error: متأسفانه حین یافتن آن حساب خطایی رخ داد
follow: پی بگیرید
follow_request: 'شما درخواست پیگیری فرستاده‌اید به:'
following: 'انجام شد! شما هم‌اینک پیگیر این کاربر هستید:'
post_follow:
close: یا این پنجره را ببندید.
return: نمایهٔ این کاربر را نشان بده
web: رفتن به وب
title: پیگیری %{acct}
challenge: challenge:
confirm: ادامه confirm: ادامه
hint_html: "<strong>نکته:</strong> ما در یک ساعت آینده گذرواژه‌تان را از شما نخواهیم پرسید." hint_html: "<strong>نکته:</strong> ما در یک ساعت آینده گذرواژه‌تان را از شما نخواهیم پرسید."

View file

@ -1041,18 +1041,6 @@ fi:
view_strikes: Näytä tiliäsi koskevia aiempia varoituksia view_strikes: Näytä tiliäsi koskevia aiempia varoituksia
too_fast: Lomake lähetettiin liian nopeasti, yritä uudelleen. too_fast: Lomake lähetettiin liian nopeasti, yritä uudelleen.
use_security_key: Käytä suojausavainta use_security_key: Käytä suojausavainta
authorize_follow:
already_following: Sinä seuraat jo tätä tiliä
already_requested: Olet jo lähettänyt seurantapyynnön tälle tilille
error: Valitettavasti etätilin haussa tapahtui virhe
follow: Seuraa
follow_request: 'Olet lähettänyt seuraamispyynnön käyttäjälle:'
following: 'Onnistui! Seuraat käyttäjää:'
post_follow:
close: Tai voit sulkea tämän ikkunan.
return: Palaa käyttäjän profiiliin
web: Siirry verkkosivulle
title: Seuraa käyttäjää %{acct}
challenge: challenge:
confirm: Jatka confirm: Jatka
hint_html: "<strong>Vihje:</strong> Emme pyydä sinulta salasanaa uudelleen seuraavan tunnin aikana." hint_html: "<strong>Vihje:</strong> Emme pyydä sinulta salasanaa uudelleen seuraavan tunnin aikana."

View file

@ -1041,18 +1041,6 @@ fo:
view_strikes: Vís eldri atsóknir móti tíni kontu view_strikes: Vís eldri atsóknir móti tíni kontu
too_fast: Oyðublaðið innsent ov skjótt, royn aftur. too_fast: Oyðublaðið innsent ov skjótt, royn aftur.
use_security_key: Brúka trygdarlykil use_security_key: Brúka trygdarlykil
authorize_follow:
already_following: Tú fylgir longu hesi kontuni
already_requested: Tú hevur longu sent eina fylgiumbøn til hasa kontuna
error: Tíverri kom ein feilur, tá vit royndu at finna fjarkontuna
follow: Fylg
follow_request: 'Tú hevur sent eina fylgjaraumbøn til:'
following: 'Góðkent! Tú fylgir nú:'
post_follow:
close: Ella kanst tú bara lata hetta vindeygað aftur.
return: Vís vangan hjá brúkaranum
web: Far á vevið
title: Fylg %{acct}
challenge: challenge:
confirm: Hald á confirm: Hald á
hint_html: "<strong>Góð ráð:</strong> vit spyrja teg ikki aftur um loyniorðið næsta tíman." hint_html: "<strong>Góð ráð:</strong> vit spyrja teg ikki aftur um loyniorðið næsta tíman."

View file

@ -1025,18 +1025,6 @@ fr-QC:
view_strikes: Voir les sanctions précédemment appliquées à votre compte view_strikes: Voir les sanctions précédemment appliquées à votre compte
too_fast: Formulaire envoyé trop rapidement, veuillez réessayer. too_fast: Formulaire envoyé trop rapidement, veuillez réessayer.
use_security_key: Utiliser la clé de sécurité use_security_key: Utiliser la clé de sécurité
authorize_follow:
already_following: Vous suivez déjà ce compte
already_requested: Vous avez déjà envoyé une demande dabonnement à ce compte
error: Malheureusement, une erreur s'est produite lors de la recherche du compte distant
follow: Suivre
follow_request: 'Vous avez demandé à suivre:'
following: 'Youpi! Vous suivezmaintenant :'
post_follow:
close: Ou bien, vous pouvez fermer cette fenêtre.
return: Afficher le profil de lutilisateur·ice
web: Retour à linterface web
title: Suivre %{acct}
challenge: challenge:
confirm: Continuer confirm: Continuer
hint_html: "<strong>Astuce :</strong> Nous ne vous demanderons plus votre mot de passe pour la prochaine heure." hint_html: "<strong>Astuce :</strong> Nous ne vous demanderons plus votre mot de passe pour la prochaine heure."

View file

@ -1025,18 +1025,6 @@ fr:
view_strikes: Voir les sanctions précédemment appliquées à votre compte view_strikes: Voir les sanctions précédemment appliquées à votre compte
too_fast: Formulaire envoyé trop rapidement, veuillez réessayer. too_fast: Formulaire envoyé trop rapidement, veuillez réessayer.
use_security_key: Utiliser la clé de sécurité use_security_key: Utiliser la clé de sécurité
authorize_follow:
already_following: Vous suivez déjà ce compte
already_requested: Vous avez déjà envoyé une demande dabonnement à ce compte
error: Malheureusement, une erreur s'est produite lors de la recherche du compte distant
follow: Suivre
follow_request: 'Vous avez demandé à suivre:'
following: 'Youpi! Vous suivezmaintenant :'
post_follow:
close: Ou bien, vous pouvez fermer cette fenêtre.
return: Afficher le profil de lutilisateur·ice
web: Retour à linterface web
title: Suivre %{acct}
challenge: challenge:
confirm: Continuer confirm: Continuer
hint_html: "<strong>Astuce :</strong> Nous ne vous demanderons plus votre mot de passe pour la prochaine heure." hint_html: "<strong>Astuce :</strong> Nous ne vous demanderons plus votre mot de passe pour la prochaine heure."

View file

@ -1041,18 +1041,6 @@ fy:
view_strikes: Besjoch de earder troch moderatoaren fêststelde skeiningen dyt jo makke hawwe view_strikes: Besjoch de earder troch moderatoaren fêststelde skeiningen dyt jo makke hawwe
too_fast: Formulier is te fluch yntsjinne. Probearje it nochris. too_fast: Formulier is te fluch yntsjinne. Probearje it nochris.
use_security_key: Befeiligingskaai brûke use_security_key: Befeiligingskaai brûke
authorize_follow:
already_following: Jo folgje dizze account al
already_requested: Jo hawwe al in folchfersyk nei dat account ferstjoerd
error: Spitiger, der is in flater bard by it opsykjen fan de eksterne account
follow: Folgje
follow_request: 'Jo hawwe in folchfersyk yntsjinne by:'
following: 'Slagge! Jo folgje no:'
post_follow:
close: Of jo kinne dit finster gewoan slute.
return: Profyl fan dizze brûker toane
web: Gean nei de webapp
title: "%{acct} folgje"
challenge: challenge:
confirm: Trochgean confirm: Trochgean
hint_html: "<strong>Tip:</strong> Wy freegje jo it kommende oere net mear nei jo wachtwurd." hint_html: "<strong>Tip:</strong> Wy freegje jo it kommende oere net mear nei jo wachtwurd."

View file

@ -331,11 +331,6 @@ ga:
status: status:
account_status: Stádas cuntais account_status: Stádas cuntais
too_fast: Cuireadh an fhoirm isteach róthapa, triail arís. too_fast: Cuireadh an fhoirm isteach róthapa, triail arís.
authorize_follow:
follow: Lean
post_follow:
return: Taispeáin próifíl an úsáideora
title: Lean %{acct}
challenge: challenge:
confirm: Lean ar aghaidh confirm: Lean ar aghaidh
datetime: datetime:

View file

@ -1061,18 +1061,6 @@ gd:
view_strikes: Seall na rabhaidhean a fhuair an cunntas agad roimhe view_strikes: Seall na rabhaidhean a fhuair an cunntas agad roimhe
too_fast: Chaidh am foirm a chur a-null ro luath, feuch ris a-rithist. too_fast: Chaidh am foirm a chur a-null ro luath, feuch ris a-rithist.
use_security_key: Cleachd iuchair tèarainteachd use_security_key: Cleachd iuchair tèarainteachd
authorize_follow:
already_following: Tha thu a leantainn a chunntais seo mu thràth
already_requested: Chuir thu iarrtas leantainn dhan chunntas seo mu thràth
error: Gu mì-fhortanach, thachair mearachd le lorg a chunntais chèin
follow: Lean
follow_request: 'Chuir thu iarrtas leantainn gu:'
following: 'Taghta! Chaidh leat a leantainn:'
post_follow:
close: Air neo dùin an uinneag seo.
return: Seall pròifil a chleachdaiche
web: Tadhail air an duilleag-lìn
title: Lean %{acct}
challenge: challenge:
confirm: Lean air adhart confirm: Lean air adhart
hint_html: "<strong>Gliocas:</strong> Chan iarr sinn am facal-faire agad ort a-rithist fad uair a thìde." hint_html: "<strong>Gliocas:</strong> Chan iarr sinn am facal-faire agad ort a-rithist fad uair a thìde."

View file

@ -1041,18 +1041,6 @@ gl:
view_strikes: Ver avisos anteriores respecto da túa conta view_strikes: Ver avisos anteriores respecto da túa conta
too_fast: Formulario enviado demasiado rápido, inténtao outra vez. too_fast: Formulario enviado demasiado rápido, inténtao outra vez.
use_security_key: Usa chave de seguridade use_security_key: Usa chave de seguridade
authorize_follow:
already_following: Xa está a seguir esta conta
already_requested: Xa tes enviada unha solicitude de seguimento a esa conta
error: Desgraciadamente, algo fallou ao buscar a conta remota
follow: Seguir
follow_request: 'Enviaches unha petición de seguimento a:'
following: 'Parabéns! Agora segues a:'
post_follow:
close: Ou, podes pechar esta ventá.
return: Mostrar o perfil da usuaria
web: Ir á web
title: Seguir %{acct}
challenge: challenge:
confirm: Continuar confirm: Continuar
hint_html: "<strong>Nota:</strong> Non che pediremos o contrasinal na seguinte hora." hint_html: "<strong>Nota:</strong> Non che pediremos o contrasinal na seguinte hora."

View file

@ -1077,18 +1077,6 @@ he:
view_strikes: צפיה בעברות קודמות שנרשמו נגד חשבונך view_strikes: צפיה בעברות קודמות שנרשמו נגד חשבונך
too_fast: הטופס הוגש מהר מדי, נסה/י שוב. too_fast: הטופס הוגש מהר מדי, נסה/י שוב.
use_security_key: שימוש במפתח אבטחה use_security_key: שימוש במפתח אבטחה
authorize_follow:
already_following: את/ה כבר עוקב/ת אחרי חשבון זה
already_requested: כבר נשלחה בקשת מעקב לחשבון זה
error: למרבה הצער, היתה שגיאה בחיפוש החשבון המרוחק
follow: לעקוב
follow_request: 'שלחת בקשת מעקב ל:'
following: 'הצלחה! הינך עוקב עכשיו אחרי:'
post_follow:
close: או, פשוט לסגור חלון זה.
return: הצג את פרופיל המשתמש
web: מעבר לווב
title: לעקוב אחרי %{acct}
challenge: challenge:
confirm: המשך confirm: המשך
hint_html: "<strong>טיפ:</strong> לא נבקש את סיסמתך שוב בשעה הקרובה." hint_html: "<strong>טיפ:</strong> לא נבקש את סיסמתך שוב בשעה הקרובה."

View file

@ -60,10 +60,6 @@ hr:
reset_password: Ponovno postavi lozinku reset_password: Ponovno postavi lozinku
security: Sigurnost security: Sigurnost
set_new_password: Postavi novu lozinku set_new_password: Postavi novu lozinku
authorize_follow:
error: Nažalost, došlo je do greške tijekom traženja udaljenog računa
follow: Prati
title: Prati %{acct}
datetime: datetime:
distance_in_words: distance_in_words:
about_x_months: "%{count}mj" about_x_months: "%{count}mj"

View file

@ -1041,18 +1041,6 @@ hu:
view_strikes: Fiókod ellen felrótt korábbi vétségek megtekintése view_strikes: Fiókod ellen felrótt korábbi vétségek megtekintése
too_fast: Túl gyorsan küldted el az űrlapot, próbáld később. too_fast: Túl gyorsan küldted el az űrlapot, próbáld később.
use_security_key: Biztonsági kulcs használata use_security_key: Biztonsági kulcs használata
authorize_follow:
already_following: Már követed ezt a felhasználót
already_requested: Már küldtél követési kérelmet ennek a fióknak
error: Hiba történt a távoli felhasználó keresésekor
follow: Követés
follow_request: 'Engedélyt kértél az alábbi felhasználó követésére:'
following: 'Siker! Mostantól követed az alábbi felhasználót:'
post_follow:
close: Akár be is zárhatod ezt az ablakot.
return: A felhasználó profiljának mutatása
web: Megtekintés a weben
title: "%{acct} követése"
challenge: challenge:
confirm: Folytatás confirm: Folytatás
hint_html: "<strong>Hasznos:</strong> Nem fogjuk megint a jelszavadat kérdezni a következő órában." hint_html: "<strong>Hasznos:</strong> Nem fogjuk megint a jelszavadat kérdezni a következő órában."

View file

@ -480,17 +480,6 @@ hy:
account_status: Հաշուի կարգավիճակ account_status: Հաշուի կարգավիճակ
pending: Դիմումը պէտք է քննուի մեր անձնակազմի կողմից, ինչը կարող է մի փոքր ժամանակ խլել։ Դիմումի հաստատուելու դէպքում, կտեղեկացնենք նամակով։ pending: Դիմումը պէտք է քննուի մեր անձնակազմի կողմից, ինչը կարող է մի փոքր ժամանակ խլել։ Դիմումի հաստատուելու դէպքում, կտեղեկացնենք նամակով։
use_security_key: Օգտագործել անվտանգութեան բանալի use_security_key: Օգտագործել անվտանգութեան բանալի
authorize_follow:
already_following: Դու արդէն հետեւում ես այս հաշուին
already_requested: Դու արդէն ուղարկել ես հետեւմանն յայտ այս հաշուին
follow: Հետևել
follow_request: Դու ուղարկել ես հետեւելու հայց՝
following: Յաջողութի՜ւն։ Դու այժմ հետեւում ես․
post_follow:
close: Կամ, կարող ես պարզապէս փակել այս պատուհանը։
return: Ցուցադրել օգտատիրոջ էջը
web: Անցնել վէբին
title: Հետեւել %{acct}
challenge: challenge:
confirm: Շարունակել confirm: Շարունակել
invalid_password: Անվաւեր ծածկագիր invalid_password: Անվաւեր ծածկագիր

View file

@ -961,18 +961,6 @@ id:
view_strikes: Lihat hukuman lalu yang pernah terjadi kepada akun Anda view_strikes: Lihat hukuman lalu yang pernah terjadi kepada akun Anda
too_fast: Formulir dikirim terlalu cepat, coba lagi. too_fast: Formulir dikirim terlalu cepat, coba lagi.
use_security_key: Gunakan kunci keamanan use_security_key: Gunakan kunci keamanan
authorize_follow:
already_following: Anda sudah mengikuti akun ini
already_requested: Anda sudah mengirimkan permintaan untuk mengikuti akun tersebut
error: Sayangnya, ada error saat melihat akun remote
follow: Ikuti
follow_request: 'Anda telah mengirim permintaan untuk mengikuti ke:'
following: 'Berhasil! Anda sekarang mengikuti:'
post_follow:
close: Atau Anda dapat menutup jendela ini.
return: Tampilkan profil pengguna
web: Ke web
title: Mengikuti %{acct}
challenge: challenge:
confirm: Lanjut confirm: Lanjut
hint_html: "<strong>Tip:</strong> Kami tidak akan meminta kata sandi Anda lagi untuk beberapa jam ke depan." hint_html: "<strong>Tip:</strong> Kami tidak akan meminta kata sandi Anda lagi untuk beberapa jam ke depan."

View file

@ -937,18 +937,6 @@ io:
view_strikes: Videz antea streki kontre vua konto view_strikes: Videz antea streki kontre vua konto
too_fast: Formulario sendesis tro rapide, probez itere. too_fast: Formulario sendesis tro rapide, probez itere.
use_security_key: Uzes sekuresklefo use_security_key: Uzes sekuresklefo
authorize_follow:
already_following: Vu ja sequis ca konto
already_requested: Vu ja sendis sequodemando a ta konto
error: Regretinde, eventis eraro probante konsultar la fora konto
follow: Sequar
follow_request: 'Vu sendis sequodemando a:'
following: 'Suceso! Vu nun sequas:'
post_follow:
close: O, vu volas jus klozar ca panelo.
return: Montrez priflo de uzanti
web: Irez a interreto
title: Sequar %{acct}
challenge: challenge:
confirm: Durez confirm: Durez
hint_html: "<strong>Guidilo:</strong> Ni ne demandos vua pasvorto itere til 1 horo." hint_html: "<strong>Guidilo:</strong> Ni ne demandos vua pasvorto itere til 1 horo."

View file

@ -1041,18 +1041,6 @@ is:
view_strikes: Skoða fyrri bönn notandaaðgangsins þíns view_strikes: Skoða fyrri bönn notandaaðgangsins þíns
too_fast: Innfyllingarform sent inn of hratt, prófaðu aftur. too_fast: Innfyllingarform sent inn of hratt, prófaðu aftur.
use_security_key: Nota öryggislykil use_security_key: Nota öryggislykil
authorize_follow:
already_following: Þú ert að þegar fylgjast með þessum aðgangi
already_requested: Þú ert þegar búin/n að senda fylgjendabeiðni á þennan notanda
error: Því miður, það kom upp villa við að fletta upp fjartengda notandaaðgangnum
follow: Fylgjast með
follow_request: 'Þú sendir beiðni um að fylgjast með til:'
following: 'Tókst! Þú ert núna að fylgjast með:'
post_follow:
close: Eða að þú getur lokað þessum glugga.
return: Birta notandasnið notandans
web: Fara á vefinn
title: Fylgjast með %{acct}
challenge: challenge:
confirm: Halda áfram confirm: Halda áfram
hint_html: "<strong>Ábending:</strong> Við munum ekki spyrja þig um lykilorðið aftur næstu klukkustundina." hint_html: "<strong>Ábending:</strong> Við munum ekki spyrja þig um lykilorðið aftur næstu klukkustundina."

View file

@ -1043,18 +1043,6 @@ it:
view_strikes: Visualizza le sanzioni precedenti prese nei confronti del tuo account view_strikes: Visualizza le sanzioni precedenti prese nei confronti del tuo account
too_fast: Modulo inviato troppo velocemente, riprova. too_fast: Modulo inviato troppo velocemente, riprova.
use_security_key: Usa la chiave di sicurezza use_security_key: Usa la chiave di sicurezza
authorize_follow:
already_following: Stai già seguendo questo account
already_requested: Hai già mandato una richiesta di seguire questo account
error: Sfortunatamente c'è stato un errore nel consultare l'account remoto
follow: Segui
follow_request: 'Hai mandato una richiesta di seguire:'
following: 'Accettato! Ora stai seguendo:'
post_follow:
close: Oppure puoi chiudere questa finestra.
return: Mostra il profilo dell'utente
web: Vai al web
title: Segui %{acct}
challenge: challenge:
confirm: Continua confirm: Continua
hint_html: "<strong>Suggerimento:</strong> Non ti chiederemo di nuovo la tua password per la prossima ora." hint_html: "<strong>Suggerimento:</strong> Non ti chiederemo di nuovo la tua password per la prossima ora."

View file

@ -1023,18 +1023,6 @@ ja:
view_strikes: 過去のストライクを表示 view_strikes: 過去のストライクを表示
too_fast: フォームの送信が速すぎます。もう一度やり直してください。 too_fast: フォームの送信が速すぎます。もう一度やり直してください。
use_security_key: セキュリティキーを使用 use_security_key: セキュリティキーを使用
authorize_follow:
already_following: あなたは既にこのアカウントをフォローしています
already_requested: 既にこのアカウントへフォローリクエストを送信しています
error: 残念ながら、リモートアカウント情報の取得中にエラーが発生しました
follow: フォロー
follow_request: 'あなたは以下のアカウントにフォローリクエストを送信しました:'
following: '成功! あなたは現在以下のアカウントをフォローしています:'
post_follow:
close: またはこのウィンドウを閉じます。
return: ユーザーのプロフィールを見る
web: Webを開く
title: "%{acct}さんをフォロー"
challenge: challenge:
confirm: 続ける confirm: 続ける
hint_html: 以後1時間はパスワードの再入力を求めません hint_html: 以後1時間はパスワードの再入力を求めません

View file

@ -232,17 +232,6 @@ ka:
reset_password: პაროლის გადატვირთვა reset_password: პაროლის გადატვირთვა
security: უსაფრთხოება security: უსაფრთხოება
set_new_password: ახალი პაროლის დაყენება set_new_password: ახალი პაროლის დაყენება
authorize_follow:
already_following: უკვე მიჰყვებით ამ ანგარიშს
error: სამწუხაროთ, დისტანციური სერვერის წაკითხვამ გამოიწვია შეცდომა
follow: გაყევი
follow_request: 'დადევნების მოთხონვა გაეგზავნა:'
following: 'წარმატება! ახლა მიჰყვებით:'
post_follow:
close: ან შეგიძლიათ დახუროთ ეს ფანჯარა.
return: მომხმარებლის პროფილის ჩვენება
web: ვებზე გადასვლა
title: გაყევი %{acct}-ს
datetime: datetime:
distance_in_words: distance_in_words:
about_x_hours: "%{count}სთ" about_x_hours: "%{count}სთ"

View file

@ -462,14 +462,6 @@ kab:
status: status:
account_status: Addad n umiḍan account_status: Addad n umiḍan
use_security_key: Seqdec tasarut n teɣlist use_security_key: Seqdec tasarut n teɣlist
authorize_follow:
already_following: Teṭafareḍ ya kan amiḍan-a
follow: Ḍfeṛ
following: 'Igerrez! Aqlik teṭafareḍ tura:'
post_follow:
return: Ssken-d amaɣnu n useqdac
web: Ddu γer Web
title: Ḍfeṛ %{acct}
challenge: challenge:
confirm: Kemmel confirm: Kemmel
invalid_password: Yir awal uffir invalid_password: Yir awal uffir

View file

@ -361,17 +361,6 @@ kk:
confirming: Электрондық поштаны растау аяқталуын күтуде. confirming: Электрондық поштаны растау аяқталуын күтуде.
pending: Сіздің өтінішіңіз біздің қызметкерлеріміздің қарауында. Бұл біраз уақыт алуы мүмкін. Өтінішіңіз мақұлданса, сізге электрондық пошта хабарламасы келеді. pending: Сіздің өтінішіңіз біздің қызметкерлеріміздің қарауында. Бұл біраз уақыт алуы мүмкін. Өтінішіңіз мақұлданса, сізге электрондық пошта хабарламасы келеді.
redirecting_to: Сіздің есептік жазбаңыз белсенді емес, себебі ол %{acct} жүйесіне қайта бағытталуда. redirecting_to: Сіздің есептік жазбаңыз белсенді емес, себебі ол %{acct} жүйесіне қайта бағытталуда.
authorize_follow:
already_following: Бұл аккаунтқа жазылғансыз
error: Өкінішке орай, қашықтағы тіркелгіні іздеуде қате пайда болды
follow: Жазылу
follow_request: 'Сіз жазылуға өтініш жібердіңіз:'
following: 'Керемет! Сіз енді жазылдыңыз:'
post_follow:
close: Немесе терезені жаба салыңыз.
return: Қолданушы профилін көрсет
web: Вебте ашу
title: Жазылу %{acct}
challenge: challenge:
confirm: Жалғастыру confirm: Жалғастыру
hint_html: "<strong> Кеңес: </strong> біз келесі сағат ішінде сізден құпия сөзді қайта сұрамаймыз." hint_html: "<strong> Кеңес: </strong> біз келесі сағат ішінде сізден құпия сөзді қайта сұрамаймыз."

View file

@ -1025,18 +1025,6 @@ ko:
view_strikes: 내 계정에 대한 과거 중재 기록 보기 view_strikes: 내 계정에 대한 과거 중재 기록 보기
too_fast: 너무 빠르게 양식이 제출되었습니다, 다시 시도하세요. too_fast: 너무 빠르게 양식이 제출되었습니다, 다시 시도하세요.
use_security_key: 보안 키 사용 use_security_key: 보안 키 사용
authorize_follow:
already_following: 이미 이 계정을 팔로우 하고 있습니다
already_requested: 이미 이 계정에게 팔로우 요청을 보냈습니다
error: 리모트 계정을 확인하는 도중 오류가 발생했습니다
follow: 팔로우
follow_request: '당신은 다음 계정에 팔로우 신청을 했습니다:'
following: '성공! 당신은 다음 계정을 팔로우 하고 있습니다:'
post_follow:
close: 혹은, 그저 이 창을 닫을 수도 있습니다.
return: 사용자 프로필 보기
web: 웹으로 가기
title: "%{acct} 를 팔로우"
challenge: challenge:
confirm: 계속 confirm: 계속
hint_html: "<strong>팁:</strong> 한 시간 동안 다시 암호를 묻지 않을 것입니다." hint_html: "<strong>팁:</strong> 한 시간 동안 다시 암호를 묻지 않을 것입니다."

View file

@ -981,18 +981,6 @@ ku:
view_strikes: Binpêkirinên berê yên dijî ajimêrê xwe bibîne view_strikes: Binpêkirinên berê yên dijî ajimêrê xwe bibîne
too_fast: Form pir zû hat şandin, dîsa biceribîne. too_fast: Form pir zû hat şandin, dîsa biceribîne.
use_security_key: Kilîteke ewlehiyê bi kar bîne use_security_key: Kilîteke ewlehiyê bi kar bîne
authorize_follow:
already_following: Jixwe tu vê ajimêrê dişopînî
already_requested: Jixwe te ji vê ajimêrê re daxwazîya şopandinê şandi bû
error: Mixabin, dema ajimêr hat gerandin çewtiyek çêbû
follow: Bişopîne
follow_request: 'Te ji vê kesê re daxwazîya şopandinê şand:'
following: 'Serkeftin! Tu êdî dikarî bişopînî:'
post_follow:
close: An jî, tu dikarî tenê ev çarçoveyê bigirî.
return: Profîla vê bikarhênerê nîşan bike
web: Biçe tevneyê
title: "%{acct} bişopîne"
challenge: challenge:
confirm: Bidomîne confirm: Bidomîne
hint_html: "<strong>Nîşe:</strong>Ji bo demjimêreke din em ê borînpeyva te careke din ji te nexwazin." hint_html: "<strong>Nîşe:</strong>Ji bo demjimêreke din em ê borînpeyva te careke din ji te nexwazin."

View file

@ -267,17 +267,6 @@ lt:
reset_password: Atstatyti slaptažodį reset_password: Atstatyti slaptažodį
security: Apsauga security: Apsauga
set_new_password: Nustatyti naują slaptažodį set_new_password: Nustatyti naują slaptažodį
authorize_follow:
already_following: Jūs jau sekate šią paskyrą
error: Dėja, aptikta klaida ieškant tolimosios paskyros
follow: Sekti
follow_request: 'Jūs išsiuntėte sekimo prašymą:'
following: 'Puiku! Jūs pradėjote sekti:'
post_follow:
close: Arba, Jūs galite uždaryti šį langą.
return: Rodyti vartotojo paskyrą
web: Eiti į
title: Sekti %{acct}
datetime: datetime:
distance_in_words: distance_in_words:
about_x_hours: "%{count} val" about_x_hours: "%{count} val"

View file

@ -1059,18 +1059,6 @@ lv:
view_strikes: Skati iepriekšējos brīdinājumus par savu kontu view_strikes: Skati iepriekšējos brīdinājumus par savu kontu
too_fast: Veidlapa ir iesniegta pārāk ātri, mēģini vēlreiz. too_fast: Veidlapa ir iesniegta pārāk ātri, mēģini vēlreiz.
use_security_key: Lietot drošības atslēgu use_security_key: Lietot drošības atslēgu
authorize_follow:
already_following: Tu jau seko šim kontam
already_requested: Tu jau esi nosūtījis sekošanas pieteikumu šim kontam
error: Diemžēl, meklējot attālināto kontu, radās kļūda
follow: Sekot
follow_request: 'Tu esi nosūtījis sekošanas pieteikumu:'
following: 'Veiksmīgi! Tu tagad seko:'
post_follow:
close: Vai vienkārši aizver šo logu.
return: Parādīt lietotāja profilu
web: Doties uz tīmekli
title: Sekot %{acct}
challenge: challenge:
confirm: Turpināt confirm: Turpināt
hint_html: "<strong>Padoms:</strong> Nākamās stundas laikā mēs tev vairs neprasīsim paroli." hint_html: "<strong>Padoms:</strong> Nākamās stundas laikā mēs tev vairs neprasīsim paroli."

View file

@ -76,8 +76,6 @@ ml:
invites: invites:
filter: filter:
all: എല്ലാം all: എല്ലാം
authorize_follow:
following: 'വിജയകരം! നിങ്ങൾ ഇപ്പോൾ പിന്തുടരുന്നു:'
filters: filters:
contexts: contexts:
notifications: അറിയിപ്പുകൾ notifications: അറിയിപ്പുകൾ

View file

@ -768,14 +768,6 @@ ms:
account_status: Status akaun account_status: Status akaun
view_strikes: Lihat pelanggaran yang lepas terhadap akaun anda view_strikes: Lihat pelanggaran yang lepas terhadap akaun anda
use_security_key: Gunakan kunci keselamatan use_security_key: Gunakan kunci keselamatan
authorize_follow:
follow: Ikut
follow_request: 'Anda telah menghantar permintaan mengikut kepada:'
post_follow:
close: Atau anda boleh tutup tetingkap ini.
return: Tunjukkan profil pengguna
web: Pergi ke web
title: Ikuti %{acct}
challenge: challenge:
confirm: Teruskan confirm: Teruskan
invalid_password: Kata laluan tidak sah invalid_password: Kata laluan tidak sah

View file

@ -1027,18 +1027,6 @@ my:
view_strikes: သင့်အကောင့်ကို ဆန့်ကျင်သည့် ယခင်ကလုပ်ဆောင်ချက်များကို ကြည့်ပါ view_strikes: သင့်အကောင့်ကို ဆန့်ကျင်သည့် ယခင်ကလုပ်ဆောင်ချက်များကို ကြည့်ပါ
too_fast: ဖောင်တင်သည်မှာ မြန်နေပါသည်။ ထပ်စမ်းကြည့်ပါ။ too_fast: ဖောင်တင်သည်မှာ မြန်နေပါသည်။ ထပ်စမ်းကြည့်ပါ။
use_security_key: လုံခြုံရေးကီးကို သုံးပါ use_security_key: လုံခြုံရေးကီးကို သုံးပါ
authorize_follow:
already_following: သင်သည် ဤအကောင့်ကို စောင့်ကြည့်နေပြီဖြစ်ပါသည်
already_requested: သင်သည် ထိုအကောင့်စောင့်ကြည့်ရန် တောင်းဆိုမှုတစ်ခု ပေးပို့ခဲ့ပြီးပါပြီ
error: ကံမကောင်းစွာဖြင့် အဝေးမှထိန်းချုပ်သောအကောင့်ရှာဖွေရာတွင် အမှားအယွင်းတစ်ခုရှိခဲ့သည်
follow: စောင့်ကြည့်မယ်
follow_request: သင်သည် စောင့်ကြည့်မည် တောင်းဆိုချက်တစ်ခု ပေးပို့ထားသည်-
following: သင် ယခု အောက်ပါအတိုင်း လုပ်ဆောင်နေပါသည် -
post_follow:
close: သို့မဟုတ် သင်သည် ဤဝင်းဒိုးကို ပိတ်နိုင်သည်
return: အသုံးပြုသူ၏ ပရိုဖိုင်ကိုပြရန်
web: ဝဘ်သို့ သွားပါ
title: "%{acct} ကို စောင့်ကြည့်မယ်"
challenge: challenge:
confirm: ဆက်လုပ်မည် confirm: ဆက်လုပ်မည်
hint_html: "<strong>အကြံပြုချက် -</strong> နောက်နာရီများတွင် သင့်စကားဝှက်ကို ထပ်မံတောင်းဆိုမည်မဟုတ်ပါ။" hint_html: "<strong>အကြံပြုချက် -</strong> နောက်နာရီများတွင် သင့်စကားဝှက်ကို ထပ်မံတောင်းဆိုမည်မဟုတ်ပါ။"

View file

@ -1041,18 +1041,6 @@ nl:
view_strikes: Bekijk de eerder door moderatoren vastgestelde overtredingen die je hebt gemaakt view_strikes: Bekijk de eerder door moderatoren vastgestelde overtredingen die je hebt gemaakt
too_fast: Formulier is te snel ingediend. Probeer het nogmaals. too_fast: Formulier is te snel ingediend. Probeer het nogmaals.
use_security_key: Beveiligingssleutel gebruiken use_security_key: Beveiligingssleutel gebruiken
authorize_follow:
already_following: Je volgt dit account al
already_requested: Je hebt al een volgverzoek naar dat account verstuurd
error: Helaas, er is een fout opgetreden bij het opzoeken van de externe account
follow: Volgen
follow_request: 'Jij hebt een volgverzoek ingediend bij:'
following: 'Succes! Jij volgt nu:'
post_follow:
close: Of je kunt dit venster gewoon sluiten.
return: Profiel van deze gebruiker tonen
web: Ga naar de webapp
title: Volg %{acct}
challenge: challenge:
confirm: Doorgaan confirm: Doorgaan
hint_html: "<strong>Tip:</strong> We vragen jou het komende uur niet meer naar jouw wachtwoord." hint_html: "<strong>Tip:</strong> We vragen jou het komende uur niet meer naar jouw wachtwoord."

View file

@ -1013,18 +1013,6 @@ nn:
view_strikes: Vis tidligere advarsler mot kontoen din view_strikes: Vis tidligere advarsler mot kontoen din
too_fast: Skjemaet ble sendt inn for raskt, prøv på nytt. too_fast: Skjemaet ble sendt inn for raskt, prøv på nytt.
use_security_key: Bruk sikkerhetsnøkkel use_security_key: Bruk sikkerhetsnøkkel
authorize_follow:
already_following: Du fylgjer allereie denne kontoen
already_requested: Du har allereie sendt ein fylgjespurnad til den kontoen
error: Uheldigvis skjedde det en feil da vi prøvde å få tak i en bruker fra en annen instans
follow: Fylg
follow_request: 'Du har sendt ein fylgjeførespurnad til:'
following: 'Suksess! No fylgjer du:'
post_follow:
close: Eller så kan du berre lukka att dette vindauget.
return: Vis brukarprofilen
web: Gå til nettet
title: Fylg %{acct}
challenge: challenge:
confirm: Hald fram confirm: Hald fram
hint_html: "<strong>Tips:</strong> Vi skal ikkje spørja deg om passordet ditt igjen i laupet av den neste timen." hint_html: "<strong>Tips:</strong> Vi skal ikkje spørja deg om passordet ditt igjen i laupet av den neste timen."

View file

@ -980,18 +980,6 @@
view_strikes: Vis tidligere advarsler mot kontoen din view_strikes: Vis tidligere advarsler mot kontoen din
too_fast: Skjemaet ble sendt inn for raskt, prøv på nytt. too_fast: Skjemaet ble sendt inn for raskt, prøv på nytt.
use_security_key: Bruk sikkerhetsnøkkel use_security_key: Bruk sikkerhetsnøkkel
authorize_follow:
already_following: Du følger allerede denne kontoen
already_requested: Du har allerede sendt en følgeforespørsel til denne kontoen
error: Dessverre oppstod det en feil da vi prøvde å få tak i brukeren fra tjeneren
follow: Følg
follow_request: 'Du har sendt en følgeforespørsel til:'
following: 'Suksess! Nå følger du:'
post_follow:
close: Eller så kan du lukke dette vinduet.
return: Gå tilbake til brukerens profil
web: Gå til nettsiden
title: Følg %{acct}
challenge: challenge:
confirm: Fortsett confirm: Fortsett
hint_html: "<strong>Tips:</strong> Vi ber deg ikke om passordet ditt igjen i løpet av neste time." hint_html: "<strong>Tips:</strong> Vi ber deg ikke om passordet ditt igjen i løpet av neste time."

View file

@ -504,17 +504,6 @@ oc:
account_status: Estat del compte account_status: Estat del compte
functional: Vòstre compte es complètament foncional. functional: Vòstre compte es complètament foncional.
use_security_key: Utilizar clau de seguretat use_security_key: Utilizar clau de seguretat
authorize_follow:
already_following: Seguètz ja aqueste compte
error: O planhèm, i a agut una error al moment de cercar lo compte
follow: Sègre
follow_request: 'Avètz demandat de sègre:'
following: 'Felicitacion! Seguètz ara:'
post_follow:
close: O podètz tampar aquesta fenèstra.
return: Veire lo perfil a la persona
web: Tornar a linterfàcia Web
title: Sègre %{acct}
challenge: challenge:
confirm: Contunhar confirm: Contunhar
hint_html: "<strong>Asutúcia :</strong> vos demandarem pas vòstre senhal de nòu daquí unas oras." hint_html: "<strong>Asutúcia :</strong> vos demandarem pas vòstre senhal de nòu daquí unas oras."

View file

@ -1077,18 +1077,6 @@ pl:
view_strikes: Zobacz dawne ostrzeżenia nałożone na twoje konto view_strikes: Zobacz dawne ostrzeżenia nałożone na twoje konto
too_fast: Zbyt szybko przesłano formularz, spróbuj ponownie. too_fast: Zbyt szybko przesłano formularz, spróbuj ponownie.
use_security_key: Użyj klucza bezpieczeństwa use_security_key: Użyj klucza bezpieczeństwa
authorize_follow:
already_following: Już obserwujesz to konto
already_requested: Już wysłałeś(-aś) prośbę o możliwość obserwowania tego konta
error: Niestety, podczas sprawdzania zdalnego konta wystąpił błąd
follow: Obserwuj
follow_request: 'Wysłano prośbę o możliwość obserwowania:'
following: 'Pomyślnie! Od teraz obserwujesz:'
post_follow:
close: Ewentualnie, możesz po prostu zamknąć tę stronę.
return: Pokaż stronę użytkownika
web: Przejdź do sieci
title: Obserwuj %{acct}
challenge: challenge:
confirm: Kontynuuj confirm: Kontynuuj
hint_html: "<strong>Informacja:</strong> Nie będziemy prosić Cię o ponowne podanie hasła przez następną godzinę." hint_html: "<strong>Informacja:</strong> Nie będziemy prosić Cię o ponowne podanie hasła przez następną godzinę."

View file

@ -1041,18 +1041,6 @@ pt-BR:
view_strikes: Veja os avisos anteriores em relação à sua conta view_strikes: Veja os avisos anteriores em relação à sua conta
too_fast: O formulário foi enviado muito rapidamente, tente novamente. too_fast: O formulário foi enviado muito rapidamente, tente novamente.
use_security_key: Usar chave de segurança use_security_key: Usar chave de segurança
authorize_follow:
already_following: Você já segue
already_requested: Você já enviou uma solicitação para seguir esta conta
error: Infelizmente, ocorreu um erro ao buscar a conta remota
follow: Seguir
follow_request: 'Você mandou solicitação para seguir para:'
following: 'Sucesso! Agora você está seguindo:'
post_follow:
close: Ou você pode simplesmente fechar esta janela.
return: Mostrar o perfil do usuário
web: Voltar à página inicial
title: Seguir %{acct}
challenge: challenge:
confirm: Continuar confirm: Continuar
hint_html: "<strong>Dica:</strong> Não pediremos novamente sua senha pela próxima hora." hint_html: "<strong>Dica:</strong> Não pediremos novamente sua senha pela próxima hora."

View file

@ -1041,18 +1041,6 @@ pt-PT:
view_strikes: Veja as reprimendas anteriores sobre a sua conta view_strikes: Veja as reprimendas anteriores sobre a sua conta
too_fast: Formulário enviado demasiado rapidamente, tente novamente. too_fast: Formulário enviado demasiado rapidamente, tente novamente.
use_security_key: Usar chave de segurança use_security_key: Usar chave de segurança
authorize_follow:
already_following: Tu já estás a seguir esta conta
already_requested: Já enviou anteriormente um pedido para seguir esta conta
error: Infelizmente, ocorreu um erro ao buscar a conta remota
follow: Seguir
follow_request: 'Enviaste uma solicitação de seguidor para:'
following: 'Sucesso! Agora estás a seguir a:'
post_follow:
close: Ou podes simplesmente fechar esta janela.
return: Mostrar perfil do utilizador
web: Ir para a página na teia
title: Seguir %{acct}
challenge: challenge:
confirm: Continuar confirm: Continuar
hint_html: "<strong>Dica:</strong> Não vamos pedir novamente a sua palavra-passe durante a próxima hora." hint_html: "<strong>Dica:</strong> Não vamos pedir novamente a sua palavra-passe durante a próxima hora."

View file

@ -446,18 +446,6 @@ ro:
confirming: Se așteaptă finalizarea confirmării prin e-mail. confirming: Se așteaptă finalizarea confirmării prin e-mail.
pending: Cererea dvs. este în curs de revizuire de către personalul nostru. Este posibil să dureze ceva timp. Veți primi un e-mail dacă cererea dvs. este aprobată. pending: Cererea dvs. este în curs de revizuire de către personalul nostru. Este posibil să dureze ceva timp. Veți primi un e-mail dacă cererea dvs. este aprobată.
redirecting_to: Contul dvs. este inactiv deoarece în prezent se redirecționează către %{acct}. redirecting_to: Contul dvs. este inactiv deoarece în prezent se redirecționează către %{acct}.
authorize_follow:
already_following: Urmărești deja acest cont
already_requested: Ați trimis deja o cerere de urmărire către acel cont
error: Din păcate a apărut o eroare
follow: Urmărește
follow_request: 'Ai trimis o cerere de urmărire către:'
following: 'Gata! De acum urmărești:'
post_follow:
close: Sau, poți închide această fereastră.
return: Arată profilul utilizatorului
web: Mergi la web
title: Urmărește %{acct}
challenge: challenge:
confirm: Continuă confirm: Continuă
hint_html: "<strong>Sfat:</strong> Nu vă vom mai cere parola pentru următoarea oră." hint_html: "<strong>Sfat:</strong> Nu vă vom mai cere parola pentru următoarea oră."

View file

@ -1077,18 +1077,6 @@ ru:
view_strikes: Просмотр предыдущих замечаний в адрес вашей учетной записи view_strikes: Просмотр предыдущих замечаний в адрес вашей учетной записи
too_fast: Форма отправлена слишком быстро, попробуйте еще раз. too_fast: Форма отправлена слишком быстро, попробуйте еще раз.
use_security_key: Использовать ключ безопасности use_security_key: Использовать ключ безопасности
authorize_follow:
already_following: Вы уже подписаны на эту учётную запись
already_requested: Вы уже отправили запрос на подписку на эту учётную запись
error: К сожалению, при поиске удалённой учётной записи возникла ошибка
follow: Подписаться
follow_request: 'Вы отправили запрос на подписку:'
following: 'Готово! Вы подписались на:'
post_follow:
close: Или просто закройте это окно.
return: Вернуться к профилю пользователя
web: Открыть в веб-версии
title: Подписаться на %{acct}
challenge: challenge:
confirm: Продолжить confirm: Продолжить
hint_html: "<strong>Подсказка</strong>: мы не будем спрашивать пароль повторно в течение часа." hint_html: "<strong>Подсказка</strong>: мы не будем спрашивать пароль повторно в течение часа."

View file

@ -538,18 +538,6 @@ sc:
redirecting_to: Su contu tuo est inativu pro ite in die de oe est torrende a indiritzare a %{acct}. redirecting_to: Su contu tuo est inativu pro ite in die de oe est torrende a indiritzare a %{acct}.
too_fast: Formulàriu imbiadu tropu a lestru, torra a proare. too_fast: Formulàriu imbiadu tropu a lestru, torra a proare.
use_security_key: Imprea una crae de seguresa use_security_key: Imprea una crae de seguresa
authorize_follow:
already_following: Ses giai sighende custu contu
already_requested: As giai imbiadu una dimanda de sighidura a custa persone
error: Faddina in sa chirca de su contu remotu
follow: Sighi
follow_request: 'As imbiadu una dimanda de sighidura a:'
following: 'Fatu! Immoe ses sighende a:'
post_follow:
close: O, podes serrare custa ventana.
return: Ammustra su profilu de custa persone
web: Bae a su situ web
title: Sighi a %{acct}
challenge: challenge:
confirm: Sighi confirm: Sighi
hint_html: "<strong>Cussìgiu:</strong> No t'amus a torrare a dimandare sa crae in s'ora imbeniente." hint_html: "<strong>Cussìgiu:</strong> No t'amus a torrare a dimandare sa crae in s'ora imbeniente."

View file

@ -971,18 +971,6 @@ sco:
view_strikes: Luik at past strikes aginst yer accoont view_strikes: Luik at past strikes aginst yer accoont
too_fast: Form submittit ower fast, try again. too_fast: Form submittit ower fast, try again.
use_security_key: Uise security key use_security_key: Uise security key
authorize_follow:
already_following: Ye'r awriddy follaein this accoont
already_requested: Ye'v awriddy sent a follae request tae that accoont
error: Unfortunately, there wis a error luikin up the remote accoont
follow: Follae
follow_request: 'Ye hae sent a follae request tae:'
following: 'Success! Ye''r noo follaein:'
post_follow:
close: Or, ye kin juist shut this windae.
return: Shaw the uiser's profile
web: Gang tae the wab
title: Follae %{acct}
challenge: challenge:
confirm: Continue confirm: Continue
hint_html: "<strong>wee tip:</strong> We wullnae ask ye fir yer passwird again fir the neist oor." hint_html: "<strong>wee tip:</strong> We wullnae ask ye fir yer passwird again fir the neist oor."

View file

@ -804,18 +804,6 @@ si:
view_strikes: ඔබගේ ගිණුමට එරෙහිව පසුගිය වර්ජන බලන්න view_strikes: ඔබගේ ගිණුමට එරෙහිව පසුගිය වර්ජන බලන්න
too_fast: පෝරමය ඉතා වේගයෙන් ඉදිරිපත් කර ඇත, නැවත උත්සාහ කරන්න. too_fast: පෝරමය ඉතා වේගයෙන් ඉදිරිපත් කර ඇත, නැවත උත්සාහ කරන්න.
use_security_key: ආරක්ෂක යතුර භාවිතා කරන්න use_security_key: ආරක්ෂක යතුර භාවිතා කරන්න
authorize_follow:
already_following: ඔබ දැනටමත් මෙම ගිණුම අනුගමනය කරයි
already_requested: ඔබ දැනටමත් එම ගිණුමට අනුගමනය ඉල්ලීමක් යවා ඇත
error: අවාසනාවකට, දුරස්ථ ගිණුම සෙවීමේදී දෝෂයක් ඇති විය
follow: අනුගමනය
follow_request: 'ඔබ පහත ඉල්ලීමක් යවා ඇත:'
following: 'සාර්ථකත්වය! ඔබ දැන් පහත දැක්වේ:'
post_follow:
close: හෝ ඔබට මෙම කවුළුව වසාදැමිය හැකිය.
return: පරිශීලකගේ පැතිකඩ පෙන්වන්න
web: වියමන ට යන්න
title: "%{acct} අනුගමනය"
challenge: challenge:
confirm: ඉදිරියට confirm: ඉදිරියට
hint_html: "<strong>ඉඟිය:</strong> අපි ඉදිරි පැය සඳහා නැවත ඔබගේ මුරපදය ඔබෙන් නොඉල්ලමු." hint_html: "<strong>ඉඟිය:</strong> අපි ඉදිරි පැය සඳහා නැවත ඔබගේ මුරපදය ඔබෙන් නොඉල්ලමු."

View file

@ -707,17 +707,6 @@ sk:
pending: Tvoja žiadosť čaká na schvílenie od nášho týmu. Môže to chviľu potrvať. Ak bude tvoja žiadosť schválená, dostaneš o tom email. pending: Tvoja žiadosť čaká na schvílenie od nášho týmu. Môže to chviľu potrvať. Ak bude tvoja žiadosť schválená, dostaneš o tom email.
redirecting_to: Tvoj účet je neaktívny, lebo v súčasnosti presmerováva na %{acct}. redirecting_to: Tvoj účet je neaktívny, lebo v súčasnosti presmerováva na %{acct}.
use_security_key: Použi bezpečnostný kľúč use_security_key: Použi bezpečnostný kľúč
authorize_follow:
already_following: Tento účet už nasleduješ
error: Naneštastie nastala chyba pri hľadaní vzdialeného účtu
follow: Nasleduj
follow_request: 'Poslal/a si žiadosť nasledovať užívateľa:'
following: 'Podarilo sa! Teraz nasleduješ užívateľa:'
post_follow:
close: Alebo môžeš iba zatvoriť toto okno.
return: Ukáž užívateľov profil
web: Prejdi do siete
title: Nasleduj %{acct}
challenge: challenge:
confirm: Pokračuj confirm: Pokračuj
hint_html: "<strong>Tip:</strong> Hodinu nebudeme znovu vyžadovať tvoje heslo." hint_html: "<strong>Tip:</strong> Hodinu nebudeme znovu vyžadovať tvoje heslo."

View file

@ -1077,18 +1077,6 @@ sl:
view_strikes: Pokaži pretekle ukrepe proti mojemu računu view_strikes: Pokaži pretekle ukrepe proti mojemu računu
too_fast: Obrazec oddan prehitro, poskusite znova. too_fast: Obrazec oddan prehitro, poskusite znova.
use_security_key: Uporabi varnostni ključ use_security_key: Uporabi varnostni ključ
authorize_follow:
already_following: Temu računu že sledite
already_requested: Temu računu ste že poslali zahtevo po sledenju
error: Na žalost je prišlo do napake pri iskanju oddaljenega računa
follow: Sledi
follow_request: 'Prošnjo za sledenje se poslali:'
following: 'Uspeh! Zdaj sledite:'
post_follow:
close: Lahko pa tudi zaprete to okno.
return: Prikaži uporabnikov profil
web: Pojdi na splet
title: Sledi %{acct}
challenge: challenge:
confirm: Nadaljuj confirm: Nadaljuj
hint_html: "<strong>Namig:</strong> naslednjo uro vas ne bomo več vprašali po vašem geslu." hint_html: "<strong>Namig:</strong> naslednjo uro vas ne bomo več vprašali po vašem geslu."

View file

@ -1034,18 +1034,6 @@ sq:
view_strikes: Shihni paralajmërime të dikurshme kundër llogarisë tuaj view_strikes: Shihni paralajmërime të dikurshme kundër llogarisë tuaj
too_fast: Formulari u parashtrua shumë shpejt, riprovoni. too_fast: Formulari u parashtrua shumë shpejt, riprovoni.
use_security_key: Përdor kyç sigurie use_security_key: Përdor kyç sigurie
authorize_follow:
already_following: E ndiqni tashmë këtë llogari
already_requested: Keni dërguar tashmë një kërkesë ndjekjeje te ajo llogari
error: Mjerisht, pati një gabim gjatë kërkimit të llogarisë së largët
follow: Ndiqeni
follow_request: 'Keni dërguar një kërkesë ndjekjeje te:'
following: 'Sukses! Tani e ndiqni:'
post_follow:
close: Ose, thjesht mund të mbyllni këtë dritare.
return: Shfaq profilin e përdoruesit
web: Kalo në web
title: Ndiq %{acct}
challenge: challenge:
confirm: Vazhdo confirm: Vazhdo
hint_html: "<strong>Ndihmëz:</strong> Sdo tju pyesim për fjalëkalimin tuaj sërish, për një orë." hint_html: "<strong>Ndihmëz:</strong> Sdo tju pyesim për fjalëkalimin tuaj sërish, për një orë."

View file

@ -1043,18 +1043,6 @@ sr-Latn:
view_strikes: Pogledajte prethodne prestupe upisane na Vaše ime view_strikes: Pogledajte prethodne prestupe upisane na Vaše ime
too_fast: Formular je podnet prebrzo, pokušajte ponovo. too_fast: Formular je podnet prebrzo, pokušajte ponovo.
use_security_key: Koristite sigurnosni ključ use_security_key: Koristite sigurnosni ključ
authorize_follow:
already_following: Već pratite ovaj nalog
already_requested: Već ste poslali zahtev za praćenje tom nalogu
error: Nažalost, desila se greška pri traženju udaljenog naloga
follow: Zaprati
follow_request: 'Poslali ste zahtev za praćenjen za:'
following: 'Sjajno! Sada pratite:'
post_follow:
close: Ili možete zatvoriti ovaj prozor.
return: Vrati se na nalog ovog korisnika
web: Idi na veb
title: Zaprati %{acct}
challenge: challenge:
confirm: Nastavi confirm: Nastavi
hint_html: "<strong>Savet:</strong> Nećemo Vas pitati za lozinku ponovo u narednih sat vremena." hint_html: "<strong>Savet:</strong> Nećemo Vas pitati za lozinku ponovo u narednih sat vremena."

View file

@ -1059,18 +1059,6 @@ sr:
view_strikes: Погледајте претходне преступе уписане на Ваше име view_strikes: Погледајте претходне преступе уписане на Ваше име
too_fast: Формулар је поднет пребрзо, покушајте поново. too_fast: Формулар је поднет пребрзо, покушајте поново.
use_security_key: Користите сигурносни кључ use_security_key: Користите сигурносни кључ
authorize_follow:
already_following: Већ пратите овај налог
already_requested: Већ сте послали захтев за праћење том налогу
error: Нажалост, десила се грешка при тражењу удаљеног налога
follow: Запрати
follow_request: 'Послали сте захтев за праћењен за:'
following: 'Сјајно! Сада пратите:'
post_follow:
close: Или можете затворити овај прозор.
return: Врати се на налог овог корисника
web: Иди на веб
title: Запрати %{acct}
challenge: challenge:
confirm: Настави confirm: Настави
hint_html: "<strong>Савет:</strong> Нећемо Вас питати за лозинку поново у наредних сат времена." hint_html: "<strong>Савет:</strong> Нећемо Вас питати за лозинку поново у наредних сат времена."

View file

@ -1034,18 +1034,6 @@ sv:
view_strikes: Visa tidigare prickar på ditt konto view_strikes: Visa tidigare prickar på ditt konto
too_fast: Formuläret har skickats för snabbt, försök igen. too_fast: Formuläret har skickats för snabbt, försök igen.
use_security_key: Använd säkerhetsnyckel use_security_key: Använd säkerhetsnyckel
authorize_follow:
already_following: Du följer redan detta konto
already_requested: Du har redan skickat en vänförfrågan till det kontot
error: Tyvärr inträffade ett fel när vi kontrollerade fjärrkontot
follow: Följ
follow_request: 'Du har skickat en följaförfrågan till:'
following: 'Succé! Du följer nu:'
post_follow:
close: Eller så kan du stänga detta fönster.
return: Visa användarens profil
web: Gå till webb
title: Följ %{acct}
challenge: challenge:
confirm: Fortsätt confirm: Fortsätt
hint_html: "<strong>Tips:</strong> Vi frågar dig inte efter ditt lösenord igen under nästkommande timme." hint_html: "<strong>Tips:</strong> Vi frågar dig inte efter ditt lösenord igen under nästkommande timme."

View file

@ -191,8 +191,6 @@ ta:
localization: localization:
body: மாஸ்டோடான் தன்னார்வலர்களால் மொழிபெயர்க்கப்படுகிறது. body: மாஸ்டோடான் தன்னார்வலர்களால் மொழிபெயர்க்கப்படுகிறது.
guide_link_text: அனைவரும் பங்களிக்கலாம். guide_link_text: அனைவரும் பங்களிக்கலாம்.
authorize_follow:
already_requested: இக்கணக்கைப் பின்தொடரும் கோரிக்கையை நீங்கள் ஏற்கனவே அனுப்பிவிட்டீர்கள்
crypto: crypto:
errors: errors:
invalid_key: ஒரு முறையான Ed25519 அல்லது Curve25519 key அல்ல invalid_key: ஒரு முறையான Ed25519 அல்லது Curve25519 key அல்ல

View file

@ -1023,18 +1023,6 @@ th:
view_strikes: ดูการดำเนินการที่ผ่านมาต่อบัญชีของคุณ view_strikes: ดูการดำเนินการที่ผ่านมาต่อบัญชีของคุณ
too_fast: ส่งแบบฟอร์มเร็วเกินไป ลองอีกครั้ง too_fast: ส่งแบบฟอร์มเร็วเกินไป ลองอีกครั้ง
use_security_key: ใช้กุญแจความปลอดภัย use_security_key: ใช้กุญแจความปลอดภัย
authorize_follow:
already_following: คุณกำลังติดตามบัญชีนี้อยู่แล้ว
already_requested: คุณได้ส่งคำขอติดตามไปยังบัญชีนั้นไปแล้ว
error: น่าเสียดาย มีข้อผิดพลาดในการค้นหาบัญชีระยะไกล
follow: ติดตาม
follow_request: 'คุณได้ส่งคำขอติดตามไปยัง:'
following: 'สำเร็จ! ตอนนี้คุณกำลังติดตาม:'
post_follow:
close: หรือคุณสามารถปิดหน้าต่างนี้
return: แสดงโปรไฟล์ของผู้ใช้
web: ไปยังเว็บ
title: ติดตาม %{acct}
challenge: challenge:
confirm: ดำเนินการต่อ confirm: ดำเนินการต่อ
hint_html: "<strong>เคล็ดลับ:</strong> เราจะไม่ถามรหัสผ่านของคุณกับคุณสำหรับชั่วโมงถัดไป" hint_html: "<strong>เคล็ดลับ:</strong> เราจะไม่ถามรหัสผ่านของคุณกับคุณสำหรับชั่วโมงถัดไป"

View file

@ -1041,18 +1041,6 @@ tr:
view_strikes: Hesabınıza yönelik eski eylemleri görüntüleyin view_strikes: Hesabınıza yönelik eski eylemleri görüntüleyin
too_fast: Form çok hızlı gönderildi, tekrar deneyin. too_fast: Form çok hızlı gönderildi, tekrar deneyin.
use_security_key: Güvenlik anahtarını kullan use_security_key: Güvenlik anahtarını kullan
authorize_follow:
already_following: Bu hesabı zaten takip ediyorsunuz
already_requested: Bu hesaba zaten takip isteği gönderdiniz
error: Uzak hesap aranırken bir hata oluştu
follow: Takip et
follow_request: 'Şuna takip isteği gönderdiniz:'
following: 'Başarılı! Artık şunu takip ediyorsunuz:'
post_follow:
close: Ya da, sadece bu pencereyi kapatabilirsiniz.
return: Kullanıcının profilini göster
web: Web'e git
title: "%{acct} takip et"
challenge: challenge:
confirm: Devam et confirm: Devam et
hint_html: "<strong>İpucu:</strong> Önümüzdeki saat boyunca sana parolanı sormayacağız." hint_html: "<strong>İpucu:</strong> Önümüzdeki saat boyunca sana parolanı sormayacağız."

View file

@ -117,8 +117,6 @@ tt:
saml: SАML saml: SАML
register: Теркәлү register: Теркәлү
security: Хәвефсезлек security: Хәвефсезлек
authorize_follow:
follow: Язылу
challenge: challenge:
confirm: Дәвам итү confirm: Дәвам итү
date: date:

View file

@ -1077,18 +1077,6 @@ uk:
view_strikes: Переглянути попередні попередження вашому обліковому запису view_strikes: Переглянути попередні попередження вашому обліковому запису
too_fast: Форму подано занадто швидко, спробуйте ще раз. too_fast: Форму подано занадто швидко, спробуйте ще раз.
use_security_key: Використовувати ключ безпеки use_security_key: Використовувати ключ безпеки
authorize_follow:
already_following: Ви вже слідкуєте за цим обліковим записом
already_requested: Ви вже надіслали запит на підписку до цього облікового запису
error: На жаль, під час пошуку віддаленого облікового запису сталася помилка
follow: Підписатися
follow_request: 'Вам надіслали запит на підписку:'
following: 'Ура! Ви тепер підписані на:'
post_follow:
close: Або, ви можете просто закрити вікно.
return: Перейти до профілю користувача
web: Перейти до вебу
title: Підписатися на %{acct}
challenge: challenge:
confirm: Далі confirm: Далі
hint_html: "<strong>Підказка:</strong> ми не будемо запитувати ваш пароль впродовж наступної години." hint_html: "<strong>Підказка:</strong> ми не будемо запитувати ваш пароль впродовж наступної години."

View file

@ -1023,18 +1023,6 @@ vi:
view_strikes: Xem những lần cảnh cáo cũ view_strikes: Xem những lần cảnh cáo cũ
too_fast: Nghi vấn đăng ký spam, xin thử lại. too_fast: Nghi vấn đăng ký spam, xin thử lại.
use_security_key: Dùng khóa bảo mật use_security_key: Dùng khóa bảo mật
authorize_follow:
already_following: Bạn đang theo dõi người này
already_requested: Bạn vừa gửi một yêu cầu theo dõi tới người này
error: Rất tiếc, đã xảy ra lỗi khi tìm kiếm tài khoản từ nơi khác
follow: Theo dõi
follow_request: Bạn đã gửi yêu cầu theo dõi tới
following: Chúc mừng! Bạn đã trở thành người theo dõi
post_follow:
close: Bạn có thể đóng cửa sổ này rồi.
return: Xem trang hồ sơ
web: Mở trong Mastodon
title: Theo dõi %{acct}
challenge: challenge:
confirm: Tiếp tục confirm: Tiếp tục
hint_html: "<strong>Mẹo:</strong> Chúng tôi sẽ không hỏi lại mật khẩu của bạn sau này." hint_html: "<strong>Mẹo:</strong> Chúng tôi sẽ không hỏi lại mật khẩu của bạn sau này."

View file

@ -77,9 +77,6 @@ zgh:
register: ⵣⵎⵎⴻⵎ register: ⵣⵎⵎⴻⵎ
status: status:
account_status: ⴰⴷⴷⴰⴷ ⵓⵎⵉⴹⴰⵏ account_status: ⴰⴷⴷⴰⴷ ⵓⵎⵉⴹⴰⵏ
authorize_follow:
follow: ⴹⴼⵕ
title: ⴹⴼⵕ %{acct}
deletes: deletes:
proceed: ⴽⴽⵙ ⴰⵎⵉⴹⴰⵏ proceed: ⴽⴽⵙ ⴰⵎⵉⴹⴰⵏ
exports: exports:

View file

@ -1023,18 +1023,6 @@ zh-CN:
view_strikes: 查看针对你账号的记录 view_strikes: 查看针对你账号的记录
too_fast: 表单提交过快,请重试。 too_fast: 表单提交过快,请重试。
use_security_key: 使用安全密钥 use_security_key: 使用安全密钥
authorize_follow:
already_following: 你已经在关注此用户了
already_requested: 你已经向那个账户发送过关注请求了
error: 对不起,寻找这个跨站用户时出错
follow: 关注
follow_request: 关注请求已发送给:
following: 成功!你正在关注:
post_follow:
close: 你也可以直接关闭这个窗口。
return: 查看用户个人资料
web: 返回本站
title: 关注 %{acct}
challenge: challenge:
confirm: 继续 confirm: 继续
hint_html: "<strong>注意:</strong>接下来一小时内我们不会再次要求你输入密码。" hint_html: "<strong>注意:</strong>接下来一小时内我们不会再次要求你输入密码。"

View file

@ -1007,18 +1007,6 @@ zh-HK:
view_strikes: 查看針對你的帳戶的過往警告 view_strikes: 查看針對你的帳戶的過往警告
too_fast: 你太快遞交了,請再試一次。 too_fast: 你太快遞交了,請再試一次。
use_security_key: 使用安全密鑰裝置 use_security_key: 使用安全密鑰裝置
authorize_follow:
already_following: 你已經關注了這個帳號
already_requested: 你先前已向該帳號發送關注請求
error: 對不起,尋找這個跨站用戶的過程發生錯誤
follow: 關注
follow_request: 關注請求已發送给:
following: 成功!你正在關注:
post_follow:
close: 你也可以直接關閉這個頁面。
return: 顯示個人資料頁
web: 返回本站
title: 關注 %{acct}
challenge: challenge:
confirm: 繼續 confirm: 繼續
hint_html: "<strong>温馨提示</strong> 我們在未來一小時內不會再要求你填寫密碼。" hint_html: "<strong>温馨提示</strong> 我們在未來一小時內不會再要求你填寫密碼。"

View file

@ -1025,18 +1025,6 @@ zh-TW:
view_strikes: 檢視針對您帳號過去的警示 view_strikes: 檢視針對您帳號過去的警示
too_fast: 送出表單的速度太快跟不上,請稍後再試。 too_fast: 送出表單的速度太快跟不上,請稍後再試。
use_security_key: 使用安全金鑰 use_security_key: 使用安全金鑰
authorize_follow:
already_following: 您已經跟隨這個使用者
already_requested: 您早已向該帳號寄送跟隨請求
error: 對不起,搜尋其他站點使用者出現錯誤
follow: 跟隨
follow_request: 跟隨請求已發送給:
following: 成功!您正在跟隨:
post_follow:
close: 您可以直接關閉此頁面。
return: 顯示個人檔案
web: 返回本站
title: 跟隨 %{acct}
challenge: challenge:
confirm: 繼續 confirm: 繼續
hint_html: "<strong>温馨小提醒:</strong> 我們在接下來一小時內不會再要求您輸入密碼。" hint_html: "<strong>温馨小提醒:</strong> 我們在接下來一小時內不會再要求您輸入密碼。"

View file

@ -52,6 +52,7 @@ Rails.application.routes.draw do
get '.well-known/nodeinfo', to: 'well_known/nodeinfo#index', as: :nodeinfo, defaults: { format: 'json' } get '.well-known/nodeinfo', to: 'well_known/nodeinfo#index', as: :nodeinfo, defaults: { format: 'json' }
get '.well-known/webfinger', to: 'well_known/webfinger#show', as: :webfinger get '.well-known/webfinger', to: 'well_known/webfinger#show', as: :webfinger
get '.well-known/change-password', to: redirect('/auth/edit') get '.well-known/change-password', to: redirect('/auth/edit')
get '.well-known/proxy', to: redirect { |_, request| "/authorize_interaction?#{request.params.to_query}" }
get '/nodeinfo/2.0', to: 'well_known/nodeinfo#show', as: :nodeinfo_schema get '/nodeinfo/2.0', to: 'well_known/nodeinfo#show', as: :nodeinfo_schema
@ -161,7 +162,7 @@ Rails.application.routes.draw do
get '/media_proxy/:id/(*any)', to: 'media_proxy#show', as: :media_proxy, format: false get '/media_proxy/:id/(*any)', to: 'media_proxy#show', as: :media_proxy, format: false
get '/backups/:id/download', to: 'backups#download', as: :download_backup, format: false get '/backups/:id/download', to: 'backups#download', as: :download_backup, format: false
resource :authorize_interaction, only: [:show, :create] resource :authorize_interaction, only: [:show]
resource :share, only: [:show] resource :share, only: [:show]
draw(:admin) draw(:admin)

View file

@ -123,6 +123,10 @@ namespace :api, format: false do
resource :activity, only: [:show], controller: 'instances/activity' resource :activity, only: [:show], controller: 'instances/activity'
end end
namespace :peers do
get :search, to: 'search#index'
end
resource :domain_blocks, only: [:show, :create, :destroy] resource :domain_blocks, only: [:show, :create, :destroy]
resource :directory, only: [:show] resource :directory, only: [:show]

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