Merge branch 'kb_development' into kb-draft-12.0
This commit is contained in:
commit
1e25b59ed8
114 changed files with 1267 additions and 573 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -71,3 +71,6 @@ yarn-debug.log
|
||||||
|
|
||||||
# Ignore Docker option files
|
# Ignore Docker option files
|
||||||
docker-compose.override.yml
|
docker-compose.override.yml
|
||||||
|
|
||||||
|
# Ignore dotenv .local files
|
||||||
|
.env*.local
|
||||||
|
|
|
@ -194,6 +194,11 @@ Style/FormatStringToken:
|
||||||
AllowedMethods:
|
AllowedMethods:
|
||||||
- redirect_with_vary
|
- redirect_with_vary
|
||||||
|
|
||||||
|
# Reason: Prevailing style choice
|
||||||
|
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashaslastarrayitem
|
||||||
|
Style/HashAsLastArrayItem:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
# Reason: Enforce modern Ruby style
|
# Reason: Enforce modern Ruby style
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax
|
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax
|
||||||
Style/HashSyntax:
|
Style/HashSyntax:
|
||||||
|
|
|
@ -131,19 +131,6 @@ Style/GuardClause:
|
||||||
- 'lib/mastodon/cli/media.rb'
|
- 'lib/mastodon/cli/media.rb'
|
||||||
- 'lib/tasks/repo.rake'
|
- 'lib/tasks/repo.rake'
|
||||||
|
|
||||||
# This cop supports safe autocorrection (--autocorrect).
|
|
||||||
# Configuration parameters: EnforcedStyle.
|
|
||||||
# SupportedStyles: braces, no_braces
|
|
||||||
Style/HashAsLastArrayItem:
|
|
||||||
Exclude:
|
|
||||||
- 'app/controllers/admin/statuses_controller.rb'
|
|
||||||
- 'app/controllers/api/v1/statuses_controller.rb'
|
|
||||||
- 'app/models/concerns/account/counters.rb'
|
|
||||||
- 'app/models/concerns/status/threading_concern.rb'
|
|
||||||
- 'app/models/status.rb'
|
|
||||||
- 'app/services/batched_remove_status_service.rb'
|
|
||||||
- 'app/services/notify_service.rb'
|
|
||||||
|
|
||||||
# This cop supports unsafe autocorrection (--autocorrect-all).
|
# This cop supports unsafe autocorrection (--autocorrect-all).
|
||||||
Style/HashTransformValues:
|
Style/HashTransformValues:
|
||||||
Exclude:
|
Exclude:
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
3.2.3
|
3.2.4
|
||||||
|
|
10
Dockerfile
10
Dockerfile
|
@ -7,15 +7,15 @@
|
||||||
ARG TARGETPLATFORM=${TARGETPLATFORM}
|
ARG TARGETPLATFORM=${TARGETPLATFORM}
|
||||||
ARG BUILDPLATFORM=${BUILDPLATFORM}
|
ARG BUILDPLATFORM=${BUILDPLATFORM}
|
||||||
|
|
||||||
# Ruby image to use for base image, change with [--build-arg RUBY_VERSION="3.2.3"]
|
# Ruby image to use for base image, change with [--build-arg RUBY_VERSION="3.2.4"]
|
||||||
ARG RUBY_VERSION="3.2.3"
|
ARG RUBY_VERSION="3.2.4"
|
||||||
# # Node version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"]
|
# # Node version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"]
|
||||||
ARG NODE_MAJOR_VERSION="20"
|
ARG NODE_MAJOR_VERSION="20"
|
||||||
# Debian image to use for base image, change with [--build-arg DEBIAN_VERSION="bookworm"]
|
# Debian image to use for base image, change with [--build-arg DEBIAN_VERSION="bookworm"]
|
||||||
ARG DEBIAN_VERSION="bookworm"
|
ARG DEBIAN_VERSION="bookworm"
|
||||||
# Node image to use for base image based on combined variables (ex: 20-bookworm-slim)
|
# Node image to use for base image based on combined variables (ex: 20-bookworm-slim)
|
||||||
FROM docker.io/node:${NODE_MAJOR_VERSION}-${DEBIAN_VERSION}-slim as node
|
FROM docker.io/node:${NODE_MAJOR_VERSION}-${DEBIAN_VERSION}-slim as node
|
||||||
# Ruby image to use for base image based on combined variables (ex: 3.2.3-slim-bookworm)
|
# Ruby image to use for base image based on combined variables (ex: 3.2.4-slim-bookworm)
|
||||||
FROM docker.io/ruby:${RUBY_VERSION}-slim-${DEBIAN_VERSION} as ruby
|
FROM docker.io/ruby:${RUBY_VERSION}-slim-${DEBIAN_VERSION} as ruby
|
||||||
|
|
||||||
# Resulting version string is vX.X.X-MASTODON_VERSION_PRERELEASE+MASTODON_VERSION_METADATA
|
# Resulting version string is vX.X.X-MASTODON_VERSION_PRERELEASE+MASTODON_VERSION_METADATA
|
||||||
|
@ -29,7 +29,7 @@ ARG MASTODON_VERSION_METADATA=""
|
||||||
# See: https://docs.joinmastodon.org/admin/config/#rails_serve_static_files
|
# See: https://docs.joinmastodon.org/admin/config/#rails_serve_static_files
|
||||||
ARG RAILS_SERVE_STATIC_FILES="true"
|
ARG RAILS_SERVE_STATIC_FILES="true"
|
||||||
# Allow to use YJIT compiler
|
# Allow to use YJIT compiler
|
||||||
# See: https://github.com/ruby/ruby/blob/v3_2_3/doc/yjit/yjit.md
|
# See: https://github.com/ruby/ruby/blob/v3_2_4/doc/yjit/yjit.md
|
||||||
ARG RUBY_YJIT_ENABLE="1"
|
ARG RUBY_YJIT_ENABLE="1"
|
||||||
# Timezone used by the Docker container and runtime, change with [--build-arg TZ=Europe/Berlin]
|
# Timezone used by the Docker container and runtime, change with [--build-arg TZ=Europe/Berlin]
|
||||||
ARG TZ="Etc/UTC"
|
ARG TZ="Etc/UTC"
|
||||||
|
@ -262,4 +262,4 @@ USER mastodon
|
||||||
# Expose default Puma ports
|
# Expose default Puma ports
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
# Set container tini as default entry point
|
# Set container tini as default entry point
|
||||||
ENTRYPOINT ["/usr/bin/tini", "--"]
|
ENTRYPOINT ["/usr/bin/tini", "--"]
|
||||||
|
|
|
@ -693,7 +693,7 @@ GEM
|
||||||
scenic (1.8.0)
|
scenic (1.8.0)
|
||||||
activerecord (>= 4.0.0)
|
activerecord (>= 4.0.0)
|
||||||
railties (>= 4.0.0)
|
railties (>= 4.0.0)
|
||||||
selenium-webdriver (4.19.0)
|
selenium-webdriver (4.20.1)
|
||||||
base64 (~> 0.2)
|
base64 (~> 0.2)
|
||||||
rexml (~> 3.2, >= 3.2.5)
|
rexml (~> 3.2, >= 3.2.5)
|
||||||
rubyzip (>= 1.2.2, < 3.0)
|
rubyzip (>= 1.2.2, < 3.0)
|
||||||
|
|
|
@ -125,7 +125,7 @@ module Admin
|
||||||
return @edit_account_id || @account.id if @edit_account_checked
|
return @edit_account_id || @account.id if @edit_account_checked
|
||||||
|
|
||||||
@edit_account_checked = true
|
@edit_account_checked = true
|
||||||
@edit_account_id = Account.local.find_by(username: 'official')&.id || @account.id
|
@edit_account_id = Account.representative.id
|
||||||
end
|
end
|
||||||
|
|
||||||
def filter_params
|
def filter_params
|
||||||
|
|
|
@ -3,7 +3,7 @@ import { List as ImmutableList } from 'immutable';
|
||||||
import { debounce } from 'lodash';
|
import { debounce } from 'lodash';
|
||||||
|
|
||||||
import type { MarkerJSON } from 'mastodon/api_types/markers';
|
import type { MarkerJSON } from 'mastodon/api_types/markers';
|
||||||
import type { RootState } from 'mastodon/store';
|
import type { AppDispatch, RootState } from 'mastodon/store';
|
||||||
import { createAppAsyncThunk } from 'mastodon/store/typed_functions';
|
import { createAppAsyncThunk } from 'mastodon/store/typed_functions';
|
||||||
|
|
||||||
import api, { authorizationTokenFromState } from '../api';
|
import api, { authorizationTokenFromState } from '../api';
|
||||||
|
@ -72,18 +72,21 @@ interface MarkerParam {
|
||||||
}
|
}
|
||||||
|
|
||||||
function getLastHomeId(state: RootState): string | undefined {
|
function getLastHomeId(state: RootState): string | undefined {
|
||||||
/* eslint-disable @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access */
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
||||||
return (
|
return (
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
||||||
state
|
state
|
||||||
// @ts-expect-error state.timelines is not yet typed
|
// @ts-expect-error state.timelines is not yet typed
|
||||||
.getIn(['timelines', 'home', 'items'], ImmutableList())
|
.getIn(['timelines', 'home', 'items'], ImmutableList())
|
||||||
// @ts-expect-error state.timelines is not yet typed
|
// @ts-expect-error state.timelines is not yet typed
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
||||||
.find((item) => item !== null)
|
.find((item) => item !== null)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getLastNotificationId(state: RootState): string | undefined {
|
function getLastNotificationId(state: RootState): string | undefined {
|
||||||
// @ts-expect-error state.notifications is not yet typed
|
// @ts-expect-error state.notifications is not yet typed
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call
|
||||||
return state.getIn(['notifications', 'lastReadId']);
|
return state.getIn(['notifications', 'lastReadId']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,8 +134,8 @@ export const submitMarkersAction = createAppAsyncThunk<{
|
||||||
});
|
});
|
||||||
|
|
||||||
const debouncedSubmitMarkers = debounce(
|
const debouncedSubmitMarkers = debounce(
|
||||||
(dispatch) => {
|
(dispatch: AppDispatch) => {
|
||||||
dispatch(submitMarkersAction());
|
void dispatch(submitMarkersAction());
|
||||||
},
|
},
|
||||||
300000,
|
300000,
|
||||||
{
|
{
|
||||||
|
|
|
@ -133,9 +133,6 @@ export function updateNotifications(notification, intlMessages, intlLocale) {
|
||||||
if (notification.status) {
|
if (notification.status) {
|
||||||
dispatch(importFetchedStatus(notification.status));
|
dispatch(importFetchedStatus(notification.status));
|
||||||
}
|
}
|
||||||
if (notification.statuses) {
|
|
||||||
dispatch(importFetchedStatuses(notification.statuses));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (notification.report) {
|
if (notification.report) {
|
||||||
dispatch(importFetchedAccount(notification.report.target_account));
|
dispatch(importFetchedAccount(notification.report.target_account));
|
||||||
|
@ -182,7 +179,6 @@ const excludeTypesFromFilter = filter => {
|
||||||
'status',
|
'status',
|
||||||
'list_status',
|
'list_status',
|
||||||
'update',
|
'update',
|
||||||
'account_warning',
|
|
||||||
'admin.sign_up',
|
'admin.sign_up',
|
||||||
'admin.report',
|
'admin.report',
|
||||||
]);
|
]);
|
||||||
|
@ -241,10 +237,7 @@ export function expandNotifications({ maxId, forceLoad } = {}, done = noOp) {
|
||||||
const next = getLinks(response).refs.find(link => link.rel === 'next');
|
const next = getLinks(response).refs.find(link => link.rel === 'next');
|
||||||
|
|
||||||
dispatch(importFetchedAccounts(response.data.map(item => item.account)));
|
dispatch(importFetchedAccounts(response.data.map(item => item.account)));
|
||||||
dispatch(importFetchedStatuses(
|
dispatch(importFetchedStatuses(response.data.map(item => item.status).filter(status => !!status)));
|
||||||
response.data.map(item => item.status).filter(status => !!status)
|
|
||||||
.concat(response.data.flatMap(item => item.statuses || []))
|
|
||||||
));
|
|
||||||
dispatch(importFetchedAccounts(response.data.filter(item => item.report).map(item => item.report.target_account)));
|
dispatch(importFetchedAccounts(response.data.filter(item => item.report).map(item => item.report.target_account)));
|
||||||
|
|
||||||
dispatch(expandNotificationsSuccess(response.data, next ? next.uri : null, isLoadingMore, isLoadingRecent, isLoadingRecent && preferPendingItems));
|
dispatch(expandNotificationsSuccess(response.data, next ? next.uri : null, isLoadingMore, isLoadingRecent, isLoadingRecent && preferPendingItems));
|
||||||
|
|
|
@ -1,17 +1,19 @@
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
import { useCallback } from 'react';
|
||||||
|
|
||||||
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
|
import { defineMessages, useIntl, FormattedMessage } from 'react-intl';
|
||||||
|
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
|
||||||
|
|
||||||
|
import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
|
||||||
import { EmptyAccount } from 'mastodon/components/empty_account';
|
import { EmptyAccount } from 'mastodon/components/empty_account';
|
||||||
import { ShortNumber } from 'mastodon/components/short_number';
|
import { ShortNumber } from 'mastodon/components/short_number';
|
||||||
import { VerifiedBadge } from 'mastodon/components/verified_badge';
|
import { VerifiedBadge } from 'mastodon/components/verified_badge';
|
||||||
|
|
||||||
|
import DropdownMenuContainer from '../containers/dropdown_menu_container';
|
||||||
import { me } from '../initial_state';
|
import { me } from '../initial_state';
|
||||||
|
|
||||||
import { Avatar } from './avatar';
|
import { Avatar } from './avatar';
|
||||||
|
@ -30,158 +32,163 @@ const messages = defineMessages({
|
||||||
unmute_notifications: { id: 'account.unmute_notifications_short', defaultMessage: 'Unmute notifications' },
|
unmute_notifications: { id: 'account.unmute_notifications_short', defaultMessage: 'Unmute notifications' },
|
||||||
mute: { id: 'account.mute_short', defaultMessage: 'Mute' },
|
mute: { id: 'account.mute_short', defaultMessage: 'Mute' },
|
||||||
block: { id: 'account.block_short', defaultMessage: 'Block' },
|
block: { id: 'account.block_short', defaultMessage: 'Block' },
|
||||||
|
more: { id: 'status.more', defaultMessage: 'More' },
|
||||||
});
|
});
|
||||||
|
|
||||||
class Account extends ImmutablePureComponent {
|
const Account = ({ size = 46, account, onFollow, onBlock, onMute, onMuteNotifications, hidden, hideButtons, minimal, defaultAction, children, withBio }) => {
|
||||||
|
const intl = useIntl();
|
||||||
|
|
||||||
static propTypes = {
|
const handleFollow = useCallback(() => {
|
||||||
size: PropTypes.number,
|
onFollow(account);
|
||||||
account: ImmutablePropTypes.record,
|
}, [onFollow, account]);
|
||||||
onFollow: PropTypes.func,
|
|
||||||
onBlock: PropTypes.func,
|
|
||||||
onMute: PropTypes.func,
|
|
||||||
onMuteNotifications: PropTypes.func,
|
|
||||||
intl: PropTypes.object.isRequired,
|
|
||||||
hidden: PropTypes.bool,
|
|
||||||
hideButtons: PropTypes.bool,
|
|
||||||
minimal: PropTypes.bool,
|
|
||||||
defaultAction: PropTypes.string,
|
|
||||||
children: PropTypes.object,
|
|
||||||
withBio: PropTypes.bool,
|
|
||||||
};
|
|
||||||
|
|
||||||
static defaultProps = {
|
const handleBlock = useCallback(() => {
|
||||||
size: 46,
|
onBlock(account);
|
||||||
};
|
}, [onBlock, account]);
|
||||||
|
|
||||||
handleFollow = () => {
|
const handleMute = useCallback(() => {
|
||||||
this.props.onFollow(this.props.account);
|
onMute(account);
|
||||||
};
|
}, [onMute, account]);
|
||||||
|
|
||||||
handleBlock = () => {
|
const handleMuteNotifications = useCallback(() => {
|
||||||
this.props.onBlock(this.props.account);
|
onMuteNotifications(account, true);
|
||||||
};
|
}, [onMuteNotifications, account]);
|
||||||
|
|
||||||
handleMute = () => {
|
const handleUnmuteNotifications = useCallback(() => {
|
||||||
this.props.onMute(this.props.account);
|
onMuteNotifications(account, false);
|
||||||
};
|
}, [onMuteNotifications, account]);
|
||||||
|
|
||||||
handleMuteNotifications = () => {
|
if (!account) {
|
||||||
this.props.onMuteNotifications(this.props.account, true);
|
return <EmptyAccount size={size} minimal={minimal} />;
|
||||||
};
|
}
|
||||||
|
|
||||||
handleUnmuteNotifications = () => {
|
|
||||||
this.props.onMuteNotifications(this.props.account, false);
|
|
||||||
};
|
|
||||||
|
|
||||||
render () {
|
|
||||||
const { account, intl, hidden, hideButtons, withBio, defaultAction, size, minimal, children } = this.props;
|
|
||||||
|
|
||||||
if (!account) {
|
|
||||||
return <EmptyAccount size={size} minimal={minimal} />;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hidden) {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
{account.get('display_name')}
|
|
||||||
{account.get('username')}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
let buttons;
|
|
||||||
|
|
||||||
if (!hideButtons && account.get('id') !== me && account.get('relationship', null) !== null) {
|
|
||||||
const following = account.getIn(['relationship', 'following']);
|
|
||||||
const requested = account.getIn(['relationship', 'requested']);
|
|
||||||
const blocking = account.getIn(['relationship', 'blocking']);
|
|
||||||
const muting = account.getIn(['relationship', 'muting']);
|
|
||||||
|
|
||||||
if (requested) {
|
|
||||||
buttons = <Button text={intl.formatMessage(messages.cancel_follow_request)} onClick={this.handleFollow} />;
|
|
||||||
} else if (blocking) {
|
|
||||||
buttons = <Button text={intl.formatMessage(messages.unblock)} onClick={this.handleBlock} />;
|
|
||||||
} else if (muting) {
|
|
||||||
let hidingNotificationsButton;
|
|
||||||
|
|
||||||
if (account.getIn(['relationship', 'muting_notifications'])) {
|
|
||||||
hidingNotificationsButton = <Button text={intl.formatMessage(messages.unmute_notifications)} onClick={this.handleUnmuteNotifications} />;
|
|
||||||
} else {
|
|
||||||
hidingNotificationsButton = <Button text={intl.formatMessage(messages.mute_notifications)} onClick={this.handleMuteNotifications} />;
|
|
||||||
}
|
|
||||||
|
|
||||||
buttons = (
|
|
||||||
<>
|
|
||||||
<Button text={intl.formatMessage(messages.unmute)} onClick={this.handleMute} />
|
|
||||||
{hidingNotificationsButton}
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
} else if (defaultAction === 'mute') {
|
|
||||||
buttons = <Button title={intl.formatMessage(messages.mute)} onClick={this.handleMute} />;
|
|
||||||
} else if (defaultAction === 'block') {
|
|
||||||
buttons = <Button text={intl.formatMessage(messages.block)} onClick={this.handleBlock} />;
|
|
||||||
} else if (!account.get('suspended') && !account.get('moved') || following) {
|
|
||||||
buttons = <Button text={intl.formatMessage(following ? messages.unfollow : messages.follow)} onClick={this.handleFollow} />;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let muteTimeRemaining;
|
|
||||||
|
|
||||||
if (account.get('mute_expires_at')) {
|
|
||||||
muteTimeRemaining = <>· <RelativeTimestamp timestamp={account.get('mute_expires_at')} futureDate /></>;
|
|
||||||
}
|
|
||||||
|
|
||||||
let verification;
|
|
||||||
|
|
||||||
const firstVerifiedField = account.get('fields').find(item => !!item.get('verified_at'));
|
|
||||||
|
|
||||||
if (firstVerifiedField) {
|
|
||||||
verification = <VerifiedBadge link={firstVerifiedField.get('value')} />;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (hidden) {
|
||||||
return (
|
return (
|
||||||
<div className={classNames('account', { 'account--minimal': minimal })}>
|
<>
|
||||||
<div className='account__wrapper'>
|
{account.get('display_name')}
|
||||||
<Link key={account.get('id')} className='account__display-name' title={account.get('acct')} to={`/@${account.get('acct')}`}>
|
{account.get('username')}
|
||||||
<div className='account__avatar-wrapper'>
|
</>
|
||||||
<Avatar account={account} size={size} />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className='account__contents'>
|
|
||||||
<DisplayName account={account} />
|
|
||||||
{!minimal && (
|
|
||||||
<div className='account__details'>
|
|
||||||
<ShortNumber value={account.get('followers_count')} isHide={account.getIn(['other_settings', 'hide_followers_count']) || false} renderer={FollowersCounter} /> {verification} {muteTimeRemaining}
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</Link>
|
|
||||||
|
|
||||||
{!minimal && (
|
|
||||||
<div>
|
|
||||||
<div>
|
|
||||||
{children}
|
|
||||||
</div>
|
|
||||||
<div className='account__relationship'>
|
|
||||||
{buttons}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{withBio && (account.get('note').length > 0 ? (
|
|
||||||
<div
|
|
||||||
className='account__note translate'
|
|
||||||
dangerouslySetInnerHTML={{ __html: account.get('note_emojified') }}
|
|
||||||
/>
|
|
||||||
) : (
|
|
||||||
<div className='account__note account__note--missing'><FormattedMessage id='account.no_bio' defaultMessage='No description provided.' /></div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
let buttons;
|
||||||
|
|
||||||
export default injectIntl(Account);
|
if (!hideButtons && account.get('id') !== me && account.get('relationship', null) !== null) {
|
||||||
|
const following = account.getIn(['relationship', 'following']);
|
||||||
|
const requested = account.getIn(['relationship', 'requested']);
|
||||||
|
const blocking = account.getIn(['relationship', 'blocking']);
|
||||||
|
const muting = account.getIn(['relationship', 'muting']);
|
||||||
|
|
||||||
|
if (requested) {
|
||||||
|
buttons = <Button text={intl.formatMessage(messages.cancel_follow_request)} onClick={handleFollow} />;
|
||||||
|
} else if (blocking) {
|
||||||
|
buttons = <Button text={intl.formatMessage(messages.unblock)} onClick={handleBlock} />;
|
||||||
|
} else if (muting) {
|
||||||
|
let menu;
|
||||||
|
|
||||||
|
if (account.getIn(['relationship', 'muting_notifications'])) {
|
||||||
|
menu = [{ text: intl.formatMessage(messages.unmute_notifications), action: handleUnmuteNotifications }];
|
||||||
|
} else {
|
||||||
|
menu = [{ text: intl.formatMessage(messages.mute_notifications), action: handleMuteNotifications }];
|
||||||
|
}
|
||||||
|
|
||||||
|
buttons = (
|
||||||
|
<>
|
||||||
|
<DropdownMenuContainer
|
||||||
|
items={menu}
|
||||||
|
icon='ellipsis-h'
|
||||||
|
iconComponent={MoreHorizIcon}
|
||||||
|
direction='right'
|
||||||
|
title={intl.formatMessage(messages.more)}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Button text={intl.formatMessage(messages.unmute)} onClick={handleMute} />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
} else if (defaultAction === 'mute') {
|
||||||
|
buttons = <Button title={intl.formatMessage(messages.mute)} onClick={handleMute} />;
|
||||||
|
} else if (defaultAction === 'block') {
|
||||||
|
buttons = <Button text={intl.formatMessage(messages.block)} onClick={handleBlock} />;
|
||||||
|
} else if (!account.get('suspended') && !account.get('moved') || following) {
|
||||||
|
buttons = <Button text={intl.formatMessage(following ? messages.unfollow : messages.follow)} onClick={handleFollow} />;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let muteTimeRemaining;
|
||||||
|
|
||||||
|
if (account.get('mute_expires_at')) {
|
||||||
|
muteTimeRemaining = <>· <RelativeTimestamp timestamp={account.get('mute_expires_at')} futureDate /></>;
|
||||||
|
}
|
||||||
|
|
||||||
|
let verification;
|
||||||
|
|
||||||
|
const firstVerifiedField = account.get('fields').find(item => !!item.get('verified_at'));
|
||||||
|
|
||||||
|
if (firstVerifiedField) {
|
||||||
|
verification = <VerifiedBadge link={firstVerifiedField.get('value')} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className={classNames('account', { 'account--minimal': minimal })}>
|
||||||
|
<div className='account__wrapper'>
|
||||||
|
<Link key={account.get('id')} className='account__display-name' title={account.get('acct')} to={`/@${account.get('acct')}`}>
|
||||||
|
<div className='account__avatar-wrapper'>
|
||||||
|
<Avatar account={account} size={size} />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className='account__contents'>
|
||||||
|
<DisplayName account={account} />
|
||||||
|
{!minimal && (
|
||||||
|
<div className='account__details'>
|
||||||
|
<ShortNumber value={account.get('followers_count')} renderer={FollowersCounter} /> {verification} {muteTimeRemaining}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
|
||||||
|
{!minimal && children && (
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
{children}
|
||||||
|
</div>
|
||||||
|
<div className='account__relationship'>
|
||||||
|
{buttons}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
{!minimal && !children && (
|
||||||
|
<div className='account__relationship'>
|
||||||
|
{buttons}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{withBio && (account.get('note').length > 0 ? (
|
||||||
|
<div
|
||||||
|
className='account__note translate'
|
||||||
|
dangerouslySetInnerHTML={{ __html: account.get('note_emojified') }}
|
||||||
|
/>
|
||||||
|
) : (
|
||||||
|
<div className='account__note account__note--missing'><FormattedMessage id='account.no_bio' defaultMessage='No description provided.' /></div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
Account.propTypes = {
|
||||||
|
size: PropTypes.number,
|
||||||
|
account: ImmutablePropTypes.record,
|
||||||
|
onFollow: PropTypes.func,
|
||||||
|
onBlock: PropTypes.func,
|
||||||
|
onMute: PropTypes.func,
|
||||||
|
onMuteNotifications: PropTypes.func,
|
||||||
|
intl: PropTypes.object.isRequired,
|
||||||
|
hidden: PropTypes.bool,
|
||||||
|
hideButtons: PropTypes.bool,
|
||||||
|
minimal: PropTypes.bool,
|
||||||
|
defaultAction: PropTypes.string,
|
||||||
|
withBio: PropTypes.bool,
|
||||||
|
children: PropTypes.any,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Account;
|
||||||
|
|
88
app/javascript/mastodon/features/explore/components/card.jsx
Normal file
88
app/javascript/mastodon/features/explore/components/card.jsx
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import { useCallback } from 'react';
|
||||||
|
|
||||||
|
import { FormattedMessage, useIntl, defineMessages } from 'react-intl';
|
||||||
|
|
||||||
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
|
import { useDispatch, useSelector } from 'react-redux';
|
||||||
|
|
||||||
|
import CloseIcon from '@/material-icons/400-24px/close.svg?react';
|
||||||
|
import { followAccount, unfollowAccount } from 'mastodon/actions/accounts';
|
||||||
|
import { dismissSuggestion } from 'mastodon/actions/suggestions';
|
||||||
|
import { Avatar } from 'mastodon/components/avatar';
|
||||||
|
import { Button } from 'mastodon/components/button';
|
||||||
|
import { DisplayName } from 'mastodon/components/display_name';
|
||||||
|
import { IconButton } from 'mastodon/components/icon_button';
|
||||||
|
import { domain } from 'mastodon/initial_state';
|
||||||
|
|
||||||
|
const messages = defineMessages({
|
||||||
|
follow: { id: 'account.follow', defaultMessage: 'Follow' },
|
||||||
|
unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
|
||||||
|
dismiss: { id: 'follow_suggestions.dismiss', defaultMessage: "Don't show again" },
|
||||||
|
});
|
||||||
|
|
||||||
|
export const Card = ({ id, source }) => {
|
||||||
|
const intl = useIntl();
|
||||||
|
const account = useSelector(state => state.getIn(['accounts', id]));
|
||||||
|
const relationship = useSelector(state => state.getIn(['relationships', id]));
|
||||||
|
const dispatch = useDispatch();
|
||||||
|
const following = relationship?.get('following') ?? relationship?.get('requested');
|
||||||
|
|
||||||
|
const handleFollow = useCallback(() => {
|
||||||
|
if (following) {
|
||||||
|
dispatch(unfollowAccount(id));
|
||||||
|
} else {
|
||||||
|
dispatch(followAccount(id));
|
||||||
|
}
|
||||||
|
}, [id, following, dispatch]);
|
||||||
|
|
||||||
|
const handleDismiss = useCallback(() => {
|
||||||
|
dispatch(dismissSuggestion(id));
|
||||||
|
}, [id, dispatch]);
|
||||||
|
|
||||||
|
let label;
|
||||||
|
|
||||||
|
switch (source) {
|
||||||
|
case 'friends_of_friends':
|
||||||
|
label = <FormattedMessage id='follow_suggestions.friends_of_friends_longer' defaultMessage='Popular among people you follow' />;
|
||||||
|
break;
|
||||||
|
case 'similar_to_recently_followed':
|
||||||
|
label = <FormattedMessage id='follow_suggestions.similar_to_recently_followed_longer' defaultMessage='Similar to profiles you recently followed' />;
|
||||||
|
break;
|
||||||
|
case 'featured':
|
||||||
|
label = <FormattedMessage id='follow_suggestions.featured_longer' defaultMessage='Hand-picked by the {domain} team' values={{ domain }} />;
|
||||||
|
break;
|
||||||
|
case 'most_followed':
|
||||||
|
label = <FormattedMessage id='follow_suggestions.popular_suggestion_longer' defaultMessage='Popular on {domain}' values={{ domain }} />;
|
||||||
|
break;
|
||||||
|
case 'most_interactions':
|
||||||
|
label = <FormattedMessage id='follow_suggestions.popular_suggestion_longer' defaultMessage='Popular on {domain}' values={{ domain }} />;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className='explore__suggestions__card'>
|
||||||
|
<div className='explore__suggestions__card__source'>
|
||||||
|
{label}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className='explore__suggestions__card__body'>
|
||||||
|
<Link to={`/@${account.get('acct')}`}><Avatar account={account} size={48} /></Link>
|
||||||
|
|
||||||
|
<div className='explore__suggestions__card__body__main'>
|
||||||
|
<div className='explore__suggestions__card__body__main__name-button'>
|
||||||
|
<Link className='explore__suggestions__card__body__main__name-button__name' to={`/@${account.get('acct')}`}><DisplayName account={account} /></Link>
|
||||||
|
<IconButton iconComponent={CloseIcon} onClick={handleDismiss} title={intl.formatMessage(messages.dismiss)} />
|
||||||
|
<Button text={intl.formatMessage(following ? messages.unfollow : messages.follow)} secondary={following} onClick={handleFollow} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
Card.propTypes = {
|
||||||
|
id: PropTypes.string.isRequired,
|
||||||
|
source: PropTypes.oneOf(['friends_of_friends', 'similar_to_recently_followed', 'featured', 'most_followed', 'most_interactions']),
|
||||||
|
};
|
|
@ -10,9 +10,10 @@ import { connect } from 'react-redux';
|
||||||
|
|
||||||
import { fetchSuggestions } from 'mastodon/actions/suggestions';
|
import { fetchSuggestions } from 'mastodon/actions/suggestions';
|
||||||
import { LoadingIndicator } from 'mastodon/components/loading_indicator';
|
import { LoadingIndicator } from 'mastodon/components/loading_indicator';
|
||||||
import AccountCard from 'mastodon/features/directory/components/account_card';
|
|
||||||
import { WithRouterPropTypes } from 'mastodon/utils/react_router';
|
import { WithRouterPropTypes } from 'mastodon/utils/react_router';
|
||||||
|
|
||||||
|
import { Card } from './components/card';
|
||||||
|
|
||||||
const mapStateToProps = state => ({
|
const mapStateToProps = state => ({
|
||||||
suggestions: state.getIn(['suggestions', 'items']),
|
suggestions: state.getIn(['suggestions', 'items']),
|
||||||
isLoading: state.getIn(['suggestions', 'isLoading']),
|
isLoading: state.getIn(['suggestions', 'isLoading']),
|
||||||
|
@ -54,7 +55,11 @@ class Suggestions extends PureComponent {
|
||||||
return (
|
return (
|
||||||
<div className='explore__suggestions scrollable' data-nosnippet>
|
<div className='explore__suggestions scrollable' data-nosnippet>
|
||||||
{isLoading ? <LoadingIndicator /> : suggestions.map(suggestion => (
|
{isLoading ? <LoadingIndicator /> : suggestions.map(suggestion => (
|
||||||
<AccountCard key={suggestion.get('account')} id={suggestion.get('account')} />
|
<Card
|
||||||
|
key={suggestion.get('account')}
|
||||||
|
id={suggestion.get('account')}
|
||||||
|
source={suggestion.getIn(['sources', 0])}
|
||||||
|
/>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
import { defineMessages, FormattedMessage, useIntl } from 'react-intl';
|
||||||
|
|
||||||
|
import GavelIcon from '@/material-icons/400-24px/gavel.svg?react';
|
||||||
|
import { Icon } from 'mastodon/components/icon';
|
||||||
|
|
||||||
|
// This needs to be kept in sync with app/models/account_warning.rb
|
||||||
|
const messages = defineMessages({
|
||||||
|
none: {
|
||||||
|
id: 'notification.moderation_warning.action_none',
|
||||||
|
defaultMessage: 'Your account has received a moderation warning.',
|
||||||
|
},
|
||||||
|
disable: {
|
||||||
|
id: 'notification.moderation_warning.action_disable',
|
||||||
|
defaultMessage: 'Your account has been disabled.',
|
||||||
|
},
|
||||||
|
force_cw: {
|
||||||
|
id: 'notification.moderation_warning.action_force_cw',
|
||||||
|
defaultMessage: 'Some of your posts have been added content-warning text.',
|
||||||
|
},
|
||||||
|
mark_statuses_as_sensitive: {
|
||||||
|
id: 'notification.moderation_warning.action_mark_statuses_as_sensitive',
|
||||||
|
defaultMessage: 'Some of your posts have been marked as sensitive.',
|
||||||
|
},
|
||||||
|
delete_statuses: {
|
||||||
|
id: 'notification.moderation_warning.action_delete_statuses',
|
||||||
|
defaultMessage: 'Some of your posts have been removed.',
|
||||||
|
},
|
||||||
|
sensitive: {
|
||||||
|
id: 'notification.moderation_warning.action_sensitive',
|
||||||
|
defaultMessage: 'Your posts will be marked as sensitive from now on.',
|
||||||
|
},
|
||||||
|
silence: {
|
||||||
|
id: 'notification.moderation_warning.action_silence',
|
||||||
|
defaultMessage: 'Your account has been limited.',
|
||||||
|
},
|
||||||
|
suspend: {
|
||||||
|
id: 'notification.moderation_warning.action_suspend',
|
||||||
|
defaultMessage: 'Your account has been suspended.',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
action:
|
||||||
|
| 'none'
|
||||||
|
| 'disable'
|
||||||
|
| 'force_cw'
|
||||||
|
| 'mark_statuses_as_sensitive'
|
||||||
|
| 'delete_statuses'
|
||||||
|
| 'sensitive'
|
||||||
|
| 'silence'
|
||||||
|
| 'suspend';
|
||||||
|
id: string;
|
||||||
|
hidden: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const ModerationWarning: React.FC<Props> = ({ action, id, hidden }) => {
|
||||||
|
const intl = useIntl();
|
||||||
|
|
||||||
|
if (hidden) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<a
|
||||||
|
href={`/disputes/strikes/${id}`}
|
||||||
|
target='_blank'
|
||||||
|
rel='noopener noreferrer'
|
||||||
|
className='notification__moderation-warning'
|
||||||
|
>
|
||||||
|
<Icon id='warning' icon={GavelIcon} />
|
||||||
|
|
||||||
|
<div className='notification__moderation-warning__content'>
|
||||||
|
<p>{intl.formatMessage(messages[action])}</p>
|
||||||
|
<span className='link-button'>
|
||||||
|
<FormattedMessage
|
||||||
|
id='notification.moderation-warning.learn_more'
|
||||||
|
defaultMessage='Learn more'
|
||||||
|
/>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
);
|
||||||
|
};
|
|
@ -10,7 +10,6 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||||
|
|
||||||
import { HotKeys } from 'react-hotkeys';
|
import { HotKeys } from 'react-hotkeys';
|
||||||
|
|
||||||
import DangerousIcon from '@/material-icons/400-24px/dangerous-fill.svg?react';
|
|
||||||
import EditIcon from '@/material-icons/400-24px/edit.svg?react';
|
import EditIcon from '@/material-icons/400-24px/edit.svg?react';
|
||||||
import FlagIcon from '@/material-icons/400-24px/flag-fill.svg?react';
|
import FlagIcon from '@/material-icons/400-24px/flag-fill.svg?react';
|
||||||
import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react';
|
import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react';
|
||||||
|
@ -30,6 +29,7 @@ import { WithRouterPropTypes } from 'mastodon/utils/react_router';
|
||||||
|
|
||||||
import FollowRequestContainer from '../containers/follow_request_container';
|
import FollowRequestContainer from '../containers/follow_request_container';
|
||||||
|
|
||||||
|
import { ModerationWarning } from './moderation_warning';
|
||||||
import { RelationshipsSeveranceEvent } from './relationships_severance_event';
|
import { RelationshipsSeveranceEvent } from './relationships_severance_event';
|
||||||
import Report from './report';
|
import Report from './report';
|
||||||
|
|
||||||
|
@ -44,18 +44,10 @@ const messages = defineMessages({
|
||||||
listStatus: { id: 'notification.list_status', defaultMessage: '{name} post is added on {listName}' },
|
listStatus: { id: 'notification.list_status', defaultMessage: '{name} post is added on {listName}' },
|
||||||
statusReference: { id: 'notification.status_reference', defaultMessage: '{name} refered your post' },
|
statusReference: { id: 'notification.status_reference', defaultMessage: '{name} refered your post' },
|
||||||
update: { id: 'notification.update', defaultMessage: '{name} edited a post' },
|
update: { id: 'notification.update', defaultMessage: '{name} edited a post' },
|
||||||
warning: { id: 'notification.warning', defaultMessage: 'You have been warned and did something. Check your mailbox' },
|
|
||||||
warning_none: { id: 'notification.warning.none', defaultMessage: 'You have been warned. Check your mailbox.' },
|
|
||||||
warning_disable: { id: 'notification.warning.disable', defaultMessage: 'You have been warned and disabled account. Check your mailbox.' },
|
|
||||||
warning_force_cw: { id: 'notification.warning.force_cw', defaultMessage: 'You have been warned and one or more statuses have been added warning messages. Check your mailbox.' },
|
|
||||||
warning_mark_statuses_as_sensitive: { id: 'notification.warning.mark_statuses_as_sensitive', defaultMessage: 'You have been warned and some statuses have been marked as sensitive. Check your mailbox.' },
|
|
||||||
warning_delete_statuses: { id: 'notification.warning.delete_statuses', defaultMessage: 'You have been warned and one or more statuses have been deleted. Check your mailbox.' },
|
|
||||||
warning_sensitive: { id: 'notification.warning.sensitive', defaultMessage: 'You have been warned and your account has been marked as sensitive. Check your mailbox.' },
|
|
||||||
warning_silence: { id: 'notification.warning.silence', defaultMessage: 'You have been warned and your account has been silenced. Check your mailbox.' },
|
|
||||||
warning_suspend: { id: 'notification.warning.suspend', defaultMessage: 'You have been warned and your account has been suspended. Check your mailbox.' },
|
|
||||||
adminSignUp: { id: 'notification.admin.sign_up', defaultMessage: '{name} signed up' },
|
adminSignUp: { id: 'notification.admin.sign_up', defaultMessage: '{name} signed up' },
|
||||||
adminReport: { id: 'notification.admin.report', defaultMessage: '{name} reported {target}' },
|
adminReport: { id: 'notification.admin.report', defaultMessage: '{name} reported {target}' },
|
||||||
relationshipsSevered: { id: 'notification.relationships_severance_event', defaultMessage: 'Lost connections with {name}' },
|
relationshipsSevered: { id: 'notification.relationships_severance_event', defaultMessage: 'Lost connections with {name}' },
|
||||||
|
moderationWarning: { id: 'notification.moderation_warning', defaultMessage: 'Your have received a moderation warning' },
|
||||||
});
|
});
|
||||||
|
|
||||||
const notificationForScreenReader = (intl, message, timestamp) => {
|
const notificationForScreenReader = (intl, message, timestamp) => {
|
||||||
|
@ -482,47 +474,6 @@ class Notification extends ImmutablePureComponent {
|
||||||
</HotKeys>
|
</HotKeys>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
renderWarning (notification) {
|
|
||||||
const { intl, unread } = this.props;
|
|
||||||
|
|
||||||
const preMessageKey = `warning_${notification.getIn(['account_warning', 'action'])}`;
|
|
||||||
const messageKey = Object.keys(messages).includes(preMessageKey) ? preMessageKey : 'warning';
|
|
||||||
const text = notification.getIn(['account_warning', 'text']);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<HotKeys handlers={this.getHandlers()}>
|
|
||||||
<div className={classNames('notification notification-warning focusable', { unread })} tabIndex={0} aria-label={notificationForScreenReader(intl, intl.formatMessage(messages.statusReference, { name: notification.getIn(['account', 'acct']) }), notification.get('created_at'))}>
|
|
||||||
<div className='notification__message'>
|
|
||||||
<div className='notification__favourite-icon-wrapper'>
|
|
||||||
<Icon id='exclamation-triangle' icon={DangerousIcon} className='star-icon' fixedWidth />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span title={notification.get('created_at')}>
|
|
||||||
{intl.formatMessage(messages[messageKey])}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{text && <div className='notification__warning-text'>{text}</div>}
|
|
||||||
|
|
||||||
{notification.get('statuses').map((status_id) => (
|
|
||||||
<StatusContainer
|
|
||||||
key={status_id}
|
|
||||||
id={status_id}
|
|
||||||
muted
|
|
||||||
withDismiss
|
|
||||||
hidden={!!this.props.hidden}
|
|
||||||
getScrollPosition={this.props.getScrollPosition}
|
|
||||||
updateScrollBottom={this.props.updateScrollBottom}
|
|
||||||
cachedMediaWidth={this.props.cachedMediaWidth}
|
|
||||||
cacheMediaWidth={this.props.cacheMediaWidth}
|
|
||||||
withoutEmojiReactions
|
|
||||||
/>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</HotKeys>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
renderRelationshipsSevered (notification) {
|
renderRelationshipsSevered (notification) {
|
||||||
const { intl, unread, hidden } = this.props;
|
const { intl, unread, hidden } = this.props;
|
||||||
|
@ -547,6 +498,27 @@ class Notification extends ImmutablePureComponent {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
renderModerationWarning (notification) {
|
||||||
|
const { intl, unread, hidden } = this.props;
|
||||||
|
const warning = notification.get('moderation_warning');
|
||||||
|
|
||||||
|
if (!warning) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<HotKeys handlers={this.getHandlers()}>
|
||||||
|
<div className={classNames('notification notification-moderation-warning focusable', { unread })} tabIndex={0} aria-label={notificationForScreenReader(intl, intl.formatMessage(messages.moderationWarning), notification.get('created_at'))}>
|
||||||
|
<ModerationWarning
|
||||||
|
action={warning.get('action')}
|
||||||
|
id={warning.get('id')}
|
||||||
|
hidden={hidden}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</HotKeys>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
renderAdminSignUp (notification, account, link) {
|
renderAdminSignUp (notification, account, link) {
|
||||||
const { intl, unread } = this.props;
|
const { intl, unread } = this.props;
|
||||||
|
|
||||||
|
@ -626,10 +598,10 @@ class Notification extends ImmutablePureComponent {
|
||||||
return this.renderUpdate(notification, link);
|
return this.renderUpdate(notification, link);
|
||||||
case 'poll':
|
case 'poll':
|
||||||
return this.renderPoll(notification, account);
|
return this.renderPoll(notification, account);
|
||||||
case 'warning':
|
|
||||||
return this.renderWarning(notification);
|
|
||||||
case 'severed_relationships':
|
case 'severed_relationships':
|
||||||
return this.renderRelationshipsSevered(notification);
|
return this.renderRelationshipsSevered(notification);
|
||||||
|
case 'moderation_warning':
|
||||||
|
return this.renderModerationWarning(notification);
|
||||||
case 'admin.sign_up':
|
case 'admin.sign_up':
|
||||||
return this.renderAdminSignUp(notification, account, link);
|
return this.renderAdminSignUp(notification, account, link);
|
||||||
case 'admin.report':
|
case 'admin.report':
|
||||||
|
|
|
@ -297,6 +297,7 @@
|
||||||
"filter_modal.select_filter.subtitle": "Изберете съществуваща категория или създайте нова",
|
"filter_modal.select_filter.subtitle": "Изберете съществуваща категория или създайте нова",
|
||||||
"filter_modal.select_filter.title": "Филтриране на публ.",
|
"filter_modal.select_filter.title": "Филтриране на публ.",
|
||||||
"filter_modal.title.status": "Филтриране на публ.",
|
"filter_modal.title.status": "Филтриране на публ.",
|
||||||
|
"filtered_notifications_banner.mentions": "{count, plural, one {споменаване} other {споменавания}}",
|
||||||
"filtered_notifications_banner.pending_requests": "Известията от {count, plural, =0 {никого, когото може да познавате} one {едно лице, което може да познавате} other {# души, които може да познавате}}",
|
"filtered_notifications_banner.pending_requests": "Известията от {count, plural, =0 {никого, когото може да познавате} one {едно лице, което може да познавате} other {# души, които може да познавате}}",
|
||||||
"filtered_notifications_banner.title": "Филтрирани известия",
|
"filtered_notifications_banner.title": "Филтрирани известия",
|
||||||
"firehose.all": "Всичко",
|
"firehose.all": "Всичко",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Tot i que el teu compte no està blocat, el personal de {domain} ha pensat que és possible que vulguis revisar manualment les sol·licituds de seguiment d’aquests comptes.",
|
"follow_requests.unlocked_explanation": "Tot i que el teu compte no està blocat, el personal de {domain} ha pensat que és possible que vulguis revisar manualment les sol·licituds de seguiment d’aquests comptes.",
|
||||||
"follow_suggestions.curated_suggestion": "Tria de l'equip",
|
"follow_suggestions.curated_suggestion": "Tria de l'equip",
|
||||||
"follow_suggestions.dismiss": "No ho tornis a mostrar",
|
"follow_suggestions.dismiss": "No ho tornis a mostrar",
|
||||||
|
"follow_suggestions.featured_longer": "Triat personalment per l'equip de {domain}",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Popular entre la gent que segueixes",
|
||||||
"follow_suggestions.hints.featured": "L'equip de {domain} ha seleccionat aquest perfil.",
|
"follow_suggestions.hints.featured": "L'equip de {domain} ha seleccionat aquest perfil.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Aquest perfil és popular entre la gent que seguiu.",
|
"follow_suggestions.hints.friends_of_friends": "Aquest perfil és popular entre la gent que seguiu.",
|
||||||
"follow_suggestions.hints.most_followed": "Aquest perfil és un dels més seguits a {domain}.",
|
"follow_suggestions.hints.most_followed": "Aquest perfil és un dels més seguits a {domain}.",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Aquest perfil és similar a d'altres que heu seguit recentment.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Aquest perfil és similar a d'altres que heu seguit recentment.",
|
||||||
"follow_suggestions.personalized_suggestion": "Suggeriment personalitzat",
|
"follow_suggestions.personalized_suggestion": "Suggeriment personalitzat",
|
||||||
"follow_suggestions.popular_suggestion": "Suggeriment popular",
|
"follow_suggestions.popular_suggestion": "Suggeriment popular",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Popular a {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Semblant a perfils que has seguit fa poc",
|
||||||
"follow_suggestions.view_all": "Mostra-ho tot",
|
"follow_suggestions.view_all": "Mostra-ho tot",
|
||||||
"follow_suggestions.who_to_follow": "A qui seguir",
|
"follow_suggestions.who_to_follow": "A qui seguir",
|
||||||
"followed_tags": "Etiquetes seguides",
|
"followed_tags": "Etiquetes seguides",
|
||||||
|
|
|
@ -306,6 +306,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Selvom din konto ikke er låst, synes {domain}-personalet, du måske bør gennemgå disse anmodninger manuelt.",
|
"follow_requests.unlocked_explanation": "Selvom din konto ikke er låst, synes {domain}-personalet, du måske bør gennemgå disse anmodninger manuelt.",
|
||||||
"follow_suggestions.curated_suggestion": "Personaleudvalgt",
|
"follow_suggestions.curated_suggestion": "Personaleudvalgt",
|
||||||
"follow_suggestions.dismiss": "Vis ikke igen",
|
"follow_suggestions.dismiss": "Vis ikke igen",
|
||||||
|
"follow_suggestions.featured_longer": "Håndplukket af {domain}-teamet",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Populært blandt personer, som følges",
|
||||||
"follow_suggestions.hints.featured": "Denne profil er håndplukket af {domain}-teamet.",
|
"follow_suggestions.hints.featured": "Denne profil er håndplukket af {domain}-teamet.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Denne profil er populær blandt de personer, som følges.",
|
"follow_suggestions.hints.friends_of_friends": "Denne profil er populær blandt de personer, som følges.",
|
||||||
"follow_suggestions.hints.most_followed": "Denne profil er en af de mest fulgte på {domain}.",
|
"follow_suggestions.hints.most_followed": "Denne profil er en af de mest fulgte på {domain}.",
|
||||||
|
@ -313,6 +315,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Denne profil svarer til de profiler, som senest er blevet fulgt.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Denne profil svarer til de profiler, som senest er blevet fulgt.",
|
||||||
"follow_suggestions.personalized_suggestion": "Personligt forslag",
|
"follow_suggestions.personalized_suggestion": "Personligt forslag",
|
||||||
"follow_suggestions.popular_suggestion": "Populært forslag",
|
"follow_suggestions.popular_suggestion": "Populært forslag",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Populært på {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Svarende til profiler, som for nylig er fulgt",
|
||||||
"follow_suggestions.view_all": "Vis alle",
|
"follow_suggestions.view_all": "Vis alle",
|
||||||
"follow_suggestions.who_to_follow": "Hvem, som skal følges",
|
"follow_suggestions.who_to_follow": "Hvem, som skal følges",
|
||||||
"followed_tags": "Hashtag, som følges",
|
"followed_tags": "Hashtag, som følges",
|
||||||
|
@ -467,6 +471,15 @@
|
||||||
"notification.follow": "{name} begyndte at følge dig",
|
"notification.follow": "{name} begyndte at følge dig",
|
||||||
"notification.follow_request": "{name} har anmodet om at følge dig",
|
"notification.follow_request": "{name} har anmodet om at følge dig",
|
||||||
"notification.mention": "{name} nævnte dig",
|
"notification.mention": "{name} nævnte dig",
|
||||||
|
"notification.moderation-warning.learn_more": "Læs mere",
|
||||||
|
"notification.moderation_warning": "Du er tildelt en moderationsadvarsel",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Nogle af dine indlæg er blevet fjernet.",
|
||||||
|
"notification.moderation_warning.action_disable": "Din konto er blevet deaktiveret.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Nogle af dine indlæg er blevet markeret som sensitive.",
|
||||||
|
"notification.moderation_warning.action_none": "Din konto er tildelt en moderationsadvarsel.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "Dine indlæg markeres fra nu af som sensitive.",
|
||||||
|
"notification.moderation_warning.action_silence": "Din konto er blevet begrænset.",
|
||||||
|
"notification.moderation_warning.action_suspend": "Din konto er suspenderet.",
|
||||||
"notification.own_poll": "Din afstemning er afsluttet",
|
"notification.own_poll": "Din afstemning er afsluttet",
|
||||||
"notification.poll": "En afstemning, hvori du stemte, er slut",
|
"notification.poll": "En afstemning, hvori du stemte, er slut",
|
||||||
"notification.reblog": "{name} boostede dit indlæg",
|
"notification.reblog": "{name} boostede dit indlæg",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Auch wenn dein Konto öffentlich bzw. nicht geschützt ist, haben die Moderator*innen von {domain} gedacht, dass du diesen Follower lieber manuell bestätigen solltest.",
|
"follow_requests.unlocked_explanation": "Auch wenn dein Konto öffentlich bzw. nicht geschützt ist, haben die Moderator*innen von {domain} gedacht, dass du diesen Follower lieber manuell bestätigen solltest.",
|
||||||
"follow_suggestions.curated_suggestion": "Vom Server-Team empfohlen",
|
"follow_suggestions.curated_suggestion": "Vom Server-Team empfohlen",
|
||||||
"follow_suggestions.dismiss": "Nicht mehr anzeigen",
|
"follow_suggestions.dismiss": "Nicht mehr anzeigen",
|
||||||
|
"follow_suggestions.featured_longer": "Vom {domain}-Team ausgewählt",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Beliebt bei Leuten, denen du folgst",
|
||||||
"follow_suggestions.hints.featured": "Dieses Profil wurde vom {domain}-Team ausgewählt.",
|
"follow_suggestions.hints.featured": "Dieses Profil wurde vom {domain}-Team ausgewählt.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Dieses Profil ist bei deinen Followern beliebt.",
|
"follow_suggestions.hints.friends_of_friends": "Dieses Profil ist bei deinen Followern beliebt.",
|
||||||
"follow_suggestions.hints.most_followed": "Dieses Profil ist eines der am meisten gefolgten auf {domain}.",
|
"follow_suggestions.hints.most_followed": "Dieses Profil ist eines der am meisten gefolgten auf {domain}.",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Dieses Profil ähnelt den Profilen, denen du in letzter Zeit gefolgt hast.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Dieses Profil ähnelt den Profilen, denen du in letzter Zeit gefolgt hast.",
|
||||||
"follow_suggestions.personalized_suggestion": "Persönliche Empfehlung",
|
"follow_suggestions.personalized_suggestion": "Persönliche Empfehlung",
|
||||||
"follow_suggestions.popular_suggestion": "Beliebte Empfehlung",
|
"follow_suggestions.popular_suggestion": "Beliebte Empfehlung",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Beliebt auf {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Ähnlich zu Profilen, denen du seit kurzem folgst",
|
||||||
"follow_suggestions.view_all": "Alle anzeigen",
|
"follow_suggestions.view_all": "Alle anzeigen",
|
||||||
"follow_suggestions.who_to_follow": "Empfohlene Profile",
|
"follow_suggestions.who_to_follow": "Empfohlene Profile",
|
||||||
"followed_tags": "Gefolgte Hashtags",
|
"followed_tags": "Gefolgte Hashtags",
|
||||||
|
@ -469,6 +473,15 @@
|
||||||
"notification.follow": "{name} folgt dir",
|
"notification.follow": "{name} folgt dir",
|
||||||
"notification.follow_request": "{name} möchte dir folgen",
|
"notification.follow_request": "{name} möchte dir folgen",
|
||||||
"notification.mention": "{name} erwähnte dich",
|
"notification.mention": "{name} erwähnte dich",
|
||||||
|
"notification.moderation-warning.learn_more": "Mehr erfahren",
|
||||||
|
"notification.moderation_warning": "Du wurdest von den Moderator*innen verwarnt",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Einige deiner Beiträge sind entfernt worden.",
|
||||||
|
"notification.moderation_warning.action_disable": "Dein Konto wurde deaktiviert.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Einige deiner Beiträge wurden mit einer Inhaltswarnung versehen.",
|
||||||
|
"notification.moderation_warning.action_none": "Dein Konto ist von den Moderator*innen verwarnt worden.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "Deine zukünftigen Beiträge werden mit einer Inhaltswarnung versehen.",
|
||||||
|
"notification.moderation_warning.action_silence": "Dein Konto wurde eingeschränkt.",
|
||||||
|
"notification.moderation_warning.action_suspend": "Dein Konto wurde gesperrt.",
|
||||||
"notification.own_poll": "Deine Umfrage ist beendet",
|
"notification.own_poll": "Deine Umfrage ist beendet",
|
||||||
"notification.poll": "Eine Umfrage, an der du teilgenommen hast, ist beendet",
|
"notification.poll": "Eine Umfrage, an der du teilgenommen hast, ist beendet",
|
||||||
"notification.reblog": "{name} teilte deinen Beitrag",
|
"notification.reblog": "{name} teilte deinen Beitrag",
|
||||||
|
@ -536,11 +549,11 @@
|
||||||
"onboarding.follows.empty": "Bedauerlicherweise können aktuell keine Ergebnisse angezeigt werden. Du kannst die Suche verwenden oder den Reiter „Entdecken“ auswählen, um neue Leute zum Folgen zu finden – oder du versuchst es später erneut.",
|
"onboarding.follows.empty": "Bedauerlicherweise können aktuell keine Ergebnisse angezeigt werden. Du kannst die Suche verwenden oder den Reiter „Entdecken“ auswählen, um neue Leute zum Folgen zu finden – oder du versuchst es später erneut.",
|
||||||
"onboarding.follows.lead": "Deine Startseite ist der primäre Anlaufpunkt, um Mastodon zu erleben. Je mehr Profilen du folgst, umso aktiver und interessanter wird sie. Damit du direkt loslegen kannst, gibt es hier ein paar Vorschläge:",
|
"onboarding.follows.lead": "Deine Startseite ist der primäre Anlaufpunkt, um Mastodon zu erleben. Je mehr Profilen du folgst, umso aktiver und interessanter wird sie. Damit du direkt loslegen kannst, gibt es hier ein paar Vorschläge:",
|
||||||
"onboarding.follows.title": "Personalisiere deine Startseite",
|
"onboarding.follows.title": "Personalisiere deine Startseite",
|
||||||
"onboarding.profile.discoverable": "Mein Profil auffindbar machen",
|
"onboarding.profile.discoverable": "Mein Profil darf entdeckt werden",
|
||||||
"onboarding.profile.discoverable_hint": "Wenn du entdeckt werden möchtest, dann können deine Beiträge in Suchergebnissen und Trends erscheinen. Dein Profil kann ebenfalls anderen mit ähnlichen Interessen vorgeschlagen werden.",
|
"onboarding.profile.discoverable_hint": "Wenn du entdeckt werden möchtest, dann können deine Beiträge in Suchergebnissen und Trends erscheinen. Dein Profil kann ebenfalls anderen mit ähnlichen Interessen vorgeschlagen werden.",
|
||||||
"onboarding.profile.display_name": "Anzeigename",
|
"onboarding.profile.display_name": "Anzeigename",
|
||||||
"onboarding.profile.display_name_hint": "Dein richtiger Name oder dein Fantasiename …",
|
"onboarding.profile.display_name_hint": "Dein richtiger Name oder dein Fantasiename …",
|
||||||
"onboarding.profile.lead": "Du kannst das später in den Einstellungen vervollständigen, wo noch mehr Anpassungsmöglichkeiten zur Verfügung stehen.",
|
"onboarding.profile.lead": "Du kannst dein Profil später in den Einstellungen vervollständigen. Dort stehen weitere Anpassungsmöglichkeiten zur Verfügung.",
|
||||||
"onboarding.profile.note": "Über mich",
|
"onboarding.profile.note": "Über mich",
|
||||||
"onboarding.profile.note_hint": "Du kannst andere @Profile erwähnen oder #Hashtags verwenden …",
|
"onboarding.profile.note_hint": "Du kannst andere @Profile erwähnen oder #Hashtags verwenden …",
|
||||||
"onboarding.profile.save_and_continue": "Speichern und fortfahren",
|
"onboarding.profile.save_and_continue": "Speichern und fortfahren",
|
||||||
|
@ -556,16 +569,16 @@
|
||||||
"onboarding.start.title": "Du hast es geschafft!",
|
"onboarding.start.title": "Du hast es geschafft!",
|
||||||
"onboarding.steps.follow_people.body": "Interessanten Profilen zu folgen ist das, was Mastodon ausmacht.",
|
"onboarding.steps.follow_people.body": "Interessanten Profilen zu folgen ist das, was Mastodon ausmacht.",
|
||||||
"onboarding.steps.follow_people.title": "Personalisiere deine Startseite",
|
"onboarding.steps.follow_people.title": "Personalisiere deine Startseite",
|
||||||
"onboarding.steps.publish_status.body": "Begrüße die Welt mit Text, Fotos, Videos oder Umfragen {emoji}",
|
"onboarding.steps.publish_status.body": "Begrüße die Welt mit Text, Fotos, Videos oder Umfragen. {emoji}",
|
||||||
"onboarding.steps.publish_status.title": "Erstelle deinen ersten Beitrag",
|
"onboarding.steps.publish_status.title": "Erstelle deinen ersten Beitrag",
|
||||||
"onboarding.steps.setup_profile.body": "Mit einem vollständigen Profil interagieren andere eher mit dir.",
|
"onboarding.steps.setup_profile.body": "Mit einem vollständigen Profil interagieren andere eher mit dir.",
|
||||||
"onboarding.steps.setup_profile.title": "Personalisiere dein Profil",
|
"onboarding.steps.setup_profile.title": "Personalisiere dein Profil",
|
||||||
"onboarding.steps.share_profile.body": "Lass deine Freund*innen wissen, wie sie dich auf Mastodon finden können",
|
"onboarding.steps.share_profile.body": "Lass deine Freund*innen wissen, wie sie dich auf Mastodon finden können.",
|
||||||
"onboarding.steps.share_profile.title": "Teile dein Mastodon-Profil",
|
"onboarding.steps.share_profile.title": "Teile dein Mastodon-Profil",
|
||||||
"onboarding.tips.2fa": "<strong>Wusstest du schon?</strong> Du kannst die Sicherheit deines Kontos erhöhen, indem du die Zwei-Faktor-Authentisierung in deinen Kontoeinstellungen aktivierst. Dafür ist keine Telefonnummer notwendig und es funktioniert jede beliebige TOTP-App!",
|
"onboarding.tips.2fa": "<strong>Wusstest du schon?</strong> Du kannst die Sicherheit deines Kontos erhöhen, indem du die Zwei-Faktor-Authentisierung in deinen Kontoeinstellungen aktivierst. Dafür ist keine Telefonnummer notwendig und es funktioniert jede beliebige TOTP-App!",
|
||||||
"onboarding.tips.accounts_from_other_servers": "<strong>Wusstest du schon?</strong> Da Mastodon dezentralisiert ist, werden einige Profile, denen du begegnest, auf anderen Servern als deinem bereitgestellt. Und trotzdem kannst du uneingeschränkt mit ihnen interagieren! Der Servername befindet sich in der zweiten Hälfte ihres Profilnamens!",
|
"onboarding.tips.accounts_from_other_servers": "<strong>Wusstest du schon?</strong> Da Mastodon dezentralisiert ist, werden einige Profile, denen du begegnest, auf anderen Servern als deinem bereitgestellt. Und trotzdem kannst du uneingeschränkt mit ihnen interagieren! Der Servername befindet sich in der zweiten Hälfte ihres Profilnamens!",
|
||||||
"onboarding.tips.migration": "<strong>Wusstest du schon?</strong> Wenn du das Gefühl hast, dass {domain} in Zukunft nicht die richtige Serverwahl für dich ist, kannst du auf einen anderen Mastodon-Server umziehen, ohne deine Follower zu verlieren. Du kannst sogar deinen eigenen Server betreiben!",
|
"onboarding.tips.migration": "<strong>Wusstest du schon?</strong> Wenn du das Gefühl hast, dass {domain} in Zukunft nicht die richtige Serverwahl für dich ist, kannst du auf einen anderen Mastodon-Server umziehen, ohne deine Follower zu verlieren. Du kannst sogar deinen eigenen Server betreiben!",
|
||||||
"onboarding.tips.verification": "<strong>Wusstest du schon?</strong> Du kannst dein Konto verifizieren, indem du auf deiner Website auf dein Mastodon-Profil verlinkst und den Link deiner Website zu deinem Profil hinzufügst. Keine Gebühren oder Dokumente erforderlich!",
|
"onboarding.tips.verification": "<strong>Wusstest du schon?</strong> Du kannst dein Konto verifizieren, indem du auf deiner Website auf dein Mastodon-Profil verlinkst und den Link deiner Website zu deinem Profil hinzufügst. Völlig kostenlos und ohne Dokumente einsenden zu müssen!",
|
||||||
"password_confirmation.exceeds_maxlength": "Passwortbestätigung überschreitet die maximal erlaubte Zeichenanzahl",
|
"password_confirmation.exceeds_maxlength": "Passwortbestätigung überschreitet die maximal erlaubte Zeichenanzahl",
|
||||||
"password_confirmation.mismatching": "Passwortbestätigung stimmt nicht überein",
|
"password_confirmation.mismatching": "Passwortbestätigung stimmt nicht überein",
|
||||||
"picture_in_picture.restore": "Zurücksetzen",
|
"picture_in_picture.restore": "Zurücksetzen",
|
||||||
|
|
|
@ -411,6 +411,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
|
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
|
||||||
"follow_suggestions.curated_suggestion": "Staff pick",
|
"follow_suggestions.curated_suggestion": "Staff pick",
|
||||||
"follow_suggestions.dismiss": "Don't show again",
|
"follow_suggestions.dismiss": "Don't show again",
|
||||||
|
"follow_suggestions.featured_longer": "Hand-picked by the {domain} team",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Popular among people you follow",
|
||||||
"follow_suggestions.hints.featured": "This profile has been hand-picked by the {domain} team.",
|
"follow_suggestions.hints.featured": "This profile has been hand-picked by the {domain} team.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "This profile is popular among the people you follow.",
|
"follow_suggestions.hints.friends_of_friends": "This profile is popular among the people you follow.",
|
||||||
"follow_suggestions.hints.most_followed": "This profile is one of the most followed on {domain}.",
|
"follow_suggestions.hints.most_followed": "This profile is one of the most followed on {domain}.",
|
||||||
|
@ -418,6 +420,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "This profile is similar to the profiles you have most recently followed.",
|
"follow_suggestions.hints.similar_to_recently_followed": "This profile is similar to the profiles you have most recently followed.",
|
||||||
"follow_suggestions.personalized_suggestion": "Personalized suggestion",
|
"follow_suggestions.personalized_suggestion": "Personalized suggestion",
|
||||||
"follow_suggestions.popular_suggestion": "Popular suggestion",
|
"follow_suggestions.popular_suggestion": "Popular suggestion",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Popular on {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Similar to profiles you recently followed",
|
||||||
"follow_suggestions.view_all": "View all",
|
"follow_suggestions.view_all": "View all",
|
||||||
"follow_suggestions.who_to_follow": "Who to follow",
|
"follow_suggestions.who_to_follow": "Who to follow",
|
||||||
"followed_tags": "Followed hashtags",
|
"followed_tags": "Followed hashtags",
|
||||||
|
@ -586,6 +590,16 @@
|
||||||
"notification.follow_request": "{name} has requested to follow you",
|
"notification.follow_request": "{name} has requested to follow you",
|
||||||
"notification.list_status": "{name} post is added to {listName}",
|
"notification.list_status": "{name} post is added to {listName}",
|
||||||
"notification.mention": "{name} mentioned you",
|
"notification.mention": "{name} mentioned you",
|
||||||
|
"notification.moderation-warning.learn_more": "Learn more",
|
||||||
|
"notification.moderation_warning": "Your have received a moderation warning",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Some of your posts have been removed.",
|
||||||
|
"notification.moderation_warning.action_disable": "Your account has been disabled.",
|
||||||
|
"notification.moderation_warning.action_force_cw": "Some of your posts have been added content-warning text.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Some of your posts have been marked as sensitive.",
|
||||||
|
"notification.moderation_warning.action_none": "Your account has received a moderation warning.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "Your posts will be marked as sensitive from now on.",
|
||||||
|
"notification.moderation_warning.action_silence": "Your account has been limited.",
|
||||||
|
"notification.moderation_warning.action_suspend": "Your account has been suspended.",
|
||||||
"notification.own_poll": "Your poll has ended",
|
"notification.own_poll": "Your poll has ended",
|
||||||
"notification.poll": "A poll you have voted in has ended",
|
"notification.poll": "A poll you have voted in has ended",
|
||||||
"notification.reblog": "{name} boosted your post",
|
"notification.reblog": "{name} boosted your post",
|
||||||
|
@ -597,15 +611,6 @@
|
||||||
"notification.status": "{name} just posted",
|
"notification.status": "{name} just posted",
|
||||||
"notification.status_reference": "{name} quoted your post",
|
"notification.status_reference": "{name} quoted your post",
|
||||||
"notification.update": "{name} edited a post",
|
"notification.update": "{name} edited a post",
|
||||||
"notification.warning": "You have been warned and did something. Check your mailbox",
|
|
||||||
"notification.warning.delete_statuses": "You have been warned and one or more statuses have been deleted. Check your mailbox.",
|
|
||||||
"notification.warning.disable": "You have been warned and disabled account. Check your mailbox.",
|
|
||||||
"notification.warning.force_cw": "You have been warned and one or more statuses have been added warning messages. Check your mailbox.",
|
|
||||||
"notification.warning.mark_statuses_as_sensitive": "You have been warned and some statuses have been marked as sensitive. Check your mailbox.",
|
|
||||||
"notification.warning.none": "You have been warned. Check your mailbox.",
|
|
||||||
"notification.warning.sensitive": "You have been warned and your account has been marked as sensitive. Check your mailbox.",
|
|
||||||
"notification.warning.silence": "You have been warned and your account has been silenced. Check your mailbox.",
|
|
||||||
"notification.warning.suspend": "You have been warned and your account has been suspended. Check your mailbox.",
|
|
||||||
"notification_requests.accept": "Accept",
|
"notification_requests.accept": "Accept",
|
||||||
"notification_requests.dismiss": "Dismiss",
|
"notification_requests.dismiss": "Dismiss",
|
||||||
"notification_requests.notifications_from": "Notifications from {name}",
|
"notification_requests.notifications_from": "Notifications from {name}",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Zure kontua blokeatuta ez badago ere, {domain} domeinuko arduradunek uste dute kontu hauetako jarraipen eskaerak agian eskuz begiratu nahiko dituzula.",
|
"follow_requests.unlocked_explanation": "Zure kontua blokeatuta ez badago ere, {domain} domeinuko arduradunek uste dute kontu hauetako jarraipen eskaerak agian eskuz begiratu nahiko dituzula.",
|
||||||
"follow_suggestions.curated_suggestion": "Domeinuaren iradokizuna",
|
"follow_suggestions.curated_suggestion": "Domeinuaren iradokizuna",
|
||||||
"follow_suggestions.dismiss": "Ez erakutsi berriro",
|
"follow_suggestions.dismiss": "Ez erakutsi berriro",
|
||||||
|
"follow_suggestions.featured_longer": "{domain} domeinuko taldeak hautaturikoak",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Jarraitzen duzun jendearen artean ezagunak direnak",
|
||||||
"follow_suggestions.hints.featured": "Profil hau {domain} domeinuko taldeak eskuz aukeratu du.",
|
"follow_suggestions.hints.featured": "Profil hau {domain} domeinuko taldeak eskuz aukeratu du.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Profil hau ezaguna da jarraitzen duzun jendearen artean.",
|
"follow_suggestions.hints.friends_of_friends": "Profil hau ezaguna da jarraitzen duzun jendearen artean.",
|
||||||
"follow_suggestions.hints.most_followed": "Profil hau {domain} domeinuan gehien jarraitzen den profiletako bat da.",
|
"follow_suggestions.hints.most_followed": "Profil hau {domain} domeinuan gehien jarraitzen den profiletako bat da.",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Profil hau duela gutxi jarraitu dituzun profil askoren antzekoa da.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Profil hau duela gutxi jarraitu dituzun profil askoren antzekoa da.",
|
||||||
"follow_suggestions.personalized_suggestion": "Iradokizun pertsonalizatua",
|
"follow_suggestions.personalized_suggestion": "Iradokizun pertsonalizatua",
|
||||||
"follow_suggestions.popular_suggestion": "Iradokizun ezaguna",
|
"follow_suggestions.popular_suggestion": "Iradokizun ezaguna",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "{domain} domeinuan ezagunak direnak",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Berriki jarraitu dituzun profilen antzekoa",
|
||||||
"follow_suggestions.view_all": "Ikusi denak",
|
"follow_suggestions.view_all": "Ikusi denak",
|
||||||
"follow_suggestions.who_to_follow": "Zein jarraitu",
|
"follow_suggestions.who_to_follow": "Zein jarraitu",
|
||||||
"followed_tags": "Jarraitutako traolak",
|
"followed_tags": "Jarraitutako traolak",
|
||||||
|
@ -469,6 +473,15 @@
|
||||||
"notification.follow": "{name}(e)k jarraitzen dizu",
|
"notification.follow": "{name}(e)k jarraitzen dizu",
|
||||||
"notification.follow_request": "{name}(e)k zu jarraitzeko eskaera egin du",
|
"notification.follow_request": "{name}(e)k zu jarraitzeko eskaera egin du",
|
||||||
"notification.mention": "{name}(e)k aipatu zaitu",
|
"notification.mention": "{name}(e)k aipatu zaitu",
|
||||||
|
"notification.moderation-warning.learn_more": "Informazio gehiago",
|
||||||
|
"notification.moderation_warning": "Moderazio-abisu bat jaso duzu",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Argitalpen batzuk kendu dira.",
|
||||||
|
"notification.moderation_warning.action_disable": "Zure kontua desaktibatua izan da.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Argitalpen batzuk hunkigarri gisa ezarri dira.",
|
||||||
|
"notification.moderation_warning.action_none": "Kontuak moderazio-abisu bat jaso du.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "Argitalpenak hunkigarri gisa markatuko dira hemendik aurrera.",
|
||||||
|
"notification.moderation_warning.action_silence": "Kontua murriztu egin da.",
|
||||||
|
"notification.moderation_warning.action_suspend": "Kontua itxi da.",
|
||||||
"notification.own_poll": "Zure inkesta amaitu da",
|
"notification.own_poll": "Zure inkesta amaitu da",
|
||||||
"notification.poll": "Zuk erantzun duzun inkesta bat bukatu da",
|
"notification.poll": "Zuk erantzun duzun inkesta bat bukatu da",
|
||||||
"notification.reblog": "{name}(e)k bultzada eman dio zure bidalketari",
|
"notification.reblog": "{name}(e)k bultzada eman dio zure bidalketari",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Vaikkei tiliäsi ole lukittu, palvelimen {domain} ylläpito on arvioinut, että saatat olla halukas tarkistamaan nämä seuraamispyynnöt erikseen.",
|
"follow_requests.unlocked_explanation": "Vaikkei tiliäsi ole lukittu, palvelimen {domain} ylläpito on arvioinut, että saatat olla halukas tarkistamaan nämä seuraamispyynnöt erikseen.",
|
||||||
"follow_suggestions.curated_suggestion": "Ehdotus ylläpidolta",
|
"follow_suggestions.curated_suggestion": "Ehdotus ylläpidolta",
|
||||||
"follow_suggestions.dismiss": "Älä näytä uudelleen",
|
"follow_suggestions.dismiss": "Älä näytä uudelleen",
|
||||||
|
"follow_suggestions.featured_longer": "Käsin valinnut palvelimen {domain} tiimi",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Suosittu seuraamiesi ihmisten keskuudessa",
|
||||||
"follow_suggestions.hints.featured": "Tämän profiilin on valinnut palvelimen {domain} tiimi.",
|
"follow_suggestions.hints.featured": "Tämän profiilin on valinnut palvelimen {domain} tiimi.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Seuraamasi käyttäjät suosivat tätä profiilia.",
|
"follow_suggestions.hints.friends_of_friends": "Seuraamasi käyttäjät suosivat tätä profiilia.",
|
||||||
"follow_suggestions.hints.most_followed": "Tämä profiili on palvelimen {domain} seuratuimpia.",
|
"follow_suggestions.hints.most_followed": "Tämä profiili on palvelimen {domain} seuratuimpia.",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Tämä profiili on samankaltainen kuin profiilit, joita olet viimeksi seurannut.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Tämä profiili on samankaltainen kuin profiilit, joita olet viimeksi seurannut.",
|
||||||
"follow_suggestions.personalized_suggestion": "Mukautettu ehdotus",
|
"follow_suggestions.personalized_suggestion": "Mukautettu ehdotus",
|
||||||
"follow_suggestions.popular_suggestion": "Suosittu ehdotus",
|
"follow_suggestions.popular_suggestion": "Suosittu ehdotus",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Suosittu palvelimella {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Samankaltainen kuin äskettäin seuraamasi profiilit",
|
||||||
"follow_suggestions.view_all": "Näytä kaikki",
|
"follow_suggestions.view_all": "Näytä kaikki",
|
||||||
"follow_suggestions.who_to_follow": "Ehdotuksia seurattavaksi",
|
"follow_suggestions.who_to_follow": "Ehdotuksia seurattavaksi",
|
||||||
"followed_tags": "Seuratut aihetunnisteet",
|
"followed_tags": "Seuratut aihetunnisteet",
|
||||||
|
@ -469,6 +473,15 @@
|
||||||
"notification.follow": "{name} seurasi sinua",
|
"notification.follow": "{name} seurasi sinua",
|
||||||
"notification.follow_request": "{name} on pyytänyt lupaa saada seurata sinua",
|
"notification.follow_request": "{name} on pyytänyt lupaa saada seurata sinua",
|
||||||
"notification.mention": "{name} mainitsi sinut",
|
"notification.mention": "{name} mainitsi sinut",
|
||||||
|
"notification.moderation-warning.learn_more": "Lue lisää",
|
||||||
|
"notification.moderation_warning": "Olet saanut moderointivaroituksen",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Jotkin julkaisusi on poistettu.",
|
||||||
|
"notification.moderation_warning.action_disable": "Tilisi on poistettu käytöstä.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Jotkin julkaisusi on merkitty arkaluonteisiksi.",
|
||||||
|
"notification.moderation_warning.action_none": "Tilisi on saanut moderointivaroituksen.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "Tästä lähtien julkaisusi merkitään arkaluonteisiksi.",
|
||||||
|
"notification.moderation_warning.action_silence": "Tiliäsi on rajoitettu.",
|
||||||
|
"notification.moderation_warning.action_suspend": "Tilisi on jäädytetty.",
|
||||||
"notification.own_poll": "Äänestyksesi on päättynyt",
|
"notification.own_poll": "Äänestyksesi on päättynyt",
|
||||||
"notification.poll": "Kysely, johon osallistuit, on päättynyt",
|
"notification.poll": "Kysely, johon osallistuit, on päättynyt",
|
||||||
"notification.reblog": "{name} tehosti julkaisuasi",
|
"notification.reblog": "{name} tehosti julkaisuasi",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Sjálvt um konta tín ikki er læst, so hugsa {domain} starvsfólkini, at tú kanska hevur hug at kanna umbønir um at fylgja frá hesum kontum við hond.",
|
"follow_requests.unlocked_explanation": "Sjálvt um konta tín ikki er læst, so hugsa {domain} starvsfólkini, at tú kanska hevur hug at kanna umbønir um at fylgja frá hesum kontum við hond.",
|
||||||
"follow_suggestions.curated_suggestion": "Val hjá ábyrgdarfólki",
|
"follow_suggestions.curated_suggestion": "Val hjá ábyrgdarfólki",
|
||||||
"follow_suggestions.dismiss": "Lat vera við at vísa",
|
"follow_suggestions.dismiss": "Lat vera við at vísa",
|
||||||
|
"follow_suggestions.featured_longer": "Vald burturúr av {domain} toyminum",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Vælumtókt millum fólk, sum tú fylgir",
|
||||||
"follow_suggestions.hints.featured": "Hesin vangin er úrvaldur av toyminum handan {domain}.",
|
"follow_suggestions.hints.featured": "Hesin vangin er úrvaldur av toyminum handan {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Hesin vangin er vælumtóktur millum tey, tú fylgir.",
|
"follow_suggestions.hints.friends_of_friends": "Hesin vangin er vælumtóktur millum tey, tú fylgir.",
|
||||||
"follow_suggestions.hints.most_followed": "Hesin vangin er ein av teimum, sum er mest fylgdur á {domain}.",
|
"follow_suggestions.hints.most_followed": "Hesin vangin er ein av teimum, sum er mest fylgdur á {domain}.",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Hesin vangin líkist teimum, sum tú nýliga hevur fylgt.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Hesin vangin líkist teimum, sum tú nýliga hevur fylgt.",
|
||||||
"follow_suggestions.personalized_suggestion": "Persónligt uppskot",
|
"follow_suggestions.personalized_suggestion": "Persónligt uppskot",
|
||||||
"follow_suggestions.popular_suggestion": "Vælumtókt uppskot",
|
"follow_suggestions.popular_suggestion": "Vælumtókt uppskot",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Vælumtókt á {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Líkist vangum, sum tú nýliga hevur fylgt",
|
||||||
"follow_suggestions.view_all": "Vís øll",
|
"follow_suggestions.view_all": "Vís øll",
|
||||||
"follow_suggestions.who_to_follow": "Hvørji tú átti at fylgt",
|
"follow_suggestions.who_to_follow": "Hvørji tú átti at fylgt",
|
||||||
"followed_tags": "Fylgd frámerki",
|
"followed_tags": "Fylgd frámerki",
|
||||||
|
@ -469,6 +473,15 @@
|
||||||
"notification.follow": "{name} fylgdi tær",
|
"notification.follow": "{name} fylgdi tær",
|
||||||
"notification.follow_request": "{name} biður um at fylgja tær",
|
"notification.follow_request": "{name} biður um at fylgja tær",
|
||||||
"notification.mention": "{name} nevndi teg",
|
"notification.mention": "{name} nevndi teg",
|
||||||
|
"notification.moderation-warning.learn_more": "Lær meira",
|
||||||
|
"notification.moderation_warning": "Tú hevur móttikið eina umsjónarávarðing",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Onkrir av tínum postum eru strikaðir.",
|
||||||
|
"notification.moderation_warning.action_disable": "Konta tín er gjørd óvirkin.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Nakrir av postum tínum eru merktir sum viðkvæmir.",
|
||||||
|
"notification.moderation_warning.action_none": "Konta tín hevur móttikið eina umsjónarávarðing.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "Postar tínir verða merktir sum viðkvæmir frá nú av.",
|
||||||
|
"notification.moderation_warning.action_silence": "Konta tín er avmarkað.",
|
||||||
|
"notification.moderation_warning.action_suspend": "Konta tín er ógildað.",
|
||||||
"notification.own_poll": "Tín atkvøðugreiðsla er endað",
|
"notification.own_poll": "Tín atkvøðugreiðsla er endað",
|
||||||
"notification.poll": "Ein atkvøðugreiðsla, har tú hevur atkvøtt, er endað",
|
"notification.poll": "Ein atkvøðugreiðsla, har tú hevur atkvøtt, er endað",
|
||||||
"notification.reblog": "{name} lyfti tín post",
|
"notification.reblog": "{name} lyfti tín post",
|
||||||
|
|
|
@ -297,6 +297,7 @@
|
||||||
"filter_modal.select_filter.subtitle": "Cleachd roinn-seòrsa a tha ann no cruthaich tè ùr",
|
"filter_modal.select_filter.subtitle": "Cleachd roinn-seòrsa a tha ann no cruthaich tè ùr",
|
||||||
"filter_modal.select_filter.title": "Criathraich am post seo",
|
"filter_modal.select_filter.title": "Criathraich am post seo",
|
||||||
"filter_modal.title.status": "Criathraich post",
|
"filter_modal.title.status": "Criathraich post",
|
||||||
|
"filtered_notifications_banner.mentions": "{count, plural, one {iomradh} two {iomradh} few {iomraidhean} other {iomradh}}",
|
||||||
"filtered_notifications_banner.pending_requests": "{count, plural, =0 {Chan eil brath ann o dhaoine} one {Tha brathan ann o # neach} two {Tha brathan ann o # neach} few {Tha brathan ann o # daoine} other {Tha brathan ann o # duine}} air a bheil thu eòlach ’s dòcha",
|
"filtered_notifications_banner.pending_requests": "{count, plural, =0 {Chan eil brath ann o dhaoine} one {Tha brathan ann o # neach} two {Tha brathan ann o # neach} few {Tha brathan ann o # daoine} other {Tha brathan ann o # duine}} air a bheil thu eòlach ’s dòcha",
|
||||||
"filtered_notifications_banner.title": "Brathan criathraichte",
|
"filtered_notifications_banner.title": "Brathan criathraichte",
|
||||||
"firehose.all": "Na h-uile",
|
"firehose.all": "Na h-uile",
|
||||||
|
@ -307,6 +308,7 @@
|
||||||
"follow_requests.unlocked_explanation": "Ged nach eil an cunntas agad glaiste, tha sgioba {domain} dhen bheachd gum b’ fheàirrde thu lèirmheas a dhèanamh air na h-iarrtasan leantainn o na cunntasan seo a làimh.",
|
"follow_requests.unlocked_explanation": "Ged nach eil an cunntas agad glaiste, tha sgioba {domain} dhen bheachd gum b’ fheàirrde thu lèirmheas a dhèanamh air na h-iarrtasan leantainn o na cunntasan seo a làimh.",
|
||||||
"follow_suggestions.curated_suggestion": "Roghainn an sgioba",
|
"follow_suggestions.curated_suggestion": "Roghainn an sgioba",
|
||||||
"follow_suggestions.dismiss": "Na seall seo a-rithist",
|
"follow_suggestions.dismiss": "Na seall seo a-rithist",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Fèill mhòr am measg nan daoine a leanas tu",
|
||||||
"follow_suggestions.hints.featured": "Chaidh a’ phròifil seo a thaghadh le sgioba {domain} a làimh.",
|
"follow_suggestions.hints.featured": "Chaidh a’ phròifil seo a thaghadh le sgioba {domain} a làimh.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Tha fèill mhòr air a’ phròifil seo am measg nan daoine a leanas tu.",
|
"follow_suggestions.hints.friends_of_friends": "Tha fèill mhòr air a’ phròifil seo am measg nan daoine a leanas tu.",
|
||||||
"follow_suggestions.hints.most_followed": "Tha a’ phròifil seo am measg an fheadhainn a leanar as trice air {domain}.",
|
"follow_suggestions.hints.most_followed": "Tha a’ phròifil seo am measg an fheadhainn a leanar as trice air {domain}.",
|
||||||
|
@ -314,6 +316,7 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Tha a’ phròifil seo coltach ris na pròifilean air an lean thu o chionn goirid.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Tha a’ phròifil seo coltach ris na pròifilean air an lean thu o chionn goirid.",
|
||||||
"follow_suggestions.personalized_suggestion": "Moladh pearsanaichte",
|
"follow_suggestions.personalized_suggestion": "Moladh pearsanaichte",
|
||||||
"follow_suggestions.popular_suggestion": "Moladh air a bheil fèill mhòr",
|
"follow_suggestions.popular_suggestion": "Moladh air a bheil fèill mhòr",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Fèill mhòr air {domain}",
|
||||||
"follow_suggestions.view_all": "Seall na h-uile",
|
"follow_suggestions.view_all": "Seall na h-uile",
|
||||||
"follow_suggestions.who_to_follow": "Molaidhean leantainn",
|
"follow_suggestions.who_to_follow": "Molaidhean leantainn",
|
||||||
"followed_tags": "Tagaichean hais ’gan leantainn",
|
"followed_tags": "Tagaichean hais ’gan leantainn",
|
||||||
|
@ -468,6 +471,7 @@
|
||||||
"notification.follow": "Tha {name} ’gad leantainn a-nis",
|
"notification.follow": "Tha {name} ’gad leantainn a-nis",
|
||||||
"notification.follow_request": "Dh’iarr {name} ’gad leantainn",
|
"notification.follow_request": "Dh’iarr {name} ’gad leantainn",
|
||||||
"notification.mention": "Thug {name} iomradh ort",
|
"notification.mention": "Thug {name} iomradh ort",
|
||||||
|
"notification.moderation-warning.learn_more": "Barrachd fiosrachaidh",
|
||||||
"notification.own_poll": "Thàinig an cunntas-bheachd agad gu crìoch",
|
"notification.own_poll": "Thàinig an cunntas-bheachd agad gu crìoch",
|
||||||
"notification.poll": "Thàinig cunntas-bheachd sa bhòt thu gu crìoch",
|
"notification.poll": "Thàinig cunntas-bheachd sa bhòt thu gu crìoch",
|
||||||
"notification.reblog": "Bhrosnaich {name} am post agad",
|
"notification.reblog": "Bhrosnaich {name} am post agad",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Malia que a túa conta non é privada, a administración de {domain} pensou que quizabes terías que revisar de xeito manual as solicitudes de seguiminto.",
|
"follow_requests.unlocked_explanation": "Malia que a túa conta non é privada, a administración de {domain} pensou que quizabes terías que revisar de xeito manual as solicitudes de seguiminto.",
|
||||||
"follow_suggestions.curated_suggestion": "Suxestións do Servidor",
|
"follow_suggestions.curated_suggestion": "Suxestións do Servidor",
|
||||||
"follow_suggestions.dismiss": "Non mostrar máis",
|
"follow_suggestions.dismiss": "Non mostrar máis",
|
||||||
|
"follow_suggestions.featured_longer": "Elección persoal do equipo de {domain}",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Popular entre as persoas que sigues",
|
||||||
"follow_suggestions.hints.featured": "Este perfil foi escollido pola administración de {domain}.",
|
"follow_suggestions.hints.featured": "Este perfil foi escollido pola administración de {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Este perfil é popular entre as persoas que segues.",
|
"follow_suggestions.hints.friends_of_friends": "Este perfil é popular entre as persoas que segues.",
|
||||||
"follow_suggestions.hints.most_followed": "Este perfil é un dos máis seguidos en {domain}.",
|
"follow_suggestions.hints.most_followed": "Este perfil é un dos máis seguidos en {domain}.",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Este perfil ten semellanzas cos perfís que ti seguiches últimamente.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Este perfil ten semellanzas cos perfís que ti seguiches últimamente.",
|
||||||
"follow_suggestions.personalized_suggestion": "Suxestión personalizada",
|
"follow_suggestions.personalized_suggestion": "Suxestión personalizada",
|
||||||
"follow_suggestions.popular_suggestion": "Suxestión popular",
|
"follow_suggestions.popular_suggestion": "Suxestión popular",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Popular en {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Perfís semellantes aos que seguiches recentemente",
|
||||||
"follow_suggestions.view_all": "Ver todas",
|
"follow_suggestions.view_all": "Ver todas",
|
||||||
"follow_suggestions.who_to_follow": "A quen seguir",
|
"follow_suggestions.who_to_follow": "A quen seguir",
|
||||||
"followed_tags": "Cancelos seguidos",
|
"followed_tags": "Cancelos seguidos",
|
||||||
|
@ -469,6 +473,15 @@
|
||||||
"notification.follow": "{name} comezou a seguirte",
|
"notification.follow": "{name} comezou a seguirte",
|
||||||
"notification.follow_request": "{name} solicitou seguirte",
|
"notification.follow_request": "{name} solicitou seguirte",
|
||||||
"notification.mention": "{name} mencionoute",
|
"notification.mention": "{name} mencionoute",
|
||||||
|
"notification.moderation-warning.learn_more": "Saber máis",
|
||||||
|
"notification.moderation_warning": "Recibiches unha advertencia da moderación",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Algunha das túas publicacións foron eliminadas.",
|
||||||
|
"notification.moderation_warning.action_disable": "A túa conta foi desactivada.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Algunha das túas publicacións foron marcadas como sensibles.",
|
||||||
|
"notification.moderation_warning.action_none": "A túa conta recibeu unha advertencia da moderación.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "De agora en diante as túas publicacións van ser marcadas como sensibles.",
|
||||||
|
"notification.moderation_warning.action_silence": "A túa conta foi limitada.",
|
||||||
|
"notification.moderation_warning.action_suspend": "A túa conta foi suspendida.",
|
||||||
"notification.own_poll": "A túa enquisa rematou",
|
"notification.own_poll": "A túa enquisa rematou",
|
||||||
"notification.poll": "Rematou a enquisa na que votaches",
|
"notification.poll": "Rematou a enquisa na que votaches",
|
||||||
"notification.reblog": "{name} compartiu a túa publicación",
|
"notification.reblog": "{name} compartiu a túa publicación",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "למרות שחשבונך אינו נעול, צוות {domain} חושב שאולי כדאי לוודא את בקשות המעקב האלה ידנית.",
|
"follow_requests.unlocked_explanation": "למרות שחשבונך אינו נעול, צוות {domain} חושב שאולי כדאי לוודא את בקשות המעקב האלה ידנית.",
|
||||||
"follow_suggestions.curated_suggestion": "בחירת הצוות",
|
"follow_suggestions.curated_suggestion": "בחירת הצוות",
|
||||||
"follow_suggestions.dismiss": "לא להציג שוב",
|
"follow_suggestions.dismiss": "לא להציג שוב",
|
||||||
|
"follow_suggestions.featured_longer": "נבחר ידנית על ידי הצוות של {domain}",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "פופולרי בין הנעקבים שלך",
|
||||||
"follow_suggestions.hints.featured": "החשבון הזה נבחר אישית על ידי צוות {domain}.",
|
"follow_suggestions.hints.featured": "החשבון הזה נבחר אישית על ידי צוות {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "חשבון זה פופולרי בין הנעקבים שלך.",
|
"follow_suggestions.hints.friends_of_friends": "חשבון זה פופולרי בין הנעקבים שלך.",
|
||||||
"follow_suggestions.hints.most_followed": "חשבון זה הוא מבין הנעקבים ביותר בשרת {domain}.",
|
"follow_suggestions.hints.most_followed": "חשבון זה הוא מבין הנעקבים ביותר בשרת {domain}.",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "חשבון זה דומה לחשבונות אחרים שאחריהם התחלת לעקוב לאחרונה.",
|
"follow_suggestions.hints.similar_to_recently_followed": "חשבון זה דומה לחשבונות אחרים שאחריהם התחלת לעקוב לאחרונה.",
|
||||||
"follow_suggestions.personalized_suggestion": "הצעות מותאמות אישית",
|
"follow_suggestions.personalized_suggestion": "הצעות מותאמות אישית",
|
||||||
"follow_suggestions.popular_suggestion": "הצעה פופולרית",
|
"follow_suggestions.popular_suggestion": "הצעה פופולרית",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "פופולרי בקהילת {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "דומה למשתמשות.ים שעקבת אחריהן.ם לאחרונה",
|
||||||
"follow_suggestions.view_all": "צפיה בכל",
|
"follow_suggestions.view_all": "צפיה בכל",
|
||||||
"follow_suggestions.who_to_follow": "אחרי מי לעקוב",
|
"follow_suggestions.who_to_follow": "אחרי מי לעקוב",
|
||||||
"followed_tags": "התגיות שהחשבון שלך עוקב אחריהן",
|
"followed_tags": "התגיות שהחשבון שלך עוקב אחריהן",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Bár a fiókod nincs zárolva, a(z) {domain} csapata úgy gondolta, hogy talán kézzel szeretnéd ellenőrizni ezen fiókok követési kéréseit.",
|
"follow_requests.unlocked_explanation": "Bár a fiókod nincs zárolva, a(z) {domain} csapata úgy gondolta, hogy talán kézzel szeretnéd ellenőrizni ezen fiókok követési kéréseit.",
|
||||||
"follow_suggestions.curated_suggestion": "A stáb választása",
|
"follow_suggestions.curated_suggestion": "A stáb választása",
|
||||||
"follow_suggestions.dismiss": "Ne jelenjen meg újra",
|
"follow_suggestions.dismiss": "Ne jelenjen meg újra",
|
||||||
|
"follow_suggestions.featured_longer": "A {domain} csapata által kézzel kiválasztott",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Népszerű az Ön által követett emberek körében",
|
||||||
"follow_suggestions.hints.featured": "Ezt a profilt a(z) {domain} csapata választotta ki.",
|
"follow_suggestions.hints.featured": "Ezt a profilt a(z) {domain} csapata választotta ki.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Ez a profil népszerű az általad követett emberek körében.",
|
"follow_suggestions.hints.friends_of_friends": "Ez a profil népszerű az általad követett emberek körében.",
|
||||||
"follow_suggestions.hints.most_followed": "Ez a profil a leginkább követett a(z) {domain} oldalon.",
|
"follow_suggestions.hints.most_followed": "Ez a profil a leginkább követett a(z) {domain} oldalon.",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Ez a profil hasonló azokhoz a profilokhoz, melyeket nemrég kezdtél el követni.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Ez a profil hasonló azokhoz a profilokhoz, melyeket nemrég kezdtél el követni.",
|
||||||
"follow_suggestions.personalized_suggestion": "Személyre szabott javaslat",
|
"follow_suggestions.personalized_suggestion": "Személyre szabott javaslat",
|
||||||
"follow_suggestions.popular_suggestion": "Népszerű javaslat",
|
"follow_suggestions.popular_suggestion": "Népszerű javaslat",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Népszerű itt: {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Hasonló profilok, melyeket nemrég követett",
|
||||||
"follow_suggestions.view_all": "Összes megtekintése",
|
"follow_suggestions.view_all": "Összes megtekintése",
|
||||||
"follow_suggestions.who_to_follow": "Kit érdemes követni",
|
"follow_suggestions.who_to_follow": "Kit érdemes követni",
|
||||||
"followed_tags": "Követett hashtagek",
|
"followed_tags": "Követett hashtagek",
|
||||||
|
@ -469,6 +473,15 @@
|
||||||
"notification.follow": "{name} követ téged",
|
"notification.follow": "{name} követ téged",
|
||||||
"notification.follow_request": "{name} követni szeretne téged",
|
"notification.follow_request": "{name} követni szeretne téged",
|
||||||
"notification.mention": "{name} megemlített",
|
"notification.mention": "{name} megemlített",
|
||||||
|
"notification.moderation-warning.learn_more": "További információk",
|
||||||
|
"notification.moderation_warning": "Moderációs figyelmeztetést kaptál",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Néhány bejegyzésedet eltávolították.",
|
||||||
|
"notification.moderation_warning.action_disable": "A fiókod le van tiltva.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Néhány bejegyzésedet kényesnek jelölték.",
|
||||||
|
"notification.moderation_warning.action_none": "A fiókod moderációs figyelmeztetést kapott.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "A bejegyzéseid mostantól érzékenynek lesznek jelölve.",
|
||||||
|
"notification.moderation_warning.action_silence": "A fiókod korlátozásra került.",
|
||||||
|
"notification.moderation_warning.action_suspend": "A fiókod felfüggesztésre került.",
|
||||||
"notification.own_poll": "A szavazásod véget ért",
|
"notification.own_poll": "A szavazásod véget ért",
|
||||||
"notification.poll": "Egy szavazás, melyben részt vettél, véget ért",
|
"notification.poll": "Egy szavazás, melyben részt vettél, véget ért",
|
||||||
"notification.reblog": "{name} megtolta a bejegyzésedet",
|
"notification.reblog": "{name} megtolta a bejegyzésedet",
|
||||||
|
|
|
@ -123,6 +123,7 @@
|
||||||
"column.directory": "Jelajahi profil",
|
"column.directory": "Jelajahi profil",
|
||||||
"column.domain_blocks": "Domain tersembunyi",
|
"column.domain_blocks": "Domain tersembunyi",
|
||||||
"column.favourites": "Favorit",
|
"column.favourites": "Favorit",
|
||||||
|
"column.firehose": "Feed yang sedang berlangsung",
|
||||||
"column.follow_requests": "Permintaan mengikuti",
|
"column.follow_requests": "Permintaan mengikuti",
|
||||||
"column.home": "Beranda",
|
"column.home": "Beranda",
|
||||||
"column.lists": "List",
|
"column.lists": "List",
|
||||||
|
@ -143,7 +144,9 @@
|
||||||
"community.column_settings.remote_only": "Hanya jarak jauh",
|
"community.column_settings.remote_only": "Hanya jarak jauh",
|
||||||
"compose.language.change": "Ganti bahasa",
|
"compose.language.change": "Ganti bahasa",
|
||||||
"compose.language.search": "Telusuri bahasa...",
|
"compose.language.search": "Telusuri bahasa...",
|
||||||
|
"compose.published.body": "Postingan diterbitkan.",
|
||||||
"compose.published.open": "Buka",
|
"compose.published.open": "Buka",
|
||||||
|
"compose.saved.body": "Postingan tersimpan.",
|
||||||
"compose_form.direct_message_warning_learn_more": "Pelajari lebih lanjut",
|
"compose_form.direct_message_warning_learn_more": "Pelajari lebih lanjut",
|
||||||
"compose_form.encryption_warning": "Kiriman di Mastodon tidak dienkripsi secara end-to-end. Jangan bagikan informasi sensitif melalui Mastodon.",
|
"compose_form.encryption_warning": "Kiriman di Mastodon tidak dienkripsi secara end-to-end. Jangan bagikan informasi sensitif melalui Mastodon.",
|
||||||
"compose_form.hashtag_warning": "Kiriman ini tidak akan didaftarkan di bawah tagar apapun selama tidak diatur ke publik. Hanya kiriman publik yang dapat dicari dengan tagar.",
|
"compose_form.hashtag_warning": "Kiriman ini tidak akan didaftarkan di bawah tagar apapun selama tidak diatur ke publik. Hanya kiriman publik yang dapat dicari dengan tagar.",
|
||||||
|
@ -151,11 +154,19 @@
|
||||||
"compose_form.lock_disclaimer.lock": "terkunci",
|
"compose_form.lock_disclaimer.lock": "terkunci",
|
||||||
"compose_form.placeholder": "Apa yang ada di pikiran Anda?",
|
"compose_form.placeholder": "Apa yang ada di pikiran Anda?",
|
||||||
"compose_form.poll.duration": "Durasi japat",
|
"compose_form.poll.duration": "Durasi japat",
|
||||||
|
"compose_form.poll.multiple": "Pilihan ganda",
|
||||||
|
"compose_form.poll.option_placeholder": "Opsi {number}",
|
||||||
|
"compose_form.poll.single": "Pilih Satu",
|
||||||
"compose_form.poll.switch_to_multiple": "Ubah japat menjadi pilihan ganda",
|
"compose_form.poll.switch_to_multiple": "Ubah japat menjadi pilihan ganda",
|
||||||
"compose_form.poll.switch_to_single": "Ubah japat menjadi pilihan tunggal",
|
"compose_form.poll.switch_to_single": "Ubah japat menjadi pilihan tunggal",
|
||||||
|
"compose_form.poll.type": "Gaya",
|
||||||
|
"compose_form.publish": "Postingan",
|
||||||
"compose_form.publish_form": "Terbitkan",
|
"compose_form.publish_form": "Terbitkan",
|
||||||
|
"compose_form.reply": "Balas",
|
||||||
|
"compose_form.save_changes": "Perbarui",
|
||||||
"compose_form.spoiler.marked": "Hapus peringatan tentang isi konten",
|
"compose_form.spoiler.marked": "Hapus peringatan tentang isi konten",
|
||||||
"compose_form.spoiler.unmarked": "Tambahkan peringatan tentang isi konten",
|
"compose_form.spoiler.unmarked": "Tambahkan peringatan tentang isi konten",
|
||||||
|
"compose_form.spoiler_placeholder": "Peringatan konten (opsional)",
|
||||||
"confirmation_modal.cancel": "Batal",
|
"confirmation_modal.cancel": "Batal",
|
||||||
"confirmations.block.confirm": "Blokir",
|
"confirmations.block.confirm": "Blokir",
|
||||||
"confirmations.cancel_follow_request.confirm": "Batalkan permintaan",
|
"confirmations.cancel_follow_request.confirm": "Batalkan permintaan",
|
||||||
|
@ -166,12 +177,15 @@
|
||||||
"confirmations.delete_list.message": "Apakah Anda yakin untuk menghapus daftar ini secara permanen?",
|
"confirmations.delete_list.message": "Apakah Anda yakin untuk menghapus daftar ini secara permanen?",
|
||||||
"confirmations.discard_edit_media.confirm": "Buang",
|
"confirmations.discard_edit_media.confirm": "Buang",
|
||||||
"confirmations.discard_edit_media.message": "Anda belum menyimpan perubahan deskripsi atau pratinjau media, buang saja?",
|
"confirmations.discard_edit_media.message": "Anda belum menyimpan perubahan deskripsi atau pratinjau media, buang saja?",
|
||||||
|
"confirmations.domain_block.confirm": "Blokir server",
|
||||||
"confirmations.domain_block.message": "Apakah Anda benar-benar yakin untuk memblokir keseluruhan {domain}? Dalam kasus tertentu beberapa pemblokiran atau penyembunyian lebih baik.",
|
"confirmations.domain_block.message": "Apakah Anda benar-benar yakin untuk memblokir keseluruhan {domain}? Dalam kasus tertentu beberapa pemblokiran atau penyembunyian lebih baik.",
|
||||||
"confirmations.edit.confirm": "Ubah",
|
"confirmations.edit.confirm": "Ubah",
|
||||||
|
"confirmations.edit.message": "Mengubah akan menimpa pesan yang sedang anda tulis. Apakah anda yakin ingin melanjutkan?",
|
||||||
"confirmations.logout.confirm": "Keluar",
|
"confirmations.logout.confirm": "Keluar",
|
||||||
"confirmations.logout.message": "Apakah Anda yakin ingin keluar?",
|
"confirmations.logout.message": "Apakah Anda yakin ingin keluar?",
|
||||||
"confirmations.mute.confirm": "Bisukan",
|
"confirmations.mute.confirm": "Bisukan",
|
||||||
"confirmations.redraft.confirm": "Hapus dan susun ulang",
|
"confirmations.redraft.confirm": "Hapus dan susun ulang",
|
||||||
|
"confirmations.redraft.message": "Apakah anda yakin ingin menghapus postingan ini dan menyusun ulang postingan ini? Favorit dan peningkatan akan hilang, dan balasan ke postingan asli tidak akan terhubung ke postingan manapun.",
|
||||||
"confirmations.reply.confirm": "Balas",
|
"confirmations.reply.confirm": "Balas",
|
||||||
"confirmations.reply.message": "Membalas sekarang akan menimpa pesan yang sedang Anda buat. Anda yakin ingin melanjutkan?",
|
"confirmations.reply.message": "Membalas sekarang akan menimpa pesan yang sedang Anda buat. Anda yakin ingin melanjutkan?",
|
||||||
"confirmations.unfollow.confirm": "Berhenti mengikuti",
|
"confirmations.unfollow.confirm": "Berhenti mengikuti",
|
||||||
|
@ -180,6 +194,7 @@
|
||||||
"conversation.mark_as_read": "Tandai sudah dibaca",
|
"conversation.mark_as_read": "Tandai sudah dibaca",
|
||||||
"conversation.open": "Lihat percakapan",
|
"conversation.open": "Lihat percakapan",
|
||||||
"conversation.with": "Dengan {names}",
|
"conversation.with": "Dengan {names}",
|
||||||
|
"copy_icon_button.copied": "Disalin ke clipboard",
|
||||||
"copypaste.copied": "Disalin",
|
"copypaste.copied": "Disalin",
|
||||||
"copypaste.copy_to_clipboard": "Salin ke clipboard",
|
"copypaste.copy_to_clipboard": "Salin ke clipboard",
|
||||||
"directory.federated": "Dari fediverse yang dikenal",
|
"directory.federated": "Dari fediverse yang dikenal",
|
||||||
|
@ -191,7 +206,27 @@
|
||||||
"dismissable_banner.community_timeline": "Ini adalah kiriman publik terkini dari orang yang akunnya berada di {domain}.",
|
"dismissable_banner.community_timeline": "Ini adalah kiriman publik terkini dari orang yang akunnya berada di {domain}.",
|
||||||
"dismissable_banner.dismiss": "Abaikan",
|
"dismissable_banner.dismiss": "Abaikan",
|
||||||
"dismissable_banner.explore_links": "Cerita berita ini sekarang sedang dibicarakan oleh orang di server ini dan lainnya dalam jaringan terdesentralisasi.",
|
"dismissable_banner.explore_links": "Cerita berita ini sekarang sedang dibicarakan oleh orang di server ini dan lainnya dalam jaringan terdesentralisasi.",
|
||||||
|
"dismissable_banner.explore_statuses": "Ini adalah postingan dari seluruh web sosial yang mendapatkan daya tarik saat ini. Postingan baru dengan lebih banyak peningkatan dan favorit memiliki peringkat lebih tinggi.",
|
||||||
"dismissable_banner.explore_tags": "Tagar ini sekarang sedang tren di antara orang di server ini dan lainnya dalam jaringan terdesentralisasi.",
|
"dismissable_banner.explore_tags": "Tagar ini sekarang sedang tren di antara orang di server ini dan lainnya dalam jaringan terdesentralisasi.",
|
||||||
|
"dismissable_banner.public_timeline": "Ini adalah postingan publik dari orang-orang di web sosial yang diikuti oleh {domain}.",
|
||||||
|
"domain_block_modal.block": "Blokir server",
|
||||||
|
"domain_block_modal.block_account_instead": "Blokir @{name} saja",
|
||||||
|
"domain_block_modal.they_can_interact_with_old_posts": "Orang-orang dari server ini dapat berinteraksi dengan kiriman lama anda.",
|
||||||
|
"domain_block_modal.they_cant_follow": "Tidak ada seorangpun dari server ini yang dapat mengikuti anda.",
|
||||||
|
"domain_block_modal.they_wont_know": "Mereka tidak akan tahu bahwa mereka diblokir.",
|
||||||
|
"domain_block_modal.title": "Blokir domain?",
|
||||||
|
"domain_block_modal.you_will_lose_followers": "Semua pengikut anda dari server ini akan dihapus.",
|
||||||
|
"domain_block_modal.you_wont_see_posts": "Anda tidak akan melihat postingan atau notifikasi dari pengguna di server ini.",
|
||||||
|
"domain_pill.activitypub_lets_connect": "Ini memungkinkan anda terhubung dan berinteraksi dengan orang-orang tidak hanya di Mastodon, tetapi juga di berbagai aplikasi sosial.",
|
||||||
|
"domain_pill.activitypub_like_language": "ActivityPub seperti bahasa yang digunakan Mastodon dengan jejaring sosial lainnya.",
|
||||||
|
"domain_pill.server": "Server",
|
||||||
|
"domain_pill.their_handle": "Nama penggunanya:",
|
||||||
|
"domain_pill.their_server": "Rumah digital mereka, di mana semua postingan mereka tersedia.",
|
||||||
|
"domain_pill.their_username": "Pengenal unik mereka di server tersebut. Itu memungkinkan dapat mencari pengguna dengan nama yang sama di server lain.",
|
||||||
|
"domain_pill.username": "Nama pengguna",
|
||||||
|
"domain_pill.whats_in_a_handle": "Apa itu nama pengguna?",
|
||||||
|
"domain_pill.who_they_are": "Karena nama pengguna menunjukkan siapa seseorang dan di mana server mereka berada, anda dapat berinteraksi dengan orang-orang di seluruh web sosial <button>ActivityPub-powered platforms</button>.",
|
||||||
|
"domain_pill.your_handle": "Nama pengguna anda:",
|
||||||
"embed.instructions": "Sematkan kiriman ini di situs web Anda dengan menyalin kode di bawah ini.",
|
"embed.instructions": "Sematkan kiriman ini di situs web Anda dengan menyalin kode di bawah ini.",
|
||||||
"embed.preview": "Tampilan akan seperti ini nantinya:",
|
"embed.preview": "Tampilan akan seperti ini nantinya:",
|
||||||
"emoji_button.activity": "Aktivitas",
|
"emoji_button.activity": "Aktivitas",
|
||||||
|
@ -260,6 +295,10 @@
|
||||||
"follow_request.authorize": "Izinkan",
|
"follow_request.authorize": "Izinkan",
|
||||||
"follow_request.reject": "Tolak",
|
"follow_request.reject": "Tolak",
|
||||||
"follow_requests.unlocked_explanation": "Meskipun akun Anda tidak dikunci, staf {domain} menyarankan Anda untuk meninjau permintaan mengikuti dari akun-akun ini secara manual.",
|
"follow_requests.unlocked_explanation": "Meskipun akun Anda tidak dikunci, staf {domain} menyarankan Anda untuk meninjau permintaan mengikuti dari akun-akun ini secara manual.",
|
||||||
|
"follow_suggestions.curated_suggestion": "Pilihan staf",
|
||||||
|
"follow_suggestions.dismiss": "Jangan tampilkan lagi",
|
||||||
|
"follow_suggestions.hints.featured": "Profil ini telah dipilih sendiri oleh tim {domain}.",
|
||||||
|
"follow_suggestions.hints.friends_of_friends": "Profil ini populer di kalangan orang yang anda ikuti.",
|
||||||
"followed_tags": "Tagar yang diikuti",
|
"followed_tags": "Tagar yang diikuti",
|
||||||
"footer.about": "Tentang",
|
"footer.about": "Tentang",
|
||||||
"footer.directory": "Direktori profil",
|
"footer.directory": "Direktori profil",
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
"column.bookmarks": "Ebenrụtụakā",
|
"column.bookmarks": "Ebenrụtụakā",
|
||||||
"column.home": "Be",
|
"column.home": "Be",
|
||||||
"column.lists": "Ndepụta",
|
"column.lists": "Ndepụta",
|
||||||
|
"column.notifications": "Nziọkwà",
|
||||||
"column.pins": "Pinned post",
|
"column.pins": "Pinned post",
|
||||||
"column_header.pin": "Gbado na profaịlụ gị",
|
"column_header.pin": "Gbado na profaịlụ gị",
|
||||||
"column_subheading.settings": "Mwube",
|
"column_subheading.settings": "Mwube",
|
||||||
|
@ -42,17 +43,28 @@
|
||||||
"confirmations.reply.confirm": "Zaa",
|
"confirmations.reply.confirm": "Zaa",
|
||||||
"confirmations.unfollow.confirm": "Kwụsị iso",
|
"confirmations.unfollow.confirm": "Kwụsị iso",
|
||||||
"conversation.delete": "Hichapụ nkata",
|
"conversation.delete": "Hichapụ nkata",
|
||||||
|
"disabled_account_banner.account_settings": "Mwube akaụntụ",
|
||||||
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
|
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
|
||||||
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
|
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
|
||||||
|
"domain_pill.username": "Ahaojiaru",
|
||||||
"embed.instructions": "Embed this status on your website by copying the code below.",
|
"embed.instructions": "Embed this status on your website by copying the code below.",
|
||||||
|
"emoji_button.activity": "Mmemme",
|
||||||
|
"emoji_button.label": "Tibanye emoji",
|
||||||
"emoji_button.search": "Chọọ...",
|
"emoji_button.search": "Chọọ...",
|
||||||
|
"emoji_button.symbols": "Ọdịmara",
|
||||||
"empty_column.account_timeline": "No posts found",
|
"empty_column.account_timeline": "No posts found",
|
||||||
"empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}",
|
"empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}",
|
||||||
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
|
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
|
||||||
"errors.unexpected_crash.report_issue": "Kpesa nsogbu",
|
"errors.unexpected_crash.report_issue": "Kpesa nsogbu",
|
||||||
|
"explore.trending_links": "Akụkọ",
|
||||||
|
"firehose.all": "Ha niine",
|
||||||
|
"follow_request.authorize": "Nye ikike",
|
||||||
"footer.privacy_policy": "Iwu nzuzu",
|
"footer.privacy_policy": "Iwu nzuzu",
|
||||||
"getting_started.heading": "Mbido",
|
"getting_started.heading": "Mbido",
|
||||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
||||||
|
"home.column_settings.show_replies": "Gosi nzaghachị",
|
||||||
|
"home.hide_announcements": "Zoo ọkwa",
|
||||||
|
"home.show_announcements": "Gosi ọkwa",
|
||||||
"keyboard_shortcuts.back": "to navigate back",
|
"keyboard_shortcuts.back": "to navigate back",
|
||||||
"keyboard_shortcuts.blocked": "to open blocked users list",
|
"keyboard_shortcuts.blocked": "to open blocked users list",
|
||||||
"keyboard_shortcuts.boost": "to boost",
|
"keyboard_shortcuts.boost": "to boost",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Jafnvel þótt aðgangurinn þinn sé ekki læstur, hafa umsjónarmenn {domain} ímyndað sér að þú gætir viljað yfirfara handvirkt fylgjendabeiðnir frá þessum notendum.",
|
"follow_requests.unlocked_explanation": "Jafnvel þótt aðgangurinn þinn sé ekki læstur, hafa umsjónarmenn {domain} ímyndað sér að þú gætir viljað yfirfara handvirkt fylgjendabeiðnir frá þessum notendum.",
|
||||||
"follow_suggestions.curated_suggestion": "Úrval starfsfólks",
|
"follow_suggestions.curated_suggestion": "Úrval starfsfólks",
|
||||||
"follow_suggestions.dismiss": "Ekki birta þetta aftur",
|
"follow_suggestions.dismiss": "Ekki birta þetta aftur",
|
||||||
|
"follow_suggestions.featured_longer": "Handvalið af {domain}-teyminu",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Vinsælt hjá fólki sem þú fylgist með",
|
||||||
"follow_suggestions.hints.featured": "Þetta notandasnið hefur verið handvalið af {domain}-teyminu.",
|
"follow_suggestions.hints.featured": "Þetta notandasnið hefur verið handvalið af {domain}-teyminu.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Þetta notandasnið er vinsælt hjá fólki sem þú fylgist með.",
|
"follow_suggestions.hints.friends_of_friends": "Þetta notandasnið er vinsælt hjá fólki sem þú fylgist með.",
|
||||||
"follow_suggestions.hints.most_followed": "Þetta notandasnið er eitt af þeim sem mest er fylgst með á {domain}.",
|
"follow_suggestions.hints.most_followed": "Þetta notandasnið er eitt af þeim sem mest er fylgst með á {domain}.",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Þetta notandasnið er líkt þeim sniðum sem þú hefur valið að fylgjast með að undanförnu.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Þetta notandasnið er líkt þeim sniðum sem þú hefur valið að fylgjast með að undanförnu.",
|
||||||
"follow_suggestions.personalized_suggestion": "Persónuaðlöguð tillaga",
|
"follow_suggestions.personalized_suggestion": "Persónuaðlöguð tillaga",
|
||||||
"follow_suggestions.popular_suggestion": "Vinsæl tillaga",
|
"follow_suggestions.popular_suggestion": "Vinsæl tillaga",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Vinsælt á {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Svipar til notenda sem þú hefur nýlega farið að fylgjast með",
|
||||||
"follow_suggestions.view_all": "Skoða allt",
|
"follow_suggestions.view_all": "Skoða allt",
|
||||||
"follow_suggestions.who_to_follow": "Hverjum á að fylgjast með",
|
"follow_suggestions.who_to_follow": "Hverjum á að fylgjast með",
|
||||||
"followed_tags": "Myllumerki sem fylgst er með",
|
"followed_tags": "Myllumerki sem fylgst er með",
|
||||||
|
@ -469,6 +473,15 @@
|
||||||
"notification.follow": "{name} fylgist með þér",
|
"notification.follow": "{name} fylgist með þér",
|
||||||
"notification.follow_request": "{name} hefur beðið um að fylgjast með þér",
|
"notification.follow_request": "{name} hefur beðið um að fylgjast með þér",
|
||||||
"notification.mention": "{name} minntist á þig",
|
"notification.mention": "{name} minntist á þig",
|
||||||
|
"notification.moderation-warning.learn_more": "Kanna nánar",
|
||||||
|
"notification.moderation_warning": "Þú hefur fengið aðvörun frá umsjónarmanni",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Sumar færslurnar þínar hafa verið fjarlægðar.",
|
||||||
|
"notification.moderation_warning.action_disable": "Aðgangurinn þinn hefur verið gerður óvirkur.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Sumar færslurnar þínar hafa verið merktar sem viðkvæmt efni.",
|
||||||
|
"notification.moderation_warning.action_none": "Aðgangurinn þinn hefur fengið aðvörun frá umsjónarmanni.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "Færslur þínar á verða héðan í frá merktar sem viðkvæmar.",
|
||||||
|
"notification.moderation_warning.action_silence": "Notandaaðgangurinn þinn hefur verið takmarkaður.",
|
||||||
|
"notification.moderation_warning.action_suspend": "Notandaaðgangurinn þinn hefur verið settur í frysti.",
|
||||||
"notification.own_poll": "Könnuninni þinni er lokið",
|
"notification.own_poll": "Könnuninni þinni er lokið",
|
||||||
"notification.poll": "Könnun sem þú tókst þátt í er lokið",
|
"notification.poll": "Könnun sem þú tókst þátt í er lokið",
|
||||||
"notification.reblog": "{name} endurbirti færsluna þína",
|
"notification.reblog": "{name} endurbirti færsluna þína",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Anche se il tuo profilo non è privato, lo staff di {domain} ha pensato che potresti voler revisionare manualmente le richieste di seguirti da questi profili.",
|
"follow_requests.unlocked_explanation": "Anche se il tuo profilo non è privato, lo staff di {domain} ha pensato che potresti voler revisionare manualmente le richieste di seguirti da questi profili.",
|
||||||
"follow_suggestions.curated_suggestion": "Scelta personale",
|
"follow_suggestions.curated_suggestion": "Scelta personale",
|
||||||
"follow_suggestions.dismiss": "Non visualizzare più",
|
"follow_suggestions.dismiss": "Non visualizzare più",
|
||||||
|
"follow_suggestions.featured_longer": "Selezionato personalmente dal team di {domain}",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Popolare tra le persone che segui",
|
||||||
"follow_suggestions.hints.featured": "Questo profilo è stato selezionato personalmente dal team di {domain}.",
|
"follow_suggestions.hints.featured": "Questo profilo è stato selezionato personalmente dal team di {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Questo profilo è popolare tra le persone che segui.",
|
"follow_suggestions.hints.friends_of_friends": "Questo profilo è popolare tra le persone che segui.",
|
||||||
"follow_suggestions.hints.most_followed": "Questo profilo è uno dei più seguiti su {domain}.",
|
"follow_suggestions.hints.most_followed": "Questo profilo è uno dei più seguiti su {domain}.",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Questo profilo è simile ai profili che hai seguito più recentemente.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Questo profilo è simile ai profili che hai seguito più recentemente.",
|
||||||
"follow_suggestions.personalized_suggestion": "Suggerimenti personalizzati",
|
"follow_suggestions.personalized_suggestion": "Suggerimenti personalizzati",
|
||||||
"follow_suggestions.popular_suggestion": "Suggerimento frequente",
|
"follow_suggestions.popular_suggestion": "Suggerimento frequente",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Popolare su {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Simile ai profili che hai seguito di recente",
|
||||||
"follow_suggestions.view_all": "Vedi tutto",
|
"follow_suggestions.view_all": "Vedi tutto",
|
||||||
"follow_suggestions.who_to_follow": "Chi seguire",
|
"follow_suggestions.who_to_follow": "Chi seguire",
|
||||||
"followed_tags": "Hashtag seguiti",
|
"followed_tags": "Hashtag seguiti",
|
||||||
|
@ -469,6 +473,15 @@
|
||||||
"notification.follow": "{name} ha iniziato a seguirti",
|
"notification.follow": "{name} ha iniziato a seguirti",
|
||||||
"notification.follow_request": "{name} ha richiesto di seguirti",
|
"notification.follow_request": "{name} ha richiesto di seguirti",
|
||||||
"notification.mention": "{name} ti ha menzionato",
|
"notification.mention": "{name} ti ha menzionato",
|
||||||
|
"notification.moderation-warning.learn_more": "Scopri di più",
|
||||||
|
"notification.moderation_warning": "Hai ricevuto un avviso di moderazione",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Alcuni dei tuoi post sono stati rimossi.",
|
||||||
|
"notification.moderation_warning.action_disable": "Il tuo account è stato disattivato.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Alcuni dei tuoi post sono stati contrassegnati come sensibili.",
|
||||||
|
"notification.moderation_warning.action_none": "Il tuo account ha ricevuto un avviso di moderazione.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "I tuoi post d'ora in poi saranno contrassegnati come sensibili.",
|
||||||
|
"notification.moderation_warning.action_silence": "Il tuo account è stato limitato.",
|
||||||
|
"notification.moderation_warning.action_suspend": "Il tuo account è stato sospeso.",
|
||||||
"notification.own_poll": "Il tuo sondaggio è terminato",
|
"notification.own_poll": "Il tuo sondaggio è terminato",
|
||||||
"notification.poll": "Un sondaggio in cui hai votato è terminato",
|
"notification.poll": "Un sondaggio in cui hai votato è terminato",
|
||||||
"notification.reblog": "{name} ha rebloggato il tuo post",
|
"notification.reblog": "{name} ha rebloggato il tuo post",
|
||||||
|
|
|
@ -392,7 +392,7 @@
|
||||||
"filter_modal.select_filter.title": "この投稿をフィルターする",
|
"filter_modal.select_filter.title": "この投稿をフィルターする",
|
||||||
"filter_modal.title.status": "投稿をフィルターする",
|
"filter_modal.title.status": "投稿をフィルターする",
|
||||||
"filtered_notifications_banner.mentions": "{count, plural, one {メンション} other {メンション}}",
|
"filtered_notifications_banner.mentions": "{count, plural, one {メンション} other {メンション}}",
|
||||||
"filtered_notifications_banner.pending_requests": "{count, plural, =0 {アカウント} other {#アカウント}}からの通知がブロックされています",
|
"filtered_notifications_banner.pending_requests": "{count, plural, =0 {通知がブロックされているアカウントはありません} other {#アカウントからの通知がブロックされています}}",
|
||||||
"filtered_notifications_banner.title": "ブロック済みの通知",
|
"filtered_notifications_banner.title": "ブロック済みの通知",
|
||||||
"firehose.all": "すべて",
|
"firehose.all": "すべて",
|
||||||
"firehose.local": "このサーバー",
|
"firehose.local": "このサーバー",
|
||||||
|
@ -585,15 +585,6 @@
|
||||||
"notification.status": "{name}さんが投稿しました",
|
"notification.status": "{name}さんが投稿しました",
|
||||||
"notification.status_reference": "{name}さんがあなたの投稿を引用しました",
|
"notification.status_reference": "{name}さんがあなたの投稿を引用しました",
|
||||||
"notification.update": "{name}さんが投稿を編集しました",
|
"notification.update": "{name}さんが投稿を編集しました",
|
||||||
"notification.warning": "あなたは警告を出され、処分が実行されました。詳細はメールをご確認ください",
|
|
||||||
"notification.warning.none": "あなたは警告を出されました。詳細はメールをご確認ください。",
|
|
||||||
"notification.warning.delete_statuses": "あなたは警告を出され、1つまたは複数の投稿が削除されました。詳細はメールをご確認ください。",
|
|
||||||
"notification.warning.disable": "あなたは警告を出され、アカウントが無効化されました。詳細はメールをご確認ください。",
|
|
||||||
"notification.warning.force_cw": "あなたは警告を出され、投稿に警告文が追加されました。詳細はメールをご確認ください。",
|
|
||||||
"notification.warning.mark_statuses_as_sensitive": "あなたは警告を出され、投稿が閲覧注意としてマークされました。詳細はメールをご確認ください。",
|
|
||||||
"notification.warning.sensitive": "あなたは警告を出され、アカウントがセンシティブ指定されました。詳細はメールをご確認ください。",
|
|
||||||
"notification.warning.silence": "あなたは警告を出され、サイレンスされました。詳細はメールをご確認ください。",
|
|
||||||
"notification.warning.suspended": "あなたは警告を出され、サスペンドされました。詳細はメールをご確認ください。",
|
|
||||||
"notification_requests.accept": "受け入れる",
|
"notification_requests.accept": "受け入れる",
|
||||||
"notification_requests.dismiss": "無視",
|
"notification_requests.dismiss": "無視",
|
||||||
"notification_requests.notifications_from": "{name}からの通知",
|
"notification_requests.notifications_from": "{name}からの通知",
|
||||||
|
|
|
@ -308,13 +308,17 @@
|
||||||
"follow_requests.unlocked_explanation": "Ook al is jouw account niet besloten, de medewerkers van {domain} denken dat jij misschien de volgende volgverzoeken handmatig wil controleren.",
|
"follow_requests.unlocked_explanation": "Ook al is jouw account niet besloten, de medewerkers van {domain} denken dat jij misschien de volgende volgverzoeken handmatig wil controleren.",
|
||||||
"follow_suggestions.curated_suggestion": "Speciaal geselecteerd",
|
"follow_suggestions.curated_suggestion": "Speciaal geselecteerd",
|
||||||
"follow_suggestions.dismiss": "Niet meer weergeven",
|
"follow_suggestions.dismiss": "Niet meer weergeven",
|
||||||
"follow_suggestions.hints.featured": "Deze gebruiker is geselecteerd door het team van {domain}.",
|
"follow_suggestions.featured_longer": "Handmatig geselecteerd door het team van {domain}",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Populair onder mensen die je volgt",
|
||||||
|
"follow_suggestions.hints.featured": "Deze gebruiker is handmatig geselecteerd door het team van {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Deze gebruiker is populair onder de mensen die jij volgt.",
|
"follow_suggestions.hints.friends_of_friends": "Deze gebruiker is populair onder de mensen die jij volgt.",
|
||||||
"follow_suggestions.hints.most_followed": "Deze gebruiker is een van de meest gevolgde gebruikers op {domain}.",
|
"follow_suggestions.hints.most_followed": "Deze gebruiker is een van de meest gevolgde gebruikers op {domain}.",
|
||||||
"follow_suggestions.hints.most_interactions": "Deze gebruiker is de laatste tijd erg populair op {domain}.",
|
"follow_suggestions.hints.most_interactions": "Deze gebruiker is de laatste tijd erg populair op {domain}.",
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Deze gebruiker is vergelijkbaar met gebruikers die je recentelijk hebt gevolgd.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Deze gebruiker is vergelijkbaar met gebruikers die je recentelijk hebt gevolgd.",
|
||||||
"follow_suggestions.personalized_suggestion": "Gepersonaliseerde aanbeveling",
|
"follow_suggestions.personalized_suggestion": "Gepersonaliseerde aanbeveling",
|
||||||
"follow_suggestions.popular_suggestion": "Populaire aanbeveling",
|
"follow_suggestions.popular_suggestion": "Populaire aanbeveling",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Populair op {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Vergelijkbaar met accounts die je recentelijk bent gaan volgen",
|
||||||
"follow_suggestions.view_all": "Alles weergeven",
|
"follow_suggestions.view_all": "Alles weergeven",
|
||||||
"follow_suggestions.who_to_follow": "Wie te volgen",
|
"follow_suggestions.who_to_follow": "Wie te volgen",
|
||||||
"followed_tags": "Gevolgde hashtags",
|
"followed_tags": "Gevolgde hashtags",
|
||||||
|
@ -469,6 +473,15 @@
|
||||||
"notification.follow": "{name} volgt jou nu",
|
"notification.follow": "{name} volgt jou nu",
|
||||||
"notification.follow_request": "{name} wil jou graag volgen",
|
"notification.follow_request": "{name} wil jou graag volgen",
|
||||||
"notification.mention": "{name} vermeldde jou",
|
"notification.mention": "{name} vermeldde jou",
|
||||||
|
"notification.moderation-warning.learn_more": "Meer informatie",
|
||||||
|
"notification.moderation_warning": "Je hebt een moderatie-waarschuwing ontvangen",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Sommige van je berichten zijn verwijderd.",
|
||||||
|
"notification.moderation_warning.action_disable": "Je account is uitgeschakeld.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Sommige van je berichten zijn gemarkeerd als gevoelig.",
|
||||||
|
"notification.moderation_warning.action_none": "Jouw account heeft een moderatie-waarschuwing ontvangen.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "Je berichten worden vanaf nu als gevoelig gemarkeerd.",
|
||||||
|
"notification.moderation_warning.action_silence": "Jouw account is beperkt.",
|
||||||
|
"notification.moderation_warning.action_suspend": "Jouw account is opgeschort.",
|
||||||
"notification.own_poll": "Jouw peiling is beëindigd",
|
"notification.own_poll": "Jouw peiling is beëindigd",
|
||||||
"notification.poll": "Een peiling waaraan jij hebt meegedaan is beëindigd",
|
"notification.poll": "Een peiling waaraan jij hebt meegedaan is beëindigd",
|
||||||
"notification.reblog": "{name} boostte jouw bericht",
|
"notification.reblog": "{name} boostte jouw bericht",
|
||||||
|
|
|
@ -468,6 +468,15 @@
|
||||||
"notification.follow": "{name} fylgde deg",
|
"notification.follow": "{name} fylgde deg",
|
||||||
"notification.follow_request": "{name} har bedt om å fylgja deg",
|
"notification.follow_request": "{name} har bedt om å fylgja deg",
|
||||||
"notification.mention": "{name} nemnde deg",
|
"notification.mention": "{name} nemnde deg",
|
||||||
|
"notification.moderation-warning.learn_more": "Lær meir",
|
||||||
|
"notification.moderation_warning": "Du har mottatt ei moderasjonsåtvaring",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Nokre av innlegga dine har blitt fjerna.",
|
||||||
|
"notification.moderation_warning.action_disable": "Kontoen din har blitt deaktivert.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Nokre av innlegga dine har blitt markert som sensitive.",
|
||||||
|
"notification.moderation_warning.action_none": "Kontoen din har mottatt ei moderasjonsåtvaring.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "Innlegga dine vil bli markerte som sensitive frå no av.",
|
||||||
|
"notification.moderation_warning.action_silence": "Kontoen din har blitt avgrensa.",
|
||||||
|
"notification.moderation_warning.action_suspend": "Kontoen din har blitt suspendert.",
|
||||||
"notification.own_poll": "Rundspørjinga di er ferdig",
|
"notification.own_poll": "Rundspørjinga di er ferdig",
|
||||||
"notification.poll": "Ei rundspørjing du har røysta i er ferdig",
|
"notification.poll": "Ei rundspørjing du har røysta i er ferdig",
|
||||||
"notification.reblog": "{name} framheva innlegget ditt",
|
"notification.reblog": "{name} framheva innlegget ditt",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Mimo że Twoje konto nie jest zablokowane, zespół {domain} uznał że możesz chcieć ręcznie przejrzeć prośby o możliwość obserwacji.",
|
"follow_requests.unlocked_explanation": "Mimo że Twoje konto nie jest zablokowane, zespół {domain} uznał że możesz chcieć ręcznie przejrzeć prośby o możliwość obserwacji.",
|
||||||
"follow_suggestions.curated_suggestion": "Wybrane przez personel",
|
"follow_suggestions.curated_suggestion": "Wybrane przez personel",
|
||||||
"follow_suggestions.dismiss": "Nie pokazuj ponownie",
|
"follow_suggestions.dismiss": "Nie pokazuj ponownie",
|
||||||
|
"follow_suggestions.featured_longer": "Wybrane przez zespół {domain}",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Popularni wśród ludzi których obserwujesz",
|
||||||
"follow_suggestions.hints.featured": "Ten profil został wybrany przez zespół {domain}.",
|
"follow_suggestions.hints.featured": "Ten profil został wybrany przez zespół {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Ten profil jest popularny w gronie użytkowników, których obserwujesz.",
|
"follow_suggestions.hints.friends_of_friends": "Ten profil jest popularny w gronie użytkowników, których obserwujesz.",
|
||||||
"follow_suggestions.hints.most_followed": "Ten profil jest jednym z najczęściej obserwowanych na {domain}.",
|
"follow_suggestions.hints.most_followed": "Ten profil jest jednym z najczęściej obserwowanych na {domain}.",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Ten profil jest podobny do profili ostatnio przez ciebie zaobserwowanych.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Ten profil jest podobny do profili ostatnio przez ciebie zaobserwowanych.",
|
||||||
"follow_suggestions.personalized_suggestion": "Sugestia spersonalizowana",
|
"follow_suggestions.personalized_suggestion": "Sugestia spersonalizowana",
|
||||||
"follow_suggestions.popular_suggestion": "Sugestia popularna",
|
"follow_suggestions.popular_suggestion": "Sugestia popularna",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Popularni na {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Podobne do ostatnio zaobserwowanych przez ciebie profilów",
|
||||||
"follow_suggestions.view_all": "Pokaż wszystkie",
|
"follow_suggestions.view_all": "Pokaż wszystkie",
|
||||||
"follow_suggestions.who_to_follow": "Kogo obserwować",
|
"follow_suggestions.who_to_follow": "Kogo obserwować",
|
||||||
"followed_tags": "Obserwowane hasztagi",
|
"followed_tags": "Obserwowane hasztagi",
|
||||||
|
@ -469,6 +473,15 @@
|
||||||
"notification.follow": "{name} obserwuje Cię",
|
"notification.follow": "{name} obserwuje Cię",
|
||||||
"notification.follow_request": "{name} chce cię zaobserwować",
|
"notification.follow_request": "{name} chce cię zaobserwować",
|
||||||
"notification.mention": "Wspomniało o Tobie przez {name}",
|
"notification.mention": "Wspomniało o Tobie przez {name}",
|
||||||
|
"notification.moderation-warning.learn_more": "Dowiedz się więcej",
|
||||||
|
"notification.moderation_warning": "Otrzymałeś/-łaś ostrzeżenie moderacyjne",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Niektóre twoje wpisy zostały usunięte.",
|
||||||
|
"notification.moderation_warning.action_disable": "Twoje konto zostało wyłączone.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Niektóre twoje wpisy zostały oznaczone jako wrażliwe.",
|
||||||
|
"notification.moderation_warning.action_none": "Twoje konto otrzymało ostrzeżenie moderacyjne.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "Twoje wpisy będą od teraz oznaczane jako wrażliwe.",
|
||||||
|
"notification.moderation_warning.action_silence": "Twoje konto zostało ograniczone.",
|
||||||
|
"notification.moderation_warning.action_suspend": "Twoje konto zostało zawieszone.",
|
||||||
"notification.own_poll": "Twoje głosowanie zakończyło się",
|
"notification.own_poll": "Twoje głosowanie zakończyło się",
|
||||||
"notification.poll": "Głosowanie w którym brałeś(-aś) udział zakończyło się",
|
"notification.poll": "Głosowanie w którym brałeś(-aś) udział zakończyło się",
|
||||||
"notification.reblog": "Twój post został podbity przez {name}",
|
"notification.reblog": "Twój post został podbity przez {name}",
|
||||||
|
|
|
@ -297,6 +297,7 @@
|
||||||
"filter_modal.select_filter.subtitle": "Use uma categoria existente ou crie uma nova",
|
"filter_modal.select_filter.subtitle": "Use uma categoria existente ou crie uma nova",
|
||||||
"filter_modal.select_filter.title": "Filtrar esta publicação",
|
"filter_modal.select_filter.title": "Filtrar esta publicação",
|
||||||
"filter_modal.title.status": "Filtrar uma publicação",
|
"filter_modal.title.status": "Filtrar uma publicação",
|
||||||
|
"filtered_notifications_banner.mentions": "{count, plural, one {menção} other {menções}}",
|
||||||
"filtered_notifications_banner.pending_requests": "Notificações de {count, plural, =0 {no one} one {one person} other {# people}} que você talvez conheça",
|
"filtered_notifications_banner.pending_requests": "Notificações de {count, plural, =0 {no one} one {one person} other {# people}} que você talvez conheça",
|
||||||
"filtered_notifications_banner.title": "Notificações filtradas",
|
"filtered_notifications_banner.title": "Notificações filtradas",
|
||||||
"firehose.all": "Tudo",
|
"firehose.all": "Tudo",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Apesar de a sua não ser privada, a administração de {domain} pensa que poderá querer rever manualmente os pedidos de seguimento dessas contas.",
|
"follow_requests.unlocked_explanation": "Apesar de a sua não ser privada, a administração de {domain} pensa que poderá querer rever manualmente os pedidos de seguimento dessas contas.",
|
||||||
"follow_suggestions.curated_suggestion": "Escolha da equipe",
|
"follow_suggestions.curated_suggestion": "Escolha da equipe",
|
||||||
"follow_suggestions.dismiss": "Não mostrar novamente",
|
"follow_suggestions.dismiss": "Não mostrar novamente",
|
||||||
|
"follow_suggestions.featured_longer": "Escolhido a dedo pela equipa de {domain}",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Popular entre as pessoas que segue",
|
||||||
"follow_suggestions.hints.featured": "Este perfil foi escolhido a dedo pela equipe {domain}.",
|
"follow_suggestions.hints.featured": "Este perfil foi escolhido a dedo pela equipe {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Este perfil é popular entre as pessoas que você segue.",
|
"follow_suggestions.hints.friends_of_friends": "Este perfil é popular entre as pessoas que você segue.",
|
||||||
"follow_suggestions.hints.most_followed": "Este perfil é um dos mais seguidos no {domain}.",
|
"follow_suggestions.hints.most_followed": "Este perfil é um dos mais seguidos no {domain}.",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Este perfil é semelhante aos perfis que você seguiu mais recentemente.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Este perfil é semelhante aos perfis que você seguiu mais recentemente.",
|
||||||
"follow_suggestions.personalized_suggestion": "Sugestão personalizada",
|
"follow_suggestions.personalized_suggestion": "Sugestão personalizada",
|
||||||
"follow_suggestions.popular_suggestion": "Sugestão popular",
|
"follow_suggestions.popular_suggestion": "Sugestão popular",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Popular em {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Semelhantes aos perfis que seguiu recentemente",
|
||||||
"follow_suggestions.view_all": "Ver tudo",
|
"follow_suggestions.view_all": "Ver tudo",
|
||||||
"follow_suggestions.who_to_follow": "Quem seguir",
|
"follow_suggestions.who_to_follow": "Quem seguir",
|
||||||
"followed_tags": "Hashtags seguidas",
|
"followed_tags": "Hashtags seguidas",
|
||||||
|
@ -469,6 +473,15 @@
|
||||||
"notification.follow": "{name} começou a seguir-te",
|
"notification.follow": "{name} começou a seguir-te",
|
||||||
"notification.follow_request": "{name} pediu para segui-lo",
|
"notification.follow_request": "{name} pediu para segui-lo",
|
||||||
"notification.mention": "{name} mencionou-te",
|
"notification.mention": "{name} mencionou-te",
|
||||||
|
"notification.moderation-warning.learn_more": "Saber mais",
|
||||||
|
"notification.moderation_warning": "Recebeu um aviso de moderação",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Algumas das suas publicações foram removidas.",
|
||||||
|
"notification.moderation_warning.action_disable": "A sua conta foi desativada.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Algumas das suas publicações foram assinaladas como sensíveis.",
|
||||||
|
"notification.moderation_warning.action_none": "A sua conta recebeu um aviso de moderação.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "As suas publicações serão, a partir de agora, assinaladas como sensíveis.",
|
||||||
|
"notification.moderation_warning.action_silence": "A sua conta foi limitada.",
|
||||||
|
"notification.moderation_warning.action_suspend": "A sua conta foi suspensa.",
|
||||||
"notification.own_poll": "A sua votação terminou",
|
"notification.own_poll": "A sua votação terminou",
|
||||||
"notification.poll": "Uma votação em que participaste chegou ao fim",
|
"notification.poll": "Uma votação em que participaste chegou ao fim",
|
||||||
"notification.reblog": "{name} reforçou a tua publicação",
|
"notification.reblog": "{name} reforçou a tua publicação",
|
||||||
|
|
|
@ -468,6 +468,11 @@
|
||||||
"notification.follow": "{name} följer dig",
|
"notification.follow": "{name} följer dig",
|
||||||
"notification.follow_request": "{name} har begärt att följa dig",
|
"notification.follow_request": "{name} har begärt att följa dig",
|
||||||
"notification.mention": "{name} nämnde dig",
|
"notification.mention": "{name} nämnde dig",
|
||||||
|
"notification.moderation-warning.learn_more": "Läs mer",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Några av dina inlägg har tagits bort.",
|
||||||
|
"notification.moderation_warning.action_disable": "Ditt konto har inaktiverats.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Några av dina inlägg har markerats som känsliga.",
|
||||||
|
"notification.moderation_warning.action_silence": "Ditt konto har begränsats.",
|
||||||
"notification.own_poll": "Din röstning har avslutats",
|
"notification.own_poll": "Din röstning har avslutats",
|
||||||
"notification.poll": "En omröstning du röstat i har avslutats",
|
"notification.poll": "En omröstning du röstat i har avslutats",
|
||||||
"notification.reblog": "{name} boostade ditt inlägg",
|
"notification.reblog": "{name} boostade ditt inlägg",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "尽管你没有锁嘟,但是 {domain} 的工作人员认为你也许会想手动审核审核这些账号的关注请求。",
|
"follow_requests.unlocked_explanation": "尽管你没有锁嘟,但是 {domain} 的工作人员认为你也许会想手动审核审核这些账号的关注请求。",
|
||||||
"follow_suggestions.curated_suggestion": "站务人员精选",
|
"follow_suggestions.curated_suggestion": "站务人员精选",
|
||||||
"follow_suggestions.dismiss": "不再显示",
|
"follow_suggestions.dismiss": "不再显示",
|
||||||
|
"follow_suggestions.featured_longer": "由 {domain} 管理团队精选",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "在你关注的人中很受欢迎",
|
||||||
"follow_suggestions.hints.featured": "该用户已被 {domain} 管理团队精选。",
|
"follow_suggestions.hints.featured": "该用户已被 {domain} 管理团队精选。",
|
||||||
"follow_suggestions.hints.friends_of_friends": "该用户在您关注的人中很受欢迎。",
|
"follow_suggestions.hints.friends_of_friends": "该用户在您关注的人中很受欢迎。",
|
||||||
"follow_suggestions.hints.most_followed": "该用户是 {domain} 上关注度最高的用户之一。",
|
"follow_suggestions.hints.most_followed": "该用户是 {domain} 上关注度最高的用户之一。",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "该用户与您最近关注的用户类似。",
|
"follow_suggestions.hints.similar_to_recently_followed": "该用户与您最近关注的用户类似。",
|
||||||
"follow_suggestions.personalized_suggestion": "个性化建议",
|
"follow_suggestions.personalized_suggestion": "个性化建议",
|
||||||
"follow_suggestions.popular_suggestion": "热门建议",
|
"follow_suggestions.popular_suggestion": "热门建议",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "在 {domain} 上很受欢迎",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "与你近期关注的用户相似",
|
||||||
"follow_suggestions.view_all": "查看全部",
|
"follow_suggestions.view_all": "查看全部",
|
||||||
"follow_suggestions.who_to_follow": "推荐关注",
|
"follow_suggestions.who_to_follow": "推荐关注",
|
||||||
"followed_tags": "关注的话题标签",
|
"followed_tags": "关注的话题标签",
|
||||||
|
@ -469,6 +473,15 @@
|
||||||
"notification.follow": "{name} 开始关注你",
|
"notification.follow": "{name} 开始关注你",
|
||||||
"notification.follow_request": "{name} 向你发送了关注请求",
|
"notification.follow_request": "{name} 向你发送了关注请求",
|
||||||
"notification.mention": "{name} 提及了你",
|
"notification.mention": "{name} 提及了你",
|
||||||
|
"notification.moderation-warning.learn_more": "了解更多",
|
||||||
|
"notification.moderation_warning": "你收到了一条管理警告",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "你的一些嘟文已被移除。",
|
||||||
|
"notification.moderation_warning.action_disable": "你的账号已被禁用。",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "你的一些嘟文已被标记为敏感内容。",
|
||||||
|
"notification.moderation_warning.action_none": "你的账号收到了管理警告。",
|
||||||
|
"notification.moderation_warning.action_sensitive": "今后你的嘟文都会被标记为敏感内容。",
|
||||||
|
"notification.moderation_warning.action_silence": "你的账号已被限制。",
|
||||||
|
"notification.moderation_warning.action_suspend": "你的账号已被封禁.",
|
||||||
"notification.own_poll": "你的投票已经结束",
|
"notification.own_poll": "你的投票已经结束",
|
||||||
"notification.poll": "你参与的一个投票已经结束",
|
"notification.poll": "你参与的一个投票已经结束",
|
||||||
"notification.reblog": "{name} 转发了你的嘟文",
|
"notification.reblog": "{name} 转发了你的嘟文",
|
||||||
|
|
|
@ -297,6 +297,7 @@
|
||||||
"filter_modal.select_filter.subtitle": "使用既有類別,或創建一個新類別",
|
"filter_modal.select_filter.subtitle": "使用既有類別,或創建一個新類別",
|
||||||
"filter_modal.select_filter.title": "過濾此帖文",
|
"filter_modal.select_filter.title": "過濾此帖文",
|
||||||
"filter_modal.title.status": "過濾一則帖文",
|
"filter_modal.title.status": "過濾一則帖文",
|
||||||
|
"filtered_notifications_banner.mentions": "{count, plural, one {則提及} other {則提及}}",
|
||||||
"filtered_notifications_banner.pending_requests": "來自 {count, plural, =0 {0 位} other {# 位}}你可能認識的人的通知",
|
"filtered_notifications_banner.pending_requests": "來自 {count, plural, =0 {0 位} other {# 位}}你可能認識的人的通知",
|
||||||
"filtered_notifications_banner.title": "已過濾之通知",
|
"filtered_notifications_banner.title": "已過濾之通知",
|
||||||
"firehose.all": "全部",
|
"firehose.all": "全部",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "即便您的帳號未被鎖定,{domain} 的管理員認為您可能想要自己審核這些帳號的跟隨請求。",
|
"follow_requests.unlocked_explanation": "即便您的帳號未被鎖定,{domain} 的管理員認為您可能想要自己審核這些帳號的跟隨請求。",
|
||||||
"follow_suggestions.curated_suggestion": "精選內容",
|
"follow_suggestions.curated_suggestion": "精選內容",
|
||||||
"follow_suggestions.dismiss": "不再顯示",
|
"follow_suggestions.dismiss": "不再顯示",
|
||||||
|
"follow_suggestions.featured_longer": "{domain} 團隊精選",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "受您跟隨之使用者愛戴的風雲人物",
|
||||||
"follow_suggestions.hints.featured": "這個個人檔案是 {domain} 管理團隊精心挑選。",
|
"follow_suggestions.hints.featured": "這個個人檔案是 {domain} 管理團隊精心挑選。",
|
||||||
"follow_suggestions.hints.friends_of_friends": "這個個人檔案於您跟隨的帳號中很受歡迎。",
|
"follow_suggestions.hints.friends_of_friends": "這個個人檔案於您跟隨的帳號中很受歡迎。",
|
||||||
"follow_suggestions.hints.most_followed": "這個個人檔案是 {domain} 中最受歡迎的帳號之一。",
|
"follow_suggestions.hints.most_followed": "這個個人檔案是 {domain} 中最受歡迎的帳號之一。",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "這個個人檔案與您最近跟隨之帳號類似。",
|
"follow_suggestions.hints.similar_to_recently_followed": "這個個人檔案與您最近跟隨之帳號類似。",
|
||||||
"follow_suggestions.personalized_suggestion": "個人化推薦",
|
"follow_suggestions.personalized_suggestion": "個人化推薦",
|
||||||
"follow_suggestions.popular_suggestion": "熱門推薦",
|
"follow_suggestions.popular_suggestion": "熱門推薦",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "{domain} 上的人氣王",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "與您近日跟隨相近之帳號",
|
||||||
"follow_suggestions.view_all": "檢視全部",
|
"follow_suggestions.view_all": "檢視全部",
|
||||||
"follow_suggestions.who_to_follow": "推薦跟隨帳號",
|
"follow_suggestions.who_to_follow": "推薦跟隨帳號",
|
||||||
"followed_tags": "已跟隨主題標籤",
|
"followed_tags": "已跟隨主題標籤",
|
||||||
|
@ -469,6 +473,15 @@
|
||||||
"notification.follow": "{name} 已跟隨您",
|
"notification.follow": "{name} 已跟隨您",
|
||||||
"notification.follow_request": "{name} 要求跟隨您",
|
"notification.follow_request": "{name} 要求跟隨您",
|
||||||
"notification.mention": "{name} 已提到您",
|
"notification.mention": "{name} 已提到您",
|
||||||
|
"notification.moderation-warning.learn_more": "了解更多",
|
||||||
|
"notification.moderation_warning": "您已收到管理員警告",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "某些您的嘟文已被刪除。",
|
||||||
|
"notification.moderation_warning.action_disable": "您的帳號已被停用。",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "某些您的嘟文已被標記為敏感內容。",
|
||||||
|
"notification.moderation_warning.action_none": "您的帳號已收到管理員警告。",
|
||||||
|
"notification.moderation_warning.action_sensitive": "即日起,您的嘟文將會被標記為敏感內容。",
|
||||||
|
"notification.moderation_warning.action_silence": "您的帳號已被限制。",
|
||||||
|
"notification.moderation_warning.action_suspend": "您的帳號已被停權。",
|
||||||
"notification.own_poll": "您的投票已結束",
|
"notification.own_poll": "您的投票已結束",
|
||||||
"notification.poll": "您曾投過的投票已經結束",
|
"notification.poll": "您曾投過的投票已經結束",
|
||||||
"notification.reblog": "{name} 已轉嘟您的嘟文",
|
"notification.reblog": "{name} 已轉嘟您的嘟文",
|
||||||
|
|
|
@ -55,11 +55,10 @@ export const notificationToMap = notification => ImmutableMap({
|
||||||
created_at: notification.created_at,
|
created_at: notification.created_at,
|
||||||
emoji_reaction: ImmutableMap(notification.emoji_reaction),
|
emoji_reaction: ImmutableMap(notification.emoji_reaction),
|
||||||
status: notification.status ? notification.status.id : null,
|
status: notification.status ? notification.status.id : null,
|
||||||
statuses: notification.statuses ? notification.statuses.map((status) => status.id) : null,
|
|
||||||
list: notification.list ? ImmutableMap(notification.list) : null,
|
list: notification.list ? ImmutableMap(notification.list) : null,
|
||||||
report: notification.report ? fromJS(notification.report) : null,
|
report: notification.report ? fromJS(notification.report) : null,
|
||||||
account_warning: notification.account_warning ? ImmutableMap(notification.account_warning) : null,
|
|
||||||
event: notification.event ? fromJS(notification.event) : null,
|
event: notification.event ? fromJS(notification.event) : null,
|
||||||
|
moderation_warning: notification.moderation_warning ? fromJS(notification.moderation_warning) : null,
|
||||||
});
|
});
|
||||||
|
|
||||||
const normalizeNotification = (state, notification, usePendingItems) => {
|
const normalizeNotification = (state, notification, usePendingItems) => {
|
||||||
|
|
1
app/javascript/material-icons/400-24px/gavel-fill.svg
Normal file
1
app/javascript/material-icons/400-24px/gavel-fill.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M160-120v-80h480v80H160Zm226-194L160-540l84-86 228 226-86 86Zm254-254L414-796l86-84 226 226-86 86Zm184 408L302-682l56-56 522 522-56 56Z"/></svg>
|
After Width: | Height: | Size: 241 B |
1
app/javascript/material-icons/400-24px/gavel.svg
Normal file
1
app/javascript/material-icons/400-24px/gavel.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M160-120v-80h480v80H160Zm226-194L160-540l84-86 228 226-86 86Zm254-254L414-796l86-84 226 226-86 86Zm184 408L302-682l56-56 522 522-56 56Z"/></svg>
|
After Width: | Height: | Size: 241 B |
|
@ -2085,10 +2085,21 @@ a .account__avatar {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 4px;
|
gap: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
.fa-times {
|
.account__relationship,
|
||||||
color: $ui-secondary-color;
|
.explore__suggestions__card {
|
||||||
|
.icon-button {
|
||||||
|
border: 1px solid var(--background-border-color);
|
||||||
|
border-radius: 4px;
|
||||||
|
box-sizing: content-box;
|
||||||
|
padding: 5px;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2244,7 +2255,8 @@ a.account__display-name {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification__relationships-severance-event {
|
.notification__relationships-severance-event,
|
||||||
|
.notification__moderation-warning {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 16px;
|
gap: 16px;
|
||||||
color: $secondary-text-color;
|
color: $secondary-text-color;
|
||||||
|
@ -3050,6 +3062,75 @@ $ui-header-logo-wordmark-width: 99px;
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.explore__suggestions__card {
|
||||||
|
padding: 12px 16px;
|
||||||
|
gap: 8px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
border-bottom: 1px solid var(--background-border-color);
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__source {
|
||||||
|
padding-inline-start: 60px;
|
||||||
|
font-size: 13px;
|
||||||
|
line-height: 16px;
|
||||||
|
color: $dark-text-color;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__body {
|
||||||
|
display: flex;
|
||||||
|
gap: 12px;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
&__main {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 8px;
|
||||||
|
min-width: 0;
|
||||||
|
|
||||||
|
&__name-button {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
|
||||||
|
&__name {
|
||||||
|
display: block;
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
flex: 1 1 auto;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
min-width: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.display-name {
|
||||||
|
font-size: 15px;
|
||||||
|
line-height: 20px;
|
||||||
|
color: $secondary-text-color;
|
||||||
|
|
||||||
|
strong {
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__account {
|
||||||
|
color: $darker-text-color;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media screen and (max-width: $no-gap-breakpoint - 1px) {
|
@media screen and (max-width: $no-gap-breakpoint - 1px) {
|
||||||
.columns-area__panels__pane--compositional {
|
.columns-area__panels__pane--compositional {
|
||||||
display: none;
|
display: none;
|
||||||
|
@ -7587,10 +7668,11 @@ a.status-card {
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: -1px;
|
bottom: -1px;
|
||||||
left: 0;
|
left: 50%;
|
||||||
width: 100%;
|
transform: translateX(-50%);
|
||||||
|
width: 40px;
|
||||||
height: 3px;
|
height: 3px;
|
||||||
border-radius: 4px;
|
border-radius: 4px 4px 0 0;
|
||||||
background: $highlight-text-color;
|
background: $highlight-text-color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,7 +156,7 @@ class LinkDetailsExtractor
|
||||||
end
|
end
|
||||||
|
|
||||||
def title
|
def title
|
||||||
html_entities.decode(structured_data&.headline || opengraph_tag('og:title') || document.xpath('//title').map(&:content).first)
|
html_entities.decode(structured_data&.headline || opengraph_tag('og:title') || document.xpath('//title').map(&:content).first).strip
|
||||||
end
|
end
|
||||||
|
|
||||||
def description
|
def description
|
||||||
|
|
|
@ -13,10 +13,12 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
class AccountModerationNote < ApplicationRecord
|
class AccountModerationNote < ApplicationRecord
|
||||||
|
CONTENT_SIZE_LIMIT = 500
|
||||||
|
|
||||||
belongs_to :account
|
belongs_to :account
|
||||||
belongs_to :target_account, class_name: 'Account'
|
belongs_to :target_account, class_name: 'Account'
|
||||||
|
|
||||||
scope :latest, -> { reorder('created_at DESC') }
|
scope :latest, -> { reorder('created_at DESC') }
|
||||||
|
|
||||||
validates :content, presence: true, length: { maximum: 500 }
|
validates :content, presence: true, length: { maximum: CONTENT_SIZE_LIMIT }
|
||||||
end
|
end
|
||||||
|
|
|
@ -14,9 +14,11 @@
|
||||||
class AccountNote < ApplicationRecord
|
class AccountNote < ApplicationRecord
|
||||||
include RelationshipCacheable
|
include RelationshipCacheable
|
||||||
|
|
||||||
|
COMMENT_SIZE_LIMIT = 2_000
|
||||||
|
|
||||||
belongs_to :account
|
belongs_to :account
|
||||||
belongs_to :target_account, class_name: 'Account'
|
belongs_to :target_account, class_name: 'Account'
|
||||||
|
|
||||||
validates :account_id, uniqueness: { scope: :target_account_id }
|
validates :account_id, uniqueness: { scope: :target_account_id }
|
||||||
validates :comment, length: { maximum: 2_000 }
|
validates :comment, length: { maximum: COMMENT_SIZE_LIMIT }
|
||||||
end
|
end
|
||||||
|
|
|
@ -52,9 +52,8 @@ class Admin::AccountAction
|
||||||
process_reports!
|
process_reports!
|
||||||
end
|
end
|
||||||
|
|
||||||
process_email!
|
process_notification!
|
||||||
process_queue!
|
process_queue!
|
||||||
notify!
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def report
|
def report
|
||||||
|
@ -108,10 +107,6 @@ class Admin::AccountAction
|
||||||
log_action(:create, @warning) if @warning.text.present? && type == 'none'
|
log_action(:create, @warning) if @warning.text.present? && type == 'none'
|
||||||
end
|
end
|
||||||
|
|
||||||
def notify!
|
|
||||||
LocalNotificationWorker.perform_async(target_account.id, @warning.id, 'AccountWarning', 'warning') if @warning && %w(none sensitive silence).include?(type)
|
|
||||||
end
|
|
||||||
|
|
||||||
def process_reports!
|
def process_reports!
|
||||||
# If we're doing "mark as resolved" on a single report,
|
# If we're doing "mark as resolved" on a single report,
|
||||||
# then we want to keep other reports open in case they
|
# then we want to keep other reports open in case they
|
||||||
|
@ -163,8 +158,11 @@ class Admin::AccountAction
|
||||||
queue_suspension_worker! if type == 'suspend'
|
queue_suspension_worker! if type == 'suspend'
|
||||||
end
|
end
|
||||||
|
|
||||||
def process_email!
|
def process_notification!
|
||||||
UserMailer.warning(target_account.user, warning).deliver_later! if warnable?
|
return unless warnable?
|
||||||
|
|
||||||
|
UserMailer.warning(target_account.user, warning).deliver_later!
|
||||||
|
LocalNotificationWorker.perform_async(target_account.id, warning.id, 'AccountWarning', 'moderation_warning')
|
||||||
end
|
end
|
||||||
|
|
||||||
def warnable?
|
def warnable?
|
||||||
|
|
|
@ -17,7 +17,6 @@ class Admin::StatusBatchAction
|
||||||
|
|
||||||
def save!
|
def save!
|
||||||
process_action!
|
process_action!
|
||||||
notify!
|
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
@ -68,7 +67,8 @@ class Admin::StatusBatchAction
|
||||||
statuses.each { |status| Tombstone.find_or_create_by(uri: status.uri, account: status.account, by_moderator: true) } unless target_account.local?
|
statuses.each { |status| Tombstone.find_or_create_by(uri: status.uri, account: status.account, by_moderator: true) } unless target_account.local?
|
||||||
end
|
end
|
||||||
|
|
||||||
UserMailer.warning(target_account.user, @warning).deliver_later! if warnable?
|
process_notification!
|
||||||
|
|
||||||
RemovalWorker.push_bulk(status_ids) { |status_id| [status_id, { 'preserve' => target_account.local?, 'immediate' => !target_account.local? }] }
|
RemovalWorker.push_bulk(status_ids) { |status_id| [status_id, { 'preserve' => target_account.local?, 'immediate' => !target_account.local? }] }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ class Admin::StatusBatchAction
|
||||||
text: text
|
text: text
|
||||||
)
|
)
|
||||||
|
|
||||||
UserMailer.warning(target_account.user, @warning).deliver_later! if warnable?
|
process_notification!
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_force_cw!
|
def handle_force_cw!
|
||||||
|
@ -140,7 +140,7 @@ class Admin::StatusBatchAction
|
||||||
text: text
|
text: text
|
||||||
)
|
)
|
||||||
|
|
||||||
UserMailer.warning(target_account.user, @warning).deliver_later! if warnable?
|
process_notification!
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_report!
|
def handle_report!
|
||||||
|
@ -158,10 +158,6 @@ class Admin::StatusBatchAction
|
||||||
report.save!
|
report.save!
|
||||||
end
|
end
|
||||||
|
|
||||||
def notify!
|
|
||||||
LocalNotificationWorker.perform_async(target_account.id, @warning.id, 'AccountWarning', 'warning') if warnable? && @warning
|
|
||||||
end
|
|
||||||
|
|
||||||
def report
|
def report
|
||||||
@report ||= Report.find(report_id) if report_id.present?
|
@report ||= Report.find(report_id) if report_id.present?
|
||||||
end
|
end
|
||||||
|
@ -170,6 +166,13 @@ class Admin::StatusBatchAction
|
||||||
!report.nil?
|
!report.nil?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def process_notification!
|
||||||
|
return unless warnable?
|
||||||
|
|
||||||
|
UserMailer.warning(target_account.user, @warning).deliver_later!
|
||||||
|
LocalNotificationWorker.perform_async(target_account.id, @warning.id, 'AccountWarning', 'moderation_warning')
|
||||||
|
end
|
||||||
|
|
||||||
def warnable?
|
def warnable?
|
||||||
send_email_notification && target_account.local?
|
send_email_notification && target_account.local?
|
||||||
end
|
end
|
||||||
|
|
|
@ -19,12 +19,14 @@
|
||||||
class Invite < ApplicationRecord
|
class Invite < ApplicationRecord
|
||||||
include Expireable
|
include Expireable
|
||||||
|
|
||||||
|
COMMENT_SIZE_LIMIT = 420
|
||||||
|
|
||||||
belongs_to :user, inverse_of: :invites
|
belongs_to :user, inverse_of: :invites
|
||||||
has_many :users, inverse_of: :invite, dependent: nil
|
has_many :users, inverse_of: :invite, dependent: nil
|
||||||
|
|
||||||
scope :available, -> { where(expires_at: nil).or(where('expires_at >= ?', Time.now.utc)) }
|
scope :available, -> { where(expires_at: nil).or(where('expires_at >= ?', Time.now.utc)) }
|
||||||
|
|
||||||
validates :comment, length: { maximum: 420 }
|
validates :comment, length: { maximum: COMMENT_SIZE_LIMIT }
|
||||||
|
|
||||||
before_validation :set_code
|
before_validation :set_code
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ class Notification < ApplicationRecord
|
||||||
'EmojiReaction' => :emoji_reaction,
|
'EmojiReaction' => :emoji_reaction,
|
||||||
'StatusReference' => :status_reference,
|
'StatusReference' => :status_reference,
|
||||||
'Poll' => :poll,
|
'Poll' => :poll,
|
||||||
'AccountWarning' => :warning,
|
'AccountWarning' => :moderation_warning,
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
PROPERTIES = {
|
PROPERTIES = {
|
||||||
|
@ -70,10 +70,10 @@ class Notification < ApplicationRecord
|
||||||
update: {
|
update: {
|
||||||
filterable: false,
|
filterable: false,
|
||||||
}.freeze,
|
}.freeze,
|
||||||
warning: {
|
severed_relationships: {
|
||||||
filterable: false,
|
filterable: false,
|
||||||
}.freeze,
|
}.freeze,
|
||||||
severed_relationships: {
|
moderation_warning: {
|
||||||
filterable: false,
|
filterable: false,
|
||||||
}.freeze,
|
}.freeze,
|
||||||
'admin.sign_up': {
|
'admin.sign_up': {
|
||||||
|
@ -208,15 +208,6 @@ class Notification < ApplicationRecord
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def from_account_web
|
|
||||||
case activity_type
|
|
||||||
when 'AccountWarning'
|
|
||||||
account_warning&.target_account
|
|
||||||
else
|
|
||||||
from_account
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
after_initialize :set_from_account
|
after_initialize :set_from_account
|
||||||
before_validation :set_from_account
|
before_validation :set_from_account
|
||||||
|
|
||||||
|
@ -228,13 +219,13 @@ class Notification < ApplicationRecord
|
||||||
return unless new_record?
|
return unless new_record?
|
||||||
|
|
||||||
case activity_type
|
case activity_type
|
||||||
when 'Status', 'Follow', 'Favourite', 'EmojiReaction', 'EmojiReact', 'FollowRequest', 'Poll', 'Report', 'AccountWarning'
|
when 'Status', 'Follow', 'Favourite', 'EmojiReaction', 'EmojiReact', 'FollowRequest', 'Poll', 'Report'
|
||||||
self.from_account_id = activity&.account_id
|
self.from_account_id = activity&.account_id
|
||||||
when 'Mention', 'StatusReference', 'ListStatus'
|
when 'Mention', 'StatusReference', 'ListStatus'
|
||||||
self.from_account_id = activity&.status&.account_id
|
self.from_account_id = activity&.status&.account_id
|
||||||
when 'Account'
|
when 'Account'
|
||||||
self.from_account_id = activity&.id
|
self.from_account_id = activity&.id
|
||||||
when 'AccountRelationshipSeveranceEvent'
|
when 'AccountRelationshipSeveranceEvent', 'AccountWarning'
|
||||||
# These do not really have an originating account, but this is mandatory
|
# These do not really have an originating account, but this is mandatory
|
||||||
# in the data model, and the recipient's account will by definition
|
# in the data model, and the recipient's account will by definition
|
||||||
# always exist
|
# always exist
|
||||||
|
|
|
@ -26,6 +26,8 @@ class Report < ApplicationRecord
|
||||||
include Paginable
|
include Paginable
|
||||||
include RateLimitable
|
include RateLimitable
|
||||||
|
|
||||||
|
COMMENT_SIZE_LIMIT = 1_000
|
||||||
|
|
||||||
rate_limit by: :account, family: :reports
|
rate_limit by: :account, family: :reports
|
||||||
|
|
||||||
belongs_to :account
|
belongs_to :account
|
||||||
|
@ -46,7 +48,7 @@ class Report < ApplicationRecord
|
||||||
# A report is considered local if the reporter is local
|
# A report is considered local if the reporter is local
|
||||||
delegate :local?, to: :account
|
delegate :local?, to: :account
|
||||||
|
|
||||||
validates :comment, length: { maximum: 1_000 }, if: :local?
|
validates :comment, length: { maximum: COMMENT_SIZE_LIMIT }, if: :local?
|
||||||
validates :rule_ids, absence: true, if: -> { (category_changed? || rule_ids_changed?) && !violation? }
|
validates :rule_ids, absence: true, if: -> { (category_changed? || rule_ids_changed?) && !violation? }
|
||||||
|
|
||||||
validate :validate_rule_ids, if: -> { (category_changed? || rule_ids_changed?) && violation? }
|
validate :validate_rule_ids, if: -> { (category_changed? || rule_ids_changed?) && violation? }
|
||||||
|
|
|
@ -13,10 +13,12 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
class ReportNote < ApplicationRecord
|
class ReportNote < ApplicationRecord
|
||||||
|
CONTENT_SIZE_LIMIT = 500
|
||||||
|
|
||||||
belongs_to :account
|
belongs_to :account
|
||||||
belongs_to :report, inverse_of: :notes, touch: true
|
belongs_to :report, inverse_of: :notes, touch: true
|
||||||
|
|
||||||
scope :latest, -> { reorder(created_at: :desc) }
|
scope :latest, -> { reorder(created_at: :desc) }
|
||||||
|
|
||||||
validates :content, presence: true, length: { maximum: 500 }
|
validates :content, presence: true, length: { maximum: CONTENT_SIZE_LIMIT }
|
||||||
end
|
end
|
||||||
|
|
|
@ -15,9 +15,11 @@
|
||||||
class Rule < ApplicationRecord
|
class Rule < ApplicationRecord
|
||||||
include Discard::Model
|
include Discard::Model
|
||||||
|
|
||||||
|
TEXT_SIZE_LIMIT = 300
|
||||||
|
|
||||||
self.discard_column = :deleted_at
|
self.discard_column = :deleted_at
|
||||||
|
|
||||||
validates :text, presence: true, length: { maximum: 300 }
|
validates :text, presence: true, length: { maximum: TEXT_SIZE_LIMIT }
|
||||||
|
|
||||||
scope :ordered, -> { kept.order(priority: :asc, id: :asc) }
|
scope :ordered, -> { kept.order(priority: :asc, id: :asc) }
|
||||||
end
|
end
|
||||||
|
|
|
@ -12,6 +12,8 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
class UserInviteRequest < ApplicationRecord
|
class UserInviteRequest < ApplicationRecord
|
||||||
|
TEXT_SIZE_LIMIT = 420
|
||||||
|
|
||||||
belongs_to :user, inverse_of: :invite_request
|
belongs_to :user, inverse_of: :invite_request
|
||||||
validates :text, presence: true, length: { maximum: 420 }
|
validates :text, presence: true, length: { maximum: TEXT_SIZE_LIMIT }
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class REST::AccountWarningSerializer < ActiveModel::Serializer
|
class REST::AccountWarningSerializer < ActiveModel::Serializer
|
||||||
attributes :id, :action, :text, :status_ids
|
attributes :id, :action, :text, :status_ids, :created_at
|
||||||
|
|
||||||
|
has_one :target_account, serializer: REST::AccountSerializer
|
||||||
|
has_one :appeal, serializer: REST::AppealSerializer
|
||||||
|
|
||||||
|
def id
|
||||||
|
object.id.to_s
|
||||||
|
end
|
||||||
|
|
||||||
|
def status_ids
|
||||||
|
object&.status_ids&.map(&:to_s)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
15
app/serializers/rest/appeal_serializer.rb
Normal file
15
app/serializers/rest/appeal_serializer.rb
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class REST::AppealSerializer < ActiveModel::Serializer
|
||||||
|
attributes :text, :state
|
||||||
|
|
||||||
|
def state
|
||||||
|
if object.approved?
|
||||||
|
'approved'
|
||||||
|
elsif object.rejected?
|
||||||
|
'rejected'
|
||||||
|
else
|
||||||
|
'pending'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -3,15 +3,13 @@
|
||||||
class REST::NotificationSerializer < ActiveModel::Serializer
|
class REST::NotificationSerializer < ActiveModel::Serializer
|
||||||
attributes :id, :type, :created_at
|
attributes :id, :type, :created_at
|
||||||
|
|
||||||
has_many :statuses, serializer: REST::StatusSerializer, if: :warning_type?
|
belongs_to :from_account, key: :account, serializer: REST::AccountSerializer
|
||||||
|
|
||||||
belongs_to :from_account_web, key: :account, serializer: REST::AccountSerializer
|
|
||||||
belongs_to :target_status, key: :status, if: :status_type?, serializer: REST::StatusSerializer
|
belongs_to :target_status, key: :status, if: :status_type?, serializer: REST::StatusSerializer
|
||||||
belongs_to :report, if: :report_type?, serializer: REST::ReportSerializer
|
belongs_to :report, if: :report_type?, serializer: REST::ReportSerializer
|
||||||
belongs_to :emoji_reaction, if: :emoji_reaction_type?, serializer: REST::NotifyEmojiReactionSerializer
|
belongs_to :emoji_reaction, if: :emoji_reaction_type?, serializer: REST::NotifyEmojiReactionSerializer
|
||||||
belongs_to :account_warning, if: :warning_type?, serializer: REST::AccountWarningSerializer
|
|
||||||
belongs_to :list, if: :list_status_type?, serializer: REST::ListSerializer
|
belongs_to :list, if: :list_status_type?, serializer: REST::ListSerializer
|
||||||
belongs_to :account_relationship_severance_event, key: :event, if: :relationship_severance_event?, serializer: REST::AccountRelationshipSeveranceEventSerializer
|
belongs_to :account_relationship_severance_event, key: :event, if: :relationship_severance_event?, serializer: REST::AccountRelationshipSeveranceEventSerializer
|
||||||
|
belongs_to :account_warning, key: :moderation_warning, if: :moderation_warning_event?, serializer: REST::AccountWarningSerializer
|
||||||
|
|
||||||
def id
|
def id
|
||||||
object.id.to_s
|
object.id.to_s
|
||||||
|
@ -25,10 +23,6 @@ class REST::NotificationSerializer < ActiveModel::Serializer
|
||||||
object.type == :'admin.report'
|
object.type == :'admin.report'
|
||||||
end
|
end
|
||||||
|
|
||||||
def warning_type?
|
|
||||||
object.type == :warning
|
|
||||||
end
|
|
||||||
|
|
||||||
def emoji_reaction_type?
|
def emoji_reaction_type?
|
||||||
object.type == :emoji_reaction
|
object.type == :emoji_reaction
|
||||||
end
|
end
|
||||||
|
@ -45,7 +39,7 @@ class REST::NotificationSerializer < ActiveModel::Serializer
|
||||||
object.type == :severed_relationships
|
object.type == :severed_relationships
|
||||||
end
|
end
|
||||||
|
|
||||||
def statuses
|
def moderation_warning_event?
|
||||||
Status.where(id: object.account_warning.status_ids).to_a
|
object.type == :moderation_warning
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -12,7 +12,7 @@ class NotifyService < BaseService
|
||||||
status_reference
|
status_reference
|
||||||
status
|
status
|
||||||
list_status
|
list_status
|
||||||
warning
|
moderation_warning
|
||||||
# TODO: this probably warrants an email notification
|
# TODO: this probably warrants an email notification
|
||||||
severed_relationships
|
severed_relationships
|
||||||
).freeze
|
).freeze
|
||||||
|
@ -26,7 +26,7 @@ class NotifyService < BaseService
|
||||||
|
|
||||||
def dismiss?
|
def dismiss?
|
||||||
blocked = @recipient.unavailable?
|
blocked = @recipient.unavailable?
|
||||||
blocked ||= from_self? && @notification.type != :poll && @notification.type != :severed_relationships
|
blocked ||= from_self? && %i(poll severed_relationships moderation_warning).exclude?(@notification.type)
|
||||||
|
|
||||||
return blocked if message? && from_staff?
|
return blocked if message? && from_staff?
|
||||||
|
|
||||||
|
@ -79,6 +79,7 @@ class NotifyService < BaseService
|
||||||
admin.report
|
admin.report
|
||||||
poll
|
poll
|
||||||
update
|
update
|
||||||
|
account_warning
|
||||||
).freeze
|
).freeze
|
||||||
|
|
||||||
def initialize(notification)
|
def initialize(notification)
|
||||||
|
|
|
@ -316,7 +316,7 @@ class PostStatusService < BaseService
|
||||||
|
|
||||||
def idempotency_duplicate
|
def idempotency_duplicate
|
||||||
if scheduled?
|
if scheduled?
|
||||||
@account.schedule_statuses.find(@idempotency_duplicate)
|
@account.scheduled_statuses.find(@idempotency_duplicate)
|
||||||
else
|
else
|
||||||
@account.statuses.find(@idempotency_duplicate)
|
@account.statuses.find(@idempotency_duplicate)
|
||||||
end
|
end
|
||||||
|
@ -371,7 +371,7 @@ class PostStatusService < BaseService
|
||||||
end
|
end
|
||||||
|
|
||||||
def scheduled_options
|
def scheduled_options
|
||||||
@options.tap do |options_hash|
|
@options.dup.tap do |options_hash|
|
||||||
options_hash[:in_reply_to_id] = options_hash.delete(:thread)&.id
|
options_hash[:in_reply_to_id] = options_hash.delete(:thread)&.id
|
||||||
options_hash[:application_id] = options_hash.delete(:application)&.id
|
options_hash[:application_id] = options_hash.delete(:application)&.id
|
||||||
options_hash[:scheduled_at] = nil
|
options_hash[:scheduled_at] = nil
|
||||||
|
|
|
@ -14,15 +14,19 @@
|
||||||
= f.input :media_cache_retention_period,
|
= f.input :media_cache_retention_period,
|
||||||
input_html: { pattern: '[0-9]+' },
|
input_html: { pattern: '[0-9]+' },
|
||||||
wrapper: :with_block_label
|
wrapper: :with_block_label
|
||||||
|
= f.input :backups_retention_period,
|
||||||
|
input_html: { pattern: '[0-9]+' },
|
||||||
|
wrapper: :with_block_label
|
||||||
|
|
||||||
|
%h4= t('admin.settings.content_retention.danger_zone')
|
||||||
|
|
||||||
|
.fields-group
|
||||||
= f.input :content_cache_retention_period,
|
= f.input :content_cache_retention_period,
|
||||||
hint: false,
|
hint: false,
|
||||||
input_html: { pattern: '[0-9]+' },
|
input_html: { pattern: '[0-9]+' },
|
||||||
warning_hint: t('simple_form.hints.form_admin_settings.content_cache_retention_period'),
|
warning_hint: t('simple_form.hints.form_admin_settings.content_cache_retention_period'),
|
||||||
wrapper: :with_block_label
|
wrapper: :with_block_label
|
||||||
= f.input :delete_content_cache_without_reaction, as: :boolean, wrapper: :with_label, kmyblue: true, hint: false
|
= f.input :delete_content_cache_without_reaction, as: :boolean, wrapper: :with_label, kmyblue: true, hint: t('simple_form.hints.form_admin_settings.delete_content_cache_without_reaction')
|
||||||
= f.input :backups_retention_period,
|
|
||||||
input_html: { pattern: '[0-9]+' },
|
|
||||||
wrapper: :with_block_label
|
|
||||||
|
|
||||||
.actions
|
.actions
|
||||||
= f.button :button, t('generic.save_changes'), type: :submit
|
= f.button :button, t('generic.save_changes'), type: :submit
|
||||||
|
|
|
@ -1046,7 +1046,7 @@ de:
|
||||||
apply_for_account: Konto beantragen
|
apply_for_account: Konto beantragen
|
||||||
captcha_confirmation:
|
captcha_confirmation:
|
||||||
help_html: Falls du Probleme beim Lösen des CAPTCHA hast, dann kannst uns über %{email} kontaktieren und wir werden versuchen, dir zu helfen.
|
help_html: Falls du Probleme beim Lösen des CAPTCHA hast, dann kannst uns über %{email} kontaktieren und wir werden versuchen, dir zu helfen.
|
||||||
hint_html: Fast geschafft! Wir müssen uns vergewissern, dass du ein Mensch bist (damit wir Spam verhindern können!). Bitte löse das CAPTCHA und klicke auf „Weiter“.
|
hint_html: Fast geschafft! Wir müssen uns vergewissern, dass du ein Mensch bist (damit wir Spam verhindern können!). Bitte löse das CAPTCHA und klicke auf „Fortfahren“.
|
||||||
title: Sicherheitsüberprüfung
|
title: Sicherheitsüberprüfung
|
||||||
confirmations:
|
confirmations:
|
||||||
awaiting_review: Deine E-Mail-Adresse wurde bestätigt und das Team von %{domain} überprüft nun deine Registrierung. Sobald es dein Konto genehmigt, wirst du eine E-Mail erhalten.
|
awaiting_review: Deine E-Mail-Adresse wurde bestätigt und das Team von %{domain} überprüft nun deine Registrierung. Sobald es dein Konto genehmigt, wirst du eine E-Mail erhalten.
|
||||||
|
@ -1449,7 +1449,7 @@ de:
|
||||||
cooldown: Nach dem Umzug wird es eine Weile dauern, bis du erneut umziehen darfst
|
cooldown: Nach dem Umzug wird es eine Weile dauern, bis du erneut umziehen darfst
|
||||||
disabled_account: Dein altes Konto ist nur noch eingeschränkt nutzbar. Du kannst jedoch deine Daten exportieren und das Konto wieder reaktivieren.
|
disabled_account: Dein altes Konto ist nur noch eingeschränkt nutzbar. Du kannst jedoch deine Daten exportieren und das Konto wieder reaktivieren.
|
||||||
followers: Alle Follower werden vom alten zum neuen Konto übertragen
|
followers: Alle Follower werden vom alten zum neuen Konto übertragen
|
||||||
only_redirect_html: Alternativ kannst du auch <a href="%{path}">nur eine Weiterleitung zu deinem neuen Profil</a> einrichten, ohne die Follower zu übertragen.
|
only_redirect_html: Alternativ kannst du auch <a href="%{path}">nur eine Weiterleitung zu deinem neuen Konto</a> einrichten, ohne die Follower zu übertragen.
|
||||||
other_data: Keine anderen Daten werden automatisch zum neuen Konto übertragen
|
other_data: Keine anderen Daten werden automatisch zum neuen Konto übertragen
|
||||||
redirect: Dein altes Konto wird einen Hinweis erhalten, dass du umgezogen bist. Außerdem wird das Profil von Suchanfragen ausgeschlossen
|
redirect: Dein altes Konto wird einen Hinweis erhalten, dass du umgezogen bist. Außerdem wird das Profil von Suchanfragen ausgeschlossen
|
||||||
moderation:
|
moderation:
|
||||||
|
@ -1845,7 +1845,7 @@ de:
|
||||||
mark_statuses_as_sensitive: Deine Beiträge von %{acct} wurden mit einer Inhaltswarnung versehen
|
mark_statuses_as_sensitive: Deine Beiträge von %{acct} wurden mit einer Inhaltswarnung versehen
|
||||||
none: Warnung für %{acct}
|
none: Warnung für %{acct}
|
||||||
sensitive: Deine Beiträge von %{acct} werden künftig mit einer Inhaltswarnung versehen
|
sensitive: Deine Beiträge von %{acct} werden künftig mit einer Inhaltswarnung versehen
|
||||||
silence: Dein Konto %{acct} wurde stummgeschaltet
|
silence: Dein Konto %{acct} wurde eingeschränkt
|
||||||
suspend: Dein Konto %{acct} wurde gesperrt
|
suspend: Dein Konto %{acct} wurde gesperrt
|
||||||
title:
|
title:
|
||||||
delete_statuses: Beiträge entfernt
|
delete_statuses: Beiträge entfernt
|
||||||
|
|
|
@ -25,7 +25,7 @@ de:
|
||||||
explanation_when_pending: Du hast dich für eine Einladung bei %{host} mit dieser E-Mail-Adresse beworben. Sobald du deine E-Mail-Adresse bestätigt hast, werden wir deine Anfrage überprüfen. Du kannst dich in dieser Zeit nicht anmelden. Wenn deine Anfrage abgelehnt wird, werden deine Daten entfernt – von dir ist keine weitere Handlung notwendig. Wenn du das nicht warst, dann kannst du diese E-Mail ignorieren.
|
explanation_when_pending: Du hast dich für eine Einladung bei %{host} mit dieser E-Mail-Adresse beworben. Sobald du deine E-Mail-Adresse bestätigt hast, werden wir deine Anfrage überprüfen. Du kannst dich in dieser Zeit nicht anmelden. Wenn deine Anfrage abgelehnt wird, werden deine Daten entfernt – von dir ist keine weitere Handlung notwendig. Wenn du das nicht warst, dann kannst du diese E-Mail ignorieren.
|
||||||
extra_html: Bitte beachte auch die <a href="%{terms_path}">Serverregeln</a> und <a href="%{policy_path}">unsere Datenschutzerklärung</a>.
|
extra_html: Bitte beachte auch die <a href="%{terms_path}">Serverregeln</a> und <a href="%{policy_path}">unsere Datenschutzerklärung</a>.
|
||||||
subject: 'Mastodon: Anleitung zum Bestätigen deines Kontos auf %{instance}'
|
subject: 'Mastodon: Anleitung zum Bestätigen deines Kontos auf %{instance}'
|
||||||
title: Verifiziere E-Mail-Adresse
|
title: Verifiziere deine E-Mail-Adresse
|
||||||
email_changed:
|
email_changed:
|
||||||
explanation: 'Die E-Mail-Adresse deines Kontos wird geändert zu:'
|
explanation: 'Die E-Mail-Adresse deines Kontos wird geändert zu:'
|
||||||
extra: Wenn du deine E-Mail-Adresse nicht geändert hast, ist es wahrscheinlich, dass sich jemand Zugang zu deinem Konto verschafft hat. Bitte ändere sofort dein Passwort oder kontaktiere die Administrator*innen des Servers, wenn du aus deinem Konto ausgesperrt bist.
|
extra: Wenn du deine E-Mail-Adresse nicht geändert hast, ist es wahrscheinlich, dass sich jemand Zugang zu deinem Konto verschafft hat. Bitte ändere sofort dein Passwort oder kontaktiere die Administrator*innen des Servers, wenn du aus deinem Konto ausgesperrt bist.
|
||||||
|
|
|
@ -12,6 +12,7 @@ eo:
|
||||||
last_attempt: Vi ankoraŭ povas provi unufoje antaŭ ol via konto estos ŝlosita.
|
last_attempt: Vi ankoraŭ povas provi unufoje antaŭ ol via konto estos ŝlosita.
|
||||||
locked: Via konto estas ŝlosita.
|
locked: Via konto estas ŝlosita.
|
||||||
not_found_in_database: Nevalida %{authentication_keys} aŭ pasvorto.
|
not_found_in_database: Nevalida %{authentication_keys} aŭ pasvorto.
|
||||||
|
omniauth_user_creation_failure: Eraro okazis kreinte konton por ĉi tiu identeco.
|
||||||
pending: Via konto ankoraŭ estas kontrolata.
|
pending: Via konto ankoraŭ estas kontrolata.
|
||||||
timeout: Via seanco eksvalidiĝis. Bonvolu ensaluti denove por daŭrigi.
|
timeout: Via seanco eksvalidiĝis. Bonvolu ensaluti denove por daŭrigi.
|
||||||
unauthenticated: Vi devas ensaluti aŭ registriĝi antaŭ ol daŭrigi.
|
unauthenticated: Vi devas ensaluti aŭ registriĝi antaŭ ol daŭrigi.
|
||||||
|
@ -39,7 +40,7 @@ eo:
|
||||||
explanation: Retajpu la novan adreson por ŝanĝi vian retpoŝtadreson.
|
explanation: Retajpu la novan adreson por ŝanĝi vian retpoŝtadreson.
|
||||||
extra: Se ĉi tiu ŝanĝo ne estis komencita de vi, bonvolu ignori ĉi tiun retmesaĝon. La retadreso por la Mastodon-konto ne ŝanĝiĝos se vi ne aliras la supran ligilon.
|
extra: Se ĉi tiu ŝanĝo ne estis komencita de vi, bonvolu ignori ĉi tiun retmesaĝon. La retadreso por la Mastodon-konto ne ŝanĝiĝos se vi ne aliras la supran ligilon.
|
||||||
subject: 'Mastodon: Konfirmi retpoŝton por %{instance}'
|
subject: 'Mastodon: Konfirmi retpoŝton por %{instance}'
|
||||||
title: Kontrolu retpoŝtadreson
|
title: Kontroli retpoŝtadreson
|
||||||
reset_password_instructions:
|
reset_password_instructions:
|
||||||
action: Ŝanĝi pasvorton
|
action: Ŝanĝi pasvorton
|
||||||
explanation: Vi petis novan pasvorton por via konto.
|
explanation: Vi petis novan pasvorton por via konto.
|
||||||
|
|
|
@ -174,6 +174,7 @@ bg:
|
||||||
read:filters: преглед на вашите филтри
|
read:filters: преглед на вашите филтри
|
||||||
read:follows: преглед на вашите последвания
|
read:follows: преглед на вашите последвания
|
||||||
read:lists: преглед на вашите списъци
|
read:lists: преглед на вашите списъци
|
||||||
|
read:me: четене само на основните сведения за акаунта ви
|
||||||
read:mutes: преглед на вашите заглушавания
|
read:mutes: преглед на вашите заглушавания
|
||||||
read:notifications: преглед на вашите известия
|
read:notifications: преглед на вашите известия
|
||||||
read:reports: преглед на вашите докладвания
|
read:reports: преглед на вашите докладвания
|
||||||
|
|
|
@ -174,6 +174,7 @@ ca:
|
||||||
read:filters: mira els teus filtres
|
read:filters: mira els teus filtres
|
||||||
read:follows: mira els teus seguiments
|
read:follows: mira els teus seguiments
|
||||||
read:lists: mira les teves llistes
|
read:lists: mira les teves llistes
|
||||||
|
read:me: llegir només la informació bàsica del vostre compte
|
||||||
read:mutes: mira els teus silenciats
|
read:mutes: mira els teus silenciats
|
||||||
read:notifications: mira les teves notificacions
|
read:notifications: mira les teves notificacions
|
||||||
read:reports: mira els teus informes
|
read:reports: mira els teus informes
|
||||||
|
|
|
@ -174,6 +174,7 @@ da:
|
||||||
read:filters: se dine filtre
|
read:filters: se dine filtre
|
||||||
read:follows: se dine følger
|
read:follows: se dine følger
|
||||||
read:lists: se dine lister
|
read:lists: se dine lister
|
||||||
|
read:me: læs kun kontoens basisoplysninger
|
||||||
read:mutes: se dine tavsgørelser
|
read:mutes: se dine tavsgørelser
|
||||||
read:notifications: se dine notifikationer
|
read:notifications: se dine notifikationer
|
||||||
read:reports: se dine anmeldelser
|
read:reports: se dine anmeldelser
|
||||||
|
|
|
@ -174,6 +174,7 @@ de:
|
||||||
read:filters: deine Filter einsehen
|
read:filters: deine Filter einsehen
|
||||||
read:follows: sehen, wem du folgst
|
read:follows: sehen, wem du folgst
|
||||||
read:lists: deine Listen sehen
|
read:lists: deine Listen sehen
|
||||||
|
read:me: nur deine grundlegenden Kontoinformationen lesen
|
||||||
read:mutes: deine Stummschaltungen einsehen
|
read:mutes: deine Stummschaltungen einsehen
|
||||||
read:notifications: deine Benachrichtigungen sehen
|
read:notifications: deine Benachrichtigungen sehen
|
||||||
read:reports: deine Meldungen sehen
|
read:reports: deine Meldungen sehen
|
||||||
|
|
|
@ -174,6 +174,7 @@ es-AR:
|
||||||
read:filters: ver tus filtros
|
read:filters: ver tus filtros
|
||||||
read:follows: ver qué cuentas seguís
|
read:follows: ver qué cuentas seguís
|
||||||
read:lists: ver tus listas
|
read:lists: ver tus listas
|
||||||
|
read:me: leer solo la información básica de tu cuenta
|
||||||
read:mutes: ver qué cuentas silenciaste
|
read:mutes: ver qué cuentas silenciaste
|
||||||
read:notifications: ver tus notificaciones
|
read:notifications: ver tus notificaciones
|
||||||
read:reports: ver tus denuncias
|
read:reports: ver tus denuncias
|
||||||
|
|
|
@ -174,6 +174,7 @@ es-MX:
|
||||||
read:filters: ver tus filtros
|
read:filters: ver tus filtros
|
||||||
read:follows: ver a quién sigues
|
read:follows: ver a quién sigues
|
||||||
read:lists: ver tus listas
|
read:lists: ver tus listas
|
||||||
|
read:me: leer solo la información básica de tu cuenta
|
||||||
read:mutes: ver a quién has silenciado
|
read:mutes: ver a quién has silenciado
|
||||||
read:notifications: ver tus notificaciones
|
read:notifications: ver tus notificaciones
|
||||||
read:reports: ver tus informes
|
read:reports: ver tus informes
|
||||||
|
|
|
@ -174,6 +174,7 @@ es:
|
||||||
read:filters: ver tus filtros
|
read:filters: ver tus filtros
|
||||||
read:follows: ver a quién sigues
|
read:follows: ver a quién sigues
|
||||||
read:lists: ver tus listas
|
read:lists: ver tus listas
|
||||||
|
read:me: leer solo la información básica de tu cuenta
|
||||||
read:mutes: ver a quién has silenciado
|
read:mutes: ver a quién has silenciado
|
||||||
read:notifications: ver tus notificaciones
|
read:notifications: ver tus notificaciones
|
||||||
read:reports: ver tus informes
|
read:reports: ver tus informes
|
||||||
|
|
|
@ -174,6 +174,7 @@ eu:
|
||||||
read:filters: ikusi zure iragazkiak
|
read:filters: ikusi zure iragazkiak
|
||||||
read:follows: ikusi zuk jarraitutakoak
|
read:follows: ikusi zuk jarraitutakoak
|
||||||
read:lists: ikusi zure zerrendak
|
read:lists: ikusi zure zerrendak
|
||||||
|
read:me: irakurri soilik zure kontuaren oinarrizko informazioa
|
||||||
read:mutes: ikusi zuk mutututakoak
|
read:mutes: ikusi zuk mutututakoak
|
||||||
read:notifications: ikusi zure jakinarazpenak
|
read:notifications: ikusi zure jakinarazpenak
|
||||||
read:reports: ikusi zure salaketak
|
read:reports: ikusi zure salaketak
|
||||||
|
|
|
@ -174,6 +174,7 @@ fi:
|
||||||
read:filters: katso suodattimiasi
|
read:filters: katso suodattimiasi
|
||||||
read:follows: katso seurattujasi
|
read:follows: katso seurattujasi
|
||||||
read:lists: katso listojasi
|
read:lists: katso listojasi
|
||||||
|
read:me: lue tilisi perustietoja
|
||||||
read:mutes: katso mykistyksiäsi
|
read:mutes: katso mykistyksiäsi
|
||||||
read:notifications: katso ilmoituksiasi
|
read:notifications: katso ilmoituksiasi
|
||||||
read:reports: katso raporttejasi
|
read:reports: katso raporttejasi
|
||||||
|
|
|
@ -174,6 +174,7 @@ fo:
|
||||||
read:filters: síggja tíni filtur
|
read:filters: síggja tíni filtur
|
||||||
read:follows: síggja hvørji tú fylgir
|
read:follows: síggja hvørji tú fylgir
|
||||||
read:lists: síggja tínar listar
|
read:lists: síggja tínar listar
|
||||||
|
read:me: les bara grundleggjandi upplýsingar av tínari kontu
|
||||||
read:mutes: síggja tínar doyvingar
|
read:mutes: síggja tínar doyvingar
|
||||||
read:notifications: síggja tínar fráboðanir
|
read:notifications: síggja tínar fráboðanir
|
||||||
read:reports: síggja tínar meldingar
|
read:reports: síggja tínar meldingar
|
||||||
|
|
|
@ -174,6 +174,7 @@ gl:
|
||||||
read:filters: ver os filtros
|
read:filters: ver os filtros
|
||||||
read:follows: ver a quen segues
|
read:follows: ver a quen segues
|
||||||
read:lists: ver as tuas listaxes
|
read:lists: ver as tuas listaxes
|
||||||
|
read:me: ler só a información básica da túa conta
|
||||||
read:mutes: ver a quen tes acalado
|
read:mutes: ver a quen tes acalado
|
||||||
read:notifications: ver as notificacións
|
read:notifications: ver as notificacións
|
||||||
read:reports: ver as túas denuncias
|
read:reports: ver as túas denuncias
|
||||||
|
|
|
@ -174,6 +174,7 @@ he:
|
||||||
read:filters: צפייה במסננים
|
read:filters: צפייה במסננים
|
||||||
read:follows: צפייה בנעקבים
|
read:follows: צפייה בנעקבים
|
||||||
read:lists: צפיה ברשימותיך
|
read:lists: צפיה ברשימותיך
|
||||||
|
read:me: לקריאה בלבד של פרטי חשבונך הבסיסיים
|
||||||
read:mutes: צפיה במושתקיך
|
read:mutes: צפיה במושתקיך
|
||||||
read:notifications: צפיה בהתראותיך
|
read:notifications: צפיה בהתראותיך
|
||||||
read:reports: צפיה בדוחותיך
|
read:reports: צפיה בדוחותיך
|
||||||
|
|
|
@ -174,6 +174,7 @@ hu:
|
||||||
read:filters: szűrök megtekintése
|
read:filters: szűrök megtekintése
|
||||||
read:follows: követések megtekintése
|
read:follows: követések megtekintése
|
||||||
read:lists: listák megtekintése
|
read:lists: listák megtekintése
|
||||||
|
read:me: csak a fiókod alapvető adatainak elolvasása
|
||||||
read:mutes: némítások megtekintése
|
read:mutes: némítások megtekintése
|
||||||
read:notifications: értesítések megtekintése
|
read:notifications: értesítések megtekintése
|
||||||
read:reports: bejelentések megtekintése
|
read:reports: bejelentések megtekintése
|
||||||
|
|
|
@ -87,6 +87,7 @@ ia:
|
||||||
read:filters: vider tu filtros
|
read:filters: vider tu filtros
|
||||||
read:follows: vider tu sequites
|
read:follows: vider tu sequites
|
||||||
read:lists: vider tu listas
|
read:lists: vider tu listas
|
||||||
|
read:me: leger solmente le information basic de tu conto
|
||||||
read:notifications: vider tu notificationes
|
read:notifications: vider tu notificationes
|
||||||
read:reports: vider tu reportos
|
read:reports: vider tu reportos
|
||||||
read:statuses: vider tote le messages
|
read:statuses: vider tote le messages
|
||||||
|
|
|
@ -174,6 +174,7 @@ is:
|
||||||
read:filters: skoða síurnar þínar
|
read:filters: skoða síurnar þínar
|
||||||
read:follows: sjá hverjum þú fylgist með
|
read:follows: sjá hverjum þú fylgist með
|
||||||
read:lists: skoða listana þína
|
read:lists: skoða listana þína
|
||||||
|
read:me: lesa einungis grunnupplýsingar aðgangsins þíns
|
||||||
read:mutes: skoða hverja þú þaggar
|
read:mutes: skoða hverja þú þaggar
|
||||||
read:notifications: sjá tilkynningarnar þínar
|
read:notifications: sjá tilkynningarnar þínar
|
||||||
read:reports: skoða skýrslurnar þína
|
read:reports: skoða skýrslurnar þína
|
||||||
|
|
|
@ -174,6 +174,7 @@ it:
|
||||||
read:filters: visualizzare i tuoi filtri
|
read:filters: visualizzare i tuoi filtri
|
||||||
read:follows: visualizzare i tuoi seguiti
|
read:follows: visualizzare i tuoi seguiti
|
||||||
read:lists: visualizzare i tuoi elenchi
|
read:lists: visualizzare i tuoi elenchi
|
||||||
|
read:me: leggi solo le informazioni di base del tuo account
|
||||||
read:mutes: visualizzare i tuoi silenziamenti
|
read:mutes: visualizzare i tuoi silenziamenti
|
||||||
read:notifications: visualizzare le tue notifiche
|
read:notifications: visualizzare le tue notifiche
|
||||||
read:reports: visualizzare le tue segnalazioni
|
read:reports: visualizzare le tue segnalazioni
|
||||||
|
|
|
@ -174,6 +174,7 @@ ko:
|
||||||
read:filters: 필터 보기
|
read:filters: 필터 보기
|
||||||
read:follows: 팔로우 보기
|
read:follows: 팔로우 보기
|
||||||
read:lists: 리스트 보기
|
read:lists: 리스트 보기
|
||||||
|
read:me: 내 계정의 기본 정보만을 읽습니다
|
||||||
read:mutes: 뮤트 보기
|
read:mutes: 뮤트 보기
|
||||||
read:notifications: 알림 보기
|
read:notifications: 알림 보기
|
||||||
read:reports: 신고 보기
|
read:reports: 신고 보기
|
||||||
|
|
|
@ -174,6 +174,7 @@ nl:
|
||||||
read:filters: jouw filters bekijken
|
read:filters: jouw filters bekijken
|
||||||
read:follows: de accounts die jij volgt bekijken
|
read:follows: de accounts die jij volgt bekijken
|
||||||
read:lists: jouw lijsten bekijken
|
read:lists: jouw lijsten bekijken
|
||||||
|
read:me: alleen de basisgegevens van jouw account lezen
|
||||||
read:mutes: jouw genegeerde gebruikers bekijken
|
read:mutes: jouw genegeerde gebruikers bekijken
|
||||||
read:notifications: jouw meldingen bekijken
|
read:notifications: jouw meldingen bekijken
|
||||||
read:reports: jouw gerapporteerde berichten bekijken
|
read:reports: jouw gerapporteerde berichten bekijken
|
||||||
|
|
|
@ -174,6 +174,7 @@ nn:
|
||||||
read:filters: sjå filtera dine
|
read:filters: sjå filtera dine
|
||||||
read:follows: sjå fylgjarane dine
|
read:follows: sjå fylgjarane dine
|
||||||
read:lists: sjå listene dine
|
read:lists: sjå listene dine
|
||||||
|
read:me: les berre kontoen din sin grunnleggjande informasjon
|
||||||
read:mutes: sjå kven du har målbunde
|
read:mutes: sjå kven du har målbunde
|
||||||
read:notifications: sjå varsla dine
|
read:notifications: sjå varsla dine
|
||||||
read:reports: sjå rapportane dine
|
read:reports: sjå rapportane dine
|
||||||
|
|
|
@ -174,6 +174,7 @@ pl:
|
||||||
read:filters: dostęp do filtrów
|
read:filters: dostęp do filtrów
|
||||||
read:follows: dostęp do listy obserwowanych
|
read:follows: dostęp do listy obserwowanych
|
||||||
read:lists: dostęp do Twoich list
|
read:lists: dostęp do Twoich list
|
||||||
|
read:me: odczytaj tylko podstawowe informacje o koncie
|
||||||
read:mutes: dostęp do listy wyciszonych
|
read:mutes: dostęp do listy wyciszonych
|
||||||
read:notifications: możliwość odczytu powiadomień
|
read:notifications: możliwość odczytu powiadomień
|
||||||
read:reports: dostęp do Twoich zgłoszeń
|
read:reports: dostęp do Twoich zgłoszeń
|
||||||
|
|
|
@ -174,6 +174,7 @@ pt-BR:
|
||||||
read:filters: ver seus filtros
|
read:filters: ver seus filtros
|
||||||
read:follows: ver quem você segue
|
read:follows: ver quem você segue
|
||||||
read:lists: ver suas listas
|
read:lists: ver suas listas
|
||||||
|
read:me: ler só as informações básicas da sua conta
|
||||||
read:mutes: ver seus silenciados
|
read:mutes: ver seus silenciados
|
||||||
read:notifications: ver suas notificações
|
read:notifications: ver suas notificações
|
||||||
read:reports: ver suas denúncias
|
read:reports: ver suas denúncias
|
||||||
|
|
|
@ -174,6 +174,7 @@ pt-PT:
|
||||||
read:filters: ver os seus filtros
|
read:filters: ver os seus filtros
|
||||||
read:follows: ver quem você segue
|
read:follows: ver quem você segue
|
||||||
read:lists: ver as suas listas
|
read:lists: ver as suas listas
|
||||||
|
read:me: ler apenas as informações básicas da sua conta
|
||||||
read:mutes: ver os utilizadores que silenciou
|
read:mutes: ver os utilizadores que silenciou
|
||||||
read:notifications: ver as suas notificações
|
read:notifications: ver as suas notificações
|
||||||
read:reports: ver as suas denúncias
|
read:reports: ver as suas denúncias
|
||||||
|
|
|
@ -174,6 +174,7 @@ sl:
|
||||||
read:filters: oglejte si svoje filtre
|
read:filters: oglejte si svoje filtre
|
||||||
read:follows: oglejte si svoje sledilce
|
read:follows: oglejte si svoje sledilce
|
||||||
read:lists: oglejte si svoje sezname
|
read:lists: oglejte si svoje sezname
|
||||||
|
read:me: preberi le osnovne podatke računa
|
||||||
read:mutes: oglejte si svoje utišane
|
read:mutes: oglejte si svoje utišane
|
||||||
read:notifications: oglejte si svoja obvestila
|
read:notifications: oglejte si svoja obvestila
|
||||||
read:reports: oglejte si svoje prijave
|
read:reports: oglejte si svoje prijave
|
||||||
|
|
|
@ -174,6 +174,7 @@ sv:
|
||||||
read:filters: se dina filter
|
read:filters: se dina filter
|
||||||
read:follows: se vem du följer
|
read:follows: se vem du följer
|
||||||
read:lists: se dina listor
|
read:lists: se dina listor
|
||||||
|
read:me: läs endast den grundläggande informationen för ditt konto
|
||||||
read:mutes: se dina tystningar
|
read:mutes: se dina tystningar
|
||||||
read:notifications: se dina notiser
|
read:notifications: se dina notiser
|
||||||
read:reports: se dina rapporter
|
read:reports: se dina rapporter
|
||||||
|
|
|
@ -174,6 +174,7 @@ tr:
|
||||||
read:filters: süzgeçlerinizi görün
|
read:filters: süzgeçlerinizi görün
|
||||||
read:follows: takip ettiklerinizi görün
|
read:follows: takip ettiklerinizi görün
|
||||||
read:lists: listelerinizi görün
|
read:lists: listelerinizi görün
|
||||||
|
read:me: hesabınızın sadece temel bilgilerini okuma
|
||||||
read:mutes: sessize aldıklarınızı görün
|
read:mutes: sessize aldıklarınızı görün
|
||||||
read:notifications: bildirimlerinizi görün
|
read:notifications: bildirimlerinizi görün
|
||||||
read:reports: raporlarınızı görün
|
read:reports: raporlarınızı görün
|
||||||
|
|
|
@ -180,6 +180,7 @@ uk:
|
||||||
read:filters: бачити Ваші фільтри
|
read:filters: бачити Ваші фільтри
|
||||||
read:follows: бачити Ваші підписки
|
read:follows: бачити Ваші підписки
|
||||||
read:lists: бачити Ваші списки
|
read:lists: бачити Ваші списки
|
||||||
|
read:me: читайте лише основну інформацію вашого облікового запису
|
||||||
read:mutes: бачити ваші нехтування
|
read:mutes: бачити ваші нехтування
|
||||||
read:notifications: бачити Ваші сповіщення
|
read:notifications: бачити Ваші сповіщення
|
||||||
read:reports: бачити Ваші скарги
|
read:reports: бачити Ваші скарги
|
||||||
|
|
|
@ -174,6 +174,7 @@ vi:
|
||||||
read:filters: xem bộ lọc
|
read:filters: xem bộ lọc
|
||||||
read:follows: xem những người theo dõi
|
read:follows: xem những người theo dõi
|
||||||
read:lists: xem danh sách
|
read:lists: xem danh sách
|
||||||
|
read:me: chỉ đọc thông tin cơ bản tài khoản
|
||||||
read:mutes: xem những người đã ẩn
|
read:mutes: xem những người đã ẩn
|
||||||
read:notifications: xem thông báo
|
read:notifications: xem thông báo
|
||||||
read:reports: xem báo cáo của bạn
|
read:reports: xem báo cáo của bạn
|
||||||
|
|
|
@ -174,6 +174,7 @@ zh-CN:
|
||||||
read:filters: 查看你的过滤器
|
read:filters: 查看你的过滤器
|
||||||
read:follows: 查看你的关注
|
read:follows: 查看你的关注
|
||||||
read:lists: 查看你的列表
|
read:lists: 查看你的列表
|
||||||
|
read:me: 只读取你账户的基本信息
|
||||||
read:mutes: 查看你的隐藏列表
|
read:mutes: 查看你的隐藏列表
|
||||||
read:notifications: 查看你的通知
|
read:notifications: 查看你的通知
|
||||||
read:reports: 查看你的举报
|
read:reports: 查看你的举报
|
||||||
|
|
|
@ -174,6 +174,7 @@ zh-HK:
|
||||||
read:filters: 檢視你的過濾條件
|
read:filters: 檢視你的過濾條件
|
||||||
read:follows: 檢視你關注的人
|
read:follows: 檢視你關注的人
|
||||||
read:lists: 檢視你的清單
|
read:lists: 檢視你的清單
|
||||||
|
read:me: 僅讀取帳號的基本資訊
|
||||||
read:mutes: 檢視被你靜音的人
|
read:mutes: 檢視被你靜音的人
|
||||||
read:notifications: 檢視你的通知
|
read:notifications: 檢視你的通知
|
||||||
read:reports: 檢視你的檢舉
|
read:reports: 檢視你的檢舉
|
||||||
|
|
|
@ -174,6 +174,7 @@ zh-TW:
|
||||||
read:filters: 檢視您的過濾條件
|
read:filters: 檢視您的過濾條件
|
||||||
read:follows: 檢視您跟隨之使用者
|
read:follows: 檢視您跟隨之使用者
|
||||||
read:lists: 檢視您的列表
|
read:lists: 檢視您的列表
|
||||||
|
read:me: 僅讀取您的帳號基本資訊
|
||||||
read:mutes: 檢視您靜音的人
|
read:mutes: 檢視您靜音的人
|
||||||
read:notifications: 檢視您的通知
|
read:notifications: 檢視您的通知
|
||||||
read:reports: 檢視您的檢舉
|
read:reports: 檢視您的檢舉
|
||||||
|
|
|
@ -994,6 +994,7 @@ en:
|
||||||
desc_html: This relies on external scripts from hCaptcha, which may be a security and privacy concern. In addition, <strong>this can make the registration process significantly less accessible to some (especially disabled) people</strong>. For these reasons, please consider alternative measures such as approval-based or invite-based registration.
|
desc_html: This relies on external scripts from hCaptcha, which may be a security and privacy concern. In addition, <strong>this can make the registration process significantly less accessible to some (especially disabled) people</strong>. For these reasons, please consider alternative measures such as approval-based or invite-based registration.
|
||||||
title: Require new users to solve a CAPTCHA to confirm their account
|
title: Require new users to solve a CAPTCHA to confirm their account
|
||||||
content_retention:
|
content_retention:
|
||||||
|
danger_zone: Danger zone
|
||||||
preamble: Control how user-generated content is stored in Mastodon.
|
preamble: Control how user-generated content is stored in Mastodon.
|
||||||
title: Content retention
|
title: Content retention
|
||||||
default_noindex:
|
default_noindex:
|
||||||
|
@ -1507,6 +1508,7 @@ en:
|
||||||
title_actions:
|
title_actions:
|
||||||
delete_statuses: Post removal
|
delete_statuses: Post removal
|
||||||
disable: Freezing of account
|
disable: Freezing of account
|
||||||
|
force_cw: Add content-warning to posts
|
||||||
mark_statuses_as_sensitive: Marking of posts as sensitive
|
mark_statuses_as_sensitive: Marking of posts as sensitive
|
||||||
none: Warning
|
none: Warning
|
||||||
sensitive: Marking of account as sensitive
|
sensitive: Marking of account as sensitive
|
||||||
|
|
|
@ -74,7 +74,7 @@ eo:
|
||||||
follows: Sekvatoj
|
follows: Sekvatoj
|
||||||
header: Kapa bildo
|
header: Kapa bildo
|
||||||
inbox_url: Enira URL
|
inbox_url: Enira URL
|
||||||
invite_request_text: 가입하려는 이유
|
invite_request_text: Kialoj por aliĝi
|
||||||
invited_by: Invitita de
|
invited_by: Invitita de
|
||||||
ip: IP
|
ip: IP
|
||||||
joined: Aliĝis
|
joined: Aliĝis
|
||||||
|
@ -104,7 +104,7 @@ eo:
|
||||||
no_role_assigned: Sen rolo
|
no_role_assigned: Sen rolo
|
||||||
not_subscribed: Ne abonita
|
not_subscribed: Ne abonita
|
||||||
pending: Pritraktata recenzo
|
pending: Pritraktata recenzo
|
||||||
perform_full_suspension: Suspendi
|
perform_full_suspension: Haltigi
|
||||||
previous_strikes: Antaǔaj admonoj
|
previous_strikes: Antaǔaj admonoj
|
||||||
previous_strikes_description_html:
|
previous_strikes_description_html:
|
||||||
one: Ĉi tiu konto havas <strong>unu</strong> admonon.
|
one: Ĉi tiu konto havas <strong>unu</strong> admonon.
|
||||||
|
@ -121,7 +121,7 @@ eo:
|
||||||
remote_suspension_reversible_hint_html: La konto estas suspendita, kaj la datumoj estos komplete forigitaj je %{date}. Ĝis tiam, la konto povas esti malsuspendita sen flankefiko. Se vi deziras tuj forigi ĉiujn datumojn de la konto, vi povas fari tion sube.
|
remote_suspension_reversible_hint_html: La konto estas suspendita, kaj la datumoj estos komplete forigitaj je %{date}. Ĝis tiam, la konto povas esti malsuspendita sen flankefiko. Se vi deziras tuj forigi ĉiujn datumojn de la konto, vi povas fari tion sube.
|
||||||
remove_avatar: Forigi la profilbildon
|
remove_avatar: Forigi la profilbildon
|
||||||
remove_header: Forigi kapan bildon
|
remove_header: Forigi kapan bildon
|
||||||
removed_avatar_msg: La rolfiguro de %{username} estas sukcese forigita
|
removed_avatar_msg: La profilbildo de %{username} estas sukcese forigita
|
||||||
removed_header_msg: Kapbildo de %{username} suksece forigita
|
removed_header_msg: Kapbildo de %{username} suksece forigita
|
||||||
resend_confirmation:
|
resend_confirmation:
|
||||||
already_confirmed: Ĉi tiu uzanto jam estas konfirmita
|
already_confirmed: Ĉi tiu uzanto jam estas konfirmita
|
||||||
|
@ -184,7 +184,7 @@ eo:
|
||||||
create_domain_block: Krei Blokadon De Domajno
|
create_domain_block: Krei Blokadon De Domajno
|
||||||
create_email_domain_block: Krei Blokadon De Retpoŝta Domajno
|
create_email_domain_block: Krei Blokadon De Retpoŝta Domajno
|
||||||
create_ip_block: Krei IP-regulon
|
create_ip_block: Krei IP-regulon
|
||||||
create_unavailable_domain: Krei nehaveblan domajnon
|
create_unavailable_domain: Krei Nehaveblan Domajnon
|
||||||
create_user_role: Krei Rolon
|
create_user_role: Krei Rolon
|
||||||
demote_user: Malpromocii Uzanton
|
demote_user: Malpromocii Uzanton
|
||||||
destroy_announcement: Forigi Anoncon
|
destroy_announcement: Forigi Anoncon
|
||||||
|
@ -193,9 +193,9 @@ eo:
|
||||||
destroy_domain_allow: Forigi Domajnan Permeson
|
destroy_domain_allow: Forigi Domajnan Permeson
|
||||||
destroy_domain_block: Forigi blokadon de domajno
|
destroy_domain_block: Forigi blokadon de domajno
|
||||||
destroy_email_domain_block: Forigi blokadon de retpoŝta domajno
|
destroy_email_domain_block: Forigi blokadon de retpoŝta domajno
|
||||||
destroy_instance: Forigi domajnon
|
destroy_instance: Forigi Domajnon
|
||||||
destroy_ip_block: Forigi IP-regulon
|
destroy_ip_block: Forigi IP-regulon
|
||||||
destroy_status: Forigi mesaĝon
|
destroy_status: Forigi Afiŝon
|
||||||
destroy_unavailable_domain: Forigi Nehaveblan Domajnon
|
destroy_unavailable_domain: Forigi Nehaveblan Domajnon
|
||||||
destroy_user_role: Detrui Rolon
|
destroy_user_role: Detrui Rolon
|
||||||
disable_2fa_user: Malebligi 2FA
|
disable_2fa_user: Malebligi 2FA
|
||||||
|
@ -285,7 +285,7 @@ eo:
|
||||||
update_custom_emoji_html: "%{name} ĝisdatigis la emoĝion %{target}"
|
update_custom_emoji_html: "%{name} ĝisdatigis la emoĝion %{target}"
|
||||||
update_domain_block_html: "%{name} ĝisdatigis domajnblokon por %{target}"
|
update_domain_block_html: "%{name} ĝisdatigis domajnblokon por %{target}"
|
||||||
update_ip_block_html: "%{name} ŝanĝis regulon por IP %{target}"
|
update_ip_block_html: "%{name} ŝanĝis regulon por IP %{target}"
|
||||||
update_status_html: "%{name} ĝisdatigis mesaĝon de %{target}"
|
update_status_html: "%{name} ĝisdatigis afiŝon de %{target}"
|
||||||
update_user_role_html: "%{name} ŝanĝis la rolon %{target}"
|
update_user_role_html: "%{name} ŝanĝis la rolon %{target}"
|
||||||
deleted_account: forigita konto
|
deleted_account: forigita konto
|
||||||
empty: Neniu ĵurnalo trovita.
|
empty: Neniu ĵurnalo trovita.
|
||||||
|
@ -567,7 +567,7 @@ eo:
|
||||||
disable: Malebligi
|
disable: Malebligi
|
||||||
disabled: Malebligita
|
disabled: Malebligita
|
||||||
enable: Ebligi
|
enable: Ebligi
|
||||||
enable_hint: Post ebligo, via servilo abonos ĉiujn publikajn mesaĝojn de tiu ripetilo, kaj komencos sendi publikajn mesaĝojn de la servilo al ĝi.
|
enable_hint: Post ebligo, via servilo abonos ĉiujn publikajn mesaĝojn de tiu ripetilo, kaj komencos sendi publikajn afiŝojn de la servilo al ĝi.
|
||||||
enabled: Ebligita
|
enabled: Ebligita
|
||||||
inbox_url: URL de la ripetilo
|
inbox_url: URL de la ripetilo
|
||||||
pending: Atendante aprobon de la ripetilo
|
pending: Atendante aprobon de la ripetilo
|
||||||
|
@ -587,7 +587,7 @@ eo:
|
||||||
action_log: Ĵurnalo de revizo
|
action_log: Ĵurnalo de revizo
|
||||||
action_taken_by: Ago farita de
|
action_taken_by: Ago farita de
|
||||||
actions:
|
actions:
|
||||||
delete_description_html: Raportitaj mesaĝoj forigotas kaj admono rekorditas.
|
delete_description_html: Raportitaj afiŝoj estos forigita kaj admono estos rekordita por helpi vin indiki estontajn afiŝojn de la sama konto kontraŭ reguloj.
|
||||||
mark_as_sensitive_description_html: La audovidaĵo en la raportita mesaĝo markotas kiel sentema kaj admono rekorditas.
|
mark_as_sensitive_description_html: La audovidaĵo en la raportita mesaĝo markotas kiel sentema kaj admono rekorditas.
|
||||||
other_description_html: Vidu pli da ebloj por regi la sintenon de la konto kaj por personigi la komunikadon kun la raportita konto.
|
other_description_html: Vidu pli da ebloj por regi la sintenon de la konto kaj por personigi la komunikadon kun la raportita konto.
|
||||||
resolve_description_html: Nenio okazotas al la raportita konto kaj la raporto fermotas.
|
resolve_description_html: Nenio okazotas al la raportita konto kaj la raporto fermotas.
|
||||||
|
@ -634,7 +634,7 @@ eo:
|
||||||
resolved: Solvitaj
|
resolved: Solvitaj
|
||||||
resolved_msg: Signalo sukcese solvita!
|
resolved_msg: Signalo sukcese solvita!
|
||||||
skip_to_actions: Salti al agoj
|
skip_to_actions: Salti al agoj
|
||||||
status: Mesaĝoj
|
status: Afiŝo
|
||||||
statuses: Raportita enhavo
|
statuses: Raportita enhavo
|
||||||
statuses_description_html: Sentema enhavo referencitas kun la raportita konto
|
statuses_description_html: Sentema enhavo referencitas kun la raportita konto
|
||||||
summary:
|
summary:
|
||||||
|
@ -787,6 +787,7 @@ eo:
|
||||||
types:
|
types:
|
||||||
major: Ĉefa eldono
|
major: Ĉefa eldono
|
||||||
minor: Neĉefa eldono
|
minor: Neĉefa eldono
|
||||||
|
version: Versio
|
||||||
statuses:
|
statuses:
|
||||||
account: Skribanto
|
account: Skribanto
|
||||||
application: Aplikaĵo
|
application: Aplikaĵo
|
||||||
|
@ -803,12 +804,12 @@ eo:
|
||||||
media:
|
media:
|
||||||
title: Aŭdovidaĵoj
|
title: Aŭdovidaĵoj
|
||||||
metadata: Metadatumoj
|
metadata: Metadatumoj
|
||||||
no_status_selected: Neniu mesaĝo estis ŝanĝita ĉar neniu estis elektita
|
no_status_selected: Neniu afiŝo estis ŝanĝita ĉar neniu estis elektita
|
||||||
open: Malfermi afiŝojn
|
open: Malfermi afiŝojn
|
||||||
original_status: Originala afiŝo
|
original_status: Originala afiŝo
|
||||||
reblogs: Reblogaĵoj
|
reblogs: Reblogaĵoj
|
||||||
status_changed: Afiŝo ŝanĝiĝis
|
status_changed: Afiŝo ŝanĝiĝis
|
||||||
title: Mesaĝoj de la konto
|
title: Afiŝoj de la konto
|
||||||
trending: Popularaĵoj
|
trending: Popularaĵoj
|
||||||
visibility: Videbleco
|
visibility: Videbleco
|
||||||
with_media: Kun aŭdovidaĵoj
|
with_media: Kun aŭdovidaĵoj
|
||||||
|
@ -816,7 +817,7 @@ eo:
|
||||||
actions:
|
actions:
|
||||||
delete_statuses: "%{name} forigis afiŝojn de %{target}"
|
delete_statuses: "%{name} forigis afiŝojn de %{target}"
|
||||||
disable: "%{name} frostigis la konton de %{target}"
|
disable: "%{name} frostigis la konton de %{target}"
|
||||||
mark_statuses_as_sensitive: "%{name} markis mesaĝojn de %{target} kiel sentemaj"
|
mark_statuses_as_sensitive: "%{name} markis afiŝojn de %{target} kiel tiklan"
|
||||||
none: "%{name} sendis averton al %{target}"
|
none: "%{name} sendis averton al %{target}"
|
||||||
sensitive: "%{name} markis konton de %{target} kiel sentema"
|
sensitive: "%{name} markis konton de %{target} kiel sentema"
|
||||||
silence: "%{name} limigis la konton de %{target}"
|
silence: "%{name} limigis la konton de %{target}"
|
||||||
|
@ -827,6 +828,8 @@ eo:
|
||||||
system_checks:
|
system_checks:
|
||||||
database_schema_check:
|
database_schema_check:
|
||||||
message_html: Estas pritraktataj datumbazaj migradoj. Bonvolu ekzekuti ilin por certigi, ke la apliko kondutas kiel atendite
|
message_html: Estas pritraktataj datumbazaj migradoj. Bonvolu ekzekuti ilin por certigi, ke la apliko kondutas kiel atendite
|
||||||
|
elasticsearch_preset:
|
||||||
|
action: Legi dokumentaron
|
||||||
elasticsearch_running_check:
|
elasticsearch_running_check:
|
||||||
message_html: Ne eblas konekti Elasticsearch. Bonvolu kontroli ke ĝi funkcias, aǔ malŝaltu plentekstan serĉon
|
message_html: Ne eblas konekti Elasticsearch. Bonvolu kontroli ke ĝi funkcias, aǔ malŝaltu plentekstan serĉon
|
||||||
elasticsearch_version_check:
|
elasticsearch_version_check:
|
||||||
|
@ -940,7 +943,7 @@ eo:
|
||||||
admin_mailer:
|
admin_mailer:
|
||||||
new_appeal:
|
new_appeal:
|
||||||
actions:
|
actions:
|
||||||
delete_statuses: por forigi iliajn mesaĝojn
|
delete_statuses: por forigi iliajn afiŝojn
|
||||||
disable: por frostigi ties konton
|
disable: por frostigi ties konton
|
||||||
mark_statuses_as_sensitive: por marki iliajn mesaĝojn kiel sentemaj
|
mark_statuses_as_sensitive: por marki iliajn mesaĝojn kiel sentemaj
|
||||||
none: averto
|
none: averto
|
||||||
|
@ -991,7 +994,7 @@ eo:
|
||||||
unsubscribe: Malabonu
|
unsubscribe: Malabonu
|
||||||
view: 'Vidi:'
|
view: 'Vidi:'
|
||||||
view_profile: Vidi profilon
|
view_profile: Vidi profilon
|
||||||
view_status: Vidi mesaĝon
|
view_status: Vidi afiŝon
|
||||||
applications:
|
applications:
|
||||||
created: Aplikaĵo sukcese kreita
|
created: Aplikaĵo sukcese kreita
|
||||||
destroyed: Aplikaĵo sukcese forigita
|
destroyed: Aplikaĵo sukcese forigita
|
||||||
|
@ -1131,7 +1134,7 @@ eo:
|
||||||
recipient: Senditas por
|
recipient: Senditas por
|
||||||
reject_appeal: Malakcepti apelacion
|
reject_appeal: Malakcepti apelacion
|
||||||
status: 'Afiŝo #%{id}'
|
status: 'Afiŝo #%{id}'
|
||||||
status_removed: Mesaĝo jam forigitas de sistemo
|
status_removed: Afiŝo jam estas forigita de sistemo
|
||||||
title: "%{action} de %{date}"
|
title: "%{action} de %{date}"
|
||||||
title_actions:
|
title_actions:
|
||||||
delete_statuses: Forigo de afiŝo
|
delete_statuses: Forigo de afiŝo
|
||||||
|
@ -1199,8 +1202,8 @@ eo:
|
||||||
edit:
|
edit:
|
||||||
add_keyword: Aldoni ĉefvorton
|
add_keyword: Aldoni ĉefvorton
|
||||||
keywords: Ĉefvortoj
|
keywords: Ĉefvortoj
|
||||||
statuses: Individuaj mesaĝoj
|
statuses: Individuaj afiŝoj
|
||||||
statuses_hint_html: Ĉi tiu filtrilo kongruas kelkajn mesaĝojn. <a href="%{path}">Kontrolu mesaĝojn de la filtrilo</a>.
|
statuses_hint_html: Ĉi tiu filtrilo kongruas kelkajn afiŝojn. <a href="%{path}">Kontroli afiŝojn de la filtrilo</a>.
|
||||||
title: Ŝanĝi filtrilojn
|
title: Ŝanĝi filtrilojn
|
||||||
errors:
|
errors:
|
||||||
deprecated_api_multiple_keywords: Ĉi tiuj parametroj ne povas ŝanĝitis de ĉi tiu programaro. Uzu pli novan programaron.
|
deprecated_api_multiple_keywords: Ĉi tiuj parametroj ne povas ŝanĝitis de ĉi tiu programaro. Uzu pli novan programaron.
|
||||||
|
@ -1218,8 +1221,8 @@ eo:
|
||||||
one: "%{count} afiŝo"
|
one: "%{count} afiŝo"
|
||||||
other: "%{count} afiŝoj"
|
other: "%{count} afiŝoj"
|
||||||
statuses_long:
|
statuses_long:
|
||||||
one: "%{count} mesaĝo kaŝita"
|
one: "%{count} afiŝo estas kaŝita"
|
||||||
other: "%{count} mesaĝoj kaŝita"
|
other: "%{count} afiŝoj estas kaŝitaj"
|
||||||
title: Filtriloj
|
title: Filtriloj
|
||||||
new:
|
new:
|
||||||
save: Konservi novan filtrilon
|
save: Konservi novan filtrilon
|
||||||
|
@ -1230,7 +1233,7 @@ eo:
|
||||||
remove: Forigi de filtrilo
|
remove: Forigi de filtrilo
|
||||||
index:
|
index:
|
||||||
hint: Ĉi tiu filtrilo kongruas kelkaj mesaĝoj sendepende de aliaj kriterioj.
|
hint: Ĉi tiu filtrilo kongruas kelkaj mesaĝoj sendepende de aliaj kriterioj.
|
||||||
title: Filtritaj mesaĝoj
|
title: Filtritaj afiŝoj
|
||||||
generic:
|
generic:
|
||||||
all: Ĉio
|
all: Ĉio
|
||||||
all_items_on_page_selected_html:
|
all_items_on_page_selected_html:
|
||||||
|
@ -1644,16 +1647,16 @@ eo:
|
||||||
interaction_exceptions_explanation: Sciu ke estas neniu garantio ke mesaĝo estos forigita se ĝi iras sub la limo de diskonigoj aŭ stelumoj post atingi ĝin.
|
interaction_exceptions_explanation: Sciu ke estas neniu garantio ke mesaĝo estos forigita se ĝi iras sub la limo de diskonigoj aŭ stelumoj post atingi ĝin.
|
||||||
keep_direct: Konservi rektajn mesaĝojn
|
keep_direct: Konservi rektajn mesaĝojn
|
||||||
keep_direct_hint: Ne forigos viajn rektajn mesagôjn
|
keep_direct_hint: Ne forigos viajn rektajn mesagôjn
|
||||||
keep_media: Konservi mesaĝojn kun aŭdovidaj aldonaĵoj
|
keep_media: Konservi afiŝojn kun aŭdovidaj aldonaĵoj
|
||||||
keep_media_hint: Ne forigi mesaĝojn kiuj enhavas aŭdovidajn aldonaĵojn
|
keep_media_hint: Ne forigi mesaĝojn kiuj enhavas aŭdovidajn aldonaĵojn
|
||||||
keep_pinned: Konservi alpinglitajn mesaĝojn
|
keep_pinned: Konservi alpinglitajn afiŝojn
|
||||||
keep_pinned_hint: Ne forigi viajn ajn alpinglitajn mesaĝojn
|
keep_pinned_hint: Ne forigi viajn ajn alpinglitajn mesaĝojn
|
||||||
keep_polls: Konservi enketojn
|
keep_polls: Konservi enketojn
|
||||||
keep_polls_hint: Ne forigi viajn ajn enketojn
|
keep_polls_hint: Ne forigi viajn ajn enketojn
|
||||||
keep_self_bookmark: Konservi mesaĝojn kiun vi legsignis
|
keep_self_bookmark: Konservi afiŝojn kiun vi legsignis
|
||||||
keep_self_bookmark_hint: Ne forigi viajn siajn mesaĝojn se vi legsignis ilin
|
keep_self_bookmark_hint: Ne forigi viajn siajn mesaĝojn se vi legsignis ilin
|
||||||
keep_self_fav: Konservi mesaĝojn kiujn vi stelumis
|
keep_self_fav: Konservi afiŝojn kiujn vi stelumis
|
||||||
keep_self_fav_hint: Ne forigi proprajn mesaĝojn se vi stelumis ilin
|
keep_self_fav_hint: Ne forigi proprajn afiŝojn se vi stelumis ilin
|
||||||
min_age:
|
min_age:
|
||||||
'1209600': 2 semajnoj
|
'1209600': 2 semajnoj
|
||||||
'15778476': 6 monatoj
|
'15778476': 6 monatoj
|
||||||
|
@ -1664,7 +1667,7 @@ eo:
|
||||||
'63113904': 2 jaroj
|
'63113904': 2 jaroj
|
||||||
'7889238': 3 monatoj
|
'7889238': 3 monatoj
|
||||||
min_age_label: Aĝlimo
|
min_age_label: Aĝlimo
|
||||||
min_favs: Konservi mesaĝojn stelumitajn almenaŭ
|
min_favs: Konservi afiŝojn stelumitajn almenaŭ
|
||||||
min_favs_hint: Oni ne forigas viajn afiŝojn, kiuj estas diskonigitaj almenaŭ ĉi tiun nombron da fojoj. Lasu malplena por forigi afiŝojn sendepende de iliaj nombroj da diskonigoj
|
min_favs_hint: Oni ne forigas viajn afiŝojn, kiuj estas diskonigitaj almenaŭ ĉi tiun nombron da fojoj. Lasu malplena por forigi afiŝojn sendepende de iliaj nombroj da diskonigoj
|
||||||
min_reblogs: Konservi diskonitajn mesaĝojn almenau
|
min_reblogs: Konservi diskonitajn mesaĝojn almenau
|
||||||
min_reblogs_hint: Oni ne forigas viajn afiŝojn kiuj estas diskonigitaj almenaŭ ĉi tiun nombron da fojoj. Lasu malplena por forigi afiŝojn sendepende de iliaj nombroj da diskonigoj
|
min_reblogs_hint: Oni ne forigas viajn afiŝojn kiuj estas diskonigitaj almenaŭ ĉi tiun nombron da fojoj. Lasu malplena por forigi afiŝojn sendepende de iliaj nombroj da diskonigoj
|
||||||
|
@ -1738,11 +1741,11 @@ eo:
|
||||||
silence: Vi ankorau povas uzi vian konton, sed nur personoj kiuj jam sekvas vin vidos viajn mesaĝojn en tiu ĉi servilo, kaj vi eble estos ekskluzive el diversaj malkovrigaj funkcioj. Tamen, aliaj ankoraŭ povas permane eksekvi vin.
|
silence: Vi ankorau povas uzi vian konton, sed nur personoj kiuj jam sekvas vin vidos viajn mesaĝojn en tiu ĉi servilo, kaj vi eble estos ekskluzive el diversaj malkovrigaj funkcioj. Tamen, aliaj ankoraŭ povas permane eksekvi vin.
|
||||||
suspend: Vi ne povas uzi vian konton plu, kaj via profilo kaj aliaj datumoj ne estas disponeblaj plu.
|
suspend: Vi ne povas uzi vian konton plu, kaj via profilo kaj aliaj datumoj ne estas disponeblaj plu.
|
||||||
reason: 'Kialo:'
|
reason: 'Kialo:'
|
||||||
statuses: 'Mesaĝoj ripetitaj:'
|
statuses: 'Afiŝoj citataj:'
|
||||||
subject:
|
subject:
|
||||||
delete_statuses: Viaj mesaĝoj ĉe %{acct} forigitas
|
delete_statuses: Viaj afiŝoj ĉe %{acct} estas forigitaj
|
||||||
disable: Via konto %{acct} estas frostigita
|
disable: Via konto %{acct} estas frostigita
|
||||||
mark_statuses_as_sensitive: Viaj mesaĝoj ĉe %{acct} markitas kiel sentemaj
|
mark_statuses_as_sensitive: Viaj afiŝoj ĉe %{acct} estas markitaj kiel tiklemaj
|
||||||
none: Averto por %{acct}
|
none: Averto por %{acct}
|
||||||
sensitive: Viaj mesaĝoj ĉe %{acct} markitas kiel sentemaj malantau ol nun
|
sensitive: Viaj mesaĝoj ĉe %{acct} markitas kiel sentemaj malantau ol nun
|
||||||
silence: Oni limigis vian konton %{acct}
|
silence: Oni limigis vian konton %{acct}
|
||||||
|
|
|
@ -15,17 +15,27 @@ ia:
|
||||||
instance_actor_flash: Iste conto es un agente virtual usate pro representar le servitor mesme e non alcun usator individual. Illo es usate pro le federation e non debe esser suspendite.
|
instance_actor_flash: Iste conto es un agente virtual usate pro representar le servitor mesme e non alcun usator individual. Illo es usate pro le federation e non debe esser suspendite.
|
||||||
last_active: ultime activitate
|
last_active: ultime activitate
|
||||||
link_verified_on: Le proprietate de iste ligamine ha essite verificate le %{date}
|
link_verified_on: Le proprietate de iste ligamine ha essite verificate le %{date}
|
||||||
|
nothing_here: Il ha nihil ci!
|
||||||
|
pin_errors:
|
||||||
|
following: Tu debe primo sequer le persona que tu vole indorsar
|
||||||
posts:
|
posts:
|
||||||
one: Message
|
one: Message
|
||||||
other: Messages
|
other: Messages
|
||||||
posts_tab_heading: Messages
|
posts_tab_heading: Messages
|
||||||
admin:
|
admin:
|
||||||
|
account_actions:
|
||||||
|
action: Exequer action
|
||||||
|
title: Exequer action de moderation sur %{acct}
|
||||||
account_moderation_notes:
|
account_moderation_notes:
|
||||||
create: Lassar un nota
|
create: Lassar un nota
|
||||||
created_msg: Nota de moderation create con successo!
|
created_msg: Nota de moderation create con successo!
|
||||||
|
destroyed_msg: Nota de moderation destruite con successo!
|
||||||
accounts:
|
accounts:
|
||||||
add_email_domain_block: Blocar dominio de e-mail
|
add_email_domain_block: Blocar dominio de e-mail
|
||||||
|
approve: Approbar
|
||||||
|
approved_msg: Demanda de inscription de %{username} approbate con successo
|
||||||
are_you_sure: Es tu secur?
|
are_you_sure: Es tu secur?
|
||||||
|
avatar: Avatar
|
||||||
by_domain: Dominio
|
by_domain: Dominio
|
||||||
change_email:
|
change_email:
|
||||||
changed_msg: Email cambiate con successo!
|
changed_msg: Email cambiate con successo!
|
||||||
|
@ -34,6 +44,11 @@ ia:
|
||||||
new_email: Nove e-mail
|
new_email: Nove e-mail
|
||||||
submit: Cambiar e-mail
|
submit: Cambiar e-mail
|
||||||
title: Cambiar e-mail pro %{username}
|
title: Cambiar e-mail pro %{username}
|
||||||
|
change_role:
|
||||||
|
changed_msg: Rolo cambiate con successo!
|
||||||
|
label: Cambiar rolo
|
||||||
|
no_role: Necun rolo
|
||||||
|
title: Cambiar rolo pro %{username}
|
||||||
confirm: Confirmar
|
confirm: Confirmar
|
||||||
confirmed: Confirmate
|
confirmed: Confirmate
|
||||||
confirming: In confirmation
|
confirming: In confirmation
|
||||||
|
@ -42,25 +57,59 @@ ia:
|
||||||
deleted: Delite
|
deleted: Delite
|
||||||
demote: Degradar
|
demote: Degradar
|
||||||
destroyed_msg: Le datos de %{username} ora es in cauda pro su imminente deletion
|
destroyed_msg: Le datos de %{username} ora es in cauda pro su imminente deletion
|
||||||
|
disable: Gelar
|
||||||
|
disable_sign_in_token_auth: Disactivar le authentication per token in e-mail
|
||||||
disable_two_factor_authentication: Disactivar 2FA
|
disable_two_factor_authentication: Disactivar 2FA
|
||||||
|
disabled: Gelate
|
||||||
display_name: Nomine visibile
|
display_name: Nomine visibile
|
||||||
domain: Dominio
|
domain: Dominio
|
||||||
edit: Modificar
|
edit: Modificar
|
||||||
email: E-mail
|
email: E-mail
|
||||||
email_status: Stato de e-mail
|
email_status: Stato de e-mail
|
||||||
|
enable: Disgelar
|
||||||
|
enable_sign_in_token_auth: Activar le authentication per token in e-mail
|
||||||
enabled: Activate
|
enabled: Activate
|
||||||
|
enabled_msg: Conto de %{username} disgelate con successo
|
||||||
followers: Sequitores
|
followers: Sequitores
|
||||||
|
follows: Sequites
|
||||||
|
header: Capite
|
||||||
|
inbox_url: URL de cassa de entrata
|
||||||
|
invite_request_text: Motivos pro le inscription
|
||||||
|
invited_by: Invitate per
|
||||||
|
ip: IP
|
||||||
|
joined: Inscription
|
||||||
location:
|
location:
|
||||||
all: Toto
|
all: Toto
|
||||||
|
local: Local
|
||||||
|
remote: Remote
|
||||||
title: Location
|
title: Location
|
||||||
|
login_status: Stato de session
|
||||||
|
media_attachments: Annexos multimedial
|
||||||
|
memorialize: Render commemorative
|
||||||
|
memorialized: Conto commemorative
|
||||||
|
memorialized_msg: "%{username} ha essite convertite in un conto commemorative"
|
||||||
moderation:
|
moderation:
|
||||||
active: Active
|
active: Active
|
||||||
all: Toto
|
all: Toto
|
||||||
disabled: Disactivate
|
disabled: Disactivate
|
||||||
|
pending: In tractamento
|
||||||
|
silenced: Limitate
|
||||||
|
suspended: Suspendite
|
||||||
|
title: Moderation
|
||||||
moderation_notes: Notas de moderation
|
moderation_notes: Notas de moderation
|
||||||
most_recent_activity: Activitate plus recente
|
most_recent_activity: Activitate plus recente
|
||||||
most_recent_ip: IP plus recente
|
most_recent_ip: IP plus recente
|
||||||
|
no_account_selected: Necun conto ha essite cambiate perque necun ha essite seligite
|
||||||
|
no_limits_imposed: Necun limite imponite
|
||||||
|
no_role_assigned: Necun rolo assignate
|
||||||
|
not_subscribed: Non subscribite
|
||||||
|
pending: Attende revision
|
||||||
|
perform_full_suspension: Suspender
|
||||||
|
previous_strikes: Previe admonitiones
|
||||||
|
promote: Promover
|
||||||
|
protocol: Protocollo
|
||||||
public: Public
|
public: Public
|
||||||
|
push_subscription_expires: Subscription PuSH expira le
|
||||||
redownload: Actualisar profilo
|
redownload: Actualisar profilo
|
||||||
resend_confirmation:
|
resend_confirmation:
|
||||||
already_confirmed: Iste usator jam es confirmate
|
already_confirmed: Iste usator jam es confirmate
|
||||||
|
@ -237,6 +286,9 @@ ia:
|
||||||
updated_at: Actualisate
|
updated_at: Actualisate
|
||||||
view_profile: Vider profilo
|
view_profile: Vider profilo
|
||||||
roles:
|
roles:
|
||||||
|
assigned_users:
|
||||||
|
one: "%{count} usator"
|
||||||
|
other: "%{count} usatores"
|
||||||
everyone: Permissiones predefinite
|
everyone: Permissiones predefinite
|
||||||
privileges:
|
privileges:
|
||||||
delete_user_data: Deler le datos de usator
|
delete_user_data: Deler le datos de usator
|
||||||
|
|
|
@ -1500,6 +1500,7 @@ ja:
|
||||||
title_actions:
|
title_actions:
|
||||||
delete_statuses: 投稿の削除
|
delete_statuses: 投稿の削除
|
||||||
disable: アカウント凍結
|
disable: アカウント凍結
|
||||||
|
force_cw: 投稿に警告文を追加
|
||||||
mark_statuses_as_sensitive: 投稿を閲覧注意としてマーク
|
mark_statuses_as_sensitive: 投稿を閲覧注意としてマーク
|
||||||
none: 警告
|
none: 警告
|
||||||
sensitive: アカウントを閲覧注意としてマーク
|
sensitive: アカウントを閲覧注意としてマーク
|
||||||
|
|
|
@ -1671,6 +1671,9 @@ pt-BR:
|
||||||
domain_block: Suspensão do servidor (%{target_name})
|
domain_block: Suspensão do servidor (%{target_name})
|
||||||
user_domain_block: Você bloqueou %{target_name}
|
user_domain_block: Você bloqueou %{target_name}
|
||||||
lost_followers: Seguidores perdidos
|
lost_followers: Seguidores perdidos
|
||||||
|
lost_follows: Seguidores perdidos
|
||||||
|
preamble: Você poderá perder seguidores e seguidores quando bloquear um domínio ou quando os seus moderadores decidirem suspender um servidor remoto. Quando isso acontecer, você poderá baixar listas de relações desfeitas, a serem inspecionadas e possivelmente importadas para outro servidor.
|
||||||
|
purged: As informações sobre este servidor foram eliminadas pelos administradores do seu servidor.
|
||||||
type: Evento
|
type: Evento
|
||||||
statuses:
|
statuses:
|
||||||
attached:
|
attached:
|
||||||
|
@ -1765,6 +1768,7 @@ pt-BR:
|
||||||
contrast: Mastodon (Alto contraste)
|
contrast: Mastodon (Alto contraste)
|
||||||
default: Mastodon (Noturno)
|
default: Mastodon (Noturno)
|
||||||
mastodon-light: Mastodon (Diurno)
|
mastodon-light: Mastodon (Diurno)
|
||||||
|
system: Automático (usar tema do sistema)
|
||||||
time:
|
time:
|
||||||
formats:
|
formats:
|
||||||
default: "%H:%M em %d de %b de %Y"
|
default: "%H:%M em %d de %b de %Y"
|
||||||
|
|
|
@ -96,16 +96,17 @@ en:
|
||||||
warn: Hide the filtered content behind a warning mentioning the filter's title
|
warn: Hide the filtered content behind a warning mentioning the filter's title
|
||||||
form_admin_settings:
|
form_admin_settings:
|
||||||
activity_api_enabled: Counts of locally published posts, active users, and new registrations in weekly buckets
|
activity_api_enabled: Counts of locally published posts, active users, and new registrations in weekly buckets
|
||||||
backups_retention_period: Keep generated user archives for the specified number of days.
|
backups_retention_period: Users have the ability to generate archives of their posts to download later. When set to a positive value, these archives will be automatically deleted from your storage after the specified number of days.
|
||||||
bootstrap_timeline_accounts: These accounts will be pinned to the top of new users' follow recommendations.
|
bootstrap_timeline_accounts: These accounts will be pinned to the top of new users' follow recommendations.
|
||||||
closed_registrations_message: Displayed when sign-ups are closed
|
closed_registrations_message: Displayed when sign-ups are closed
|
||||||
content_cache_retention_period: All posts and boosts from other servers will be deleted after the specified number of days. Some posts may not be recoverable. All related bookmarks, favourites and boosts will also be lost and impossible to undo.
|
content_cache_retention_period: All posts from other servers (including boosts and replies) will be deleted after the specified number of days, without regard to any local user interaction with those posts. This includes posts where a local user has marked it as bookmarks or favorites. Private mentions between users from different instances will also be lost and impossible to restore. Use of this setting is intended for special purpose instances and breaks many user expectations when implemented for general purpose use.
|
||||||
custom_css: You can apply custom styles on the web version of Mastodon.
|
custom_css: You can apply custom styles on the web version of Mastodon.
|
||||||
|
delete_content_cache_without_reaction: This feature currently raises concerns about load. We anticipate the emergence of user bots that bookmark all posts. Please consider this carefully, especially on large servers.
|
||||||
enable_local_timeline: While enabling this feature will allow for interaction between like-minded users, it may also strengthen the internal atmosphere; since Mastodon is supposed to have a local timeline, we recommend annotating it in the server introduction if it is to be disabled.
|
enable_local_timeline: While enabling this feature will allow for interaction between like-minded users, it may also strengthen the internal atmosphere; since Mastodon is supposed to have a local timeline, we recommend annotating it in the server introduction if it is to be disabled.
|
||||||
enable_public_unlisted_visibility: If true, your community maybe closed-minded. If turn it false, strongly recommend that you disclose that you have disabled this setting!
|
enable_public_unlisted_visibility: If true, your community maybe closed-minded. If turn it false, strongly recommend that you disclose that you have disabled this setting!
|
||||||
enable_public_visibility: If disabled, public posts will be forcibly replaced with "Local public" or "Unlisted" posts.
|
enable_public_visibility: If disabled, public posts will be forcibly replaced with "Local public" or "Unlisted" posts.
|
||||||
mascot: Overrides the illustration in the advanced web interface.
|
mascot: Overrides the illustration in the advanced web interface.
|
||||||
media_cache_retention_period: Downloaded media files will be deleted after the specified number of days when set to a positive value, and re-downloaded on demand.
|
media_cache_retention_period: Media files from posts made by remote users are cached on your server. When set to a positive value, media will be deleted after the specified number of days. If the media data is requested after it is deleted, it will be re-downloaded, if the source content is still available. Due to restrictions on how often link preview cards poll third-party sites, it is recommended to set this value to at least 14 days, or link preview cards will not be updated on demand before that time.
|
||||||
peers_api_enabled: A list of domain names this server has encountered in the fediverse. No data is included here about whether you federate with a given server, just that your server knows about it. This is used by services that collect statistics on federation in a general sense.
|
peers_api_enabled: A list of domain names this server has encountered in the fediverse. No data is included here about whether you federate with a given server, just that your server knows about it. This is used by services that collect statistics on federation in a general sense.
|
||||||
profile_directory: The profile directory lists all users who have opted-in to be discoverable.
|
profile_directory: The profile directory lists all users who have opted-in to be discoverable.
|
||||||
receive_other_servers_emoji_reaction: It can cause load. It is recommended to enable it only when there are few people.
|
receive_other_servers_emoji_reaction: It can cause load. It is recommended to enable it only when there are few people.
|
||||||
|
@ -354,7 +355,7 @@ en:
|
||||||
bootstrap_timeline_accounts: Always recommend these accounts to new users
|
bootstrap_timeline_accounts: Always recommend these accounts to new users
|
||||||
check_lts_version_only: Check kmyblue LTS version only when update check
|
check_lts_version_only: Check kmyblue LTS version only when update check
|
||||||
closed_registrations_message: Custom message when sign-ups are not available
|
closed_registrations_message: Custom message when sign-ups are not available
|
||||||
content_cache_retention_period: Content cache retention period
|
content_cache_retention_period: Remote content retention period
|
||||||
custom_css: Custom CSS
|
custom_css: Custom CSS
|
||||||
delete_content_cache_without_reaction: Exclude favorite/bookmarked posts from deletion
|
delete_content_cache_without_reaction: Exclude favorite/bookmarked posts from deletion
|
||||||
enable_emoji_reaction: Enable emoji reaction function
|
enable_emoji_reaction: Enable emoji reaction function
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue