Change embedded posts to use web UI (#31766)

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
Eugen Rochko 2024-09-12 11:41:19 +02:00 committed by GitHub
parent f2a92c2d22
commit 3d46f47817
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
115 changed files with 710 additions and 1928 deletions

View file

@ -19,14 +19,6 @@ module AccountsHelper
end end
end end
def account_action_button(account)
return if account.memorial? || account.moved?
link_to ActivityPub::TagManager.instance.url_for(account), class: 'button logo-button', target: '_new' do
safe_join([logo_as_symbol, t('accounts.follow')])
end
end
def account_formatted_stat(value) def account_formatted_stat(value)
number_to_human(value, precision: 3, strip_insignificant_zeros: true) number_to_human(value, precision: 3, strip_insignificant_zeros: true)
end end

View file

@ -57,26 +57,6 @@ module MediaComponentHelper
end end
end end
def render_card_component(status, **options)
component_params = {
sensitive: sensitive_viewer?(status, current_account),
card: serialize_status_card(status).as_json,
}.merge(**options)
react_component :card, component_params
end
def render_poll_component(status, **options)
component_params = {
disabled: true,
poll: serialize_status_poll(status).as_json,
}.merge(**options)
react_component :poll, component_params do
render partial: 'statuses/poll', locals: { status: status, poll: status.preloadable_poll, autoplay: prefers_autoplay? }
end
end
private private
def serialize_media_attachment(attachment) def serialize_media_attachment(attachment)
@ -86,22 +66,6 @@ module MediaComponentHelper
) )
end end
def serialize_status_card(status)
ActiveModelSerializers::SerializableResource.new(
status.preview_card,
serializer: REST::PreviewCardSerializer
)
end
def serialize_status_poll(status)
ActiveModelSerializers::SerializableResource.new(
status.preloadable_poll,
serializer: REST::PollSerializer,
scope: current_user,
scope_name: :current_user
)
end
def sensitive_viewer?(status, account) def sensitive_viewer?(status, account)
if !account.nil? && account.id == status.account_id if !account.nil? && account.id == status.account_id
status.sensitive status.sensitive

View file

@ -0,0 +1,74 @@
import './public-path';
import { createRoot } from 'react-dom/client';
import { afterInitialRender } from 'mastodon/../hooks/useRenderSignal';
import { start } from '../mastodon/common';
import { Status } from '../mastodon/features/standalone/status';
import { loadPolyfills } from '../mastodon/polyfills';
import ready from '../mastodon/ready';
start();
function loaded() {
const mountNode = document.getElementById('mastodon-status');
if (mountNode) {
const attr = mountNode.getAttribute('data-props');
if (!attr) return;
const props = JSON.parse(attr) as { id: string; locale: string };
const root = createRoot(mountNode);
root.render(<Status {...props} />);
}
}
function main() {
ready(loaded).catch((error: unknown) => {
console.error(error);
});
}
loadPolyfills()
.then(main)
.catch((error: unknown) => {
console.error(error);
});
interface SetHeightMessage {
type: 'setHeight';
id: string;
height: number;
}
function isSetHeightMessage(data: unknown): data is SetHeightMessage {
if (
data &&
typeof data === 'object' &&
'type' in data &&
data.type === 'setHeight'
)
return true;
else return false;
}
window.addEventListener('message', (e) => {
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- typings are not correct, it can be null in very rare cases
if (!e.data || !isSetHeightMessage(e.data) || !window.parent) return;
const data = e.data;
// We use a timeout to allow for the React page to render before calculating the height
afterInitialRender(() => {
window.parent.postMessage(
{
type: 'setHeight',
id: data.id,
height: document.getElementsByTagName('html')[0]?.scrollHeight,
},
'*',
);
});
});

View file

@ -37,43 +37,6 @@ const messages = defineMessages({
}, },
}); });
interface SetHeightMessage {
type: 'setHeight';
id: string;
height: number;
}
function isSetHeightMessage(data: unknown): data is SetHeightMessage {
if (
data &&
typeof data === 'object' &&
'type' in data &&
data.type === 'setHeight'
)
return true;
else return false;
}
window.addEventListener('message', (e) => {
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- typings are not correct, it can be null in very rare cases
if (!e.data || !isSetHeightMessage(e.data) || !window.parent) return;
const data = e.data;
ready(() => {
window.parent.postMessage(
{
type: 'setHeight',
id: data.id,
height: document.getElementsByTagName('html')[0]?.scrollHeight,
},
'*',
);
}).catch((e: unknown) => {
console.error('Error in setHeightMessage postMessage', e);
});
});
function loaded() { function loaded() {
const { messages: localeData } = getLocale(); const { messages: localeData } = getLocale();

View file

@ -0,0 +1,32 @@
// This hook allows a component to signal that it's done rendering in a way that
// can be used by e.g. our embed code to determine correct iframe height
let renderSignalReceived = false;
type Callback = () => void;
let onInitialRender: Callback;
export const afterInitialRender = (callback: Callback) => {
if (renderSignalReceived) {
callback();
} else {
onInitialRender = callback;
}
};
export const useRenderSignal = () => {
return () => {
if (renderSignalReceived) {
return;
}
renderSignalReceived = true;
if (typeof onInitialRender !== 'undefined') {
window.requestAnimationFrame(() => {
onInitialRender();
});
}
};
};

View file

@ -49,11 +49,13 @@ export function fetchStatusRequest(id, skipLoading) {
}; };
} }
export function fetchStatus(id, forceFetch = false) { export function fetchStatus(id, forceFetch = false, alsoFetchContext = true) {
return (dispatch, getState) => { return (dispatch, getState) => {
const skipLoading = !forceFetch && getState().getIn(['statuses', id], null) !== null; const skipLoading = !forceFetch && getState().getIn(['statuses', id], null) !== null;
dispatch(fetchContext(id)); if (alsoFetchContext) {
dispatch(fetchContext(id));
}
if (skipLoading) { if (skipLoading) {
return; return;

View file

@ -7,6 +7,13 @@ export const WordmarkLogo: React.FC = () => (
</svg> </svg>
); );
export const IconLogo: React.FC = () => (
<svg viewBox='0 0 79 79' className='logo logo--icon' role='img'>
<title>Mastodon</title>
<use xlinkHref='#logo-symbol-icon' />
</svg>
);
export const SymbolLogo: React.FC = () => ( export const SymbolLogo: React.FC = () => (
<img src={logo} alt='Mastodon' className='logo logo--icon' /> <img src={logo} alt='Mastodon' className='logo logo--icon' />
); );

View file

@ -2,14 +2,12 @@ import PropTypes from 'prop-types';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { IconLogo } from 'mastodon/components/logo';
import { AuthorLink } from 'mastodon/features/explore/components/author_link'; import { AuthorLink } from 'mastodon/features/explore/components/author_link';
export const MoreFromAuthor = ({ accountId }) => ( export const MoreFromAuthor = ({ accountId }) => (
<div className='more-from-author'> <div className='more-from-author'>
<svg viewBox='0 0 79 79' className='logo logo--icon' role='img'> <IconLogo />
<use xlinkHref='#logo-symbol-icon' />
</svg>
<FormattedMessage id='link_preview.more_from_author' defaultMessage='More from {name}' values={{ name: <AuthorLink accountId={accountId} /> }} /> <FormattedMessage id='link_preview.more_from_author' defaultMessage='More from {name}' values={{ name: <AuthorLink accountId={accountId} /> }} />
</div> </div>
); );

View file

@ -0,0 +1,87 @@
/* eslint-disable @typescript-eslint/no-unsafe-return,
@typescript-eslint/no-explicit-any,
@typescript-eslint/no-unsafe-assignment */
import { useEffect, useCallback } from 'react';
import { Provider } from 'react-redux';
import { useRenderSignal } from 'mastodon/../hooks/useRenderSignal';
import { fetchStatus, toggleStatusSpoilers } from 'mastodon/actions/statuses';
import { hydrateStore } from 'mastodon/actions/store';
import { Router } from 'mastodon/components/router';
import { DetailedStatus } from 'mastodon/features/status/components/detailed_status';
import initialState from 'mastodon/initial_state';
import { IntlProvider } from 'mastodon/locales';
import { makeGetStatus, makeGetPictureInPicture } from 'mastodon/selectors';
import { store, useAppSelector, useAppDispatch } from 'mastodon/store';
const getStatus = makeGetStatus() as unknown as (arg0: any, arg1: any) => any;
const getPictureInPicture = makeGetPictureInPicture() as unknown as (
arg0: any,
arg1: any,
) => any;
const Embed: React.FC<{ id: string }> = ({ id }) => {
const status = useAppSelector((state) => getStatus(state, { id }));
const pictureInPicture = useAppSelector((state) =>
getPictureInPicture(state, { id }),
);
const domain = useAppSelector((state) => state.meta.get('domain'));
const dispatch = useAppDispatch();
const dispatchRenderSignal = useRenderSignal();
useEffect(() => {
dispatch(fetchStatus(id, false, false));
}, [dispatch, id]);
const handleToggleHidden = useCallback(() => {
dispatch(toggleStatusSpoilers(id));
}, [dispatch, id]);
// This allows us to calculate the correct page height for embeds
if (status) {
dispatchRenderSignal();
}
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
const permalink = status?.get('url') as string;
return (
<div className='embed'>
<DetailedStatus
status={status}
domain={domain}
pictureInPicture={pictureInPicture}
onToggleHidden={handleToggleHidden}
withLogo
/>
<a
className='embed__overlay'
href={permalink}
target='_blank'
rel='noreferrer noopener'
aria-label=''
/>
</div>
);
};
export const Status: React.FC<{ id: string }> = ({ id }) => {
useEffect(() => {
if (initialState) {
store.dispatch(hydrateStore(initialState));
}
}, []);
return (
<IntlProvider>
<Provider store={store}>
<Router>
<Embed id={id} />
</Router>
</Provider>
</IntlProvider>
);
};

View file

@ -1,322 +0,0 @@
import PropTypes from 'prop-types';
import { FormattedDate, FormattedMessage } from 'react-intl';
import classNames from 'classnames';
import { Link, withRouter } from 'react-router-dom';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react';
import { AnimatedNumber } from 'mastodon/components/animated_number';
import { ContentWarning } from 'mastodon/components/content_warning';
import EditedTimestamp from 'mastodon/components/edited_timestamp';
import { getHashtagBarForStatus } from 'mastodon/components/hashtag_bar';
import { Icon } from 'mastodon/components/icon';
import PictureInPicturePlaceholder from 'mastodon/components/picture_in_picture_placeholder';
import { VisibilityIcon } from 'mastodon/components/visibility_icon';
import { WithRouterPropTypes } from 'mastodon/utils/react_router';
import { Avatar } from '../../../components/avatar';
import { DisplayName } from '../../../components/display_name';
import MediaGallery from '../../../components/media_gallery';
import StatusContent from '../../../components/status_content';
import Audio from '../../audio';
import scheduleIdleTask from '../../ui/util/schedule_idle_task';
import Video from '../../video';
import Card from './card';
class DetailedStatus extends ImmutablePureComponent {
static propTypes = {
status: ImmutablePropTypes.map,
onOpenMedia: PropTypes.func.isRequired,
onOpenVideo: PropTypes.func.isRequired,
onToggleHidden: PropTypes.func.isRequired,
onTranslate: PropTypes.func.isRequired,
measureHeight: PropTypes.bool,
onHeightChange: PropTypes.func,
domain: PropTypes.string.isRequired,
compact: PropTypes.bool,
showMedia: PropTypes.bool,
pictureInPicture: ImmutablePropTypes.contains({
inUse: PropTypes.bool,
available: PropTypes.bool,
}),
onToggleMediaVisibility: PropTypes.func,
...WithRouterPropTypes,
};
state = {
height: null,
};
handleAccountClick = (e) => {
if (e.button === 0 && !(e.ctrlKey || e.metaKey) && this.props.history) {
e.preventDefault();
this.props.history.push(`/@${this.props.status.getIn(['account', 'acct'])}`);
}
e.stopPropagation();
};
handleOpenVideo = (options) => {
this.props.onOpenVideo(this.props.status.getIn(['media_attachments', 0]), options);
};
handleExpandedToggle = () => {
this.props.onToggleHidden(this.props.status);
};
_measureHeight (heightJustChanged) {
if (this.props.measureHeight && this.node) {
scheduleIdleTask(() => this.node && this.setState({ height: Math.ceil(this.node.scrollHeight) + 1 }));
if (this.props.onHeightChange && heightJustChanged) {
this.props.onHeightChange();
}
}
}
setRef = c => {
this.node = c;
this._measureHeight();
};
componentDidUpdate (prevProps, prevState) {
this._measureHeight(prevState.height !== this.state.height);
}
handleModalLink = e => {
e.preventDefault();
let href;
if (e.target.nodeName !== 'A') {
href = e.target.parentNode.href;
} else {
href = e.target.href;
}
window.open(href, 'mastodon-intent', 'width=445,height=600,resizable=no,menubar=no,status=no,scrollbars=yes');
};
handleTranslate = () => {
const { onTranslate, status } = this.props;
onTranslate(status);
};
_properStatus () {
const { status } = this.props;
if (status.get('reblog', null) !== null && typeof status.get('reblog') === 'object') {
return status.get('reblog');
} else {
return status;
}
}
getAttachmentAspectRatio () {
const attachments = this._properStatus().get('media_attachments');
if (attachments.getIn([0, 'type']) === 'video') {
return `${attachments.getIn([0, 'meta', 'original', 'width'])} / ${attachments.getIn([0, 'meta', 'original', 'height'])}`;
} else if (attachments.getIn([0, 'type']) === 'audio') {
return '16 / 9';
} else {
return (attachments.size === 1 && attachments.getIn([0, 'meta', 'small', 'aspect'])) ? attachments.getIn([0, 'meta', 'small', 'aspect']) : '3 / 2';
}
}
render () {
const status = this._properStatus();
const outerStyle = { boxSizing: 'border-box' };
const { compact, pictureInPicture } = this.props;
if (!status) {
return null;
}
let media = '';
let applicationLink = '';
let reblogLink = '';
let favouriteLink = '';
if (this.props.measureHeight) {
outerStyle.height = `${this.state.height}px`;
}
const language = status.getIn(['translation', 'language']) || status.get('language');
if (pictureInPicture.get('inUse')) {
media = <PictureInPicturePlaceholder aspectRatio={this.getAttachmentAspectRatio()} />;
} else if (status.get('media_attachments').size > 0) {
if (status.getIn(['media_attachments', 0, 'type']) === 'audio') {
const attachment = status.getIn(['media_attachments', 0]);
const description = attachment.getIn(['translation', 'description']) || attachment.get('description');
media = (
<Audio
src={attachment.get('url')}
alt={description}
lang={language}
duration={attachment.getIn(['meta', 'original', 'duration'], 0)}
poster={attachment.get('preview_url') || status.getIn(['account', 'avatar_static'])}
backgroundColor={attachment.getIn(['meta', 'colors', 'background'])}
foregroundColor={attachment.getIn(['meta', 'colors', 'foreground'])}
accentColor={attachment.getIn(['meta', 'colors', 'accent'])}
sensitive={status.get('sensitive')}
visible={this.props.showMedia}
blurhash={attachment.get('blurhash')}
height={150}
onToggleVisibility={this.props.onToggleMediaVisibility}
/>
);
} else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {
const attachment = status.getIn(['media_attachments', 0]);
const description = attachment.getIn(['translation', 'description']) || attachment.get('description');
media = (
<Video
preview={attachment.get('preview_url')}
frameRate={attachment.getIn(['meta', 'original', 'frame_rate'])}
aspectRatio={`${attachment.getIn(['meta', 'original', 'width'])} / ${attachment.getIn(['meta', 'original', 'height'])}`}
blurhash={attachment.get('blurhash')}
src={attachment.get('url')}
alt={description}
lang={language}
width={300}
height={150}
onOpenVideo={this.handleOpenVideo}
sensitive={status.get('sensitive')}
visible={this.props.showMedia}
onToggleVisibility={this.props.onToggleMediaVisibility}
/>
);
} else {
media = (
<MediaGallery
standalone
sensitive={status.get('sensitive')}
media={status.get('media_attachments')}
lang={language}
height={300}
onOpenMedia={this.props.onOpenMedia}
visible={this.props.showMedia}
onToggleVisibility={this.props.onToggleMediaVisibility}
/>
);
}
} else if (status.get('spoiler_text').length === 0) {
media = <Card sensitive={status.get('sensitive')} onOpenMedia={this.props.onOpenMedia} card={status.get('card', null)} />;
}
if (status.get('application')) {
applicationLink = <>·<a className='detailed-status__application' href={status.getIn(['application', 'website'])} target='_blank' rel='noopener noreferrer'>{status.getIn(['application', 'name'])}</a></>;
}
const visibilityLink = <>·<VisibilityIcon visibility={status.get('visibility')} /></>;
if (['private', 'direct'].includes(status.get('visibility'))) {
reblogLink = '';
} else if (this.props.history) {
reblogLink = (
<Link to={`/@${status.getIn(['account', 'acct'])}/${status.get('id')}/reblogs`} className='detailed-status__link'>
<span className='detailed-status__reblogs'>
<AnimatedNumber value={status.get('reblogs_count')} />
</span>
<FormattedMessage id='status.reblogs' defaultMessage='{count, plural, one {boost} other {boosts}}' values={{ count: status.get('reblogs_count') }} />
</Link>
);
} else {
reblogLink = (
<a href={`/interact/${status.get('id')}?type=reblog`} className='detailed-status__link' onClick={this.handleModalLink}>
<span className='detailed-status__reblogs'>
<AnimatedNumber value={status.get('reblogs_count')} />
</span>
<FormattedMessage id='status.reblogs' defaultMessage='{count, plural, one {boost} other {boosts}}' values={{ count: status.get('reblogs_count') }} />
</a>
);
}
if (this.props.history) {
favouriteLink = (
<Link to={`/@${status.getIn(['account', 'acct'])}/${status.get('id')}/favourites`} className='detailed-status__link'>
<span className='detailed-status__favorites'>
<AnimatedNumber value={status.get('favourites_count')} />
</span>
<FormattedMessage id='status.favourites' defaultMessage='{count, plural, one {favorite} other {favorites}}' values={{ count: status.get('favourites_count') }} />
</Link>
);
} else {
favouriteLink = (
<a href={`/interact/${status.get('id')}?type=favourite`} className='detailed-status__link' onClick={this.handleModalLink}>
<span className='detailed-status__favorites'>
<AnimatedNumber value={status.get('favourites_count')} />
</span>
<FormattedMessage id='status.favourites' defaultMessage='{count, plural, one {favorite} other {favorites}}' values={{ count: status.get('favourites_count') }} />
</a>
);
}
const {statusContentProps, hashtagBar} = getHashtagBarForStatus(status);
const expanded = !status.get('hidden') || status.get('spoiler_text').length === 0;
return (
<div style={outerStyle}>
<div ref={this.setRef} className={classNames('detailed-status', { compact })}>
{status.get('visibility') === 'direct' && (
<div className='status__prepend'>
<div className='status__prepend-icon-wrapper'><Icon id='at' icon={AlternateEmailIcon} className='status__prepend-icon' /></div>
<FormattedMessage id='status.direct_indicator' defaultMessage='Private mention' />
</div>
)}
<a href={`/@${status.getIn(['account', 'acct'])}`} data-hover-card-account={status.getIn(['account', 'id'])} onClick={this.handleAccountClick} className='detailed-status__display-name'>
<div className='detailed-status__display-avatar'><Avatar account={status.get('account')} size={46} /></div>
<DisplayName account={status.get('account')} localDomain={this.props.domain} />
</a>
{status.get('spoiler_text').length > 0 && <ContentWarning text={status.getIn(['translation', 'spoilerHtml']) || status.get('spoilerHtml')} expanded={expanded} onClick={this.handleExpandedToggle} />}
{expanded && (
<>
<StatusContent
status={status}
onTranslate={this.handleTranslate}
{...statusContentProps}
/>
{media}
{hashtagBar}
</>
)}
<div className='detailed-status__meta'>
<div className='detailed-status__meta__line'>
<a className='detailed-status__datetime' href={`/@${status.getIn(['account', 'acct'])}/${status.get('id')}`} target='_blank' rel='noopener noreferrer'>
<FormattedDate value={new Date(status.get('created_at'))} year='numeric' month='short' day='2-digit' hour='2-digit' minute='2-digit' />
</a>
{visibilityLink}
{applicationLink}
</div>
{status.get('edited_at') && <div className='detailed-status__meta__line'><EditedTimestamp statusId={status.get('id')} timestamp={status.get('edited_at')} /></div>}
<div className='detailed-status__meta__line'>
{reblogLink}
{reblogLink && <>·</>}
{favouriteLink}
</div>
</div>
</div>
</div>
);
}
}
export default withRouter(DetailedStatus);

View file

@ -0,0 +1,390 @@
/* eslint-disable @typescript-eslint/no-unsafe-member-access,
@typescript-eslint/no-unsafe-call,
@typescript-eslint/no-explicit-any,
@typescript-eslint/no-unsafe-assignment */
import type { CSSProperties } from 'react';
import { useState, useRef, useCallback } from 'react';
import { FormattedDate, FormattedMessage } from 'react-intl';
import classNames from 'classnames';
import { Link } from 'react-router-dom';
import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react';
import { AnimatedNumber } from 'mastodon/components/animated_number';
import { ContentWarning } from 'mastodon/components/content_warning';
import EditedTimestamp from 'mastodon/components/edited_timestamp';
import type { StatusLike } from 'mastodon/components/hashtag_bar';
import { getHashtagBarForStatus } from 'mastodon/components/hashtag_bar';
import { Icon } from 'mastodon/components/icon';
import { IconLogo } from 'mastodon/components/logo';
import PictureInPicturePlaceholder from 'mastodon/components/picture_in_picture_placeholder';
import { VisibilityIcon } from 'mastodon/components/visibility_icon';
import { Avatar } from '../../../components/avatar';
import { DisplayName } from '../../../components/display_name';
import MediaGallery from '../../../components/media_gallery';
import StatusContent from '../../../components/status_content';
import Audio from '../../audio';
import scheduleIdleTask from '../../ui/util/schedule_idle_task';
import Video from '../../video';
import Card from './card';
interface VideoModalOptions {
startTime: number;
autoPlay?: boolean;
defaultVolume: number;
componentIndex: number;
}
export const DetailedStatus: React.FC<{
status: any;
onOpenMedia?: (status: any, index: number, lang: string) => void;
onOpenVideo?: (status: any, lang: string, options: VideoModalOptions) => void;
onTranslate?: (status: any) => void;
measureHeight?: boolean;
onHeightChange?: () => void;
domain: string;
showMedia?: boolean;
withLogo?: boolean;
pictureInPicture: any;
onToggleHidden?: (status: any) => void;
onToggleMediaVisibility?: () => void;
}> = ({
status,
onOpenMedia,
onOpenVideo,
onTranslate,
measureHeight,
onHeightChange,
domain,
showMedia,
withLogo,
pictureInPicture,
onToggleMediaVisibility,
onToggleHidden,
}) => {
const properStatus = status?.get('reblog') ?? status;
const [height, setHeight] = useState(0);
const nodeRef = useRef<HTMLDivElement>();
const handleOpenVideo = useCallback(
(options: VideoModalOptions) => {
const lang = (status.getIn(['translation', 'language']) ||
status.get('language')) as string;
if (onOpenVideo)
onOpenVideo(status.getIn(['media_attachments', 0]), lang, options);
},
[onOpenVideo, status],
);
const handleExpandedToggle = useCallback(() => {
if (onToggleHidden) onToggleHidden(status);
}, [onToggleHidden, status]);
const _measureHeight = useCallback(
(heightJustChanged?: boolean) => {
if (measureHeight && nodeRef.current) {
scheduleIdleTask(() => {
if (nodeRef.current)
setHeight(Math.ceil(nodeRef.current.scrollHeight) + 1);
});
if (onHeightChange && heightJustChanged) {
onHeightChange();
}
}
},
[onHeightChange, measureHeight, setHeight],
);
const handleRef = useCallback(
(c: HTMLDivElement) => {
nodeRef.current = c;
_measureHeight();
},
[_measureHeight],
);
const handleTranslate = useCallback(() => {
if (onTranslate) onTranslate(status);
}, [onTranslate, status]);
if (!properStatus) {
return null;
}
let media;
let applicationLink;
let reblogLink;
let attachmentAspectRatio;
if (properStatus.get('media_attachments').getIn([0, 'type']) === 'video') {
attachmentAspectRatio = `${properStatus.get('media_attachments').getIn([0, 'meta', 'original', 'width'])} / ${properStatus.get('media_attachments').getIn([0, 'meta', 'original', 'height'])}`;
} else if (
properStatus.get('media_attachments').getIn([0, 'type']) === 'audio'
) {
attachmentAspectRatio = '16 / 9';
} else {
attachmentAspectRatio =
properStatus.get('media_attachments').size === 1 &&
properStatus
.get('media_attachments')
.getIn([0, 'meta', 'small', 'aspect'])
? properStatus
.get('media_attachments')
.getIn([0, 'meta', 'small', 'aspect'])
: '3 / 2';
}
const outerStyle = { boxSizing: 'border-box' } as CSSProperties;
if (measureHeight) {
outerStyle.height = height;
}
const language =
status.getIn(['translation', 'language']) || status.get('language');
if (pictureInPicture.get('inUse')) {
media = <PictureInPicturePlaceholder aspectRatio={attachmentAspectRatio} />;
} else if (status.get('media_attachments').size > 0) {
if (status.getIn(['media_attachments', 0, 'type']) === 'audio') {
const attachment = status.getIn(['media_attachments', 0]);
const description =
attachment.getIn(['translation', 'description']) ||
attachment.get('description');
media = (
<Audio
src={attachment.get('url')}
alt={description}
lang={language}
duration={attachment.getIn(['meta', 'original', 'duration'], 0)}
poster={
attachment.get('preview_url') ||
status.getIn(['account', 'avatar_static'])
}
backgroundColor={attachment.getIn(['meta', 'colors', 'background'])}
foregroundColor={attachment.getIn(['meta', 'colors', 'foreground'])}
accentColor={attachment.getIn(['meta', 'colors', 'accent'])}
sensitive={status.get('sensitive')}
visible={showMedia}
blurhash={attachment.get('blurhash')}
height={150}
onToggleVisibility={onToggleMediaVisibility}
/>
);
} else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {
const attachment = status.getIn(['media_attachments', 0]);
const description =
attachment.getIn(['translation', 'description']) ||
attachment.get('description');
media = (
<Video
preview={attachment.get('preview_url')}
frameRate={attachment.getIn(['meta', 'original', 'frame_rate'])}
aspectRatio={`${attachment.getIn(['meta', 'original', 'width'])} / ${attachment.getIn(['meta', 'original', 'height'])}`}
blurhash={attachment.get('blurhash')}
src={attachment.get('url')}
alt={description}
lang={language}
width={300}
height={150}
onOpenVideo={handleOpenVideo}
sensitive={status.get('sensitive')}
visible={showMedia}
onToggleVisibility={onToggleMediaVisibility}
/>
);
} else {
media = (
<MediaGallery
standalone
sensitive={status.get('sensitive')}
media={status.get('media_attachments')}
lang={language}
height={300}
onOpenMedia={onOpenMedia}
visible={showMedia}
onToggleVisibility={onToggleMediaVisibility}
/>
);
}
} else if (status.get('spoiler_text').length === 0) {
media = (
<Card
sensitive={status.get('sensitive')}
onOpenMedia={onOpenMedia}
card={status.get('card', null)}
/>
);
}
if (status.get('application')) {
applicationLink = (
<>
·
<a
className='detailed-status__application'
href={status.getIn(['application', 'website'])}
target='_blank'
rel='noopener noreferrer'
>
{status.getIn(['application', 'name'])}
</a>
</>
);
}
const visibilityLink = (
<>
·<VisibilityIcon visibility={status.get('visibility')} />
</>
);
if (['private', 'direct'].includes(status.get('visibility') as string)) {
reblogLink = '';
} else {
reblogLink = (
<Link
to={`/@${status.getIn(['account', 'acct'])}/${status.get('id')}/reblogs`}
className='detailed-status__link'
>
<span className='detailed-status__reblogs'>
<AnimatedNumber value={status.get('reblogs_count')} />
</span>
<FormattedMessage
id='status.reblogs'
defaultMessage='{count, plural, one {boost} other {boosts}}'
values={{ count: status.get('reblogs_count') }}
/>
</Link>
);
}
const favouriteLink = (
<Link
to={`/@${status.getIn(['account', 'acct'])}/${status.get('id')}/favourites`}
className='detailed-status__link'
>
<span className='detailed-status__favorites'>
<AnimatedNumber value={status.get('favourites_count')} />
</span>
<FormattedMessage
id='status.favourites'
defaultMessage='{count, plural, one {favorite} other {favorites}}'
values={{ count: status.get('favourites_count') }}
/>
</Link>
);
const { statusContentProps, hashtagBar } = getHashtagBarForStatus(
status as StatusLike,
);
const expanded =
!status.get('hidden') || status.get('spoiler_text').length === 0;
return (
<div style={outerStyle}>
<div ref={handleRef} className={classNames('detailed-status')}>
{status.get('visibility') === 'direct' && (
<div className='status__prepend'>
<div className='status__prepend-icon-wrapper'>
<Icon
id='at'
icon={AlternateEmailIcon}
className='status__prepend-icon'
/>
</div>
<FormattedMessage
id='status.direct_indicator'
defaultMessage='Private mention'
/>
</div>
)}
<Link
to={`/@${status.getIn(['account', 'acct'])}`}
data-hover-card-account={status.getIn(['account', 'id'])}
className='detailed-status__display-name'
>
<div className='detailed-status__display-avatar'>
<Avatar account={status.get('account')} size={46} />
</div>
<DisplayName account={status.get('account')} localDomain={domain} />
{withLogo && (
<>
<div className='spacer' />
<IconLogo />
</>
)}
</Link>
{status.get('spoiler_text').length > 0 && (
<ContentWarning
text={
status.getIn(['translation', 'spoilerHtml']) ||
status.get('spoilerHtml')
}
expanded={expanded}
onClick={handleExpandedToggle}
/>
)}
{expanded && (
<>
<StatusContent
status={status}
onTranslate={handleTranslate}
{...(statusContentProps as any)}
/>
{media}
{hashtagBar}
</>
)}
<div className='detailed-status__meta'>
<div className='detailed-status__meta__line'>
<a
className='detailed-status__datetime'
href={`/@${status.getIn(['account', 'acct'])}/${status.get('id')}`}
target='_blank'
rel='noopener noreferrer'
>
<FormattedDate
value={new Date(status.get('created_at') as string)}
year='numeric'
month='short'
day='2-digit'
hour='2-digit'
minute='2-digit'
/>
</a>
{visibilityLink}
{applicationLink}
</div>
{status.get('edited_at') && (
<div className='detailed-status__meta__line'>
<EditedTimestamp
statusId={status.get('id')}
timestamp={status.get('edited_at')}
/>
</div>
)}
<div className='detailed-status__meta__line'>
{reblogLink}
{reblogLink && <>·</>}
{favouriteLink}
</div>
</div>
</div>
</div>
);
};

View file

@ -1,140 +0,0 @@
import { injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { showAlertForError } from '../../../actions/alerts';
import { initBlockModal } from '../../../actions/blocks';
import {
replyCompose,
mentionCompose,
directCompose,
} from '../../../actions/compose';
import {
toggleReblog,
toggleFavourite,
pin,
unpin,
} from '../../../actions/interactions';
import { openModal } from '../../../actions/modal';
import { initMuteModal } from '../../../actions/mutes';
import { initReport } from '../../../actions/reports';
import {
muteStatus,
unmuteStatus,
deleteStatus,
toggleStatusSpoilers,
} from '../../../actions/statuses';
import { deleteModal } from '../../../initial_state';
import { makeGetStatus, makeGetPictureInPicture } from '../../../selectors';
import DetailedStatus from '../components/detailed_status';
const makeMapStateToProps = () => {
const getStatus = makeGetStatus();
const getPictureInPicture = makeGetPictureInPicture();
const mapStateToProps = (state, props) => ({
status: getStatus(state, props),
domain: state.getIn(['meta', 'domain']),
pictureInPicture: getPictureInPicture(state, props),
});
return mapStateToProps;
};
const mapDispatchToProps = (dispatch) => ({
onReply (status) {
dispatch((_, getState) => {
let state = getState();
if (state.getIn(['compose', 'text']).trim().length !== 0) {
dispatch(openModal({ modalType: 'CONFIRM_REPLY', modalProps: { status } }));
} else {
dispatch(replyCompose(status));
}
});
},
onReblog (status, e) {
dispatch(toggleReblog(status.get('id'), e.shiftKey));
},
onFavourite (status) {
dispatch(toggleFavourite(status.get('id')));
},
onPin (status) {
if (status.get('pinned')) {
dispatch(unpin(status));
} else {
dispatch(pin(status));
}
},
onEmbed (status) {
dispatch(openModal({
modalType: 'EMBED',
modalProps: {
id: status.get('id'),
onError: error => dispatch(showAlertForError(error)),
},
}));
},
onDelete (status, withRedraft = false) {
if (!deleteModal) {
dispatch(deleteStatus(status.get('id'), withRedraft));
} else {
dispatch(openModal({ modalType: 'CONFIRM_DELETE_STATUS', modalProps: { statusId: status.get('id'), withRedraft } }));
}
},
onDirect (account) {
dispatch(directCompose(account));
},
onMention (account) {
dispatch(mentionCompose(account));
},
onOpenMedia (media, index, lang) {
dispatch(openModal({
modalType: 'MEDIA',
modalProps: { media, index, lang },
}));
},
onOpenVideo (media, lang, options) {
dispatch(openModal({
modalType: 'VIDEO',
modalProps: { media, lang, options },
}));
},
onBlock (status) {
const account = status.get('account');
dispatch(initBlockModal(account));
},
onReport (status) {
dispatch(initReport(status.get('account'), status));
},
onMute (account) {
dispatch(initMuteModal(account));
},
onMuteConversation (status) {
if (status.get('muted')) {
dispatch(unmuteStatus(status.get('id')));
} else {
dispatch(muteStatus(status.get('id')));
}
},
onToggleHidden (status) {
dispatch(toggleStatusSpoilers(status.get('id')));
},
});
export default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(DetailedStatus));

View file

@ -69,7 +69,7 @@ import Column from '../ui/components/column';
import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../ui/util/fullscreen'; import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../ui/util/fullscreen';
import ActionBar from './components/action_bar'; import ActionBar from './components/action_bar';
import DetailedStatus from './components/detailed_status'; import { DetailedStatus } from './components/detailed_status';
const messages = defineMessages({ const messages = defineMessages({

View file

@ -11,7 +11,6 @@
@import 'mastodon/widgets'; @import 'mastodon/widgets';
@import 'mastodon/forms'; @import 'mastodon/forms';
@import 'mastodon/accounts'; @import 'mastodon/accounts';
@import 'mastodon/statuses';
@import 'mastodon/components'; @import 'mastodon/components';
@import 'mastodon/polls'; @import 'mastodon/polls';
@import 'mastodon/modal'; @import 'mastodon/modal';

View file

@ -1677,18 +1677,6 @@ body > [data-popper-placement] {
padding: 16px; padding: 16px;
border-top: 1px solid var(--background-border-color); border-top: 1px solid var(--background-border-color);
&--flex {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
.status__content,
.detailed-status__meta {
flex: 100%;
}
}
.status__content { .status__content {
font-size: 19px; font-size: 19px;
line-height: 24px; line-height: 24px;
@ -1723,6 +1711,25 @@ body > [data-popper-placement] {
margin-bottom: 0; margin-bottom: 0;
} }
} }
.logo {
width: 40px;
height: 40px;
color: $dark-text-color;
}
}
.embed {
position: relative;
&__overlay {
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
} }
.scrollable > div:first-child .detailed-status { .scrollable > div:first-child .detailed-status {

View file

@ -1,152 +0,0 @@
.activity-stream {
box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
border-radius: 4px;
overflow: hidden;
margin-bottom: 10px;
&--under-tabs {
border-radius: 0 0 4px 4px;
}
@media screen and (max-width: $no-gap-breakpoint) {
margin-bottom: 0;
border-radius: 0;
box-shadow: none;
}
&--headless {
border-radius: 0;
margin: 0;
box-shadow: none;
.detailed-status,
.status {
border-radius: 0 !important;
}
}
div[data-component] {
width: 100%;
}
.entry {
background: $ui-base-color;
.detailed-status,
.status,
.load-more {
animation: none;
}
&:last-child {
.detailed-status,
.status,
.load-more {
border-bottom: 0;
border-radius: 0 0 4px 4px;
}
}
&:first-child {
.detailed-status,
.status,
.load-more {
border-radius: 4px 4px 0 0;
}
&:last-child {
.detailed-status,
.status,
.load-more {
border-radius: 4px;
}
}
}
@media screen and (width <= 740px) {
.detailed-status,
.status,
.load-more {
border-radius: 0 !important;
}
}
}
&--highlighted .entry {
background: lighten($ui-base-color, 8%);
}
}
.button.logo-button svg {
width: 20px;
height: auto;
vertical-align: middle;
margin-inline-end: 5px;
fill: $primary-text-color;
@media screen and (max-width: $no-gap-breakpoint) {
display: none;
}
}
.embed {
.status__content[data-spoiler='folded'] {
.e-content {
display: none;
}
p:first-child {
margin-bottom: 0;
}
}
.detailed-status {
padding: 15px;
.detailed-status__display-avatar .account__avatar {
width: 48px;
height: 48px;
}
}
.status {
padding: 15px 15px 15px (48px + 15px * 2);
min-height: 48px + 2px;
&__avatar {
inset-inline-start: 15px;
top: 17px;
.account__avatar {
width: 48px;
height: 48px;
}
}
&__content {
padding-top: 5px;
}
&__prepend {
margin-inline-start: 48px + 15px * 2;
padding-top: 15px;
}
&__prepend-icon-wrapper {
inset-inline-start: -32px;
}
.media-gallery,
&__action-bar,
.video-player {
margin-top: 10px;
}
&__action-bar-button {
font-size: 18px;
width: 23.1429px;
height: 23.1429px;
line-height: 23.15px;
}
}
}

View file

@ -37,16 +37,16 @@ class OEmbedSerializer < ActiveModel::Serializer
end end
def html def html
attributes = { <<~HTML.squish
src: embed_short_account_status_url(object.account, object), <blockquote class="mastodon-embed" data-embed-url="#{embed_short_account_status_url(object.account, object)}" style="max-width: 540px; min-width: 270px; background:#FCF8FF; border: 1px solid #C9C4DA; border-radius: 8px; overflow: hidden; margin: 0; padding: 0;">
class: 'mastodon-embed', <a href="#{short_account_status_url(object.account, object)}" target="_blank" style="color: #1C1A25; text-decoration: none; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 24px; font-size: 14px; line-height: 20px; letter-spacing: 0.25px; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', Roboto, sans-serif;">
style: 'max-width: 100%; border: 0', <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 79 75"><path d="M74.7135 16.6043C73.6199 8.54587 66.5351 2.19527 58.1366 0.964691C56.7196 0.756754 51.351 0 38.9148 0H38.822C26.3824 0 23.7135 0.756754 22.2966 0.964691C14.1319 2.16118 6.67571 7.86752 4.86669 16.0214C3.99657 20.0369 3.90371 24.4888 4.06535 28.5726C4.29578 34.4289 4.34049 40.275 4.877 46.1075C5.24791 49.9817 5.89495 53.8251 6.81328 57.6088C8.53288 64.5968 15.4938 70.4122 22.3138 72.7848C29.6155 75.259 37.468 75.6697 44.9919 73.971C45.8196 73.7801 46.6381 73.5586 47.4475 73.3063C49.2737 72.7302 51.4164 72.086 52.9915 70.9542C53.0131 70.9384 53.0308 70.9178 53.0433 70.8942C53.0558 70.8706 53.0628 70.8445 53.0637 70.8179V65.1661C53.0634 65.1412 53.0574 65.1167 53.0462 65.0944C53.035 65.0721 53.0189 65.0525 52.9992 65.0371C52.9794 65.0218 52.9564 65.011 52.9318 65.0056C52.9073 65.0002 52.8819 65.0003 52.8574 65.0059C48.0369 66.1472 43.0971 66.7193 38.141 66.7103C29.6118 66.7103 27.3178 62.6981 26.6609 61.0278C26.1329 59.5842 25.7976 58.0784 25.6636 56.5486C25.6622 56.5229 25.667 56.4973 25.6775 56.4738C25.688 56.4502 25.7039 56.4295 25.724 56.4132C25.7441 56.397 25.7678 56.3856 25.7931 56.3801C25.8185 56.3746 25.8448 56.3751 25.8699 56.3816C30.6101 57.5151 35.4693 58.0873 40.3455 58.086C41.5183 58.086 42.6876 58.086 43.8604 58.0553C48.7647 57.919 53.9339 57.6701 58.7591 56.7361C58.8794 56.7123 58.9998 56.6918 59.103 56.6611C66.7139 55.2124 73.9569 50.665 74.6929 39.1501C74.7204 38.6967 74.7892 34.4016 74.7892 33.9312C74.7926 32.3325 75.3085 22.5901 74.7135 16.6043ZM62.9996 45.3371H54.9966V25.9069C54.9966 21.8163 53.277 19.7302 49.7793 19.7302C45.9343 19.7302 44.0083 22.1981 44.0083 27.0727V37.7082H36.0534V27.0727C36.0534 22.1981 34.124 19.7302 30.279 19.7302C26.8019 19.7302 25.0651 21.8163 25.0617 25.9069V45.3371H17.0656V25.3172C17.0656 21.2266 18.1191 17.9769 20.2262 15.568C22.3998 13.1648 25.2509 11.9308 28.7898 11.9308C32.8859 11.9308 35.9812 13.492 38.0447 16.6111L40.036 19.9245L42.0308 16.6111C44.0943 13.492 47.1896 11.9308 51.2788 11.9308C54.8143 11.9308 57.6654 13.1648 59.8459 15.568C61.9529 17.9746 63.0065 21.2243 63.0065 25.3172L62.9996 45.3371Z" fill="currentColor"/></svg>
width: width, <div style="margin-top: 16px; color: #787588;">Post by @#{object.account.pretty_acct}@#{provider_name}</div>
height: height, <div style="font-weight: 500;">View on Mastodon</div>
allowfullscreen: true, </a>
} </blockquote>
<script data-allowed-prefixes="#{root_url}" src="#{full_asset_url('embed.js', skip_pipeline: true)}" async="true"></script>
content_tag(:iframe, nil, attributes) + content_tag(:script, nil, src: full_asset_url('embed.js', skip_pipeline: true), async: true) HTML
end end
def width def width

View file

@ -15,7 +15,7 @@
= javascript_pack_tag 'common', integrity: true, crossorigin: 'anonymous' = javascript_pack_tag 'common', integrity: true, crossorigin: 'anonymous'
= preload_pack_asset "locale/#{I18n.locale}-json.js" = preload_pack_asset "locale/#{I18n.locale}-json.js"
= render_initial_state = render_initial_state
= javascript_pack_tag 'public', integrity: true, crossorigin: 'anonymous' = javascript_pack_tag 'embed', integrity: true, crossorigin: 'anonymous'
%body.embed %body.embed
= yield = yield

View file

@ -1,80 +0,0 @@
.detailed-status.detailed-status--flex{ class: "detailed-status-#{status.visibility}" }
.p-author.h-card
= link_to ActivityPub::TagManager.instance.url_for(status.account), class: 'detailed-status__display-name u-url', target: stream_link_target, rel: 'noopener' do
.detailed-status__display-avatar
- if prefers_autoplay?
= image_tag status.account.avatar_original_url, alt: '', class: 'account__avatar u-photo'
- else
= image_tag status.account.avatar_static_url, alt: '', class: 'account__avatar u-photo'
%span.display-name
%bdi
%strong.display-name__html.p-name.emojify= display_name(status.account, custom_emojify: true, autoplay: prefers_autoplay?)
%span.display-name__account
= acct(status.account)
= material_symbol('lock') if status.account.locked?
= account_action_button(status.account)
.status__content.emojify{ data: ({ spoiler: current_account&.user&.setting_expand_spoilers ? 'expanded' : 'folded' } if status.spoiler_text?) }<
- if status.spoiler_text?
%p<
%span.p-summary> #{prerender_custom_emojis(h(status.spoiler_text), status.emojis)}&nbsp;
%button.status__content__spoiler-link= t('statuses.show_more')
.e-content{ lang: status.language }
= prerender_custom_emojis(status_content_format(status), status.emojis)
- if status.preloadable_poll
= render_poll_component(status)
- if !status.ordered_media_attachments.empty?
- if status.ordered_media_attachments.first.video?
= render_video_component(status, width: 670, height: 380, detailed: true)
- elsif status.ordered_media_attachments.first.audio?
= render_audio_component(status, width: 670, height: 380)
- else
= render_media_gallery_component(status, height: 380, standalone: true)
- elsif status.preview_card
= render_card_component(status)
.detailed-status__meta
%data.dt-published{ value: status.created_at.to_time.iso8601 }
- if status.edited?
%data.dt-updated{ value: status.edited_at.to_time.iso8601 }
= link_to ActivityPub::TagManager.instance.url_for(status), class: 'detailed-status__datetime u-url u-uid', target: stream_link_target, rel: 'noopener noreferrer' do
%time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at)
·
- if status.edited?
= t('statuses.edited_at_html', date: content_tag(:time, l(status.edited_at), datetime: status.edited_at.iso8601, title: l(status.edited_at), class: 'formatted'))
·
%span.detailed-status__visibility-icon
= visibility_icon status
·
- if status.application && status.account.user&.setting_show_application
- if status.application.website.blank?
%strong.detailed-status__application= status.application.name
- else
= link_to status.application.name, status.application.website, class: 'detailed-status__application', target: '_blank', rel: 'noopener noreferrer'
·
%span.detailed-status__link
- if status.in_reply_to_id.nil?
= material_symbol('reply')
- else
= material_symbol('reply_all')
%span.detailed-status__reblogs>= friendly_number_to_human status.replies_count
&nbsp;
·
- if status.public_visibility? || status.unlisted_visibility?
%span.detailed-status__link
= material_symbol('repeat')
%span.detailed-status__reblogs>= friendly_number_to_human status.reblogs_count
&nbsp;
·
%span.detailed-status__link
= material_symbol('star')
%span.detailed-status__favorites>= friendly_number_to_human status.favourites_count
&nbsp;
- if user_signed_in?
·
= link_to t('statuses.open_in_web'), web_url("@#{status.account.pretty_acct}/#{status.id}"), class: 'detailed-status__application', target: '_blank', rel: 'noopener noreferrer'

View file

@ -1,36 +0,0 @@
:ruby
show_results = (user_signed_in? && poll.voted?(current_account)) || poll.expired?
total_votes_count = poll.voters_count || poll.votes_count
.poll
%ul
- poll.loaded_options.each do |option|
%li
- if show_results
- percent = total_votes_count.positive? ? 100 * option.votes_count / total_votes_count : 0
%label.poll__option><
%span.poll__number><
#{percent.round}%
%span.poll__option__text
= prerender_custom_emojis(h(option.title), status.emojis)
%progress{ max: 100, value: [percent, 1].max, 'aria-hidden': 'true' }
%span.poll__chart
- else
%label.poll__option><
%span.poll__input{ class: poll.multiple? ? 'checkbox' : nil }><
%span.poll__option__text
= prerender_custom_emojis(h(option.title), status.emojis)
.poll__footer
- unless show_results
%button.button.button-secondary{ disabled: true }
= t('statuses.poll.vote')
- if poll.voters_count.nil?
%span= t('statuses.poll.total_votes', count: poll.votes_count)
- else
%span= t('statuses.poll.total_people', count: poll.voters_count)
- unless poll.expires_at.nil?
·
%span= l poll.expires_at

View file

@ -1,70 +0,0 @@
:ruby
hide_show_thread ||= false
.status{ class: "status-#{status.visibility}" }
.status__info
= link_to ActivityPub::TagManager.instance.url_for(status), class: 'status__relative-time u-url u-uid', target: stream_link_target, rel: 'noopener noreferrer' do
%span.status__visibility-icon><
= visibility_icon status
%time.time-ago{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at)
- if status.edited?
%abbr{ title: t('statuses.edited_at_html', date: l(status.edited_at.to_date)) }
*
%data.dt-published{ value: status.created_at.to_time.iso8601 }
.p-author.h-card
= link_to ActivityPub::TagManager.instance.url_for(status.account), class: 'status__display-name u-url', target: stream_link_target, rel: 'noopener noreferrer' do
.status__avatar
%div
- if prefers_autoplay?
= image_tag status.account.avatar_original_url, alt: '', class: 'u-photo account__avatar'
- else
= image_tag status.account.avatar_static_url, alt: '', class: 'u-photo account__avatar'
%span.display-name
%bdi
%strong.display-name__html.p-name.emojify= display_name(status.account, custom_emojify: true, autoplay: prefers_autoplay?)
&nbsp;
%span.display-name__account
= acct(status.account)
= material_symbol('lock') if status.account.locked?
.status__content.emojify{ data: ({ spoiler: current_account&.user&.setting_expand_spoilers ? 'expanded' : 'folded' } if status.spoiler_text?) }<
- if status.spoiler_text?
%p<
%span.p-summary> #{prerender_custom_emojis(h(status.spoiler_text), status.emojis)}&nbsp;
%button.status__content__spoiler-link= t('statuses.show_more')
.e-content{ lang: status.language }
= prerender_custom_emojis(status_content_format(status), status.emojis)
- if status.preloadable_poll
= render_poll_component(status)
- if !status.ordered_media_attachments.empty?
- if status.ordered_media_attachments.first.video?
= render_video_component(status, width: 610, height: 343)
- elsif status.ordered_media_attachments.first.audio?
= render_audio_component(status, width: 610, height: 343)
- else
= render_media_gallery_component(status, height: 343)
- elsif status.preview_card
= render_card_component(status)
- if !status.in_reply_to_id.nil? && status.in_reply_to_account_id == status.account.id && !hide_show_thread
= link_to ActivityPub::TagManager.instance.url_for(status), class: 'status__content__read-more-button', target: stream_link_target, rel: 'noopener noreferrer' do
= t 'statuses.show_thread'
.status__action-bar
%span.status__action-bar-button.icon-button.icon-button--with-counter
- if status.in_reply_to_id.nil?
= material_symbol 'reply'
- else
= material_symbol 'reply_all'
%span.icon-button__counter= obscured_counter status.replies_count
%span.status__action-bar-button.icon-button
- if status.distributable?
= material_symbol 'repeat'
- elsif status.private_visibility? || status.limited_visibility?
= material_symbol 'lock'
- else
= material_symbol 'alternate_email'
%span.status__action-bar-button.icon-button
= material_symbol 'star'

View file

@ -1,2 +0,0 @@
.entry
= render (centered ? 'statuses/detailed_status' : 'statuses/simple_status'), status: status.proper, hide_show_thread: false

View file

@ -1,2 +1 @@
.activity-stream.activity-stream--headless #mastodon-status{ data: { props: Oj.dump(default_props.merge(id: @status.id.to_s)) } }
= render 'status', status: @status, centered: true

View file

@ -6,7 +6,6 @@ af:
hosted_on: Mastodon gehuisves op %{domain} hosted_on: Mastodon gehuisves op %{domain}
title: Aangaande title: Aangaande
accounts: accounts:
follow: Volg
followers: followers:
one: Volgeling one: Volgeling
other: Volgelinge other: Volgelinge

View file

@ -7,7 +7,6 @@ an:
hosted_on: Mastodon alochau en %{domain} hosted_on: Mastodon alochau en %{domain}
title: Sobre title: Sobre
accounts: accounts:
follow: Seguir
followers: followers:
one: Seguidor one: Seguidor
other: Seguidores other: Seguidores
@ -1410,23 +1409,12 @@ an:
edited_at_html: Editau %{date} edited_at_html: Editau %{date}
errors: errors:
in_reply_not_found: Lo estau a lo qual intentas responder no existe. in_reply_not_found: Lo estau a lo qual intentas responder no existe.
open_in_web: Ubrir en web
over_character_limit: Limite de caracters de %{max} superau over_character_limit: Limite de caracters de %{max} superau
pin_errors: pin_errors:
direct: Las publicacions que son visibles solo pa los usuarios mencionaus no pueden fixar-se direct: Las publicacions que son visibles solo pa los usuarios mencionaus no pueden fixar-se
limit: Ya has fixau lo numero maximo de publicacions limit: Ya has fixau lo numero maximo de publicacions
ownership: La publicación d'unatra persona no puede fixar-se ownership: La publicación d'unatra persona no puede fixar-se
reblog: Un boost no puede fixar-se reblog: Un boost no puede fixar-se
poll:
total_people:
one: "%{count} persona"
other: "%{count} chent"
total_votes:
one: "%{count} voto"
other: "%{count} votos"
vote: Vota
show_more: Amostrar mas
show_thread: Amostrar discusión
title: "%{name}: «%{quote}»" title: "%{name}: «%{quote}»"
visibilities: visibilities:
direct: Directa direct: Directa

View file

@ -7,7 +7,6 @@ ar:
hosted_on: ماستدون مُستضاف على %{domain} hosted_on: ماستدون مُستضاف على %{domain}
title: عن title: عن
accounts: accounts:
follow: متابَعة
followers: followers:
few: متابِعون few: متابِعون
many: متابِعون many: متابِعون
@ -1772,31 +1771,12 @@ ar:
edited_at_html: عُدّل في %{date} edited_at_html: عُدّل في %{date}
errors: errors:
in_reply_not_found: إنّ المنشور الذي تحاول الرد عليه غير موجود على ما يبدو. in_reply_not_found: إنّ المنشور الذي تحاول الرد عليه غير موجود على ما يبدو.
open_in_web: افتح في الويب
over_character_limit: تم تجاوز حد الـ %{max} حرف المسموح بها over_character_limit: تم تجاوز حد الـ %{max} حرف المسموح بها
pin_errors: pin_errors:
direct: لا يمكن تثبيت المنشورات التي يراها فقط المتسخدمون المشار إليهم direct: لا يمكن تثبيت المنشورات التي يراها فقط المتسخدمون المشار إليهم
limit: لقد بلغت الحد الأقصى للمنشورات المثبتة limit: لقد بلغت الحد الأقصى للمنشورات المثبتة
ownership: لا يمكن تثبيت منشور نشره شخص آخر ownership: لا يمكن تثبيت منشور نشره شخص آخر
reblog: لا يمكن تثبيت إعادة نشر reblog: لا يمكن تثبيت إعادة نشر
poll:
total_people:
few: "%{count} أشخاص"
many: "%{count} أشخاص"
one: "%{count} شخص واحد"
other: "%{count} شخصا"
two: "%{count} شخصين"
zero: "%{count} شخص"
total_votes:
few: "%{count} أصوات"
many: "%{count} أصوات"
one: صوت واحد %{count}
other: "%{count} صوتا"
two: صوتين %{count}
zero: بدون صوت %{count}
vote: صوّت
show_more: أظهر المزيد
show_thread: اعرض خيط المحادثة
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: مباشرة direct: مباشرة

View file

@ -800,20 +800,11 @@ ast:
default_language: La mesma que la de la interfaz default_language: La mesma que la de la interfaz
errors: errors:
in_reply_not_found: L'artículu al que tentes de responder paez que nun esiste. in_reply_not_found: L'artículu al que tentes de responder paez que nun esiste.
open_in_web: Abrir na web
pin_errors: pin_errors:
direct: Nun se puen fixar los artículos que son visibles namás pa los usuarios mentaos direct: Nun se puen fixar los artículos que son visibles namás pa los usuarios mentaos
limit: Yá fixesti'l númberu máximu d'artículos limit: Yá fixesti'l númberu máximu d'artículos
ownership: Nun se pue fixar l'artículu d'otru perfil ownership: Nun se pue fixar l'artículu d'otru perfil
reblog: Nun se pue fixar un artículu compartíu reblog: Nun se pue fixar un artículu compartíu
poll:
total_people:
one: "%{count} persona"
other: "%{count} persones"
total_votes:
one: "%{count} votu"
other: "%{count} votos"
show_more: Amosar más
title: "%{name}: «%{quote}»" title: "%{name}: «%{quote}»"
visibilities: visibilities:
direct: Mensaxe direutu direct: Mensaxe direutu

View file

@ -7,7 +7,6 @@ be:
hosted_on: Mastodon месціцца на %{domain} hosted_on: Mastodon месціцца на %{domain}
title: Пра нас title: Пра нас
accounts: accounts:
follow: Падпісацца
followers: followers:
few: Падпісчыка few: Падпісчыка
many: Падпісчыкаў many: Падпісчыкаў
@ -1778,27 +1777,12 @@ be:
edited_at_html: Адрэдагавана %{date} edited_at_html: Адрэдагавана %{date}
errors: errors:
in_reply_not_found: Здаецца, допіс, на які вы спрабуеце адказаць, не існуе. in_reply_not_found: Здаецца, допіс, на які вы спрабуеце адказаць, не існуе.
open_in_web: Адчыніць у вэб-версіі
over_character_limit: перавышаная колькасць сімвалаў у %{max} over_character_limit: перавышаная колькасць сімвалаў у %{max}
pin_errors: pin_errors:
direct: Допісы, бачныя толькі згаданым карыстальнікам, не могуць быць замацаваныя direct: Допісы, бачныя толькі згаданым карыстальнікам, не могуць быць замацаваныя
limit: Вы ўжо замацавалі максімальную колькасць допісаў limit: Вы ўжо замацавалі максімальную колькасць допісаў
ownership: Немагчыма замацаваць чужы допіс ownership: Немагчыма замацаваць чужы допіс
reblog: Немагчыма замацаваць пашырэнне reblog: Немагчыма замацаваць пашырэнне
poll:
total_people:
few: "%{count} чалавекі"
many: "%{count} чалавек"
one: "%{count} чалавек"
other: "%{count} чалавека"
total_votes:
few: "%{count} галасы"
many: "%{count} галасоў"
one: "%{count} голас"
other: "%{count} голасу"
vote: Прагаласаваць
show_more: Паказаць больш
show_thread: Паказаць ланцуг
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Асабіста direct: Асабіста

View file

@ -7,7 +7,6 @@ bg:
hosted_on: Mastodon е разположен на хост %{domain} hosted_on: Mastodon е разположен на хост %{domain}
title: Относно title: Относно
accounts: accounts:
follow: Последване
followers: followers:
one: Последовател one: Последовател
other: Последователи other: Последователи
@ -1664,23 +1663,12 @@ bg:
edited_at_html: Редактирано на %{date} edited_at_html: Редактирано на %{date}
errors: errors:
in_reply_not_found: Изглежда, че публикацията, на която се опитвате да отговорите, не съществува. in_reply_not_found: Изглежда, че публикацията, на която се опитвате да отговорите, не съществува.
open_in_web: Отвори в уеб
over_character_limit: прехвърлен лимит от %{max} символа over_character_limit: прехвърлен лимит от %{max} символа
pin_errors: pin_errors:
direct: Публикациите, които са видими само за потребители споменати в тях, не могат да бъдат закачани direct: Публикациите, които са видими само за потребители споменати в тях, не могат да бъдат закачани
limit: Вече сте закачили максималния брой публикации limit: Вече сте закачили максималния брой публикации
ownership: Публикация на някого другиго не може да бъде закачена ownership: Публикация на някого другиго не може да бъде закачена
reblog: Раздуване не може да бъде закачано reblog: Раздуване не може да бъде закачано
poll:
total_people:
one: "%{count} човек"
other: "%{count} души"
total_votes:
one: "%{count} глас"
other: "%{count} гласа"
vote: Гласуване
show_more: Покажи повече
show_thread: Показване на нишката
title: "%{name}: „%{quote}“" title: "%{name}: „%{quote}“"
visibilities: visibilities:
direct: Директно direct: Директно

View file

@ -7,7 +7,6 @@ bn:
hosted_on: এই মাস্টাডনটি আছে %{domain} এ hosted_on: এই মাস্টাডনটি আছে %{domain} এ
title: পরিচিতি title: পরিচিতি
accounts: accounts:
follow: যুক্ত
followers: followers:
one: যুক্ত আছে one: যুক্ত আছে
other: যারা যুক্ত হয়েছে other: যারা যুক্ত হয়েছে

View file

@ -6,7 +6,6 @@ br:
hosted_on: Servijer Mastodon herberc'hiet war %{domain} hosted_on: Servijer Mastodon herberc'hiet war %{domain}
title: Diwar-benn title: Diwar-benn
accounts: accounts:
follow: Heuliañ
followers: followers:
few: Heulier·ez few: Heulier·ez
many: Heulier·ez many: Heulier·ez
@ -519,9 +518,6 @@ br:
two: "%{count} skeudenn" two: "%{count} skeudenn"
pin_errors: pin_errors:
ownership: N'hallit ket spilhennañ embannadurioù ar re all ownership: N'hallit ket spilhennañ embannadurioù ar re all
poll:
vote: Mouezhiañ
show_more: Diskouez muioc'h
visibilities: visibilities:
direct: War-eeun direct: War-eeun
public: Publik public: Publik

View file

@ -7,7 +7,6 @@ ca:
hosted_on: Mastodon allotjat a %{domain} hosted_on: Mastodon allotjat a %{domain}
title: Quant a title: Quant a
accounts: accounts:
follow: Segueix
followers: followers:
one: Seguidor one: Seguidor
other: Seguidors other: Seguidors
@ -1734,23 +1733,12 @@ ca:
edited_at_html: Editat %{date} edited_at_html: Editat %{date}
errors: errors:
in_reply_not_found: El tut al qual intentes respondre sembla que no existeix. in_reply_not_found: El tut al qual intentes respondre sembla que no existeix.
open_in_web: Obre en la web
over_character_limit: Límit de caràcters de %{max} superat over_character_limit: Límit de caràcters de %{max} superat
pin_errors: pin_errors:
direct: Els tuts que només són visibles per als usuaris mencionats no poden ser fixats direct: Els tuts que només són visibles per als usuaris mencionats no poden ser fixats
limit: Ja has fixat el màxim nombre de tuts limit: Ja has fixat el màxim nombre de tuts
ownership: No es pot fixar el tut d'algú altre ownership: No es pot fixar el tut d'algú altre
reblog: No es pot fixar un impuls reblog: No es pot fixar un impuls
poll:
total_people:
one: "%{count} persona"
other: "%{count} persones"
total_votes:
one: "%{count} vot"
other: "%{count} vots"
vote: Vota
show_more: Mostra'n més
show_thread: Mostra el fil
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Directe direct: Directe

View file

@ -7,7 +7,6 @@ ckb:
hosted_on: مەستودۆن میوانداری کراوە لە %{domain} hosted_on: مەستودۆن میوانداری کراوە لە %{domain}
title: دەربارە title: دەربارە
accounts: accounts:
follow: شوێن کەوە
followers: followers:
one: شوێنکەوتوو one: شوێنکەوتوو
other: شوێن‌کەوتووان other: شوێن‌کەوتووان
@ -938,22 +937,11 @@ ckb:
other: 'هاشتاگەکانی ڕێگەپێنەدراوەی تێدابوو: %{tags}' other: 'هاشتاگەکانی ڕێگەپێنەدراوەی تێدابوو: %{tags}'
errors: errors:
in_reply_not_found: ئەو دۆخەی کە تۆ هەوڵی وەڵامدانەوەی دەدەیت وادەرناکەوێت کە هەبێت. in_reply_not_found: ئەو دۆخەی کە تۆ هەوڵی وەڵامدانەوەی دەدەیت وادەرناکەوێت کە هەبێت.
open_in_web: کردنەوە لە وێب
over_character_limit: سنووری نووسەی %{max} تێپەڕێنرا over_character_limit: سنووری نووسەی %{max} تێپەڕێنرا
pin_errors: pin_errors:
limit: تۆ پێشتر زۆرترین ژمارەی توتتی چەسپیوەت هەیە limit: تۆ پێشتر زۆرترین ژمارەی توتتی چەسپیوەت هەیە
ownership: نووسراوەکانی تر ناتوانرێ بسەلمێت ownership: نووسراوەکانی تر ناتوانرێ بسەلمێت
reblog: بەهێزکردن ناتوانرێت بچەسپێ reblog: بەهێزکردن ناتوانرێت بچەسپێ
poll:
total_people:
one: "%{count} کەس"
other: "%{count} خەڵک"
total_votes:
one: "%{count} دەنگ"
other: "%{count} دەنگەکان"
vote: دەنگ
show_more: زیاتر پیشان بدە
show_thread: نیشاندانی ڕشتە
visibilities: visibilities:
private: شوێنکەوتوانی تەنها private: شوێنکەوتوانی تەنها
private_long: تەنها بۆ شوێنکەوتوانی پیشان بدە private_long: تەنها بۆ شوێنکەوتوانی پیشان بدە

View file

@ -6,7 +6,6 @@ co:
contact_unavailable: Micca dispunibule contact_unavailable: Micca dispunibule
hosted_on: Mastodon allughjatu nantà %{domain} hosted_on: Mastodon allughjatu nantà %{domain}
accounts: accounts:
follow: Siguità
followers: followers:
one: Abbunatu·a one: Abbunatu·a
other: Abbunati other: Abbunati
@ -922,22 +921,11 @@ co:
other: 'cuntene lhashtag disattivati: %{tags}' other: 'cuntene lhashtag disattivati: %{tags}'
errors: errors:
in_reply_not_found: U statutu à quellu avete pruvatu di risponde ùn sembra micca esiste. in_reply_not_found: U statutu à quellu avete pruvatu di risponde ùn sembra micca esiste.
open_in_web: Apre nantà u web
over_character_limit: site soprà a limita di %{max} caratteri over_character_limit: site soprà a limita di %{max} caratteri
pin_errors: pin_errors:
limit: Avete digià puntarulatu u numeru massimale di statuti limit: Avete digià puntarulatu u numeru massimale di statuti
ownership: Pudete puntarulà solu unu di i vostri propii statuti ownership: Pudete puntarulà solu unu di i vostri propii statuti
reblog: Ùn pudete micca puntarulà una spartera reblog: Ùn pudete micca puntarulà una spartera
poll:
total_people:
one: "%{count} persona"
other: "%{count} persone"
total_votes:
one: "%{count} votu"
other: "%{count} voti"
vote: Vutà
show_more: Vede di più
show_thread: Vede u filu
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Direttu direct: Direttu

View file

@ -7,7 +7,6 @@ cs:
hosted_on: Mastodon na doméně %{domain} hosted_on: Mastodon na doméně %{domain}
title: O aplikaci title: O aplikaci
accounts: accounts:
follow: Sledovat
followers: followers:
few: Sledující few: Sledující
many: Sledujících many: Sledujících
@ -1721,27 +1720,12 @@ cs:
edited_at_html: Upraven %{date} edited_at_html: Upraven %{date}
errors: errors:
in_reply_not_found: Příspěvek, na který se pokoušíte odpovědět, neexistuje. in_reply_not_found: Příspěvek, na který se pokoušíte odpovědět, neexistuje.
open_in_web: Otevřít na webu
over_character_limit: byl překročen limit %{max} znaků over_character_limit: byl překročen limit %{max} znaků
pin_errors: pin_errors:
direct: Příspěvky viditelné pouze zmíněným uživatelům nelze připnout direct: Příspěvky viditelné pouze zmíněným uživatelům nelze připnout
limit: Už jste si připnuli maximální počet příspěvků limit: Už jste si připnuli maximální počet příspěvků
ownership: Nelze připnout příspěvek někoho jiného ownership: Nelze připnout příspěvek někoho jiného
reblog: Boosty nelze připnout reblog: Boosty nelze připnout
poll:
total_people:
few: "%{count} lidé"
many: "%{count} lidí"
one: "%{count} člověk"
other: "%{count} lidí"
total_votes:
few: "%{count} hlasy"
many: "%{count} hlasů"
one: "%{count} hlas"
other: "%{count} hlasů"
vote: Hlasovat
show_more: Zobrazit více
show_thread: Zobrazit vlákno
title: "%{name}: „%{quote}“" title: "%{name}: „%{quote}“"
visibilities: visibilities:
direct: Přímé direct: Přímé

View file

@ -7,7 +7,6 @@ cy:
hosted_on: Mastodon wedi ei weinyddu ar %{domain} hosted_on: Mastodon wedi ei weinyddu ar %{domain}
title: Ynghylch title: Ynghylch
accounts: accounts:
follow: Dilyn
followers: followers:
few: Dilynwyr few: Dilynwyr
many: Dilynwyr many: Dilynwyr
@ -1860,31 +1859,12 @@ cy:
edited_at_html: Wedi'i olygu %{date} edited_at_html: Wedi'i olygu %{date}
errors: errors:
in_reply_not_found: Nid yw'n ymddangos bod y postiad rydych chi'n ceisio ei ateb yn bodoli. in_reply_not_found: Nid yw'n ymddangos bod y postiad rydych chi'n ceisio ei ateb yn bodoli.
open_in_web: Agor yn y we
over_character_limit: wedi mynd y tu hwnt i'r terfyn nodau o %{max} over_character_limit: wedi mynd y tu hwnt i'r terfyn nodau o %{max}
pin_errors: pin_errors:
direct: Nid oes modd pinio postiadau sy'n weladwy i ddefnyddwyr a grybwyllwyd yn unig direct: Nid oes modd pinio postiadau sy'n weladwy i ddefnyddwyr a grybwyllwyd yn unig
limit: Rydych chi eisoes wedi pinio uchafswm nifer y postiadau limit: Rydych chi eisoes wedi pinio uchafswm nifer y postiadau
ownership: Nid oes modd pinio postiad rhywun arall ownership: Nid oes modd pinio postiad rhywun arall
reblog: Nid oes modd pinio hwb reblog: Nid oes modd pinio hwb
poll:
total_people:
few: "%{count} person"
many: "%{count} person"
one: "%{count} berson"
other: "%{count} person"
two: "%{count} person"
zero: "%{count} o bersonau"
total_votes:
few: "%{count} pleidlais"
many: "%{count} pleidlais"
one: "%{count} bleidlais"
other: "%{count} pleidlais"
two: "%{count} pleidlais"
zero: "%{count} o bleidleisiau"
vote: Pleidlais
show_more: Dangos mwy
show_thread: Dangos edefyn
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Uniongyrchol direct: Uniongyrchol

View file

@ -7,7 +7,6 @@ da:
hosted_on: Mastodon hostet på %{domain} hosted_on: Mastodon hostet på %{domain}
title: Om title: Om
accounts: accounts:
follow: Følg
followers: followers:
one: Følger one: Følger
other: tilhængere other: tilhængere
@ -1740,23 +1739,12 @@ da:
edited_at_html: Redigeret %{date} edited_at_html: Redigeret %{date}
errors: errors:
in_reply_not_found: Indlægget, der forsøges besvaret, ser ikke ud til at eksistere. in_reply_not_found: Indlægget, der forsøges besvaret, ser ikke ud til at eksistere.
open_in_web: Åbn i webbrowser
over_character_limit: grænsen på %{max} tegn overskredet over_character_limit: grænsen på %{max} tegn overskredet
pin_errors: pin_errors:
direct: Indlæg, som kun kan ses af omtalte brugere, kan ikke fastgøres direct: Indlæg, som kun kan ses af omtalte brugere, kan ikke fastgøres
limit: Maksimalt antal indlæg allerede fastgjort limit: Maksimalt antal indlæg allerede fastgjort
ownership: Andres indlæg kan ikke fastgøres ownership: Andres indlæg kan ikke fastgøres
reblog: Et boost kan ikke fastgøres reblog: Et boost kan ikke fastgøres
poll:
total_people:
one: "%{count} person"
other: "%{count} personer"
total_votes:
one: "%{count} stemme"
other: "%{count} stemmer"
vote: Stem
show_more: Vis flere
show_thread: Vis tråd
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Direkte direct: Direkte

View file

@ -7,7 +7,6 @@ de:
hosted_on: Mastodon, gehostet auf %{domain} hosted_on: Mastodon, gehostet auf %{domain}
title: Über title: Über
accounts: accounts:
follow: Folgen
followers: followers:
one: Follower one: Follower
other: Follower other: Follower
@ -1740,23 +1739,12 @@ de:
edited_at_html: 'Bearbeitet: %{date}' edited_at_html: 'Bearbeitet: %{date}'
errors: errors:
in_reply_not_found: Der Beitrag, auf den du antworten möchtest, scheint nicht zu existieren. in_reply_not_found: Der Beitrag, auf den du antworten möchtest, scheint nicht zu existieren.
open_in_web: Im Webinterface öffnen
over_character_limit: Begrenzung von %{max} Zeichen überschritten over_character_limit: Begrenzung von %{max} Zeichen überschritten
pin_errors: pin_errors:
direct: Beiträge, die nur für erwähnte Profile sichtbar sind, können nicht angeheftet werden direct: Beiträge, die nur für erwähnte Profile sichtbar sind, können nicht angeheftet werden
limit: Du hast bereits die maximale Anzahl an Beiträgen angeheftet limit: Du hast bereits die maximale Anzahl an Beiträgen angeheftet
ownership: Du kannst nur eigene Beiträge anheften ownership: Du kannst nur eigene Beiträge anheften
reblog: Du kannst keine geteilten Beiträge anheften reblog: Du kannst keine geteilten Beiträge anheften
poll:
total_people:
one: "%{count} Stimme"
other: "%{count} Stimmen"
total_votes:
one: "%{count} Stimme"
other: "%{count} Stimmen"
vote: Abstimmen
show_more: Mehr anzeigen
show_thread: Thread anzeigen
title: "%{name}: „%{quote}“" title: "%{name}: „%{quote}“"
visibilities: visibilities:
direct: Direktnachricht direct: Direktnachricht

View file

@ -7,7 +7,6 @@ el:
hosted_on: Το Mastodon φιλοξενείται στο %{domain} hosted_on: Το Mastodon φιλοξενείται στο %{domain}
title: Σχετικά title: Σχετικά
accounts: accounts:
follow: Ακολούθησε
followers: followers:
one: Ακόλουθος one: Ακόλουθος
other: Ακόλουθοι other: Ακόλουθοι
@ -1636,23 +1635,12 @@ el:
edited_at_html: Επεξεργάστηκε στις %{date} edited_at_html: Επεξεργάστηκε στις %{date}
errors: errors:
in_reply_not_found: Η ανάρτηση στην οποία προσπαθείς να απαντήσεις δεν φαίνεται να υπάρχει. in_reply_not_found: Η ανάρτηση στην οποία προσπαθείς να απαντήσεις δεν φαίνεται να υπάρχει.
open_in_web: Άνοιγμα στο διαδίκτυο
over_character_limit: υπέρβαση μέγιστου ορίου %{max} χαρακτήρων over_character_limit: υπέρβαση μέγιστου ορίου %{max} χαρακτήρων
pin_errors: pin_errors:
direct: Αναρτήσεις που είναι ορατές μόνο στους αναφερόμενους χρήστες δεν μπορούν να καρφιτσωθούν direct: Αναρτήσεις που είναι ορατές μόνο στους αναφερόμενους χρήστες δεν μπορούν να καρφιτσωθούν
limit: Έχεις ήδη καρφιτσώσει το μέγιστο αριθμό επιτρεπτών αναρτήσεων limit: Έχεις ήδη καρφιτσώσει το μέγιστο αριθμό επιτρεπτών αναρτήσεων
ownership: Δεν μπορείς να καρφιτσώσεις ανάρτηση κάποιου άλλου ownership: Δεν μπορείς να καρφιτσώσεις ανάρτηση κάποιου άλλου
reblog: Οι ενισχύσεις δεν καρφιτσώνονται reblog: Οι ενισχύσεις δεν καρφιτσώνονται
poll:
total_people:
one: "%{count} άτομο"
other: "%{count} άτομα"
total_votes:
one: "%{count} ψήφος"
other: "%{count} ψήφοι"
vote: Ψήφισε
show_more: Δείξε περισσότερα
show_thread: Εμφάνιση νήματος
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Άμεση direct: Άμεση

View file

@ -7,7 +7,6 @@ en-GB:
hosted_on: Mastodon hosted on %{domain} hosted_on: Mastodon hosted on %{domain}
title: About title: About
accounts: accounts:
follow: Follow
followers: followers:
one: Follower one: Follower
other: Followers other: Followers
@ -1740,23 +1739,12 @@ en-GB:
edited_at_html: Edited %{date} edited_at_html: Edited %{date}
errors: errors:
in_reply_not_found: The post you are trying to reply to does not appear to exist. in_reply_not_found: The post you are trying to reply to does not appear to exist.
open_in_web: Open in web
over_character_limit: character limit of %{max} exceeded over_character_limit: character limit of %{max} exceeded
pin_errors: pin_errors:
direct: Posts that are only visible to mentioned users cannot be pinned direct: Posts that are only visible to mentioned users cannot be pinned
limit: You have already pinned the maximum number of posts limit: You have already pinned the maximum number of posts
ownership: Someone else's post cannot be pinned ownership: Someone else's post cannot be pinned
reblog: A boost cannot be pinned reblog: A boost cannot be pinned
poll:
total_people:
one: "%{count} person"
other: "%{count} people"
total_votes:
one: "%{count} vote"
other: "%{count} votes"
vote: Vote
show_more: Show more
show_thread: Show thread
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Direct direct: Direct

View file

@ -7,7 +7,6 @@ en:
hosted_on: Mastodon hosted on %{domain} hosted_on: Mastodon hosted on %{domain}
title: About title: About
accounts: accounts:
follow: Follow
followers: followers:
one: Follower one: Follower
other: Followers other: Followers
@ -1741,23 +1740,12 @@ en:
edited_at_html: Edited %{date} edited_at_html: Edited %{date}
errors: errors:
in_reply_not_found: The post you are trying to reply to does not appear to exist. in_reply_not_found: The post you are trying to reply to does not appear to exist.
open_in_web: Open in web
over_character_limit: character limit of %{max} exceeded over_character_limit: character limit of %{max} exceeded
pin_errors: pin_errors:
direct: Posts that are only visible to mentioned users cannot be pinned direct: Posts that are only visible to mentioned users cannot be pinned
limit: You have already pinned the maximum number of posts limit: You have already pinned the maximum number of posts
ownership: Someone else's post cannot be pinned ownership: Someone else's post cannot be pinned
reblog: A boost cannot be pinned reblog: A boost cannot be pinned
poll:
total_people:
one: "%{count} person"
other: "%{count} people"
total_votes:
one: "%{count} vote"
other: "%{count} votes"
vote: Vote
show_more: Show more
show_thread: Show thread
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Direct direct: Direct

View file

@ -7,7 +7,6 @@ eo:
hosted_on: "%{domain} estas nodo de Mastodon" hosted_on: "%{domain} estas nodo de Mastodon"
title: Pri title: Pri
accounts: accounts:
follow: Sekvi
followers: followers:
one: Sekvanto one: Sekvanto
other: Sekvantoj other: Sekvantoj
@ -1553,23 +1552,12 @@ eo:
edited_at_html: Redaktis je %{date} edited_at_html: Redaktis je %{date}
errors: errors:
in_reply_not_found: Mesaĝo kiun vi provas respondi ŝajnas ne ekzisti. in_reply_not_found: Mesaĝo kiun vi provas respondi ŝajnas ne ekzisti.
open_in_web: Malfermi retumile
over_character_limit: limo de %{max} signoj transpasita over_character_limit: limo de %{max} signoj transpasita
pin_errors: pin_errors:
direct: Mesaĝoj kiu videbla nun al la uzantoj ne povas alpinglitis direct: Mesaĝoj kiu videbla nun al la uzantoj ne povas alpinglitis
limit: Vi jam atingis la maksimuman nombron de alpinglitaj mesaĝoj limit: Vi jam atingis la maksimuman nombron de alpinglitaj mesaĝoj
ownership: Mesaĝo de iu alia ne povas esti alpinglita ownership: Mesaĝo de iu alia ne povas esti alpinglita
reblog: Diskonigo ne povas esti alpinglita reblog: Diskonigo ne povas esti alpinglita
poll:
total_people:
one: "%{count} persono"
other: "%{count} personoj"
total_votes:
one: "%{count} voĉdono"
other: "%{count} voĉdonoj"
vote: Voĉdoni
show_more: Montri pli
show_thread: Montri la mesaĝaron
title: "%{name}: “%{quote}”" title: "%{name}: “%{quote}”"
visibilities: visibilities:
direct: Rekta direct: Rekta

View file

@ -7,7 +7,6 @@ es-AR:
hosted_on: Mastodon alojado en %{domain} hosted_on: Mastodon alojado en %{domain}
title: Información title: Información
accounts: accounts:
follow: Seguir
followers: followers:
one: Seguidor one: Seguidor
other: Seguidores other: Seguidores
@ -1740,23 +1739,12 @@ es-AR:
edited_at_html: Editado el %{date} edited_at_html: Editado el %{date}
errors: errors:
in_reply_not_found: El mensaje al que intentás responder no existe. in_reply_not_found: El mensaje al que intentás responder no existe.
open_in_web: Abrir en la web
over_character_limit: se excedió el límite de %{max} caracteres over_character_limit: se excedió el límite de %{max} caracteres
pin_errors: pin_errors:
direct: Los mensajes que sólo son visibles para los usuarios mencionados no pueden ser fijados direct: Los mensajes que sólo son visibles para los usuarios mencionados no pueden ser fijados
limit: Ya fijaste el número máximo de mensajes limit: Ya fijaste el número máximo de mensajes
ownership: No se puede fijar el mensaje de otra cuenta ownership: No se puede fijar el mensaje de otra cuenta
reblog: No se puede fijar una adhesión reblog: No se puede fijar una adhesión
poll:
total_people:
one: "%{count} persona"
other: "%{count} personas"
total_votes:
one: "%{count} voto"
other: "%{count} votos"
vote: Votar
show_more: Mostrar más
show_thread: Mostrar hilo
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Directo direct: Directo

View file

@ -7,7 +7,6 @@ es-MX:
hosted_on: Mastodon alojado en %{domain} hosted_on: Mastodon alojado en %{domain}
title: Acerca de title: Acerca de
accounts: accounts:
follow: Seguir
followers: followers:
one: Seguidor one: Seguidor
other: Seguidores other: Seguidores
@ -1730,23 +1729,12 @@ es-MX:
edited_at_html: Editado %{date} edited_at_html: Editado %{date}
errors: errors:
in_reply_not_found: El estado al que intentas responder no existe. in_reply_not_found: El estado al que intentas responder no existe.
open_in_web: Abrir en web
over_character_limit: Límite de caracteres de %{max} superado over_character_limit: Límite de caracteres de %{max} superado
pin_errors: pin_errors:
direct: Las publicaciones que son visibles solo para los usuarios mencionados no pueden fijarse direct: Las publicaciones que son visibles solo para los usuarios mencionados no pueden fijarse
limit: Ya has fijado el número máximo de publicaciones limit: Ya has fijado el número máximo de publicaciones
ownership: El toot de alguien más no puede fijarse ownership: El toot de alguien más no puede fijarse
reblog: Un boost no puede fijarse reblog: Un boost no puede fijarse
poll:
total_people:
one: persona %{count}
other: "%{count} gente"
total_votes:
one: "%{count} voto"
other: "%{count} votos"
vote: Vota
show_more: Mostrar más
show_thread: Mostrar discusión
title: "%{name}: «%{quote}»" title: "%{name}: «%{quote}»"
visibilities: visibilities:
direct: Directa direct: Directa

View file

@ -7,7 +7,6 @@ es:
hosted_on: Mastodon alojado en %{domain} hosted_on: Mastodon alojado en %{domain}
title: Acerca de title: Acerca de
accounts: accounts:
follow: Seguir
followers: followers:
one: Seguidor one: Seguidor
other: Seguidores other: Seguidores
@ -1730,23 +1729,12 @@ es:
edited_at_html: Editado %{date} edited_at_html: Editado %{date}
errors: errors:
in_reply_not_found: La publicación a la que intentas responder no existe. in_reply_not_found: La publicación a la que intentas responder no existe.
open_in_web: Abrir en web
over_character_limit: Límite de caracteres de %{max} superado over_character_limit: Límite de caracteres de %{max} superado
pin_errors: pin_errors:
direct: Las publicaciones que son visibles solo para los usuarios mencionados no pueden fijarse direct: Las publicaciones que son visibles solo para los usuarios mencionados no pueden fijarse
limit: Ya has fijado el número máximo de publicaciones limit: Ya has fijado el número máximo de publicaciones
ownership: La publicación de otra persona no puede fijarse ownership: La publicación de otra persona no puede fijarse
reblog: Un boost no puede fijarse reblog: Un boost no puede fijarse
poll:
total_people:
one: "%{count} persona"
other: "%{count} personas"
total_votes:
one: "%{count} voto"
other: "%{count} votos"
vote: Vota
show_more: Mostrar más
show_thread: Mostrar discusión
title: "%{name}: «%{quote}»" title: "%{name}: «%{quote}»"
visibilities: visibilities:
direct: Directa direct: Directa

View file

@ -7,7 +7,6 @@ et:
hosted_on: Mastodon majutatud %{domain}-is hosted_on: Mastodon majutatud %{domain}-is
title: Teave title: Teave
accounts: accounts:
follow: Jälgi
followers: followers:
one: Jälgija one: Jälgija
other: Jälgijaid other: Jälgijaid
@ -1701,23 +1700,12 @@ et:
edited_at_html: Muudetud %{date} edited_at_html: Muudetud %{date}
errors: errors:
in_reply_not_found: Postitus, millele üritad vastata, ei näi enam eksisteerivat. in_reply_not_found: Postitus, millele üritad vastata, ei näi enam eksisteerivat.
open_in_web: Ava veebis
over_character_limit: tähtmärkide limiit %{max} ületatud over_character_limit: tähtmärkide limiit %{max} ületatud
pin_errors: pin_errors:
direct: Ei saa kinnitada postitusi, mis on nähtavad vaid mainitud kasutajatele direct: Ei saa kinnitada postitusi, mis on nähtavad vaid mainitud kasutajatele
limit: Kinnitatud on juba maksimaalne arv postitusi limit: Kinnitatud on juba maksimaalne arv postitusi
ownership: Kellegi teise postitust ei saa kinnitada ownership: Kellegi teise postitust ei saa kinnitada
reblog: Jagamist ei saa kinnitada reblog: Jagamist ei saa kinnitada
poll:
total_people:
one: "%{count} inimene"
other: "%{count} inimest"
total_votes:
one: "%{count} hääl"
other: "%{count} häält"
vote: Hääleta
show_more: Näita rohkem
show_thread: Kuva lõim
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Otsene direct: Otsene

View file

@ -7,7 +7,6 @@ eu:
hosted_on: Mastodon %{domain} domeinuan ostatatua hosted_on: Mastodon %{domain} domeinuan ostatatua
title: Honi buruz title: Honi buruz
accounts: accounts:
follow: Jarraitu
followers: followers:
one: Jarraitzaile one: Jarraitzaile
other: jarraitzaile other: jarraitzaile
@ -1639,23 +1638,12 @@ eu:
edited_at_html: Editatua %{date} edited_at_html: Editatua %{date}
errors: errors:
in_reply_not_found: Erantzuten saiatu zaren bidalketa antza ez da existitzen. in_reply_not_found: Erantzuten saiatu zaren bidalketa antza ez da existitzen.
open_in_web: Ireki web-ean
over_character_limit: "%{max}eko karaktere muga gaindituta" over_character_limit: "%{max}eko karaktere muga gaindituta"
pin_errors: pin_errors:
direct: Aipatutako erabiltzaileentzat soilik ikusgai dauden bidalketak ezin dira finkatu direct: Aipatutako erabiltzaileentzat soilik ikusgai dauden bidalketak ezin dira finkatu
limit: Gehienez finkatu daitekeen bidalketa kopurua finkatu duzu jada limit: Gehienez finkatu daitekeen bidalketa kopurua finkatu duzu jada
ownership: Ezin duzu beste norbaiten bidalketa bat finkatu ownership: Ezin duzu beste norbaiten bidalketa bat finkatu
reblog: Bultzada bat ezin da finkatu reblog: Bultzada bat ezin da finkatu
poll:
total_people:
one: pertsona %{count}
other: "%{count} pertsona"
total_votes:
one: Boto %{count}
other: "%{count} boto"
vote: Bozkatu
show_more: Erakutsi gehiago
show_thread: Erakutsi haria
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Zuzena direct: Zuzena

View file

@ -7,7 +7,6 @@ fa:
hosted_on: ماستودون، میزبانی‌شده روی %{domain} hosted_on: ماستودون، میزبانی‌شده روی %{domain}
title: درباره title: درباره
accounts: accounts:
follow: پیگیری
followers: followers:
one: پیگیر one: پیگیر
other: پیگیر other: پیگیر
@ -1404,23 +1403,12 @@ fa:
edited_at_html: ویراسته در %{date} edited_at_html: ویراسته در %{date}
errors: errors:
in_reply_not_found: به نظر نمی‌رسد وضعیتی که می‌خواهید به آن پاسخ دهید، وجود داشته باشد. in_reply_not_found: به نظر نمی‌رسد وضعیتی که می‌خواهید به آن پاسخ دهید، وجود داشته باشد.
open_in_web: گشودن در وب
over_character_limit: از حد مجاز %{max} حرف فراتر رفتید over_character_limit: از حد مجاز %{max} حرف فراتر رفتید
pin_errors: pin_errors:
direct: فرسته‌هایی که فقط برای کاربران اشاره شده نمایانند نمی‌توانند سنجاق شوند direct: فرسته‌هایی که فقط برای کاربران اشاره شده نمایانند نمی‌توانند سنجاق شوند
limit: از این بیشتر نمی‌شود نوشته‌های ثابت داشت limit: از این بیشتر نمی‌شود نوشته‌های ثابت داشت
ownership: نوشته‌های دیگران را نمی‌توان ثابت کرد ownership: نوشته‌های دیگران را نمی‌توان ثابت کرد
reblog: تقویت نمی‌تواند سنجاق شود reblog: تقویت نمی‌تواند سنجاق شود
poll:
total_people:
one: "%{count} نفر"
other: "%{count} نفر"
total_votes:
one: "%{count} رأی"
other: "%{count} رأی"
vote: رأی
show_more: نمایش
show_thread: نمایش رشته
title: "%{name}: «%{quote}»" title: "%{name}: «%{quote}»"
visibilities: visibilities:
direct: مستقیم direct: مستقیم

View file

@ -7,7 +7,6 @@ fi:
hosted_on: Mastodon palvelimella %{domain} hosted_on: Mastodon palvelimella %{domain}
title: Tietoja title: Tietoja
accounts: accounts:
follow: Seuraa
followers: followers:
one: seuraaja one: seuraaja
other: seuraajaa other: seuraajaa
@ -1738,23 +1737,12 @@ fi:
edited_at_html: Muokattu %{date} edited_at_html: Muokattu %{date}
errors: errors:
in_reply_not_found: Julkaisua, johon yrität vastata, ei näytä olevan olemassa. in_reply_not_found: Julkaisua, johon yrität vastata, ei näytä olevan olemassa.
open_in_web: Avaa selaimessa
over_character_limit: merkkimäärän rajoitus %{max} ylitetty over_character_limit: merkkimäärän rajoitus %{max} ylitetty
pin_errors: pin_errors:
direct: Vain mainituille käyttäjille näkyviä julkaisuja ei voi kiinnittää direct: Vain mainituille käyttäjille näkyviä julkaisuja ei voi kiinnittää
limit: Olet jo kiinnittänyt enimmäismäärän julkaisuja limit: Olet jo kiinnittänyt enimmäismäärän julkaisuja
ownership: Muiden julkaisuja ei voi kiinnittää ownership: Muiden julkaisuja ei voi kiinnittää
reblog: Tehostusta ei voi kiinnittää reblog: Tehostusta ei voi kiinnittää
poll:
total_people:
one: "%{count} käyttäjä"
other: "%{count} käyttäjää"
total_votes:
one: "%{count} ääni"
other: "%{count} ääntä"
vote: Äänestä
show_more: Näytä lisää
show_thread: Näytä ketju
title: "%{name}: ”%{quote}”" title: "%{name}: ”%{quote}”"
visibilities: visibilities:
direct: Suoraan direct: Suoraan

View file

@ -7,7 +7,6 @@ fo:
hosted_on: Mastodon hýst á %{domain} hosted_on: Mastodon hýst á %{domain}
title: Um title: Um
accounts: accounts:
follow: Fylg
followers: followers:
one: Fylgjari one: Fylgjari
other: Fylgjarar other: Fylgjarar
@ -1740,23 +1739,12 @@ fo:
edited_at_html: Rættað %{date} edited_at_html: Rættað %{date}
errors: errors:
in_reply_not_found: Posturin, sum tú roynir at svara, sýnist ikki at finnast. in_reply_not_found: Posturin, sum tú roynir at svara, sýnist ikki at finnast.
open_in_web: Lat upp á vevinum
over_character_limit: mesta tal av teknum, %{max}, rokkið over_character_limit: mesta tal av teknum, %{max}, rokkið
pin_errors: pin_errors:
direct: Postar, sum einans eru sjónligir hjá nevndum brúkarum, kunnu ikki festast direct: Postar, sum einans eru sjónligir hjá nevndum brúkarum, kunnu ikki festast
limit: Tú hevur longu fest loyvda talið av postum limit: Tú hevur longu fest loyvda talið av postum
ownership: Postar hjá øðrum kunnu ikki festast ownership: Postar hjá øðrum kunnu ikki festast
reblog: Ein stimbran kann ikki festast reblog: Ein stimbran kann ikki festast
poll:
total_people:
one: "%{count} fólk"
other: "%{count} fólk"
total_votes:
one: "%{count} atkvøða"
other: "%{count} atkvøður"
vote: Atkvøð
show_more: Vís meira
show_thread: Vís tráð
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Beinleiðis direct: Beinleiðis

View file

@ -7,7 +7,6 @@ fr-CA:
hosted_on: Serveur Mastodon hébergé sur %{domain} hosted_on: Serveur Mastodon hébergé sur %{domain}
title: À propos title: À propos
accounts: accounts:
follow: Suivre
followers: followers:
one: Abonné·e one: Abonné·e
other: Abonné·e·s other: Abonné·e·s
@ -1711,23 +1710,12 @@ fr-CA:
edited_at_html: Édité le %{date} edited_at_html: Édité le %{date}
errors: errors:
in_reply_not_found: Le message auquel vous essayez de répondre ne semble pas exister. in_reply_not_found: Le message auquel vous essayez de répondre ne semble pas exister.
open_in_web: Ouvrir sur le web
over_character_limit: limite de %{max} caractères dépassée over_character_limit: limite de %{max} caractères dépassée
pin_errors: pin_errors:
direct: Les messages qui ne sont visibles que pour les utilisateur·rice·s mentionné·e·s ne peuvent pas être épinglés direct: Les messages qui ne sont visibles que pour les utilisateur·rice·s mentionné·e·s ne peuvent pas être épinglés
limit: Vous avez déjà épinglé le nombre maximum de messages limit: Vous avez déjà épinglé le nombre maximum de messages
ownership: Vous ne pouvez pas épingler un message ne vous appartenant pas ownership: Vous ne pouvez pas épingler un message ne vous appartenant pas
reblog: Un partage ne peut pas être épinglé reblog: Un partage ne peut pas être épinglé
poll:
total_people:
one: "%{count} personne"
other: "%{count} personnes"
total_votes:
one: "%{count} vote"
other: "%{count} votes"
vote: Voter
show_more: Déplier
show_thread: Afficher le fil de discussion
title: "%{name}: « %{quote} »" title: "%{name}: « %{quote} »"
visibilities: visibilities:
direct: Direct direct: Direct

View file

@ -7,7 +7,6 @@ fr:
hosted_on: Serveur Mastodon hébergé sur %{domain} hosted_on: Serveur Mastodon hébergé sur %{domain}
title: À propos title: À propos
accounts: accounts:
follow: Suivre
followers: followers:
one: Abonné·e one: Abonné·e
other: Abonné·e·s other: Abonné·e·s
@ -1711,23 +1710,12 @@ fr:
edited_at_html: Modifié le %{date} edited_at_html: Modifié le %{date}
errors: errors:
in_reply_not_found: Le message auquel vous essayez de répondre ne semble pas exister. in_reply_not_found: Le message auquel vous essayez de répondre ne semble pas exister.
open_in_web: Ouvrir sur le web
over_character_limit: limite de %{max} caractères dépassée over_character_limit: limite de %{max} caractères dépassée
pin_errors: pin_errors:
direct: Les messages qui ne sont visibles que pour les utilisateur·rice·s mentionné·e·s ne peuvent pas être épinglés direct: Les messages qui ne sont visibles que pour les utilisateur·rice·s mentionné·e·s ne peuvent pas être épinglés
limit: Vous avez déjà épinglé le nombre maximum de messages limit: Vous avez déjà épinglé le nombre maximum de messages
ownership: Vous ne pouvez pas épingler un message ne vous appartenant pas ownership: Vous ne pouvez pas épingler un message ne vous appartenant pas
reblog: Un partage ne peut pas être épinglé reblog: Un partage ne peut pas être épinglé
poll:
total_people:
one: "%{count} personne"
other: "%{count} personnes"
total_votes:
one: "%{count} vote"
other: "%{count} votes"
vote: Voter
show_more: Déplier
show_thread: Afficher le fil de discussion
title: "%{name}: « %{quote} »" title: "%{name}: « %{quote} »"
visibilities: visibilities:
direct: Direct direct: Direct

View file

@ -7,7 +7,6 @@ fy:
hosted_on: Mastodon op %{domain} hosted_on: Mastodon op %{domain}
title: Oer title: Oer
accounts: accounts:
follow: Folgje
followers: followers:
one: Folger one: Folger
other: Folgers other: Folgers
@ -1730,23 +1729,12 @@ fy:
edited_at_html: Bewurke op %{date} edited_at_html: Bewurke op %{date}
errors: errors:
in_reply_not_found: It berjocht wêrop jo probearje te reagearjen liket net te bestean. in_reply_not_found: It berjocht wêrop jo probearje te reagearjen liket net te bestean.
open_in_web: Yn de webapp iepenje
over_character_limit: Oer de limyt fan %{max} tekens over_character_limit: Oer de limyt fan %{max} tekens
pin_errors: pin_errors:
direct: Berjochten dyt allinnich sichtber binne foar fermelde brûkers kinne net fêstset wurde direct: Berjochten dyt allinnich sichtber binne foar fermelde brûkers kinne net fêstset wurde
limit: Jo hawwe it maksimaal tal berjochten al fêstmakke limit: Jo hawwe it maksimaal tal berjochten al fêstmakke
ownership: In berjocht fan in oar kin net fêstmakke wurde ownership: In berjocht fan in oar kin net fêstmakke wurde
reblog: In boost kin net fêstset wurde reblog: In boost kin net fêstset wurde
poll:
total_people:
one: "%{count} persoan"
other: "%{count} persoanen"
total_votes:
one: "%{count} stim"
other: "%{count} stimmen"
vote: Stimme
show_more: Mear toane
show_thread: Petear toane
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Direkt direct: Direkt

View file

@ -7,7 +7,6 @@ ga:
hosted_on: Mastodon arna óstáil ar %{domain} hosted_on: Mastodon arna óstáil ar %{domain}
title: Maidir le title: Maidir le
accounts: accounts:
follow: Lean
followers: followers:
few: Leantóirí few: Leantóirí
many: Leantóirí many: Leantóirí
@ -1823,29 +1822,12 @@ ga:
edited_at_html: "%{date} curtha in eagar" edited_at_html: "%{date} curtha in eagar"
errors: errors:
in_reply_not_found: Is cosúil nach ann don phostáil a bhfuil tú ag iarraidh freagra a thabhairt air. in_reply_not_found: Is cosúil nach ann don phostáil a bhfuil tú ag iarraidh freagra a thabhairt air.
open_in_web: Oscail i ngréasán
over_character_limit: teorainn carachtar %{max} sáraithe over_character_limit: teorainn carachtar %{max} sáraithe
pin_errors: pin_errors:
direct: Ní féidir postálacha nach bhfuil le feiceáil ach ag úsáideoirí luaite a phinnáil direct: Ní féidir postálacha nach bhfuil le feiceáil ach ag úsáideoirí luaite a phinnáil
limit: Tá uaslíon na bpostálacha pinn agat cheana féin limit: Tá uaslíon na bpostálacha pinn agat cheana féin
ownership: Ní féidir postáil duine éigin eile a phionnáil ownership: Ní féidir postáil duine éigin eile a phionnáil
reblog: Ní féidir treisiú a phinnáil reblog: Ní féidir treisiú a phinnáil
poll:
total_people:
few: "%{count} daoine"
many: "%{count} daoine"
one: "%{count} duine"
other: "%{count} daoine"
two: "%{count} daoine"
total_votes:
few: "%{count} vótaí"
many: "%{count} vótaí"
one: "%{count} vóta"
other: "%{count} vótaí"
two: "%{count} vótaí"
vote: Vótáil
show_more: Taispeáin níos mó
show_thread: Taispeáin snáithe
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Díreach direct: Díreach

View file

@ -7,7 +7,6 @@ gd:
hosted_on: Mastodon ga òstadh air %{domain} hosted_on: Mastodon ga òstadh air %{domain}
title: Mu dhèidhinn title: Mu dhèidhinn
accounts: accounts:
follow: Lean
followers: followers:
few: Luchd-leantainn few: Luchd-leantainn
one: Neach-leantainn one: Neach-leantainn
@ -1793,27 +1792,12 @@ gd:
edited_at_html: Air a dheasachadh %{date} edited_at_html: Air a dheasachadh %{date}
errors: errors:
in_reply_not_found: Tha coltas nach eil am post dhan a tha thu airson freagairt ann. in_reply_not_found: Tha coltas nach eil am post dhan a tha thu airson freagairt ann.
open_in_web: Fosgail air an lìon
over_character_limit: chaidh thu thar crìoch charactaran de %{max} over_character_limit: chaidh thu thar crìoch charactaran de %{max}
pin_errors: pin_errors:
direct: Chan urrainn dhut post a phrìneachadh nach fhaic ach na cleachdaichean le iomradh orra direct: Chan urrainn dhut post a phrìneachadh nach fhaic ach na cleachdaichean le iomradh orra
limit: Tha an àireamh as motha de phostaichean prìnichte agad a tha ceadaichte limit: Tha an àireamh as motha de phostaichean prìnichte agad a tha ceadaichte
ownership: Chan urrainn dhut post càich a phrìneachadh ownership: Chan urrainn dhut post càich a phrìneachadh
reblog: Chan urrainn dhut brosnachadh a phrìneachadh reblog: Chan urrainn dhut brosnachadh a phrìneachadh
poll:
total_people:
few: "%{count} daoine"
one: "%{count} neach"
other: "%{count} duine"
two: "%{count} neach"
total_votes:
few: "%{count} bhòtaichean"
one: "%{count} bhòt"
other: "%{count} bhòt"
two: "%{count} bhòt"
vote: Bhòt
show_more: Seall barrachd dheth
show_thread: Seall an snàithlean
title: "%{name}: “%{quote}”" title: "%{name}: “%{quote}”"
visibilities: visibilities:
direct: Dìreach direct: Dìreach

View file

@ -7,7 +7,6 @@ gl:
hosted_on: Mastodon aloxado en %{domain} hosted_on: Mastodon aloxado en %{domain}
title: Sobre title: Sobre
accounts: accounts:
follow: Seguir
followers: followers:
one: Seguidora one: Seguidora
other: Seguidoras other: Seguidoras
@ -1740,23 +1739,12 @@ gl:
edited_at_html: Editado %{date} edited_at_html: Editado %{date}
errors: errors:
in_reply_not_found: A publicación á que tentas responder semella que non existe. in_reply_not_found: A publicación á que tentas responder semella que non existe.
open_in_web: Abrir na web
over_character_limit: Excedeu o límite de caracteres %{max} over_character_limit: Excedeu o límite de caracteres %{max}
pin_errors: pin_errors:
direct: As publicacións que só son visibles para as usuarias mencionadas non se poden fixar direct: As publicacións que só son visibles para as usuarias mencionadas non se poden fixar
limit: Xa fixaches o número máximo permitido de publicacións limit: Xa fixaches o número máximo permitido de publicacións
ownership: Non podes fixar a publicación doutra usuaria ownership: Non podes fixar a publicación doutra usuaria
reblog: Non se poden fixar as mensaxes promovidas reblog: Non se poden fixar as mensaxes promovidas
poll:
total_people:
one: "%{count} persoa"
other: "%{count} persoas"
total_votes:
one: "%{count} voto"
other: "%{count} votos"
vote: Votar
show_more: Mostrar máis
show_thread: Amosar fío
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Directa direct: Directa

View file

@ -7,7 +7,6 @@ he:
hosted_on: מסטודון שיושב בכתובת %{domain} hosted_on: מסטודון שיושב בכתובת %{domain}
title: אודות title: אודות
accounts: accounts:
follow: לעקוב
followers: followers:
many: עוקבים many: עוקבים
one: עוקב one: עוקב
@ -1800,27 +1799,12 @@ he:
edited_at_html: נערך ב-%{date} edited_at_html: נערך ב-%{date}
errors: errors:
in_reply_not_found: נראה שההודעה שאת/ה מנסה להגיב לה לא קיימת. in_reply_not_found: נראה שההודעה שאת/ה מנסה להגיב לה לא קיימת.
open_in_web: פתח ברשת
over_character_limit: חריגה מגבול התווים של %{max} over_character_limit: חריגה מגבול התווים של %{max}
pin_errors: pin_errors:
direct: לא ניתן לקבע הודעות שנראותן מוגבלת למכותבים בלבד direct: לא ניתן לקבע הודעות שנראותן מוגבלת למכותבים בלבד
limit: הגעת למספר המירבי של ההודעות המוצמדות limit: הגעת למספר המירבי של ההודעות המוצמדות
ownership: הודעות של אחרים לא יכולות להיות מוצמדות ownership: הודעות של אחרים לא יכולות להיות מוצמדות
reblog: אין אפשרות להצמיד הדהודים reblog: אין אפשרות להצמיד הדהודים
poll:
total_people:
many: "%{count} אנשים"
one: איש/ה %{count}
other: "%{count} אנשים"
two: "%{count} אנשים"
total_votes:
many: "%{count} קולות"
one: קול %{count}
other: "%{count} קולות"
two: "%{count} קולות"
vote: הצבעה
show_more: עוד
show_thread: הצג שרשור
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: ישיר direct: ישיר

View file

@ -5,7 +5,6 @@ hi:
contact_unavailable: लागू नहीं है contact_unavailable: लागू नहीं है
title: के बारे में title: के बारे में
accounts: accounts:
follow: अनुसरे
following: फ़ॉलो कर रहे हैं following: फ़ॉलो कर रहे हैं
instance_actor_flash: यह खाता आभासी है जो सर्वर को दिखाने के लिये है और ये किसी व्यक्तिका प्रतिनिधित्व नहि करता। यह सिर्फ देखरेख के हेतु से कार्यरत है और इसको निलंबित करने कि आवश्यकता नहि है। instance_actor_flash: यह खाता आभासी है जो सर्वर को दिखाने के लिये है और ये किसी व्यक्तिका प्रतिनिधित्व नहि करता। यह सिर्फ देखरेख के हेतु से कार्यरत है और इसको निलंबित करने कि आवश्यकता नहि है।
last_active: आखिरि बार इस वक्त सक्रिय थे last_active: आखिरि बार इस वक्त सक्रिय थे

View file

@ -5,7 +5,6 @@ hr:
contact_missing: Nije postavljeno contact_missing: Nije postavljeno
title: O aplikaciji title: O aplikaciji
accounts: accounts:
follow: Prati
following: Praćenih following: Praćenih
last_active: posljednja aktivnost last_active: posljednja aktivnost
nothing_here: Ovdje nema ničeg! nothing_here: Ovdje nema ničeg!
@ -215,20 +214,7 @@ hr:
statuses_cleanup: Automatsko brisanje postova statuses_cleanup: Automatsko brisanje postova
two_factor_authentication: Dvofaktorska autentifikacija two_factor_authentication: Dvofaktorska autentifikacija
statuses: statuses:
open_in_web: Otvori na webu
over_character_limit: prijeđeno je ograničenje od %{max} znakova over_character_limit: prijeđeno je ograničenje od %{max} znakova
poll:
total_people:
few: "%{count} osobe"
one: "%{count} osoba"
other: "%{count} ljudi"
total_votes:
few: "%{count} glasa"
one: "%{count} glas"
other: "%{count} glasova"
vote: Glasaj
show_more: Prikaži više
show_thread: Prikaži nit
visibilities: visibilities:
private: Samo pratitelji private: Samo pratitelji
public: Javno public: Javno

View file

@ -7,7 +7,6 @@ hu:
hosted_on: "%{domain} Mastodon-kiszolgáló" hosted_on: "%{domain} Mastodon-kiszolgáló"
title: Névjegy title: Névjegy
accounts: accounts:
follow: Követés
followers: followers:
one: Követő one: Követő
other: Követő other: Követő
@ -1740,23 +1739,12 @@ hu:
edited_at_html: 'Szerkesztve: %{date}' edited_at_html: 'Szerkesztve: %{date}'
errors: errors:
in_reply_not_found: Már nem létezik az a bejegyzés, melyre válaszolni szeretnél. in_reply_not_found: Már nem létezik az a bejegyzés, melyre válaszolni szeretnél.
open_in_web: Megnyitás a weben
over_character_limit: túllépted a maximális %{max} karakteres keretet over_character_limit: túllépted a maximális %{max} karakteres keretet
pin_errors: pin_errors:
direct: A csak a megemlített felhasználók számára látható bejegyzések nem tűzhetők ki direct: A csak a megemlített felhasználók számára látható bejegyzések nem tűzhetők ki
limit: Elérted a kitűzhető bejegyzések maximális számát limit: Elérted a kitűzhető bejegyzések maximális számát
ownership: Nem tűzheted ki valaki más bejegyzését ownership: Nem tűzheted ki valaki más bejegyzését
reblog: Megtolt bejegyzést nem tudsz kitűzni reblog: Megtolt bejegyzést nem tudsz kitűzni
poll:
total_people:
one: "%{count} személy"
other: "%{count} személy"
total_votes:
one: "%{count} szavazat"
other: "%{count} szavazat"
vote: Szavazás
show_more: Több megjelenítése
show_thread: Szál mutatása
title: "%{name}: „%{quote}”" title: "%{name}: „%{quote}”"
visibilities: visibilities:
direct: Közvetlen direct: Közvetlen

View file

@ -7,7 +7,6 @@ hy:
hosted_on: Մաստոդոնը տեղակայուած է %{domain}ում hosted_on: Մաստոդոնը տեղակայուած է %{domain}ում
title: Մասին title: Մասին
accounts: accounts:
follow: Հետևել
followers: followers:
one: Հետեւորդ one: Հետեւորդ
other: Հետևորդներ other: Հետևորդներ
@ -782,18 +781,7 @@ hy:
other: "%{count} վիդեո" other: "%{count} վիդեո"
content_warning: Նախազգուշացում։ %{warning} content_warning: Նախազգուշացում։ %{warning}
edited_at_html: Խմբագրուած՝ %{date} edited_at_html: Խմբագրուած՝ %{date}
open_in_web: Բացել վէբում
over_character_limit: "%{max} նիշի սահմանը գերազանցուած է" over_character_limit: "%{max} նիշի սահմանը գերազանցուած է"
poll:
total_people:
one: "%{count} մարդ"
other: "%{count} մարդիկ"
total_votes:
one: "%{count} ձայն"
other: "%{count} ձայներ"
vote: Քուէարկել
show_more: Աւելին
show_thread: Բացել շղթան
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Հասցէագրուած direct: Հասցէագրուած

View file

@ -7,7 +7,6 @@ ia:
hosted_on: Mastodon albergate sur %{domain} hosted_on: Mastodon albergate sur %{domain}
title: A proposito title: A proposito
accounts: accounts:
follow: Sequer
followers: followers:
one: Sequitor one: Sequitor
other: Sequitores other: Sequitores
@ -1723,23 +1722,12 @@ ia:
edited_at_html: Modificate le %{date} edited_at_html: Modificate le %{date}
errors: errors:
in_reply_not_found: Le message a que tu tenta responder non pare exister. in_reply_not_found: Le message a que tu tenta responder non pare exister.
open_in_web: Aperir sur le web
over_character_limit: limite de characteres de %{max} excedite over_character_limit: limite de characteres de %{max} excedite
pin_errors: pin_errors:
direct: Messages que es solo visibile a usatores mentionate non pote esser appunctate direct: Messages que es solo visibile a usatores mentionate non pote esser appunctate
limit: Tu ha jam appunctate le maxime numero de messages limit: Tu ha jam appunctate le maxime numero de messages
ownership: Le message de alcuno altere non pote esser appunctate ownership: Le message de alcuno altere non pote esser appunctate
reblog: Un impulso non pote esser affixate reblog: Un impulso non pote esser affixate
poll:
total_people:
one: "%{count} persona"
other: "%{count} personas"
total_votes:
one: "%{count} voto"
other: "%{count} votos"
vote: Votar
show_more: Monstrar plus
show_thread: Monstrar discussion
title: "%{name}: “%{quote}”" title: "%{name}: “%{quote}”"
visibilities: visibilities:
direct: Directe direct: Directe

View file

@ -7,7 +7,6 @@ id:
hosted_on: Mastodon dihosting di %{domain} hosted_on: Mastodon dihosting di %{domain}
title: Tentang title: Tentang
accounts: accounts:
follow: Ikuti
followers: followers:
other: Pengikut other: Pengikut
following: Mengikuti following: Mengikuti
@ -1378,21 +1377,12 @@ id:
edited_at_html: Diedit %{date} edited_at_html: Diedit %{date}
errors: errors:
in_reply_not_found: Status yang ingin Anda balas sudah tidak ada. in_reply_not_found: Status yang ingin Anda balas sudah tidak ada.
open_in_web: Buka di web
over_character_limit: melebihi %{max} karakter over_character_limit: melebihi %{max} karakter
pin_errors: pin_errors:
direct: Kiriman yang hanya terlihat oleh pengguna yang disebutkan tidak dapat disematkan direct: Kiriman yang hanya terlihat oleh pengguna yang disebutkan tidak dapat disematkan
limit: Anda sudah mencapai jumlah maksimum kiriman yang dapat disematkan limit: Anda sudah mencapai jumlah maksimum kiriman yang dapat disematkan
ownership: Kiriman orang lain tidak bisa disematkan ownership: Kiriman orang lain tidak bisa disematkan
reblog: Boost tidak bisa disematkan reblog: Boost tidak bisa disematkan
poll:
total_people:
other: "%{count} orang"
total_votes:
other: "%{count} memilih"
vote: Pilih
show_more: Tampilkan selengkapnya
show_thread: Tampilkan utas
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Langsung direct: Langsung

View file

@ -7,7 +7,6 @@ ie:
hosted_on: Mastodon logiat che %{domain} hosted_on: Mastodon logiat che %{domain}
title: Pri title: Pri
accounts: accounts:
follow: Sequer
followers: followers:
one: Sequitor one: Sequitor
other: Sequitores other: Sequitores
@ -1637,23 +1636,12 @@ ie:
edited_at_html: Modificat ye %{date} edited_at_html: Modificat ye %{date}
errors: errors:
in_reply_not_found: Li posta a quel tu prova responder ne sembla exister. in_reply_not_found: Li posta a quel tu prova responder ne sembla exister.
open_in_web: Aperter in web
over_character_limit: límite de carácteres de %{max} transpassat over_character_limit: límite de carácteres de %{max} transpassat
pin_errors: pin_errors:
direct: On ne posse pinglar postas queles es visibil solmen a mentionat usatores direct: On ne posse pinglar postas queles es visibil solmen a mentionat usatores
limit: Tu ja ha pinglat li maxim númere de postas limit: Tu ja ha pinglat li maxim númere de postas
ownership: On ne posse pinglar li posta de un altri person ownership: On ne posse pinglar li posta de un altri person
reblog: On ne posse pinglar un boost reblog: On ne posse pinglar un boost
poll:
total_people:
one: "%{count} person"
other: "%{count} persones"
total_votes:
one: "%{count} vote"
other: "%{count} votes"
vote: Votar
show_more: Monstrar plu
show_thread: Monstrar fil
title: "%{name}: «%{quote}»" title: "%{name}: «%{quote}»"
visibilities: visibilities:
direct: Direct direct: Direct

View file

@ -7,7 +7,6 @@ io:
hosted_on: Mastodon hostigesas che %{domain} hosted_on: Mastodon hostigesas che %{domain}
title: Pri co title: Pri co
accounts: accounts:
follow: Sequar
followers: followers:
one: Sequanto one: Sequanto
other: Sequanti other: Sequanti
@ -1590,23 +1589,12 @@ io:
edited_at_html: Modifikesis ye %{date} edited_at_html: Modifikesis ye %{date}
errors: errors:
in_reply_not_found: Posto quon vu probas respondar semblas ne existas. in_reply_not_found: Posto quon vu probas respondar semblas ne existas.
open_in_web: Apertar retnavigile
over_character_limit: limito de %{max} signi ecesita over_character_limit: limito de %{max} signi ecesita
pin_errors: pin_errors:
direct: Posti quo povas videsar nur mencionita uzanti ne povas pinglagesar direct: Posti quo povas videsar nur mencionita uzanti ne povas pinglagesar
limit: Vu ja pinglagis maxima posti limit: Vu ja pinglagis maxima posti
ownership: Posto di altra persono ne povas pinglagesar ownership: Posto di altra persono ne povas pinglagesar
reblog: Repeto ne povas pinglizesar reblog: Repeto ne povas pinglizesar
poll:
total_people:
one: "%{count} persono"
other: "%{count} personi"
total_votes:
one: "%{count} voto"
other: "%{count} voti"
vote: Votez
show_more: Montrar plue
show_thread: Montrez postaro
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Direta direct: Direta

View file

@ -7,7 +7,6 @@ is:
hosted_on: Mastodon hýst á %{domain} hosted_on: Mastodon hýst á %{domain}
title: Um hugbúnaðinn title: Um hugbúnaðinn
accounts: accounts:
follow: Fylgjast með
followers: followers:
one: fylgjandi one: fylgjandi
other: fylgjendur other: fylgjendur
@ -1744,23 +1743,12 @@ is:
edited_at_html: Breytt %{date} edited_at_html: Breytt %{date}
errors: errors:
in_reply_not_found: Færslan sem þú ert að reyna að svara að er líklega ekki til. in_reply_not_found: Færslan sem þú ert að reyna að svara að er líklega ekki til.
open_in_web: Opna í vafra
over_character_limit: hámarksfjölda stafa (%{max}) náð over_character_limit: hámarksfjölda stafa (%{max}) náð
pin_errors: pin_errors:
direct: Ekki er hægt að festa færslur sem einungis eru sýnilegar þeim notendum sem minnst er á direct: Ekki er hægt að festa færslur sem einungis eru sýnilegar þeim notendum sem minnst er á
limit: Þú hefur þegar fest leyfilegan hámarksfjölda færslna limit: Þú hefur þegar fest leyfilegan hámarksfjölda færslna
ownership: Færslur frá einhverjum öðrum er ekki hægt að festa ownership: Færslur frá einhverjum öðrum er ekki hægt að festa
reblog: Ekki er hægt að festa endurbirtingu reblog: Ekki er hægt að festa endurbirtingu
poll:
total_people:
one: "%{count} aðili"
other: "%{count} aðilar"
total_votes:
one: "%{count} atkvæði"
other: "%{count} atkvæði"
vote: Greiða atkvæði
show_more: Sýna meira
show_thread: Birta þráð
title: "%{name}: „%{quote}‟" title: "%{name}: „%{quote}‟"
visibilities: visibilities:
direct: Beint direct: Beint

View file

@ -7,7 +7,6 @@ it:
hosted_on: Mastodon ospitato su %{domain} hosted_on: Mastodon ospitato su %{domain}
title: Info title: Info
accounts: accounts:
follow: Segui
followers: followers:
one: Seguace one: Seguace
other: Seguaci other: Seguaci
@ -1742,23 +1741,12 @@ it:
edited_at_html: Modificato il %{date} edited_at_html: Modificato il %{date}
errors: errors:
in_reply_not_found: Il post a cui stai tentando di rispondere non sembra esistere. in_reply_not_found: Il post a cui stai tentando di rispondere non sembra esistere.
open_in_web: Apri sul Web
over_character_limit: Limite caratteri superato di %{max} over_character_limit: Limite caratteri superato di %{max}
pin_errors: pin_errors:
direct: I messaggi visibili solo agli utenti citati non possono essere fissati in cima direct: I messaggi visibili solo agli utenti citati non possono essere fissati in cima
limit: Hai già fissato in cima il massimo numero di post limit: Hai già fissato in cima il massimo numero di post
ownership: Non puoi fissare in cima un post di qualcun altro ownership: Non puoi fissare in cima un post di qualcun altro
reblog: Un toot condiviso non può essere fissato in cima reblog: Un toot condiviso non può essere fissato in cima
poll:
total_people:
one: "%{count} persona"
other: "%{count} persone"
total_votes:
one: "%{count} voto"
other: "%{count} voti"
vote: Vota
show_more: Mostra di più
show_thread: Mostra thread
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Diretto direct: Diretto

View file

@ -7,7 +7,6 @@ ja:
hosted_on: Mastodon hosted on %{domain} hosted_on: Mastodon hosted on %{domain}
title: このサーバーについて title: このサーバーについて
accounts: accounts:
follow: フォロー
followers: followers:
other: フォロワー other: フォロワー
following: フォロー中 following: フォロー中
@ -1700,21 +1699,12 @@ ja:
edited_at_html: "%{date} 編集済み" edited_at_html: "%{date} 編集済み"
errors: errors:
in_reply_not_found: あなたが返信しようとしている投稿は存在しないようです。 in_reply_not_found: あなたが返信しようとしている投稿は存在しないようです。
open_in_web: Webで開く
over_character_limit: 上限は%{max}文字です over_character_limit: 上限は%{max}文字です
pin_errors: pin_errors:
direct: 返信したユーザーのみに表示される投稿はピン留めできません direct: 返信したユーザーのみに表示される投稿はピン留めできません
limit: 固定できる投稿数の上限に達しました limit: 固定できる投稿数の上限に達しました
ownership: 他人の投稿を固定することはできません ownership: 他人の投稿を固定することはできません
reblog: ブーストを固定することはできません reblog: ブーストを固定することはできません
poll:
total_people:
other: "%{count}人"
total_votes:
other: "%{count}票"
vote: 投票
show_more: もっと見る
show_thread: スレッドを表示
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: ダイレクト direct: ダイレクト

View file

@ -6,7 +6,6 @@ ka:
contact_unavailable: მიუწ. contact_unavailable: მიუწ.
hosted_on: მასტოდონს მასპინძლობს %{domain} hosted_on: მასტოდონს მასპინძლობს %{domain}
accounts: accounts:
follow: გაყევი
following: მიჰყვება following: მიჰყვება
nothing_here: აქ არაფერია! nothing_here: აქ არაფერია!
pin_errors: pin_errors:
@ -430,13 +429,11 @@ ka:
disallowed_hashtags: disallowed_hashtags:
one: 'მოიცავდა აკრძალულ ჰეშტეგს: %{tags}' one: 'მოიცავდა აკრძალულ ჰეშტეგს: %{tags}'
other: 'მოიცავს აკრძალულ ჰეშტეგს: %{tags}' other: 'მოიცავს აკრძალულ ჰეშტეგს: %{tags}'
open_in_web: ვებში გახნსა
over_character_limit: ნიშნების ლიმიტი გადასცდა %{max}-ს over_character_limit: ნიშნების ლიმიტი გადასცდა %{max}-ს
pin_errors: pin_errors:
limit: ტუტების მაქსიმალური რაოდენობა უკვე აპინეთ limit: ტუტების მაქსიმალური რაოდენობა უკვე აპინეთ
ownership: სხვისი ტუტი ვერ აიპინება ownership: სხვისი ტუტი ვერ აიპინება
reblog: ბუსტი ვერ აიპინება reblog: ბუსტი ვერ აიპინება
show_more: მეტის ჩვენება
visibilities: visibilities:
private: მხოლოდ-მიმდევრები private: მხოლოდ-მიმდევრები
private_long: აჩვენე მხოლოდ მიმდევრებს private_long: აჩვენე მხოლოდ მიმდევრებს

View file

@ -7,7 +7,6 @@ kab:
hosted_on: Maṣṭudun yersen deg %{domain} hosted_on: Maṣṭudun yersen deg %{domain}
title: Ɣef title: Ɣef
accounts: accounts:
follow: Ḍfeṛ
followers: followers:
one: Umeḍfaṛ one: Umeḍfaṛ
other: Imeḍfaṛen other: Imeḍfaṛen
@ -798,17 +797,6 @@ kab:
one: "%{count} n tbidyutt" one: "%{count} n tbidyutt"
other: "%{count} n tbidyutin" other: "%{count} n tbidyutin"
edited_at_html: Tettwaẓreg ass n %{date} edited_at_html: Tettwaẓreg ass n %{date}
open_in_web: Ldi deg Web
poll:
total_people:
one: "%{count} n wemdan"
other: "%{count} n yemdanen"
total_votes:
one: "%{count} n wedɣar"
other: "%{count} n yedɣaren"
vote: Dɣeṛ
show_more: Ssken-d ugar
show_thread: Ssken-d lxiḍ
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Usrid direct: Usrid

View file

@ -6,7 +6,6 @@ kk:
contact_unavailable: Белгісіз contact_unavailable: Белгісіз
hosted_on: Mastodon орнатылған %{domain} доменінде hosted_on: Mastodon орнатылған %{domain} доменінде
accounts: accounts:
follow: Жазылу
followers: followers:
one: Оқырман one: Оқырман
other: Оқырман other: Оқырман
@ -647,22 +646,11 @@ kk:
disallowed_hashtags: disallowed_hashtags:
one: 'рұқсат етілмеген хэштег: %{tags}' one: 'рұқсат етілмеген хэштег: %{tags}'
other: 'рұқсат етілмеген хэштегтер: %{tags}' other: 'рұқсат етілмеген хэштегтер: %{tags}'
open_in_web: Вебте ашу
over_character_limit: "%{max} максимум таңбадан асып кетті" over_character_limit: "%{max} максимум таңбадан асып кетті"
pin_errors: pin_errors:
limit: Жабыстырылатын жазба саны максимумынан асты limit: Жабыстырылатын жазба саны максимумынан асты
ownership: Біреудің жазбасы жабыстырылмайды ownership: Біреудің жазбасы жабыстырылмайды
reblog: Бөлісілген жазба жабыстырылмайды reblog: Бөлісілген жазба жабыстырылмайды
poll:
total_people:
one: "%{count} адам"
other: "%{count} адам"
total_votes:
one: "%{count} дауыс"
other: "%{count} дауыс"
vote: Дауыс беру
show_more: Тағы әкел
show_thread: Тақырыпты көрсет
visibilities: visibilities:
private: Тек оқырмандарға private: Тек оқырмандарға
private_long: Тек оқырмандарға ғана көрінеді private_long: Тек оқырмандарға ғана көрінеді

View file

@ -7,7 +7,6 @@ ko:
hosted_on: "%{domain}에서 호스팅 되는 마스토돈" hosted_on: "%{domain}에서 호스팅 되는 마스토돈"
title: 정보 title: 정보
accounts: accounts:
follow: 팔로우
followers: followers:
other: 팔로워 other: 팔로워
following: 팔로잉 following: 팔로잉
@ -1705,21 +1704,12 @@ ko:
edited_at_html: "%{date}에 편집됨" edited_at_html: "%{date}에 편집됨"
errors: errors:
in_reply_not_found: 답장하려는 게시물이 존재하지 않습니다. in_reply_not_found: 답장하려는 게시물이 존재하지 않습니다.
open_in_web: Web으로 열기
over_character_limit: 최대 %{max}자까지 입력할 수 있습니다 over_character_limit: 최대 %{max}자까지 입력할 수 있습니다
pin_errors: pin_errors:
direct: 멘션된 사용자들에게만 보이는 게시물은 고정될 수 없습니다 direct: 멘션된 사용자들에게만 보이는 게시물은 고정될 수 없습니다
limit: 이미 너무 많은 게시물을 고정했습니다 limit: 이미 너무 많은 게시물을 고정했습니다
ownership: 다른 사람의 게시물은 고정될 수 없습니다 ownership: 다른 사람의 게시물은 고정될 수 없습니다
reblog: 부스트는 고정될 수 없습니다 reblog: 부스트는 고정될 수 없습니다
poll:
total_people:
other: "%{count}명"
total_votes:
other: "%{count} 명 투표함"
vote: 투표
show_more: 더 보기
show_thread: 글타래 보기
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: 다이렉트 direct: 다이렉트

View file

@ -7,7 +7,6 @@ ku:
hosted_on: Mastodon li ser %{domain} tê pêşkêşkirin hosted_on: Mastodon li ser %{domain} tê pêşkêşkirin
title: Derbar title: Derbar
accounts: accounts:
follow: Bişopîne
followers: followers:
one: Şopîner one: Şopîner
other: Şopîner other: Şopîner
@ -1404,23 +1403,12 @@ ku:
edited_at_html: Di %{date} de hate serrastkirin edited_at_html: Di %{date} de hate serrastkirin
errors: errors:
in_reply_not_found: Ew şandiya ku tu dikî nakî bersivê bide xuya nake an jî hatiye jêbirin. in_reply_not_found: Ew şandiya ku tu dikî nakî bersivê bide xuya nake an jî hatiye jêbirin.
open_in_web: Di tevnê de veke
over_character_limit: sînorê karakterê %{max} derbas kir over_character_limit: sînorê karakterê %{max} derbas kir
pin_errors: pin_errors:
direct: Şandiyên ku tenê ji bikarhênerên qalkirî re têne xuyangkirin, nayê derzîkirin direct: Şandiyên ku tenê ji bikarhênerên qalkirî re têne xuyangkirin, nayê derzîkirin
limit: Jixwe te mezintirîn hejmara şandîyên xwe derzî kir limit: Jixwe te mezintirîn hejmara şandîyên xwe derzî kir
ownership: Şandiya kesekî din nay derzî kirin ownership: Şandiya kesekî din nay derzî kirin
reblog: Ev şandî nayê derzî kirin reblog: Ev şandî nayê derzî kirin
poll:
total_people:
one: "%{count} kes"
other: "%{count} kes"
total_votes:
one: "%{count} deng"
other: "%{count} deng"
vote: Deng bide
show_more: Bêtir nîşan bide
show_thread: Mijarê nîşan bide
title: "%{name}%{quote}" title: "%{name}%{quote}"
visibilities: visibilities:
direct: Rasterast direct: Rasterast

View file

@ -7,7 +7,6 @@ la:
hosted_on: Mastodon in %{domain} hospitātum hosted_on: Mastodon in %{domain} hospitātum
title: De title: De
accounts: accounts:
follow: Sequere
followers: followers:
one: Sectātor one: Sectātor
other: Sectātōrēs other: Sectātōrēs

View file

@ -7,7 +7,6 @@ lad:
hosted_on: Mastodon balabayado en %{domain} hosted_on: Mastodon balabayado en %{domain}
title: Sovre mozotros title: Sovre mozotros
accounts: accounts:
follow: Sige
followers: followers:
one: Suivante one: Suivante
other: Suivantes other: Suivantes
@ -1677,23 +1676,12 @@ lad:
edited_at_html: Editado %{date} edited_at_html: Editado %{date}
errors: errors:
in_reply_not_found: La publikasion a la ke aprovas arispondir no egziste. in_reply_not_found: La publikasion a la ke aprovas arispondir no egziste.
open_in_web: Avre en web
over_character_limit: limito de karakteres de %{max} superado over_character_limit: limito de karakteres de %{max} superado
pin_errors: pin_errors:
direct: Las publikasyones ke son vizivles solo para los utilizadores enmentados no pueden fiksarse direct: Las publikasyones ke son vizivles solo para los utilizadores enmentados no pueden fiksarse
limit: Ya tienes fiksado el numero maksimo de publikasyones limit: Ya tienes fiksado el numero maksimo de publikasyones
ownership: La publikasyon de otra persona no puede fiksarse ownership: La publikasyon de otra persona no puede fiksarse
reblog: No se puede fixar una repartajasyon reblog: No se puede fixar una repartajasyon
poll:
total_people:
one: "%{count} persona"
other: "%{count} personas"
total_votes:
one: "%{count} voto"
other: "%{count} votos"
vote: Vota
show_more: Amostra mas
show_thread: Amostra diskusyon
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Direkto direct: Direkto

View file

@ -7,7 +7,6 @@ lt:
hosted_on: Mastodon talpinamas %{domain} hosted_on: Mastodon talpinamas %{domain}
title: Apie title: Apie
accounts: accounts:
follow: Sekti
followers: followers:
few: Sekėjai few: Sekėjai
many: Sekėjo many: Sekėjo
@ -1107,16 +1106,11 @@ lt:
other: "%{count} vaizdų" other: "%{count} vaizdų"
boosted_from_html: Pakelta iš %{acct_link} boosted_from_html: Pakelta iš %{acct_link}
content_warning: 'Turinio įspėjimas: %{warning}' content_warning: 'Turinio įspėjimas: %{warning}'
open_in_web: Atidaryti naudojan Web
over_character_limit: pasiektas %{max} simbolių limitas over_character_limit: pasiektas %{max} simbolių limitas
pin_errors: pin_errors:
limit: Jūs jau prisegėte maksimalų toot'ų skaičų limit: Jūs jau prisegėte maksimalų toot'ų skaičų
ownership: Kitų vartotojų toot'ai negali būti prisegti ownership: Kitų vartotojų toot'ai negali būti prisegti
reblog: Pakeltos žinutės negali būti prisegtos reblog: Pakeltos žinutės negali būti prisegtos
poll:
vote: Balsuoti
show_more: Rodyti daugiau
show_thread: Rodyti giją
visibilities: visibilities:
private: Tik sekėjams private: Tik sekėjams
private_long: rodyti tik sekėjams private_long: rodyti tik sekėjams

View file

@ -7,7 +7,6 @@ lv:
hosted_on: Mastodon mitināts %{domain} hosted_on: Mastodon mitināts %{domain}
title: Par title: Par
accounts: accounts:
follow: Sekot
followers: followers:
one: Sekotājs one: Sekotājs
other: Sekotāji other: Sekotāji
@ -1645,25 +1644,12 @@ lv:
edited_at_html: Labots %{date} edited_at_html: Labots %{date}
errors: errors:
in_reply_not_found: Šķiet, ka ziņa, uz kuru tu mēģini atbildēt, nepastāv. in_reply_not_found: Šķiet, ka ziņa, uz kuru tu mēģini atbildēt, nepastāv.
open_in_web: Atvērt webā
over_character_limit: pārsniegts %{max} rakstzīmju ierobežojums over_character_limit: pārsniegts %{max} rakstzīmju ierobežojums
pin_errors: pin_errors:
direct: Ziņojumus, kas ir redzami tikai minētajiem lietotājiem, nevar piespraust direct: Ziņojumus, kas ir redzami tikai minētajiem lietotājiem, nevar piespraust
limit: Tu jau esi piespraudis maksimālo ziņu skaitu limit: Tu jau esi piespraudis maksimālo ziņu skaitu
ownership: Kāda cita ierakstu nevar piespraust ownership: Kāda cita ierakstu nevar piespraust
reblog: Izceltu ierakstu nevar piespraust reblog: Izceltu ierakstu nevar piespraust
poll:
total_people:
one: "%{count} cilvēks"
other: "%{count} cilvēki"
zero: "%{count} cilvēku"
total_votes:
one: "%{count} balss"
other: "%{count} balsis"
zero: "%{count} balsu"
vote: Balsu skaits
show_more: Rādīt vairāk
show_thread: Rādīt tematu
title: "%{name}: “%{quote}”" title: "%{name}: “%{quote}”"
visibilities: visibilities:
direct: Tiešs direct: Tiešs

View file

@ -4,7 +4,6 @@ ml:
contact_missing: സജ്ജമാക്കിയിട്ടില്ല contact_missing: സജ്ജമാക്കിയിട്ടില്ല
contact_unavailable: ലഭ്യമല്ല contact_unavailable: ലഭ്യമല്ല
accounts: accounts:
follow: പിന്തുടരുക
following: പിന്തുടരുന്നു following: പിന്തുടരുന്നു
last_active: അവസാനം സജീവമായിരുന്നത് last_active: അവസാനം സജീവമായിരുന്നത്
link_verified_on: സന്ധിയുടെ ഉടമസ്ഥാവസ്‌കാശം %{date} ൽ പരിശോധിക്കപ്പെട്ടു link_verified_on: സന്ധിയുടെ ഉടമസ്ഥാവസ്‌കാശം %{date} ൽ പരിശോധിക്കപ്പെട്ടു

View file

@ -7,7 +7,6 @@ ms:
hosted_on: Mastodon dihoskan di %{domain} hosted_on: Mastodon dihoskan di %{domain}
title: Perihal title: Perihal
accounts: accounts:
follow: Ikut
followers: followers:
other: Pengikut other: Pengikut
following: Mengikuti following: Mengikuti
@ -1560,21 +1559,12 @@ ms:
edited_at_html: Disunting %{date} edited_at_html: Disunting %{date}
errors: errors:
in_reply_not_found: Pos yang anda cuba balas nampaknya tidak wujud. in_reply_not_found: Pos yang anda cuba balas nampaknya tidak wujud.
open_in_web: Buka dalam web
over_character_limit: had aksara %{max} melebihi over_character_limit: had aksara %{max} melebihi
pin_errors: pin_errors:
direct: Pos yang hanya boleh dilihat oleh pengguna yang disebut tidak boleh disematkan direct: Pos yang hanya boleh dilihat oleh pengguna yang disebut tidak boleh disematkan
limit: Anda telah menyematkan bilangan maksimum pos limit: Anda telah menyematkan bilangan maksimum pos
ownership: Siaran orang lain tidak boleh disematkan ownership: Siaran orang lain tidak boleh disematkan
reblog: Rangsangan tidak boleh disematkan reblog: Rangsangan tidak boleh disematkan
poll:
total_people:
other: "%{count} orang"
total_votes:
other: "%{count} undi"
vote: Undi
show_more: Tunjuk lebih banyak
show_thread: Tunjuk bebenang
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Terus direct: Terus

View file

@ -7,7 +7,6 @@ my:
hosted_on: "%{domain} မှ လက်ခံဆောင်ရွက်ထားသော Mastodon" hosted_on: "%{domain} မှ လက်ခံဆောင်ရွက်ထားသော Mastodon"
title: အကြောင်း title: အကြောင်း
accounts: accounts:
follow: စောင့်ကြည့်မယ်
followers: followers:
other: စောင့်ကြည့်သူ other: စောင့်ကြည့်သူ
following: စောင့်ကြည့်နေသည် following: စောင့်ကြည့်နေသည်
@ -1560,21 +1559,12 @@ my:
edited_at_html: "%{date} ကို ပြင်ဆင်ပြီးပါပြီ" edited_at_html: "%{date} ကို ပြင်ဆင်ပြီးပါပြီ"
errors: errors:
in_reply_not_found: သင် စာပြန်နေသည့်ပို့စ်မှာ မရှိတော့ပါ။ in_reply_not_found: သင် စာပြန်နေသည့်ပို့စ်မှာ မရှိတော့ပါ။
open_in_web: ဝဘ်တွင် ဖွင့်ပါ
over_character_limit: စာလုံးကန့်သတ်ချက် %{max} ကို ကျော်လွန်သွားပါပြီ over_character_limit: စာလုံးကန့်သတ်ချက် %{max} ကို ကျော်လွန်သွားပါပြီ
pin_errors: pin_errors:
direct: အမည်ဖော်ပြထားသည့် ပို့စ်များကို ပင်တွဲ၍မရပါ direct: အမည်ဖော်ပြထားသည့် ပို့စ်များကို ပင်တွဲ၍မရပါ
limit: သင်သည် ပို့စ်အရေအတွက်အများဆုံးကို ပင်တွဲထားပြီးဖြစ်သည် limit: သင်သည် ပို့စ်အရေအတွက်အများဆုံးကို ပင်တွဲထားပြီးဖြစ်သည်
ownership: အခြားသူ၏ပို့စ်ကို ပင်တွဲ၍မရပါ ownership: အခြားသူ၏ပို့စ်ကို ပင်တွဲ၍မရပါ
reblog: Boost လုပ်ထားသောပို့စ်ကို ပင်ထား၍မရပါ reblog: Boost လုပ်ထားသောပို့စ်ကို ပင်ထား၍မရပါ
poll:
total_people:
other: "%{count} ယောက်"
total_votes:
other: မဲအရေအတွက် %{count} မဲ
vote: မဲပေးမည်
show_more: ပိုမိုပြရန်
show_thread: Thread ကို ပြပါ
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: တိုက်ရိုက် direct: တိုက်ရိုက်

View file

@ -7,7 +7,6 @@ nl:
hosted_on: Mastodon op %{domain} hosted_on: Mastodon op %{domain}
title: Over title: Over
accounts: accounts:
follow: Volgen
followers: followers:
one: Volger one: Volger
other: Volgers other: Volgers
@ -1740,23 +1739,12 @@ nl:
edited_at_html: Bewerkt op %{date} edited_at_html: Bewerkt op %{date}
errors: errors:
in_reply_not_found: Het bericht waarop je probeert te reageren lijkt niet te bestaan. in_reply_not_found: Het bericht waarop je probeert te reageren lijkt niet te bestaan.
open_in_web: In de webapp openen
over_character_limit: Limiet van %{max} tekens overschreden over_character_limit: Limiet van %{max} tekens overschreden
pin_errors: pin_errors:
direct: Berichten die alleen zichtbaar zijn voor vermelde gebruikers, kunnen niet worden vastgezet direct: Berichten die alleen zichtbaar zijn voor vermelde gebruikers, kunnen niet worden vastgezet
limit: Je hebt het maximaal aantal bericht al vastgemaakt limit: Je hebt het maximaal aantal bericht al vastgemaakt
ownership: Een bericht van iemand anders kan niet worden vastgemaakt ownership: Een bericht van iemand anders kan niet worden vastgemaakt
reblog: Een boost kan niet worden vastgezet reblog: Een boost kan niet worden vastgezet
poll:
total_people:
one: "%{count} persoon"
other: "%{count} personen"
total_votes:
one: "%{count} stem"
other: "%{count} stemmen"
vote: Stemmen
show_more: Meer tonen
show_thread: Gesprek tonen
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Privébericht direct: Privébericht

View file

@ -7,7 +7,6 @@ nn:
hosted_on: "%{domain} er vert for Mastodon" hosted_on: "%{domain} er vert for Mastodon"
title: Om title: Om
accounts: accounts:
follow: Fylg
followers: followers:
one: Fylgjar one: Fylgjar
other: Fylgjarar other: Fylgjarar
@ -1740,23 +1739,12 @@ nn:
edited_at_html: Redigert %{date} edited_at_html: Redigert %{date}
errors: errors:
in_reply_not_found: Det ser ut til at tutet du freistar å svara ikkje finst. in_reply_not_found: Det ser ut til at tutet du freistar å svara ikkje finst.
open_in_web: Opn på nett
over_character_limit: øvregrensa for teikn, %{max}, er nådd over_character_limit: øvregrensa for teikn, %{max}, er nådd
pin_errors: pin_errors:
direct: Innlegg som bare er synlige for nevnte brukere kan ikke festes direct: Innlegg som bare er synlige for nevnte brukere kan ikke festes
limit: Du har allereie festa så mange tut som det går an å festa limit: Du har allereie festa så mange tut som det går an å festa
ownership: Du kan ikkje festa andre sine tut ownership: Du kan ikkje festa andre sine tut
reblog: Ei framheving kan ikkje festast reblog: Ei framheving kan ikkje festast
poll:
total_people:
one: "%{count} person"
other: "%{count} folk"
total_votes:
one: "%{count} røyst"
other: "%{count} røyster"
vote: Røyst
show_more: Vis meir
show_thread: Vis tråden
title: "%{name}: «%{quote}»" title: "%{name}: «%{quote}»"
visibilities: visibilities:
direct: Direkte direct: Direkte

View file

@ -7,7 +7,6 @@
hosted_on: Mastodon driftet på %{domain} hosted_on: Mastodon driftet på %{domain}
title: Om title: Om
accounts: accounts:
follow: Følg
followers: followers:
one: Følger one: Følger
other: Følgere other: Følgere
@ -1619,23 +1618,12 @@
edited_at_html: Redigert %{date} edited_at_html: Redigert %{date}
errors: errors:
in_reply_not_found: Posten du prøver å svare ser ikke ut til eksisterer. in_reply_not_found: Posten du prøver å svare ser ikke ut til eksisterer.
open_in_web: Åpne i nettleser
over_character_limit: grensen på %{max} tegn overskredet over_character_limit: grensen på %{max} tegn overskredet
pin_errors: pin_errors:
direct: Innlegg som bare er synlige for nevnte brukere kan ikke festes direct: Innlegg som bare er synlige for nevnte brukere kan ikke festes
limit: Du har allerede festet det maksimale antall innlegg limit: Du har allerede festet det maksimale antall innlegg
ownership: Kun egne innlegg kan festes ownership: Kun egne innlegg kan festes
reblog: En fremheving kan ikke festes reblog: En fremheving kan ikke festes
poll:
total_people:
one: "%{count} person"
other: "%{count} personer"
total_votes:
one: "%{count} stemme"
other: "%{count} stemmer"
vote: Stem
show_more: Vis mer
show_thread: Vis tråden
title: "%{name}: «%{quote}»" title: "%{name}: «%{quote}»"
visibilities: visibilities:
direct: Direkte direct: Direkte

View file

@ -7,7 +7,6 @@ oc:
hosted_on: Mastodon albergat sus %{domain} hosted_on: Mastodon albergat sus %{domain}
title: A prepaus title: A prepaus
accounts: accounts:
follow: Sègre
followers: followers:
one: Seguidor one: Seguidor
other: Seguidors other: Seguidors
@ -846,22 +845,11 @@ oc:
edited_at_html: Modificat %{date} edited_at_html: Modificat %{date}
errors: errors:
in_reply_not_found: La publicacion que respondètz sembla pas mai exisitir. in_reply_not_found: La publicacion que respondètz sembla pas mai exisitir.
open_in_web: Dobrir sul web
over_character_limit: limit de %{max} caractèrs passat over_character_limit: limit de %{max} caractèrs passat
pin_errors: pin_errors:
limit: Avètz ja lo maximum de tuts penjats limit: Avètz ja lo maximum de tuts penjats
ownership: Se pòt pas penjar lo tut de qualquun mai ownership: Se pòt pas penjar lo tut de qualquun mai
reblog: Se pòt pas penjar un tut partejat reblog: Se pòt pas penjar un tut partejat
poll:
total_people:
one: "%{count} persona"
other: "%{count} personas"
total_votes:
one: "%{count} vòte"
other: "%{count} vòtes"
vote: Votar
show_more: Ne veire mai
show_thread: Mostrar lo fil
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Dirècte direct: Dirècte

View file

@ -7,7 +7,6 @@ pa:
hosted_on: "%{domain} ਉੱਤੇ ਹੋਸਟ ਕੀਤਾ ਮਸਟਾਡੋਨ" hosted_on: "%{domain} ਉੱਤੇ ਹੋਸਟ ਕੀਤਾ ਮਸਟਾਡੋਨ"
title: ਇਸ ਬਾਰੇ title: ਇਸ ਬਾਰੇ
accounts: accounts:
follow: ਫ਼ਾਲੋ
following: ਫ਼ਾਲੋ ਕੀਤੇ ਜਾ ਰਹੇ following: ਫ਼ਾਲੋ ਕੀਤੇ ਜਾ ਰਹੇ
posts_tab_heading: ਪੋਸਟਾਂ posts_tab_heading: ਪੋਸਟਾਂ
admin: admin:

View file

@ -7,7 +7,6 @@ pl:
hosted_on: Mastodon prowadzony na %{domain} hosted_on: Mastodon prowadzony na %{domain}
title: O nas title: O nas
accounts: accounts:
follow: Obserwuj
followers: followers:
few: śledzących few: śledzących
many: śledzących many: śledzących
@ -1800,27 +1799,12 @@ pl:
edited_at_html: Edytowane %{date} edited_at_html: Edytowane %{date}
errors: errors:
in_reply_not_found: Post, na który próbujesz odpowiedzieć, nie istnieje. in_reply_not_found: Post, na który próbujesz odpowiedzieć, nie istnieje.
open_in_web: Otwórz w przeglądarce
over_character_limit: limit %{max} znaków przekroczony over_character_limit: limit %{max} znaków przekroczony
pin_errors: pin_errors:
direct: Nie możesz przypiąć wpisu, który jest widoczny tylko dla wspomnianych użytkowników direct: Nie możesz przypiąć wpisu, który jest widoczny tylko dla wspomnianych użytkowników
limit: Przekroczyłeś maksymalną liczbę przypiętych wpisów limit: Przekroczyłeś maksymalną liczbę przypiętych wpisów
ownership: Nie możesz przypiąć cudzego wpisu ownership: Nie możesz przypiąć cudzego wpisu
reblog: Nie możesz przypiąć podbicia wpisu reblog: Nie możesz przypiąć podbicia wpisu
poll:
total_people:
few: "%{count} osoby"
many: "%{count} osób"
one: "%{count} osoba"
other: "%{count} osoby"
total_votes:
few: "%{count} głosy"
many: "%{count} głosy"
one: "%{count} głos"
other: "%{count} głosy"
vote: Głosuj
show_more: Pokaż więcej
show_thread: Pokaż wątek
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Bezpośredni direct: Bezpośredni

View file

@ -7,7 +7,6 @@ pt-BR:
hosted_on: Mastodon hospedado em %{domain} hosted_on: Mastodon hospedado em %{domain}
title: Sobre title: Sobre
accounts: accounts:
follow: Seguir
followers: followers:
one: Seguidor one: Seguidor
other: Seguidores other: Seguidores
@ -1740,23 +1739,12 @@ pt-BR:
edited_at_html: Editado em %{date} edited_at_html: Editado em %{date}
errors: errors:
in_reply_not_found: A publicação que você quer responder parece não existir. in_reply_not_found: A publicação que você quer responder parece não existir.
open_in_web: Abrir no navegador
over_character_limit: limite de caracteres de %{max} excedido over_character_limit: limite de caracteres de %{max} excedido
pin_errors: pin_errors:
direct: Publicações visíveis apenas para usuários mencionados não podem ser fixadas direct: Publicações visíveis apenas para usuários mencionados não podem ser fixadas
limit: Você alcançou o número limite de publicações fixadas limit: Você alcançou o número limite de publicações fixadas
ownership: As publicações dos outros não podem ser fixadas ownership: As publicações dos outros não podem ser fixadas
reblog: Um impulso não pode ser fixado reblog: Um impulso não pode ser fixado
poll:
total_people:
one: "%{count} pessoa"
other: "%{count} pessoas"
total_votes:
one: "%{count} voto"
other: "%{count} votos"
vote: Votar
show_more: Mostrar mais
show_thread: Mostrar conversa
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Direto direct: Direto

View file

@ -7,7 +7,6 @@ pt-PT:
hosted_on: Mastodon alojado em %{domain} hosted_on: Mastodon alojado em %{domain}
title: Sobre title: Sobre
accounts: accounts:
follow: Seguir
followers: followers:
one: Seguidor one: Seguidor
other: Seguidores other: Seguidores
@ -1683,23 +1682,12 @@ pt-PT:
edited_at_html: Editado em %{date} edited_at_html: Editado em %{date}
errors: errors:
in_reply_not_found: A publicação a que está a tentar responder parece não existir. in_reply_not_found: A publicação a que está a tentar responder parece não existir.
open_in_web: Abrir na web
over_character_limit: limite de caracter excedeu %{max} over_character_limit: limite de caracter excedeu %{max}
pin_errors: pin_errors:
direct: Publicações visíveis apenas para utilizadores mencionados não podem ser afixadas direct: Publicações visíveis apenas para utilizadores mencionados não podem ser afixadas
limit: Já afixaste a quantidade máxima de publicações limit: Já afixaste a quantidade máxima de publicações
ownership: Não podem ser afixadas publicações doutras pessoas ownership: Não podem ser afixadas publicações doutras pessoas
reblog: Não pode afixar um reforço reblog: Não pode afixar um reforço
poll:
total_people:
one: "%{count} pessoa"
other: "%{count} pessoas"
total_votes:
one: "%{count} voto"
other: "%{count} votos"
vote: Votar
show_more: Mostrar mais
show_thread: Mostrar conversa
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Direto direct: Direto

View file

@ -7,7 +7,6 @@ ro:
hosted_on: Mastodon găzduit de %{domain} hosted_on: Mastodon găzduit de %{domain}
title: Despre title: Despre
accounts: accounts:
follow: Urmărește
followers: followers:
few: Urmăritori few: Urmăritori
one: Urmăritor one: Urmăritor
@ -681,24 +680,11 @@ ro:
other: 'conținea aceste hashtag-uri nepermise: %{tags}' other: 'conținea aceste hashtag-uri nepermise: %{tags}'
errors: errors:
in_reply_not_found: Postarea la care încercați să răspundeți nu pare să existe. in_reply_not_found: Postarea la care încercați să răspundeți nu pare să existe.
open_in_web: Deschide pe web
over_character_limit: s-a depășit limita de caracter %{max} over_character_limit: s-a depășit limita de caracter %{max}
pin_errors: pin_errors:
limit: Deja ai fixat numărul maxim de postări limit: Deja ai fixat numărul maxim de postări
ownership: Postarea altcuiva nu poate fi fixată ownership: Postarea altcuiva nu poate fi fixată
reblog: Un impuls nu poate fi fixat reblog: Un impuls nu poate fi fixat
poll:
total_people:
few: "%{count} persoane"
one: "%{count} persoană"
other: "%{count} de persoane"
total_votes:
few: "%{count} voturi"
one: "%{count} vot"
other: "%{count} de voturi"
vote: Votează
show_more: Arată mai mult
show_thread: Arată discuția
visibilities: visibilities:
private: Doar urmăritorii private: Doar urmăritorii
private_long: Arată doar urmăritorilor private_long: Arată doar urmăritorilor

View file

@ -7,7 +7,6 @@ ru:
hosted_on: Вы получили это сообщение, так как зарегистрированы на %{domain} hosted_on: Вы получили это сообщение, так как зарегистрированы на %{domain}
title: О проекте title: О проекте
accounts: accounts:
follow: Подписаться
followers: followers:
few: подписчика few: подписчика
many: подписчиков many: подписчиков
@ -1692,27 +1691,12 @@ ru:
edited_at_html: Редактировано %{date} edited_at_html: Редактировано %{date}
errors: errors:
in_reply_not_found: Пост, на который вы пытаетесь ответить, не существует или удалён. in_reply_not_found: Пост, на который вы пытаетесь ответить, не существует или удалён.
open_in_web: Открыть в веб-версии
over_character_limit: превышен лимит символов (%{max}) over_character_limit: превышен лимит символов (%{max})
pin_errors: pin_errors:
direct: Сообщения, видимые только упомянутым пользователям, не могут быть закреплены direct: Сообщения, видимые только упомянутым пользователям, не могут быть закреплены
limit: Вы закрепили максимально возможное число постов limit: Вы закрепили максимально возможное число постов
ownership: Нельзя закрепить чужой пост ownership: Нельзя закрепить чужой пост
reblog: Нельзя закрепить продвинутый пост reblog: Нельзя закрепить продвинутый пост
poll:
total_people:
few: "%{count} человека"
many: "%{count} человек"
one: "%{count} человек"
other: "%{count} человек"
total_votes:
few: "%{count} голоса"
many: "%{count} голосов"
one: "%{count} голос"
other: "%{count} голосов"
vote: Голосовать
show_more: Развернуть
show_thread: Открыть обсуждение
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Адресованный direct: Адресованный

View file

@ -1,7 +1,6 @@
--- ---
ry: ry:
accounts: accounts:
follow: Пудписати ся
following: Пудпискы following: Пудпискы
posts: posts:
few: Публикації few: Публикації

View file

@ -7,7 +7,6 @@ sc:
hosted_on: Mastodon allogiadu in %{domain} hosted_on: Mastodon allogiadu in %{domain}
title: Informatziones title: Informatziones
accounts: accounts:
follow: Sighi
followers: followers:
one: Sighidura one: Sighidura
other: Sighiduras other: Sighiduras
@ -1111,22 +1110,11 @@ sc:
other: 'cuntenet is etichetas non permìtidas: %{tags}' other: 'cuntenet is etichetas non permìtidas: %{tags}'
errors: errors:
in_reply_not_found: Ses chirchende de rispòndere a unu tut chi no esistit prus. in_reply_not_found: Ses chirchende de rispòndere a unu tut chi no esistit prus.
open_in_web: Aberi in sa web
over_character_limit: lìmite de caràteres de %{max} superadu over_character_limit: lìmite de caràteres de %{max} superadu
pin_errors: pin_errors:
limit: As giai apicadu su nùmeru màssimu de tuts limit: As giai apicadu su nùmeru màssimu de tuts
ownership: Is tuts de àtere non podent èssere apicados ownership: Is tuts de àtere non podent èssere apicados
reblog: Is cumpartziduras non podent èssere apicadas reblog: Is cumpartziduras non podent èssere apicadas
poll:
total_people:
one: "%{count} persone"
other: "%{count} persones"
total_votes:
one: "%{count} votu"
other: "%{count} votos"
vote: Vota
show_more: Ammustra·nde prus
show_thread: Ammustra su tema
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Deretu direct: Deretu

View file

@ -7,7 +7,6 @@ sco:
hosted_on: Mastodon hostit on %{domain} hosted_on: Mastodon hostit on %{domain}
title: Aboot title: Aboot
accounts: accounts:
follow: Follae
followers: followers:
one: Follaer one: Follaer
other: Follaers other: Follaers
@ -1394,23 +1393,12 @@ sco:
edited_at_html: Editit %{date} edited_at_html: Editit %{date}
errors: errors:
in_reply_not_found: The post thit ye'r trying tae reply tae disnae appear tae exist. in_reply_not_found: The post thit ye'r trying tae reply tae disnae appear tae exist.
open_in_web: Open in wab
over_character_limit: chairacter limit o %{max} exceedit over_character_limit: chairacter limit o %{max} exceedit
pin_errors: pin_errors:
direct: Posts thit's ainly visible tae menshied uisers cannae be preent direct: Posts thit's ainly visible tae menshied uisers cannae be preent
limit: Ye awriddy preent the maximum nummer o posts limit: Ye awriddy preent the maximum nummer o posts
ownership: Somebody else's post cannae be preent ownership: Somebody else's post cannae be preent
reblog: A heeze cannae be preent reblog: A heeze cannae be preent
poll:
total_people:
one: "%{count} person"
other: "%{count} fowk"
total_votes:
one: "%{count} vote"
other: "%{count} votes"
vote: Vote
show_more: Shaw mair
show_thread: Shaw threid
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Direck direct: Direck

View file

@ -7,7 +7,6 @@ si:
hosted_on: "%{domain} හරහා සත්කාරකත්‍වය ලබයි" hosted_on: "%{domain} හරහා සත්කාරකත්‍වය ලබයි"
title: පිළිබඳව title: පිළිබඳව
accounts: accounts:
follow: අනුගමනය
followers: followers:
one: අනුගාමිකයා one: අනුගාමිකයා
other: අනුගාමිකයින් other: අනුගාමිකයින්
@ -1267,22 +1266,11 @@ si:
edited_at_html: සංස්කරණය %{date} edited_at_html: සංස්කරණය %{date}
errors: errors:
in_reply_not_found: ඔබ පිළිතුරු දීමට තැත් කරන ලිපිය නොපවතින බව පෙනෙයි. in_reply_not_found: ඔබ පිළිතුරු දීමට තැත් කරන ලිපිය නොපවතින බව පෙනෙයි.
open_in_web: වෙබයේ විවෘත කරන්න
over_character_limit: අක්ෂර සීමාව %{max} ඉක්මවා ඇත over_character_limit: අක්ෂර සීමාව %{max} ඉක්මවා ඇත
pin_errors: pin_errors:
direct: සඳහන් කළ අයට පමණක් පෙනෙන ලිපි ඇමිණීමට නොහැකිය direct: සඳහන් කළ අයට පමණක් පෙනෙන ලිපි ඇමිණීමට නොහැකිය
limit: දැනටමත් මුදුනට ඇමිණිමට හැකි ලිපි සීමාවට ළඟා වී ඇත limit: දැනටමත් මුදුනට ඇමිණිමට හැකි ලිපි සීමාවට ළඟා වී ඇත
ownership: වෙනත් අයගේ ලිපි ඇමිණීමට නොහැකිය ownership: වෙනත් අයගේ ලිපි ඇමිණීමට නොහැකිය
poll:
total_people:
one: පුද්ගලයින් %{count}
other: පුද්ගලයින් %{count}
total_votes:
one: ඡන්ද %{count} යි
other: ඡන්ද %{count} යි
vote: ඡන්දය
show_more: තව පෙන්වන්න
show_thread: නූල් පෙන්වන්න
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: සෘජු direct: සෘජු

View file

@ -7,7 +7,6 @@ sk:
hosted_on: Mastodon hostovaný na %{domain} hosted_on: Mastodon hostovaný na %{domain}
title: Ohľadom title: Ohľadom
accounts: accounts:
follow: Nasleduj
followers: followers:
few: Sledovateľov few: Sledovateľov
many: Sledovateľov many: Sledovateľov
@ -1259,26 +1258,11 @@ sk:
edited_at_html: Upravené %{date} edited_at_html: Upravené %{date}
errors: errors:
in_reply_not_found: Príspevok, na ktorý sa snažíš odpovedať, pravdepodobne neexistuje. in_reply_not_found: Príspevok, na ktorý sa snažíš odpovedať, pravdepodobne neexistuje.
open_in_web: Otvor v okne na webe
over_character_limit: limit %{max} znakov bol presiahnutý over_character_limit: limit %{max} znakov bol presiahnutý
pin_errors: pin_errors:
limit: Už si si pripol ten najvyšší možný počet hlášok limit: Už si si pripol ten najvyšší možný počet hlášok
ownership: Nieje možné pripnúť hlášku od niekoho iného ownership: Nieje možné pripnúť hlášku od niekoho iného
reblog: Vyzdvihnutie sa nedá pripnúť reblog: Vyzdvihnutie sa nedá pripnúť
poll:
total_people:
few: "%{count} ľudí"
many: "%{count} ľudia"
one: "%{count} človek"
other: "%{count} ľudí"
total_votes:
few: "%{count} hlasov"
many: "%{count} hlasov"
one: "%{count} hlas"
other: "%{count} hlasy"
vote: Hlasuj
show_more: Ukáž viac
show_thread: Ukáž diskusné vlákno
title: '%{name}: „%{quote}"' title: '%{name}: „%{quote}"'
visibilities: visibilities:
direct: Súkromne direct: Súkromne

View file

@ -7,7 +7,6 @@ sl:
hosted_on: Mastodon gostuje na %{domain} hosted_on: Mastodon gostuje na %{domain}
title: O programu title: O programu
accounts: accounts:
follow: Sledi
followers: followers:
few: Sledilci few: Sledilci
one: Sledilec one: Sledilec
@ -1785,27 +1784,12 @@ sl:
edited_at_html: Urejeno %{date} edited_at_html: Urejeno %{date}
errors: errors:
in_reply_not_found: Objava, na katero želite odgovoriti, ne obstaja. in_reply_not_found: Objava, na katero želite odgovoriti, ne obstaja.
open_in_web: Odpri na spletu
over_character_limit: omejitev %{max} znakov je presežena over_character_limit: omejitev %{max} znakov je presežena
pin_errors: pin_errors:
direct: Objav, ki so vidne samo omenjenum uporabnikom, ni mogoče pripenjati direct: Objav, ki so vidne samo omenjenum uporabnikom, ni mogoče pripenjati
limit: Pripeli ste največje število objav limit: Pripeli ste največje število objav
ownership: Objava nekoga drugega ne more biti pripeta ownership: Objava nekoga drugega ne more biti pripeta
reblog: Izpostavitev ne more biti pripeta reblog: Izpostavitev ne more biti pripeta
poll:
total_people:
few: "%{count} osebe"
one: "%{count} Oseba"
other: "%{count} oseb"
two: "%{count} osebi"
total_votes:
few: "%{count} glasovi"
one: "%{count} glas"
other: "%{count} glasov"
two: "%{count} glasova"
vote: Glasuj
show_more: Pokaži več
show_thread: Pokaži nit
title: "%{name}: »%{quote}«" title: "%{name}: »%{quote}«"
visibilities: visibilities:
direct: Neposredno direct: Neposredno

View file

@ -7,7 +7,6 @@ sq:
hosted_on: Server Mastodon i strehuar në %{domain} hosted_on: Server Mastodon i strehuar në %{domain}
title: Mbi title: Mbi
accounts: accounts:
follow: Ndiqeni
followers: followers:
one: Ndjekës one: Ndjekës
other: Ndjekës other: Ndjekës
@ -1732,23 +1731,12 @@ sq:
edited_at_html: Përpunuar më %{date} edited_at_html: Përpunuar më %{date}
errors: errors:
in_reply_not_found: Gjendja të cilës po provoni ti përgjigjeni sduket se ekziston. in_reply_not_found: Gjendja të cilës po provoni ti përgjigjeni sduket se ekziston.
open_in_web: Hape në internet
over_character_limit: u tejkalua kufi shenjash prej %{max} over_character_limit: u tejkalua kufi shenjash prej %{max}
pin_errors: pin_errors:
direct: Postimet që janë të dukshme vetëm për përdoruesit e përmendur smund të fiksohen direct: Postimet që janë të dukshme vetëm për përdoruesit e përmendur smund të fiksohen
limit: Keni fiksuar tashmë numrin maksimum të mesazheve limit: Keni fiksuar tashmë numrin maksimum të mesazheve
ownership: Smund të fiksohen mesazhet e të tjerëve ownership: Smund të fiksohen mesazhet e të tjerëve
reblog: Smund të fiksohet një përforcim reblog: Smund të fiksohet një përforcim
poll:
total_people:
one: "%{count} person"
other: "%{count} vetë"
total_votes:
one: "%{count} votë"
other: "%{count} vota"
vote: Votë
show_more: Shfaq më tepër
show_thread: Shfaq rrjedhën
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: I drejtpërdrejtë direct: I drejtpërdrejtë

View file

@ -7,7 +7,6 @@ sr-Latn:
hosted_on: Mastodon hostovan na %{domain} hosted_on: Mastodon hostovan na %{domain}
title: O instanci title: O instanci
accounts: accounts:
follow: Zaprati
followers: followers:
few: Pratioca few: Pratioca
one: Pratilac one: Pratilac
@ -1670,25 +1669,12 @@ sr-Latn:
edited_at_html: Izmenjeno %{date} edited_at_html: Izmenjeno %{date}
errors: errors:
in_reply_not_found: Objava na koju pokušavate da odgovorite naizgled ne postoji. in_reply_not_found: Objava na koju pokušavate da odgovorite naizgled ne postoji.
open_in_web: Otvori u vebu
over_character_limit: ograničenje od %{max} karaktera prekoračeno over_character_limit: ograničenje od %{max} karaktera prekoračeno
pin_errors: pin_errors:
direct: Objave koje su vidljive samo pomenutim korisnicima ne mogu biti prikačene direct: Objave koje su vidljive samo pomenutim korisnicima ne mogu biti prikačene
limit: Već ste zakačili maksimalan broj objava limit: Već ste zakačili maksimalan broj objava
ownership: Tuđa objava se ne može zakačiti ownership: Tuđa objava se ne može zakačiti
reblog: Podrška ne može da se prikači reblog: Podrška ne može da se prikači
poll:
total_people:
few: "%{count} osobe"
one: "%{count} osoba"
other: "%{count} ljudi"
total_votes:
few: "%{count} glasa"
one: "%{count} glas"
other: "%{count} glasova"
vote: Glasajte
show_more: Prikaži još
show_thread: Prikaži niz
title: "%{name}: „%{quote}”" title: "%{name}: „%{quote}”"
visibilities: visibilities:
direct: Direktno direct: Direktno

View file

@ -7,7 +7,6 @@ sr:
hosted_on: Mastodon хостован на %{domain} hosted_on: Mastodon хостован на %{domain}
title: О инстанци title: О инстанци
accounts: accounts:
follow: Запрати
followers: followers:
few: Пратиоца few: Пратиоца
one: Пратилац one: Пратилац
@ -1700,25 +1699,12 @@ sr:
edited_at_html: Уређено %{date} edited_at_html: Уређено %{date}
errors: errors:
in_reply_not_found: Објава на коју покушавате да одговорите наизглед не постоји. in_reply_not_found: Објава на коју покушавате да одговорите наизглед не постоји.
open_in_web: Отвори у вебу
over_character_limit: ограничење од %{max} карактера прекорачено over_character_limit: ограничење од %{max} карактера прекорачено
pin_errors: pin_errors:
direct: Објаве које су видљиве само поменутим корисницима не могу бити прикачене direct: Објаве које су видљиве само поменутим корисницима не могу бити прикачене
limit: Већ сте закачили максималан број објава limit: Већ сте закачили максималан број објава
ownership: Туђа објава се не може закачити ownership: Туђа објава се не може закачити
reblog: Подршка не може да се прикачи reblog: Подршка не може да се прикачи
poll:
total_people:
few: "%{count} особе"
one: "%{count} особа"
other: "%{count} људи"
total_votes:
few: "%{count} гласа"
one: "%{count} глас"
other: "%{count} гласова"
vote: Гласајте
show_more: Прикажи још
show_thread: Прикажи низ
title: "%{name}: „%{quote}”" title: "%{name}: „%{quote}”"
visibilities: visibilities:
direct: Директно direct: Директно

View file

@ -7,7 +7,6 @@ sv:
hosted_on: Mastodon-värd på %{domain} hosted_on: Mastodon-värd på %{domain}
title: Om title: Om
accounts: accounts:
follow: Följa
followers: followers:
one: Följare one: Följare
other: Följare other: Följare
@ -1693,23 +1692,12 @@ sv:
edited_at_html: 'Ändrad: %{date}' edited_at_html: 'Ändrad: %{date}'
errors: errors:
in_reply_not_found: Inlägget du försöker svara på verkar inte existera. in_reply_not_found: Inlägget du försöker svara på verkar inte existera.
open_in_web: Öppna på webben
over_character_limit: teckengräns på %{max} har överskridits over_character_limit: teckengräns på %{max} har överskridits
pin_errors: pin_errors:
direct: Inlägg som endast är synliga för nämnda användare kan inte fästas direct: Inlägg som endast är synliga för nämnda användare kan inte fästas
limit: Du har redan fäst det maximala antalet inlägg limit: Du har redan fäst det maximala antalet inlägg
ownership: Någon annans inlägg kan inte fästas ownership: Någon annans inlägg kan inte fästas
reblog: En boost kan inte fästas reblog: En boost kan inte fästas
poll:
total_people:
one: "%{count} person"
other: "%{count} personer"
total_votes:
one: "%{count} röst"
other: "%{count} röster"
vote: Rösta
show_more: Visa mer
show_thread: Visa tråd
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:
direct: Direkt direct: Direkt

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