Remove 16:9 cropping from web UI (#26132)

th-downstream
Eugen Rochko 1 year ago committed by GitHub
parent e7dec5699c
commit 1c28a202fe

@ -12,7 +12,7 @@ import { debounce } from 'lodash';
import { Blurhash } from 'mastodon/components/blurhash'; import { Blurhash } from 'mastodon/components/blurhash';
import { autoPlayGif, cropImages, displayMedia, useBlurhash } from '../initial_state'; import { autoPlayGif, displayMedia, useBlurhash } from '../initial_state';
import { IconButton } from './icon_button'; import { IconButton } from './icon_button';
@ -209,7 +209,6 @@ class MediaGallery extends PureComponent {
static propTypes = { static propTypes = {
sensitive: PropTypes.bool, sensitive: PropTypes.bool,
standalone: PropTypes.bool,
media: ImmutablePropTypes.list.isRequired, media: ImmutablePropTypes.list.isRequired,
lang: PropTypes.string, lang: PropTypes.string,
size: PropTypes.object, size: PropTypes.object,
@ -223,10 +222,6 @@ class MediaGallery extends PureComponent {
onToggleVisibility: PropTypes.func, onToggleVisibility: PropTypes.func,
}; };
static defaultProps = {
standalone: false,
};
state = { state = {
visible: this.props.visible !== undefined ? this.props.visible : (displayMedia !== 'hide_all' && !this.props.sensitive || displayMedia === 'show_all'), visible: this.props.visible !== undefined ? this.props.visible : (displayMedia !== 'hide_all' && !this.props.sensitive || displayMedia === 'show_all'),
width: this.props.defaultWidth, width: this.props.defaultWidth,
@ -295,7 +290,7 @@ class MediaGallery extends PureComponent {
} }
render () { render () {
const { media, lang, intl, sensitive, defaultWidth, standalone, autoplay } = this.props; const { media, lang, intl, sensitive, defaultWidth, autoplay } = this.props;
const { visible } = this.state; const { visible } = this.state;
const width = this.state.width || defaultWidth; const width = this.state.width || defaultWidth;
@ -303,16 +298,16 @@ class MediaGallery extends PureComponent {
const style = {}; const style = {};
if (this.isFullSizeEligible() && (standalone || !cropImages)) { if (this.isFullSizeEligible()) {
style.aspectRatio = `${this.props.media.getIn([0, 'meta', 'small', 'aspect'])}`; style.aspectRatio = `${this.props.media.getIn([0, 'meta', 'small', 'aspect'])}`;
} else { } else {
style.aspectRatio = '16 / 9'; style.aspectRatio = '3 / 2';
} }
const size = media.take(4).size; const size = media.take(4).size;
const uncached = media.every(attachment => attachment.get('type') === 'unknown'); const uncached = media.every(attachment => attachment.get('type') === 'unknown');
if (standalone && this.isFullSizeEligible()) { if (this.isFullSizeEligible()) {
children = <Item standalone autoplay={autoplay} onClick={this.handleClick} attachment={media.get(0)} lang={lang} displayWidth={width} visible={visible} />; children = <Item standalone autoplay={autoplay} onClick={this.handleClick} attachment={media.get(0)} lang={lang} displayWidth={width} visible={visible} />;
} else { } else {
children = media.take(4).map((attachment, i) => <Item key={attachment.get('id')} autoplay={autoplay} onClick={this.handleClick} attachment={attachment} index={i} lang={lang} size={size} displayWidth={width} visible={visible || uncached} />); children = media.take(4).map((attachment, i) => <Item key={attachment.get('id')} autoplay={autoplay} onClick={this.handleClick} attachment={attachment} index={i} lang={lang} size={size} displayWidth={width} visible={visible || uncached} />);

@ -12,6 +12,7 @@ class PictureInPicturePlaceholder extends PureComponent {
static propTypes = { static propTypes = {
dispatch: PropTypes.func.isRequired, dispatch: PropTypes.func.isRequired,
aspectRatio: PropTypes.string,
}; };
handleClick = () => { handleClick = () => {
@ -20,8 +21,10 @@ class PictureInPicturePlaceholder extends PureComponent {
}; };
render () { render () {
const { aspectRatio } = this.props;
return ( return (
<div className='picture-in-picture-placeholder' role='button' tabIndex={0} onClick={this.handleClick}> <div className='picture-in-picture-placeholder' style={{ aspectRatio }} role='button' tabIndex={0} onClick={this.handleClick}>
<Icon id='window-restore' /> <Icon id='window-restore' />
<FormattedMessage id='picture_in_picture.restore' defaultMessage='Put it back' /> <FormattedMessage id='picture_in_picture.restore' defaultMessage='Put it back' />
</div> </div>

@ -19,7 +19,6 @@ import Bundle from '../features/ui/components/bundle';
import { MediaGallery, Video, Audio } from '../features/ui/util/async-components'; import { MediaGallery, Video, Audio } from '../features/ui/util/async-components';
import { displayMedia } from '../initial_state'; import { displayMedia } from '../initial_state';
import AttachmentList from './attachment_list';
import { Avatar } from './avatar'; import { Avatar } from './avatar';
import { AvatarOverlay } from './avatar_overlay'; import { AvatarOverlay } from './avatar_overlay';
import { DisplayName } from './display_name'; import { DisplayName } from './display_name';
@ -191,17 +190,35 @@ class Status extends ImmutablePureComponent {
this.props.onTranslate(this._properStatus()); this.props.onTranslate(this._properStatus());
}; };
renderLoadingMediaGallery () { getAttachmentAspectRatio () {
return <div className='media-gallery' style={{ height: '110px' }} />; const attachments = this._properStatus().get('media_attachments');
}
renderLoadingVideoPlayer () { if (attachments.getIn([0, 'type']) === 'video') {
return <div className='video-player' style={{ height: '110px' }} />; 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'
}
} }
renderLoadingAudioPlayer () { renderLoadingMediaGallery = () => {
return <div className='audio-player' style={{ height: '110px' }} />; return (
} <div className='media-gallery' style={{ aspectRatio: this.getAttachmentAspectRatio() }} />
);
};
renderLoadingVideoPlayer = () => {
return (
<div className='video-player' style={{ aspectRatio: this.getAttachmentAspectRatio() }} />
);
};
renderLoadingAudioPlayer = () => {
return (
<div className='audio-player' style={{ aspectRatio: this.getAttachmentAspectRatio() }} />
);
};
handleOpenVideo = (options) => { handleOpenVideo = (options) => {
const status = this._properStatus(); const status = this._properStatus();
@ -426,18 +443,11 @@ class Status extends ImmutablePureComponent {
} }
if (pictureInPicture.get('inUse')) { if (pictureInPicture.get('inUse')) {
media = <PictureInPicturePlaceholder />; media = <PictureInPicturePlaceholder aspectRatio={this.getAttachmentAspectRatio()} />;
} else if (status.get('media_attachments').size > 0) { } else if (status.get('media_attachments').size > 0) {
const language = status.getIn(['translation', 'language']) || status.get('language'); const language = status.getIn(['translation', 'language']) || status.get('language');
if (this.props.muted) { if (status.getIn(['media_attachments', 0, 'type']) === 'audio') {
media = (
<AttachmentList
compact
media={status.get('media_attachments')}
/>
);
} else if (status.getIn(['media_attachments', 0, 'type']) === 'audio') {
const attachment = status.getIn(['media_attachments', 0]); const attachment = status.getIn(['media_attachments', 0]);
const description = attachment.getIn(['translation', 'description']) || attachment.get('description'); const description = attachment.getIn(['translation', 'description']) || attachment.get('description');
@ -475,11 +485,11 @@ class Status extends ImmutablePureComponent {
<Component <Component
preview={attachment.get('preview_url')} preview={attachment.get('preview_url')}
frameRate={attachment.getIn(['meta', 'original', 'frame_rate'])} frameRate={attachment.getIn(['meta', 'original', 'frame_rate'])}
aspectRatio={`${attachment.getIn(['meta', 'original', 'width'])} / ${attachment.getIn(['meta', 'original', 'height'])}`}
blurhash={attachment.get('blurhash')} blurhash={attachment.get('blurhash')}
src={attachment.get('url')} src={attachment.get('url')}
alt={description} alt={description}
lang={language} lang={language}
inline
sensitive={status.get('sensitive')} sensitive={status.get('sensitive')}
onOpenVideo={this.handleOpenVideo} onOpenVideo={this.handleOpenVideo}
deployPictureInPicture={pictureInPicture.get('available') ? this.handleDeployPictureInPicture : undefined} deployPictureInPicture={pictureInPicture.get('available') ? this.handleDeployPictureInPicture : undefined}
@ -508,7 +518,7 @@ class Status extends ImmutablePureComponent {
</Bundle> </Bundle>
); );
} }
} else if (status.get('spoiler_text').length === 0 && status.get('card') && !this.props.muted) { } else if (status.get('spoiler_text').length === 0 && status.get('card')) {
media = ( media = (
<Card <Card
onOpenMedia={this.handleOpenMedia} onOpenMedia={this.handleOpenMedia}

@ -113,8 +113,30 @@ class DetailedStatus extends ImmutablePureComponent {
onTranslate(status); 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 () { render () {
const status = (this.props.status && this.props.status.get('reblog')) ? this.props.status.get('reblog') : this.props.status; const status = this._properStatus();
const outerStyle = { boxSizing: 'border-box' }; const outerStyle = { boxSizing: 'border-box' };
const { intl, compact, pictureInPicture } = this.props; const { intl, compact, pictureInPicture } = this.props;
@ -136,7 +158,7 @@ class DetailedStatus extends ImmutablePureComponent {
const language = status.getIn(['translation', 'language']) || status.get('language'); const language = status.getIn(['translation', 'language']) || status.get('language');
if (pictureInPicture.get('inUse')) { if (pictureInPicture.get('inUse')) {
media = <PictureInPicturePlaceholder />; media = <PictureInPicturePlaceholder aspectRatio={this.getAttachmentAspectRatio()} />;
} else if (status.get('media_attachments').size > 0) { } else if (status.get('media_attachments').size > 0) {
if (status.getIn(['media_attachments', 0, 'type']) === 'audio') { if (status.getIn(['media_attachments', 0, 'type']) === 'audio') {
const attachment = status.getIn(['media_attachments', 0]); const attachment = status.getIn(['media_attachments', 0]);
@ -167,13 +189,13 @@ class DetailedStatus extends ImmutablePureComponent {
<Video <Video
preview={attachment.get('preview_url')} preview={attachment.get('preview_url')}
frameRate={attachment.getIn(['meta', 'original', 'frame_rate'])} frameRate={attachment.getIn(['meta', 'original', 'frame_rate'])}
aspectRatio={`${attachment.getIn(['meta', 'original', 'width'])} / ${attachment.getIn(['meta', 'original', 'height'])}`}
blurhash={attachment.get('blurhash')} blurhash={attachment.get('blurhash')}
src={attachment.get('url')} src={attachment.get('url')}
alt={description} alt={description}
lang={language} lang={language}
width={300} width={300}
height={150} height={150}
inline
onOpenVideo={this.handleOpenVideo} onOpenVideo={this.handleOpenVideo}
sensitive={status.get('sensitive')} sensitive={status.get('sensitive')}
visible={this.props.showMedia} visible={this.props.showMedia}

@ -172,6 +172,7 @@ class MediaModal extends ImmutablePureComponent {
width={image.get('width')} width={image.get('width')}
height={image.get('height')} height={image.get('height')}
frameRate={image.getIn(['meta', 'original', 'frame_rate'])} frameRate={image.getIn(['meta', 'original', 'frame_rate'])}
aspectRatio={`${image.getIn(['meta', 'original', 'width'])} / ${image.getIn(['meta', 'original', 'height'])}`}
currentTime={currentTime || 0} currentTime={currentTime || 0}
autoPlay={autoPlay || false} autoPlay={autoPlay || false}
volume={volume || 1} volume={volume || 1}

@ -49,6 +49,7 @@ class VideoModal extends ImmutablePureComponent {
<Video <Video
preview={media.get('preview_url')} preview={media.get('preview_url')}
frameRate={media.getIn(['meta', 'original', 'frame_rate'])} frameRate={media.getIn(['meta', 'original', 'frame_rate'])}
aspectRatio={`${media.getIn(['meta', 'original', 'width'])} / ${media.getIn(['meta', 'original', 'height'])}`}
blurhash={media.get('blurhash')} blurhash={media.get('blurhash')}
src={media.get('url')} src={media.get('url')}
currentTime={options.startTime} currentTime={options.startTime}

@ -105,6 +105,7 @@ class Video extends PureComponent {
static propTypes = { static propTypes = {
preview: PropTypes.string, preview: PropTypes.string,
frameRate: PropTypes.string, frameRate: PropTypes.string,
aspectRatio: PropTypes.string,
src: PropTypes.string.isRequired, src: PropTypes.string.isRequired,
alt: PropTypes.string, alt: PropTypes.string,
lang: PropTypes.string, lang: PropTypes.string,
@ -113,7 +114,6 @@ class Video extends PureComponent {
onOpenVideo: PropTypes.func, onOpenVideo: PropTypes.func,
onCloseVideo: PropTypes.func, onCloseVideo: PropTypes.func,
detailed: PropTypes.bool, detailed: PropTypes.bool,
inline: PropTypes.bool,
editable: PropTypes.bool, editable: PropTypes.bool,
alwaysVisible: PropTypes.bool, alwaysVisible: PropTypes.bool,
visible: PropTypes.bool, visible: PropTypes.bool,
@ -500,14 +500,9 @@ class Video extends PureComponent {
} }
render () { render () {
const { preview, src, inline, onOpenVideo, onCloseVideo, intl, alt, lang, detailed, sensitive, editable, blurhash, autoFocus } = this.props; const { preview, src, aspectRatio, onOpenVideo, onCloseVideo, intl, alt, lang, detailed, sensitive, editable, blurhash, autoFocus } = this.props;
const { currentTime, duration, volume, buffer, dragging, paused, fullscreen, hovered, muted, revealed } = this.state; const { currentTime, duration, volume, buffer, dragging, paused, fullscreen, hovered, muted, revealed } = this.state;
const progress = Math.min((currentTime / duration) * 100, 100); const progress = Math.min((currentTime / duration) * 100, 100);
const playerStyle = {};
if (inline) {
playerStyle.aspectRatio = '16 / 9';
}
let preload; let preload;
@ -527,95 +522,98 @@ class Video extends PureComponent {
warning = <FormattedMessage id='status.media_hidden' defaultMessage='Media hidden' />; warning = <FormattedMessage id='status.media_hidden' defaultMessage='Media hidden' />;
} }
// The outer wrapper is necessary to avoid reflowing the layout when going into full screen
return ( return (
<div <div style={{ aspectRatio }}>
role='menuitem' <div
className={classNames('video-player', { inactive: !revealed, detailed, inline: inline && !fullscreen, fullscreen, editable })} role='menuitem'
style={playerStyle} className={classNames('video-player', { inactive: !revealed, detailed, fullscreen, editable })}
ref={this.setPlayerRef} style={{ aspectRatio }}
onMouseEnter={this.handleMouseEnter} ref={this.setPlayerRef}
onMouseLeave={this.handleMouseLeave} onMouseEnter={this.handleMouseEnter}
onClick={this.handleClickRoot} onMouseLeave={this.handleMouseLeave}
onKeyDown={this.handleKeyDown} onClick={this.handleClickRoot}
tabIndex={0} onKeyDown={this.handleKeyDown}
>
<Blurhash
hash={blurhash}
className={classNames('media-gallery__preview', {
'media-gallery__preview--hidden': revealed,
})}
dummy={!useBlurhash}
/>
{(revealed || editable) && <video
ref={this.setVideoRef}
src={src}
poster={preview}
preload={preload}
role='button'
tabIndex={0} tabIndex={0}
aria-label={alt} >
title={alt} <Blurhash
lang={lang} hash={blurhash}
volume={volume} className={classNames('media-gallery__preview', {
onClick={this.togglePlay} 'media-gallery__preview--hidden': revealed,
onKeyDown={this.handleVideoKeyDown} })}
onPlay={this.handlePlay} dummy={!useBlurhash}
onPause={this.handlePause} />
onLoadedData={this.handleLoadedData}
onProgress={this.handleProgress} {(revealed || editable) && <video
onVolumeChange={this.handleVolumeChange} ref={this.setVideoRef}
style={{ ...playerStyle, width: '100%' }} src={src}
/>} poster={preview}
preload={preload}
<div className={classNames('spoiler-button', { 'spoiler-button--hidden': revealed || editable })}> role='button'
<button type='button' className='spoiler-button__overlay' onClick={this.toggleReveal}> tabIndex={0}
<span className='spoiler-button__overlay__label'>{warning}</span> aria-label={alt}
</button> title={alt}
</div> lang={lang}
volume={volume}
<div className={classNames('video-player__controls', { active: paused || hovered })}> onClick={this.togglePlay}
<div className='video-player__seek' onMouseDown={this.handleMouseDown} ref={this.setSeekRef}> onKeyDown={this.handleVideoKeyDown}
<div className='video-player__seek__buffer' style={{ width: `${buffer}%` }} /> onPlay={this.handlePlay}
<div className='video-player__seek__progress' style={{ width: `${progress}%` }} /> onPause={this.handlePause}
onLoadedData={this.handleLoadedData}
<span onProgress={this.handleProgress}
className={classNames('video-player__seek__handle', { active: dragging })} onVolumeChange={this.handleVolumeChange}
tabIndex={0} style={{ width: '100%' }}
style={{ left: `${progress}%` }} />}
onKeyDown={this.handleVideoKeyDown}
/> <div className={classNames('spoiler-button', { 'spoiler-button--hidden': revealed || editable })}>
<button type='button' className='spoiler-button__overlay' onClick={this.toggleReveal}>
<span className='spoiler-button__overlay__label'>{warning}</span>
</button>
</div> </div>
<div className='video-player__buttons-bar'> <div className={classNames('video-player__controls', { active: paused || hovered })}>
<div className='video-player__buttons left'> <div className='video-player__seek' onMouseDown={this.handleMouseDown} ref={this.setSeekRef}>
<button type='button' title={intl.formatMessage(paused ? messages.play : messages.pause)} aria-label={intl.formatMessage(paused ? messages.play : messages.pause)} className='player-button' onClick={this.togglePlay} autoFocus={autoFocus}><Icon id={paused ? 'play' : 'pause'} fixedWidth /></button> <div className='video-player__seek__buffer' style={{ width: `${buffer}%` }} />
<button type='button' title={intl.formatMessage(muted ? messages.unmute : messages.mute)} aria-label={intl.formatMessage(muted ? messages.unmute : messages.mute)} className='player-button' onClick={this.toggleMute}><Icon id={muted ? 'volume-off' : 'volume-up'} fixedWidth /></button> <div className='video-player__seek__progress' style={{ width: `${progress}%` }} />
<div className={classNames('video-player__volume', { active: this.state.hovered })} onMouseDown={this.handleVolumeMouseDown} ref={this.setVolumeRef}> <span
<div className='video-player__volume__current' style={{ width: `${volume * 100}%` }} /> className={classNames('video-player__seek__handle', { active: dragging })}
tabIndex={0}
style={{ left: `${progress}%` }}
onKeyDown={this.handleVideoKeyDown}
/>
</div>
<span <div className='video-player__buttons-bar'>
className={classNames('video-player__volume__handle')} <div className='video-player__buttons left'>
tabIndex={0} <button type='button' title={intl.formatMessage(paused ? messages.play : messages.pause)} aria-label={intl.formatMessage(paused ? messages.play : messages.pause)} className='player-button' onClick={this.togglePlay} autoFocus={autoFocus}><Icon id={paused ? 'play' : 'pause'} fixedWidth /></button>
style={{ left: `${volume * 100}%` }} <button type='button' title={intl.formatMessage(muted ? messages.unmute : messages.mute)} aria-label={intl.formatMessage(muted ? messages.unmute : messages.mute)} className='player-button' onClick={this.toggleMute}><Icon id={muted ? 'volume-off' : 'volume-up'} fixedWidth /></button>
/>
<div className={classNames('video-player__volume', { active: this.state.hovered })} onMouseDown={this.handleVolumeMouseDown} ref={this.setVolumeRef}>
<div className='video-player__volume__current' style={{ width: `${volume * 100}%` }} />
<span
className={classNames('video-player__volume__handle')}
tabIndex={0}
style={{ left: `${volume * 100}%` }}
/>
</div>
{(detailed || fullscreen) && (
<span className='video-player__time'>
<span className='video-player__time-current'>{formatTime(Math.floor(currentTime))}</span>
<span className='video-player__time-sep'>/</span>
<span className='video-player__time-total'>{formatTime(Math.floor(duration))}</span>
</span>
)}
</div> </div>
{(detailed || fullscreen) && ( <div className='video-player__buttons right'>
<span className='video-player__time'> {(!onCloseVideo && !editable && !fullscreen && !this.props.alwaysVisible) && <button type='button' title={intl.formatMessage(messages.hide)} aria-label={intl.formatMessage(messages.hide)} className='player-button' onClick={this.toggleReveal}><Icon id='eye-slash' fixedWidth /></button>}
<span className='video-player__time-current'>{formatTime(Math.floor(currentTime))}</span> {(!fullscreen && onOpenVideo) && <button type='button' title={intl.formatMessage(messages.expand)} aria-label={intl.formatMessage(messages.expand)} className='player-button' onClick={this.handleOpenVideo}><Icon id='expand' fixedWidth /></button>}
<span className='video-player__time-sep'>/</span> {onCloseVideo && <button type='button' title={intl.formatMessage(messages.close)} aria-label={intl.formatMessage(messages.close)} className='player-button' onClick={this.handleCloseVideo}><Icon id='compress' fixedWidth /></button>}
<span className='video-player__time-total'>{formatTime(Math.floor(duration))}</span> <button type='button' title={intl.formatMessage(fullscreen ? messages.exit_fullscreen : messages.fullscreen)} aria-label={intl.formatMessage(fullscreen ? messages.exit_fullscreen : messages.fullscreen)} className='player-button' onClick={this.toggleFullscreen}><Icon id={fullscreen ? 'compress' : 'arrows-alt'} fixedWidth /></button>
</span> </div>
)}
</div>
<div className='video-player__buttons right'>
{(!onCloseVideo && !editable && !fullscreen && !this.props.alwaysVisible) && <button type='button' title={intl.formatMessage(messages.hide)} aria-label={intl.formatMessage(messages.hide)} className='player-button' onClick={this.toggleReveal}><Icon id='eye-slash' fixedWidth /></button>}
{(!fullscreen && onOpenVideo) && <button type='button' title={intl.formatMessage(messages.expand)} aria-label={intl.formatMessage(messages.expand)} className='player-button' onClick={this.handleOpenVideo}><Icon id='expand' fixedWidth /></button>}
{onCloseVideo && <button type='button' title={intl.formatMessage(messages.close)} aria-label={intl.formatMessage(messages.close)} className='player-button' onClick={this.handleCloseVideo}><Icon id='compress' fixedWidth /></button>}
<button type='button' title={intl.formatMessage(fullscreen ? messages.exit_fullscreen : messages.fullscreen)} aria-label={intl.formatMessage(fullscreen ? messages.exit_fullscreen : messages.fullscreen)} className='player-button' onClick={this.toggleFullscreen}><Icon id={fullscreen ? 'compress' : 'arrows-alt'} fixedWidth /></button>
</div> </div>
</div> </div>
</div> </div>

@ -51,7 +51,6 @@
* @property {boolean} activity_api_enabled * @property {boolean} activity_api_enabled
* @property {string} admin * @property {string} admin
* @property {boolean=} boost_modal * @property {boolean=} boost_modal
* @property {boolean} crop_images
* @property {boolean=} delete_modal * @property {boolean=} delete_modal
* @property {boolean=} disable_swiping * @property {boolean=} disable_swiping
* @property {string=} disabled_account_id * @property {string=} disabled_account_id
@ -111,7 +110,6 @@ const getMeta = (prop) => initialState?.meta && initialState.meta[prop];
export const activityApiEnabled = getMeta('activity_api_enabled'); export const activityApiEnabled = getMeta('activity_api_enabled');
export const autoPlayGif = getMeta('auto_play_gif'); export const autoPlayGif = getMeta('auto_play_gif');
export const boostModal = getMeta('boost_modal'); export const boostModal = getMeta('boost_modal');
export const cropImages = getMeta('crop_images');
export const deleteModal = getMeta('delete_modal'); export const deleteModal = getMeta('delete_modal');
export const disableSwiping = getMeta('disable_swiping'); export const disableSwiping = getMeta('disable_swiping');
export const disabledAccountId = getMeta('disabled_account_id'); export const disabledAccountId = getMeta('disabled_account_id');

@ -5172,9 +5172,9 @@ a.status-card.compact:hover {
display: flex; display: flex;
} }
.video-modal__container { .video-modal .video-player {
max-height: 80vh;
max-width: 100vw; max-width: 100vw;
max-height: 100vh;
} }
.audio-modal__container { .audio-modal__container {
@ -6192,7 +6192,7 @@ a.status-card.compact:hover {
box-sizing: border-box; box-sizing: border-box;
margin-top: 8px; margin-top: 8px;
overflow: hidden; overflow: hidden;
border-radius: 4px; border-radius: 8px;
position: relative; position: relative;
width: 100%; width: 100%;
min-height: 64px; min-height: 64px;
@ -6207,7 +6207,7 @@ a.status-card.compact:hover {
box-sizing: border-box; box-sizing: border-box;
display: block; display: block;
position: relative; position: relative;
border-radius: 4px; border-radius: 8px;
overflow: hidden; overflow: hidden;
&--tall { &--tall {
@ -6293,7 +6293,7 @@ a.status-card.compact:hover {
box-sizing: border-box; box-sizing: border-box;
position: relative; position: relative;
background: darken($ui-base-color, 8%); background: darken($ui-base-color, 8%);
border-radius: 4px; border-radius: 8px;
padding-bottom: 44px; padding-bottom: 44px;
width: 100%; width: 100%;
@ -6360,7 +6360,7 @@ a.status-card.compact:hover {
position: relative; position: relative;
background: $base-shadow-color; background: $base-shadow-color;
max-width: 100%; max-width: 100%;
border-radius: 4px; border-radius: 8px;
box-sizing: border-box; box-sizing: border-box;
color: $white; color: $white;
display: flex; display: flex;
@ -6377,8 +6377,6 @@ a.status-card.compact:hover {
video { video {
display: block; display: block;
max-width: 100vw;
max-height: 80vh;
z-index: 1; z-index: 1;
} }
@ -6386,22 +6384,15 @@ a.status-card.compact:hover {
width: 100% !important; width: 100% !important;
height: 100% !important; height: 100% !important;
margin: 0; margin: 0;
aspect-ratio: auto !important;
video { video {
max-width: 100% !important;
max-height: 100% !important;
width: 100% !important; width: 100% !important;
height: 100% !important; height: 100% !important;
outline: 0; outline: 0;
} }
} }
&.inline {
video {
object-fit: contain;
}
}
&__controls { &__controls {
position: absolute; position: absolute;
direction: ltr; direction: ltr;

@ -91,10 +91,6 @@ module HasUserSettings
settings['web.trends'] settings['web.trends']
end end
def setting_crop_images
settings['web.crop_images']
end
def setting_disable_swiping def setting_disable_swiping
settings['web.disable_swiping'] settings['web.disable_swiping']
end end

@ -17,7 +17,6 @@ class UserSettings
setting :default_privacy, default: nil, in: %w(public unlisted private) setting :default_privacy, default: nil, in: %w(public unlisted private)
namespace :web do namespace :web do
setting :crop_images, default: true
setting :advanced_layout, default: false setting :advanced_layout, default: false
setting :trends, default: true setting :trends, default: true
setting :use_blurhash, default: true setting :use_blurhash, default: true

@ -48,13 +48,11 @@ class InitialStateSerializer < ActiveModel::Serializer
store[:use_blurhash] = object.current_account.user.setting_use_blurhash store[:use_blurhash] = object.current_account.user.setting_use_blurhash
store[:use_pending_items] = object.current_account.user.setting_use_pending_items store[:use_pending_items] = object.current_account.user.setting_use_pending_items
store[:show_trends] = Setting.trends && object.current_account.user.setting_trends store[:show_trends] = Setting.trends && object.current_account.user.setting_trends
store[:crop_images] = object.current_account.user.setting_crop_images
else else
store[:auto_play_gif] = Setting.auto_play_gif store[:auto_play_gif] = Setting.auto_play_gif
store[:display_media] = Setting.display_media store[:display_media] = Setting.display_media
store[:reduce_motion] = Setting.reduce_motion store[:reduce_motion] = Setting.reduce_motion
store[:use_blurhash] = Setting.use_blurhash store[:use_blurhash] = Setting.use_blurhash
store[:crop_images] = Setting.crop_images
end end
store[:disabled_account_id] = object.disabled_account.id.to_s if object.disabled_account store[:disabled_account_id] = object.disabled_account.id.to_s if object.disabled_account

@ -37,11 +37,6 @@
= ff.input :'web.disable_swiping', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_disable_swiping') = ff.input :'web.disable_swiping', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_disable_swiping')
= ff.input :'web.use_system_font', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_system_font_ui') = ff.input :'web.use_system_font', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_system_font_ui')
%h4= t 'appearance.toot_layout'
.fields-group
= ff.input :'web.crop_images', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_crop_images')
%h4= t 'appearance.discovery' %h4= t 'appearance.discovery'
.fields-group .fields-group

@ -923,7 +923,6 @@ an:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Totz pueden contribuyir. guide_link_text: Totz pueden contribuyir.
sensitive_content: Conteniu sensible sensitive_content: Conteniu sensible
toot_layout: Disenyo d'as publicacions
application_mailer: application_mailer:
notification_preferences: Cambiar preferencias de correu electronico notification_preferences: Cambiar preferencias de correu electronico
salutation: "%{name}:" salutation: "%{name}:"

@ -982,7 +982,6 @@ ar:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: يمكن للجميع المساهمة. guide_link_text: يمكن للجميع المساهمة.
sensitive_content: المحتوى الحساس sensitive_content: المحتوى الحساس
toot_layout: شكل المنشور
application_mailer: application_mailer:
notification_preferences: تعديل تفضيلات البريد الإلكتروني notification_preferences: تعديل تفضيلات البريد الإلكتروني
salutation: "%{name}،" salutation: "%{name}،"

@ -439,7 +439,6 @@ ast:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: tol mundu pue collaborar. guide_link_text: tol mundu pue collaborar.
sensitive_content: Conteníu sensible sensitive_content: Conteníu sensible
toot_layout: Distribución de los artículos
application_mailer: application_mailer:
notification_preferences: Camudar les preferencies de los mensaxes de corréu electrónicu notification_preferences: Camudar les preferencies de los mensaxes de corréu electrónicu
applications: applications:

@ -1009,7 +1009,6 @@ be:
guide_link: https://be.crowdin.com/project/mastodon/be guide_link: https://be.crowdin.com/project/mastodon/be
guide_link_text: Кожны можа зрабіць унёсак. guide_link_text: Кожны можа зрабіць унёсак.
sensitive_content: Далікатны змест sensitive_content: Далікатны змест
toot_layout: Макет допісу
application_mailer: application_mailer:
notification_preferences: Змяніць налады эл. пошты notification_preferences: Змяніць налады эл. пошты
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ bg:
guide_link: https://ru.crowdin.com/project/mastodon guide_link: https://ru.crowdin.com/project/mastodon
guide_link_text: Всеки може да участва. guide_link_text: Всеки може да участва.
sensitive_content: Деликатно съдържание sensitive_content: Деликатно съдържание
toot_layout: Оформление на публикацията
application_mailer: application_mailer:
notification_preferences: Промяна на предпочитанията за имейл notification_preferences: Промяна на предпочитанията за имейл
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ ca:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Tothom hi pot contribuir. guide_link_text: Tothom hi pot contribuir.
sensitive_content: Contingut sensible sensitive_content: Contingut sensible
toot_layout: Disseny dels tuts
application_mailer: application_mailer:
notification_preferences: Canvia les preferències de correu notification_preferences: Canvia les preferències de correu
salutation: "%{name}," salutation: "%{name},"

@ -571,7 +571,6 @@ ckb:
body: ماستۆدۆن لەلایەن خۆبەخشەوە وەردەگێڕێت. body: ماستۆدۆن لەلایەن خۆبەخشەوە وەردەگێڕێت.
guide_link_text: هەموو کەسێک دەتوانێت بەشداری بکات. guide_link_text: هەموو کەسێک دەتوانێت بەشداری بکات.
sensitive_content: ناوەڕۆکی هەستیار sensitive_content: ناوەڕۆکی هەستیار
toot_layout: لۆی توت
application_mailer: application_mailer:
notification_preferences: گۆڕینی پەسەندکراوەکانی ئیمەیڵ notification_preferences: گۆڕینی پەسەندکراوەکانی ئیمەیڵ
salutation: "%{name}," salutation: "%{name},"

@ -537,7 +537,6 @@ co:
guide_link: https://fr.crowdin.com/project/mastodon guide_link: https://fr.crowdin.com/project/mastodon
guide_link_text: Tuttu u mondu pò participà. guide_link_text: Tuttu u mondu pò participà.
sensitive_content: Cuntinutu sensibile sensitive_content: Cuntinutu sensibile
toot_layout: Urganizazione
application_mailer: application_mailer:
notification_preferences: Cambià e priferenze e-mail notification_preferences: Cambià e priferenze e-mail
salutation: "%{name}," salutation: "%{name},"

@ -997,7 +997,6 @@ cs:
guide_link: https://cs.crowdin.com/project/mastodon guide_link: https://cs.crowdin.com/project/mastodon
guide_link_text: Zapojit se může každý. guide_link_text: Zapojit se může každý.
sensitive_content: Citlivý obsah sensitive_content: Citlivý obsah
toot_layout: Rozložení příspěvků
application_mailer: application_mailer:
notification_preferences: Změnit předvolby e-mailů notification_preferences: Změnit předvolby e-mailů
salutation: "%{name}," salutation: "%{name},"

@ -1045,7 +1045,6 @@ cy:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Gall pawb gyfrannu. guide_link_text: Gall pawb gyfrannu.
sensitive_content: Cynnwys sensitif sensitive_content: Cynnwys sensitif
toot_layout: Cynllun postiad
application_mailer: application_mailer:
notification_preferences: Newid gosodiadau e-bost notification_preferences: Newid gosodiadau e-bost
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ da:
guide_link: https://da.crowdin.com/project/mastodon guide_link: https://da.crowdin.com/project/mastodon
guide_link_text: Alle kan bidrage. guide_link_text: Alle kan bidrage.
sensitive_content: Sensitivt indhold sensitive_content: Sensitivt indhold
toot_layout: Indlægslayout
application_mailer: application_mailer:
notification_preferences: Skift e-mailpræferencer notification_preferences: Skift e-mailpræferencer
salutation: "%{name}" salutation: "%{name}"

@ -973,7 +973,6 @@ de:
guide_link: https://de.crowdin.com/project/mastodon/de guide_link: https://de.crowdin.com/project/mastodon/de
guide_link_text: Alle können mitmachen und etwas dazu beitragen. guide_link_text: Alle können mitmachen und etwas dazu beitragen.
sensitive_content: Inhaltswarnung sensitive_content: Inhaltswarnung
toot_layout: Timeline-Layout
application_mailer: application_mailer:
notification_preferences: E-Mail-Einstellungen ändern notification_preferences: E-Mail-Einstellungen ändern
salutation: "%{name}," salutation: "%{name},"

@ -961,7 +961,6 @@ el:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Μπορεί να συνεισφέρει ο οποιοσδήποτε. guide_link_text: Μπορεί να συνεισφέρει ο οποιοσδήποτε.
sensitive_content: Ευαίσθητο περιεχόμενο sensitive_content: Ευαίσθητο περιεχόμενο
toot_layout: Διαρρύθμιση αναρτήσεων
application_mailer: application_mailer:
notification_preferences: Αλλαγή προτιμήσεων email notification_preferences: Αλλαγή προτιμήσεων email
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ en-GB:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Everyone can contribute. guide_link_text: Everyone can contribute.
sensitive_content: Sensitive content sensitive_content: Sensitive content
toot_layout: Post layout
application_mailer: application_mailer:
notification_preferences: Change e-mail preferences notification_preferences: Change e-mail preferences
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ en:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Everyone can contribute. guide_link_text: Everyone can contribute.
sensitive_content: Sensitive content sensitive_content: Sensitive content
toot_layout: Post layout
application_mailer: application_mailer:
notification_preferences: Change e-mail preferences notification_preferences: Change e-mail preferences
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ eo:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Ĉiu povas kontribui. guide_link_text: Ĉiu povas kontribui.
sensitive_content: Tikla enhavo sensitive_content: Tikla enhavo
toot_layout: Mesaĝo aranĝo
application_mailer: application_mailer:
notification_preferences: Ŝanĝi retmesaĝajn preferojn notification_preferences: Ŝanĝi retmesaĝajn preferojn
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ es-AR:
guide_link: https://es.crowdin.com/project/mastodon guide_link: https://es.crowdin.com/project/mastodon
guide_link_text: Todos pueden contribuir. guide_link_text: Todos pueden contribuir.
sensitive_content: Contenido sensible sensitive_content: Contenido sensible
toot_layout: Diseño del mensaje
application_mailer: application_mailer:
notification_preferences: Cambiar configuración de correo electrónico notification_preferences: Cambiar configuración de correo electrónico
salutation: "%{name}:" salutation: "%{name}:"

@ -973,7 +973,6 @@ es-MX:
guide_link: https://es.crowdin.com/project/mastodon guide_link: https://es.crowdin.com/project/mastodon
guide_link_text: Todos pueden contribuir. guide_link_text: Todos pueden contribuir.
sensitive_content: Contenido sensible sensitive_content: Contenido sensible
toot_layout: Diseño de los toots
application_mailer: application_mailer:
notification_preferences: Cambiar preferencias de correo electrónico notification_preferences: Cambiar preferencias de correo electrónico
salutation: "%{name}:" salutation: "%{name}:"

@ -973,7 +973,6 @@ es:
guide_link: https://es.crowdin.com/project/mastodon guide_link: https://es.crowdin.com/project/mastodon
guide_link_text: Todos pueden contribuir. guide_link_text: Todos pueden contribuir.
sensitive_content: Contenido sensible sensitive_content: Contenido sensible
toot_layout: Diseño de las publicaciones
application_mailer: application_mailer:
notification_preferences: Cambiar preferencias de correo electrónico notification_preferences: Cambiar preferencias de correo electrónico
salutation: "%{name}:" salutation: "%{name}:"

@ -973,7 +973,6 @@ et:
guide_link: https://crowdin.com/project/mastodon/et guide_link: https://crowdin.com/project/mastodon/et
guide_link_text: Panustada võib igaüks! guide_link_text: Panustada võib igaüks!
sensitive_content: Tundlik sisu sensitive_content: Tundlik sisu
toot_layout: Postituse väljanägemine
application_mailer: application_mailer:
notification_preferences: Muuda e-kirjade eelistusi notification_preferences: Muuda e-kirjade eelistusi
salutation: "%{name}!" salutation: "%{name}!"

@ -972,7 +972,6 @@ eu:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Edonork lagundu dezake. guide_link_text: Edonork lagundu dezake.
sensitive_content: Eduki hunkigarria sensitive_content: Eduki hunkigarria
toot_layout: Bidalketen diseinua
application_mailer: application_mailer:
notification_preferences: Aldatu e-mail hobespenak notification_preferences: Aldatu e-mail hobespenak
salutation: "%{name}," salutation: "%{name},"

@ -821,7 +821,6 @@ fa:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: همه می‌توانند کمک کنند. guide_link_text: همه می‌توانند کمک کنند.
sensitive_content: محتوای حساس sensitive_content: محتوای حساس
toot_layout: آرایش فرسته
application_mailer: application_mailer:
notification_preferences: تغییر ترجیحات ایمیل notification_preferences: تغییر ترجیحات ایمیل
salutation: "%{name}،" salutation: "%{name}،"

@ -973,7 +973,6 @@ fi:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Kaikki voivat osallistua. guide_link_text: Kaikki voivat osallistua.
sensitive_content: Arkaluonteinen sisältö sensitive_content: Arkaluonteinen sisältö
toot_layout: Viestin asettelu
application_mailer: application_mailer:
notification_preferences: Muuta sähköpostiasetuksia notification_preferences: Muuta sähköpostiasetuksia
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ fo:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Øll kunnu geva íkast. guide_link_text: Øll kunnu geva íkast.
sensitive_content: Viðkvæmt innihald sensitive_content: Viðkvæmt innihald
toot_layout: Uppseting av postum
application_mailer: application_mailer:
notification_preferences: Broyt teldupostastillingar notification_preferences: Broyt teldupostastillingar
salutation: "%{name}" salutation: "%{name}"

@ -973,7 +973,6 @@ fr-QC:
guide_link: https://fr.crowdin.com/project/mastodon guide_link: https://fr.crowdin.com/project/mastodon
guide_link_text: Tout le monde peut y contribuer. guide_link_text: Tout le monde peut y contribuer.
sensitive_content: Contenu sensible sensitive_content: Contenu sensible
toot_layout: Agencement des messages
application_mailer: application_mailer:
notification_preferences: Modifier les préférences de courriel notification_preferences: Modifier les préférences de courriel
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ fr:
guide_link: https://fr.crowdin.com/project/mastodon guide_link: https://fr.crowdin.com/project/mastodon
guide_link_text: Tout le monde peut y contribuer. guide_link_text: Tout le monde peut y contribuer.
sensitive_content: Contenu sensible sensitive_content: Contenu sensible
toot_layout: Agencement des messages
application_mailer: application_mailer:
notification_preferences: Modifier les préférences de courriel notification_preferences: Modifier les préférences de courriel
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ fy:
guide_link: https://crowdin.com/project/mastodon/fy guide_link: https://crowdin.com/project/mastodon/fy
guide_link_text: Elkenien kin bydrage. guide_link_text: Elkenien kin bydrage.
sensitive_content: Gefoelige ynhâld sensitive_content: Gefoelige ynhâld
toot_layout: Lay-out fan berjochten
application_mailer: application_mailer:
notification_preferences: E-mailynstellingen wizigje notification_preferences: E-mailynstellingen wizigje
salutation: "%{name}," salutation: "%{name},"

@ -1009,7 +1009,6 @@ gd:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: "S urrainn do neach sam bith cuideachadh." guide_link_text: "S urrainn do neach sam bith cuideachadh."
sensitive_content: Susbaint fhrionasach sensitive_content: Susbaint fhrionasach
toot_layout: Co-dhealbhachd nam postaichean
application_mailer: application_mailer:
notification_preferences: Atharraich roghainnean a phuist-d notification_preferences: Atharraich roghainnean a phuist-d
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ gl:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Todas podemos contribuír. guide_link_text: Todas podemos contribuír.
sensitive_content: Contido sensible sensitive_content: Contido sensible
toot_layout: Disposición da publicación
application_mailer: application_mailer:
notification_preferences: Cambiar os axustes de email notification_preferences: Cambiar os axustes de email
salutation: "%{name}," salutation: "%{name},"

@ -1009,7 +1009,6 @@ he:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: כולם יכולים לתרום. guide_link_text: כולם יכולים לתרום.
sensitive_content: תוכן רגיש sensitive_content: תוכן רגיש
toot_layout: פריסת הודעה
application_mailer: application_mailer:
notification_preferences: שינוי העדפות דוא"ל notification_preferences: שינוי העדפות דוא"ל
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ hu:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Bárki közreműködhet. guide_link_text: Bárki közreműködhet.
sensitive_content: Kényes tartalom sensitive_content: Kényes tartalom
toot_layout: Bejegyzések elrendezése
application_mailer: application_mailer:
notification_preferences: E-mail beállítások módosítása notification_preferences: E-mail beállítások módosítása
salutation: "%{name}!" salutation: "%{name}!"

@ -901,7 +901,6 @@ id:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Siapa saja bisa berkontribusi. guide_link_text: Siapa saja bisa berkontribusi.
sensitive_content: Konten sensitif sensitive_content: Konten sensitif
toot_layout: Tata letak kiriman
application_mailer: application_mailer:
notification_preferences: Ubah pilihan email notification_preferences: Ubah pilihan email
salutation: "%{name}," salutation: "%{name},"

@ -880,7 +880,6 @@ io:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Omnu povas kontributar. guide_link_text: Omnu povas kontributar.
sensitive_content: Sentoza kontenajo sensitive_content: Sentoza kontenajo
toot_layout: Postostrukturo
application_mailer: application_mailer:
notification_preferences: Chanjez retpostopreferaji notification_preferences: Chanjez retpostopreferaji
salutation: "%{name}," salutation: "%{name},"

@ -975,7 +975,6 @@ is:
guide_link: https://crowdin.com/project/mastodon/is guide_link: https://crowdin.com/project/mastodon/is
guide_link_text: Allir geta tekið þátt. guide_link_text: Allir geta tekið þátt.
sensitive_content: Viðkvæmt efni sensitive_content: Viðkvæmt efni
toot_layout: Framsetning færslu
application_mailer: application_mailer:
notification_preferences: Breyta kjörstillingum tölvupósts notification_preferences: Breyta kjörstillingum tölvupósts
salutation: "%{name}," salutation: "%{name},"

@ -975,7 +975,6 @@ it:
guide_link: https://it.crowdin.com/project/mastodon guide_link: https://it.crowdin.com/project/mastodon
guide_link_text: Tutti possono contribuire. guide_link_text: Tutti possono contribuire.
sensitive_content: Contenuto sensibile sensitive_content: Contenuto sensibile
toot_layout: Layout dei toot
application_mailer: application_mailer:
notification_preferences: Cambia preferenze email notification_preferences: Cambia preferenze email
salutation: "%{name}," salutation: "%{name},"

@ -955,7 +955,6 @@ ja:
guide_link: https://ja.crowdin.com/project/mastodon guide_link: https://ja.crowdin.com/project/mastodon
guide_link_text: 誰でも参加することができます。 guide_link_text: 誰でも参加することができます。
sensitive_content: 閲覧注意コンテンツ sensitive_content: 閲覧注意コンテンツ
toot_layout: 投稿のレイアウト
application_mailer: application_mailer:
notification_preferences: メール設定の変更 notification_preferences: メール設定の変更
salutation: "%{name}さん" salutation: "%{name}さん"

@ -320,7 +320,6 @@ kk:
confirmation_dialogs: Пікірталас диалогтары confirmation_dialogs: Пікірталас диалогтары
discovery: Пікірталас discovery: Пікірталас
sensitive_content: Нәзік контент sensitive_content: Нәзік контент
toot_layout: Жазба формасы
application_mailer: application_mailer:
notification_preferences: Change e-mail prеferences notification_preferences: Change e-mail prеferences
settings: 'Change e-mail preferеnces: %{link}' settings: 'Change e-mail preferеnces: %{link}'

@ -957,7 +957,6 @@ ko:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: 누구나 기여할 수 있습니다. guide_link_text: 누구나 기여할 수 있습니다.
sensitive_content: 민감한 내용 sensitive_content: 민감한 내용
toot_layout: 게시물 레이아웃
application_mailer: application_mailer:
notification_preferences: 메일 설정 변경 notification_preferences: 메일 설정 변경
salutation: "%{name} 님," salutation: "%{name} 님,"

@ -920,7 +920,6 @@ ku:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Herkes dikare beşdar bibe. guide_link_text: Herkes dikare beşdar bibe.
sensitive_content: Naveroka hestiyarî sensitive_content: Naveroka hestiyarî
toot_layout: Xêzkirina şandîya
application_mailer: application_mailer:
notification_preferences: Sazkariyên e-nameyê biguherîne notification_preferences: Sazkariyên e-nameyê biguherîne
salutation: "%{name}," salutation: "%{name},"

@ -979,7 +979,6 @@ lv:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Ikviens var piedalīties. guide_link_text: Ikviens var piedalīties.
sensitive_content: Sensitīvs saturs sensitive_content: Sensitīvs saturs
toot_layout: Ziņas izskats
application_mailer: application_mailer:
notification_preferences: Mainīt e-pasta uztādījumus notification_preferences: Mainīt e-pasta uztādījumus
salutation: "%{name}," salutation: "%{name},"

@ -955,7 +955,6 @@ my:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: လူတိုင်းပါဝင်ကူညီနိုင်ပါတယ်။ guide_link_text: လူတိုင်းပါဝင်ကူညီနိုင်ပါတယ်။
sensitive_content: သတိထားရသော အကြောင်းအရာ sensitive_content: သတိထားရသော အကြောင်းအရာ
toot_layout: ပို့စ်အပြင်အဆင်
application_mailer: application_mailer:
notification_preferences: အီးမေးလ် သတ်မှတ်ချက်များကို ပြောင်းပါ notification_preferences: အီးမေးလ် သတ်မှတ်ချက်များကို ပြောင်းပါ
salutation: "%{name}" salutation: "%{name}"

@ -973,7 +973,6 @@ nl:
guide_link: https://crowdin.com/project/mastodon/nl guide_link: https://crowdin.com/project/mastodon/nl
guide_link_text: Iedereen kan bijdragen. guide_link_text: Iedereen kan bijdragen.
sensitive_content: Gevoelige inhoud sensitive_content: Gevoelige inhoud
toot_layout: Lay-out van berichten
application_mailer: application_mailer:
notification_preferences: E-mailvoorkeuren wijzigen notification_preferences: E-mailvoorkeuren wijzigen
salutation: "%{name}," salutation: "%{name},"

@ -965,7 +965,6 @@ nn:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Alle kan bidra. guide_link_text: Alle kan bidra.
sensitive_content: Ømtolig innhald sensitive_content: Ømtolig innhald
toot_layout: Tutoppsett
application_mailer: application_mailer:
notification_preferences: Endr e-post-innstillingane notification_preferences: Endr e-post-innstillingane
salutation: Hei %{name}, salutation: Hei %{name},

@ -914,7 +914,6 @@
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Alle kan bidra. guide_link_text: Alle kan bidra.
sensitive_content: Følsomt innhold sensitive_content: Følsomt innhold
toot_layout: Innleggsoppsett
application_mailer: application_mailer:
notification_preferences: Endre E-postinnstillingene notification_preferences: Endre E-postinnstillingene
salutation: "%{name}," salutation: "%{name},"

@ -459,7 +459,6 @@ oc:
body: Mastodon es traduch per de benevòls. body: Mastodon es traduch per de benevòls.
guide_link_text: Tot lo monde pòt contribuïr. guide_link_text: Tot lo monde pòt contribuïr.
sensitive_content: Contengut sensible sensitive_content: Contengut sensible
toot_layout: Disposicion del tut
application_mailer: application_mailer:
notification_preferences: Cambiar las preferéncias de corrièl notification_preferences: Cambiar las preferéncias de corrièl
salutation: "%{name}," salutation: "%{name},"

@ -1009,7 +1009,6 @@ pl:
guide_link: https://pl.crowdin.com/project/mastodon guide_link: https://pl.crowdin.com/project/mastodon
guide_link_text: Każdy może wnieść swój wkład. guide_link_text: Każdy może wnieść swój wkład.
sensitive_content: Wrażliwa zawartość sensitive_content: Wrażliwa zawartość
toot_layout: Wygląd wpisów
application_mailer: application_mailer:
notification_preferences: Zmień ustawienia e-maili notification_preferences: Zmień ustawienia e-maili
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ pt-BR:
guide_link: https://br.crowdin.com/project/mastodon guide_link: https://br.crowdin.com/project/mastodon
guide_link_text: Todos podem contribuir. guide_link_text: Todos podem contribuir.
sensitive_content: Conteúdo sensível sensitive_content: Conteúdo sensível
toot_layout: Formato da publicação
application_mailer: application_mailer:
notification_preferences: Alterar preferências de e-mail notification_preferences: Alterar preferências de e-mail
salutation: "%{name}," salutation: "%{name},"

@ -973,7 +973,6 @@ pt-PT:
guide_link: https://pt.crowdin.com/project/mastodon/ guide_link: https://pt.crowdin.com/project/mastodon/
guide_link_text: Todos podem contribuir. guide_link_text: Todos podem contribuir.
sensitive_content: Conteúdo problemático sensitive_content: Conteúdo problemático
toot_layout: Disposição da publicação
application_mailer: application_mailer:
notification_preferences: Alterar preferências de e-mail notification_preferences: Alterar preferências de e-mail
salutation: "%{name}," salutation: "%{name},"

@ -408,7 +408,6 @@ ro:
localization: localization:
guide_link_text: Toată lumea poate contribui. guide_link_text: Toată lumea poate contribui.
sensitive_content: Conținut sensibil sensitive_content: Conținut sensibil
toot_layout: Aspect postare
application_mailer: application_mailer:
notification_preferences: Modifică preferințe e-mail notification_preferences: Modifică preferințe e-mail
settings: 'Modifică preferințe e-mail: %{link}' settings: 'Modifică preferințe e-mail: %{link}'

@ -1009,7 +1009,6 @@ ru:
guide_link: https://ru.crowdin.com/project/mastodon guide_link: https://ru.crowdin.com/project/mastodon
guide_link_text: Каждый может внести свой вклад. guide_link_text: Каждый может внести свой вклад.
sensitive_content: Содержимое деликатного характера sensitive_content: Содержимое деликатного характера
toot_layout: Структура постов
application_mailer: application_mailer:
notification_preferences: Настроить уведомления можно здесь notification_preferences: Настроить уведомления можно здесь
salutation: "%{name}," salutation: "%{name},"

@ -491,7 +491,6 @@ sc:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Chie si siat podet contribuire. guide_link_text: Chie si siat podet contribuire.
sensitive_content: Cuntenutu sensìbile sensitive_content: Cuntenutu sensìbile
toot_layout: Dispositzione de is tuts
application_mailer: application_mailer:
notification_preferences: Muda is preferèntzias de posta notification_preferences: Muda is preferèntzias de posta
salutation: "%{name}," salutation: "%{name},"

@ -913,7 +913,6 @@ sco:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: Awbody kin contribute. guide_link_text: Awbody kin contribute.
sensitive_content: Sensitive content sensitive_content: Sensitive content
toot_layout: Post leyoot
application_mailer: application_mailer:
notification_preferences: Chynge email preferences notification_preferences: Chynge email preferences
salutation: "%{name}," salutation: "%{name},"

@ -757,7 +757,6 @@ si:
guide_link: https://crowdin.com/project/mastodon guide_link: https://crowdin.com/project/mastodon
guide_link_text: සෑම කෙනෙකුටම දායක විය හැකිය. guide_link_text: සෑම කෙනෙකුටම දායක විය හැකිය.
sensitive_content: සංවේදී අන්තර්ගතය sensitive_content: සංවේදී අන්තර්ගතය
toot_layout: පෝස්ට් පිරිසැලසුම
application_mailer: application_mailer:
notification_preferences: ඊමේල් මනාප වෙනස් කරන්න notification_preferences: ඊමේල් මනාප වෙනස් කරන්න
salutation: "%{name}," salutation: "%{name},"

@ -192,7 +192,6 @@ an:
setting_always_send_emails: Ninviar siempre notificacions per correu setting_always_send_emails: Ninviar siempre notificacions per correu
setting_auto_play_gif: Reproducir automaticament los GIFs animaus setting_auto_play_gif: Reproducir automaticament los GIFs animaus
setting_boost_modal: Amostrar finestra de confirmación antes de retutar setting_boost_modal: Amostrar finestra de confirmación antes de retutar
setting_crop_images: Retallar a 16x9 las imachens d'as publicacions no expandidas
setting_default_language: Idioma de publicación setting_default_language: Idioma de publicación
setting_default_privacy: Privacidat de publicacions setting_default_privacy: Privacidat de publicacions
setting_default_sensitive: Marcar siempre imachens como sensibles setting_default_sensitive: Marcar siempre imachens como sensibles

@ -200,7 +200,6 @@ ar:
setting_always_send_emails: ارسل إشعارات البريد الإلكتروني دائماً setting_always_send_emails: ارسل إشعارات البريد الإلكتروني دائماً
setting_auto_play_gif: تشغيل تلقائي لِوَسائط جيف المتحركة setting_auto_play_gif: تشغيل تلقائي لِوَسائط جيف المتحركة
setting_boost_modal: إظهار مربع حوار التأكيد قبل إعادة مشاركة أي منشور setting_boost_modal: إظهار مربع حوار التأكيد قبل إعادة مشاركة أي منشور
setting_crop_images: قص الصور في المنشورات غير الموسعة إلى 16x9
setting_default_language: لغة النشر setting_default_language: لغة النشر
setting_default_privacy: خصوصية المنشور setting_default_privacy: خصوصية المنشور
setting_default_sensitive: اعتبر الوسائط دائما كمحتوى حساس setting_default_sensitive: اعتبر الوسائط دائما كمحتوى حساس

@ -111,7 +111,6 @@ ast:
setting_always_send_emails: Unviar siempres los avisos per corréu electrónicu setting_always_send_emails: Unviar siempres los avisos per corréu electrónicu
setting_auto_play_gif: Reproducir automáticamente los GIFs setting_auto_play_gif: Reproducir automáticamente los GIFs
setting_boost_modal: Amosar el diálogu de confirmación enantes de compartir un artículu setting_boost_modal: Amosar el diálogu de confirmación enantes de compartir un artículu
setting_crop_images: Recortar les imáxenes de los artículos ensin espander a la proporción 16:9
setting_default_language: Llingua de los artículos setting_default_language: Llingua de los artículos
setting_default_privacy: Privacidá de los artículos setting_default_privacy: Privacidá de los artículos
setting_default_sensitive: Marcar siempres tol conteníu como sensible setting_default_sensitive: Marcar siempres tol conteníu como sensible

@ -200,7 +200,6 @@ be:
setting_always_send_emails: Заўжды дасылаць для апавяшчэнні эл. пошты setting_always_send_emails: Заўжды дасылаць для апавяшчэнні эл. пошты
setting_auto_play_gif: Аўтапрайграванне анімаваных GIF setting_auto_play_gif: Аўтапрайграванне анімаваных GIF
setting_boost_modal: Паказваць акно пацвярджэння перад пашырэннем setting_boost_modal: Паказваць акно пацвярджэння перад пашырэннем
setting_crop_images: У неразгорнутых допісах абразаць відарысы да 16:9
setting_default_language: Мова допісаў setting_default_language: Мова допісаў
setting_default_privacy: Прыватнасць допісаў setting_default_privacy: Прыватнасць допісаў
setting_default_sensitive: Заўсёды пазначаць кантэнт як далікатны setting_default_sensitive: Заўсёды пазначаць кантэнт як далікатны

@ -200,7 +200,6 @@ bg:
setting_always_send_emails: Все да се пращат известия по имейла setting_always_send_emails: Все да се пращат известия по имейла
setting_auto_play_gif: Самопускащи се анимирани гифчета setting_auto_play_gif: Самопускащи се анимирани гифчета
setting_boost_modal: Показване на прозорец за потвърждение преди подсилване setting_boost_modal: Показване на прозорец за потвърждение преди подсилване
setting_crop_images: Изрязване на образи в неразгънати публикации до 16x9
setting_default_language: Език на публикуване setting_default_language: Език на публикуване
setting_default_privacy: Поверителност на публикуване setting_default_privacy: Поверителност на публикуване
setting_default_sensitive: Все да се бележи мултимедията като деликатна setting_default_sensitive: Все да се бележи мултимедията като деликатна

@ -200,7 +200,6 @@ ca:
setting_always_send_emails: Envia'm sempre notificacions per correu electrònic setting_always_send_emails: Envia'm sempre notificacions per correu electrònic
setting_auto_play_gif: Reprodueix automàticament els GIF animats setting_auto_play_gif: Reprodueix automàticament els GIF animats
setting_boost_modal: Mostra la finestra de confirmació abans d'impulsar setting_boost_modal: Mostra la finestra de confirmació abans d'impulsar
setting_crop_images: Retalla les imatges en tuts no ampliats a 16x9
setting_default_language: Llengua dels tuts setting_default_language: Llengua dels tuts
setting_default_privacy: Privacitat dels tuts setting_default_privacy: Privacitat dels tuts
setting_default_sensitive: Marcar sempre el contingut gràfic com a sensible setting_default_sensitive: Marcar sempre el contingut gràfic com a sensible

@ -136,7 +136,6 @@ ckb:
setting_aggregate_reblogs: گرووپی توتەکان یەکبخە setting_aggregate_reblogs: گرووپی توتەکان یەکبخە
setting_auto_play_gif: خۆکاربەخشکردنی GIFــەکان setting_auto_play_gif: خۆکاربەخشکردنی GIFــەکان
setting_boost_modal: پیشاندانی دیالۆگی دووپاتکردنەوە پێش دوبارە توتاندن setting_boost_modal: پیشاندانی دیالۆگی دووپاتکردنەوە پێش دوبارە توتاندن
setting_crop_images: لە تووتی نەکراوە،وینەکان لە ئەندازی ۱٦×۹ ببڕە
setting_default_language: زمانی نووسراوەکانتان setting_default_language: زمانی نووسراوەکانتان
setting_default_privacy: چوارچێوەی تایبەتێتی ئێوە setting_default_privacy: چوارچێوەی تایبەتێتی ئێوە
setting_default_sensitive: هەمیشە نیشانکردنی میدیا وەک هەستیار setting_default_sensitive: هەمیشە نیشانکردنی میدیا وەک هەستیار

@ -137,7 +137,6 @@ co:
setting_aggregate_reblogs: Gruppà e spartere indè e linee setting_aggregate_reblogs: Gruppà e spartere indè e linee
setting_auto_play_gif: Lettura autumatica di i GIF animati setting_auto_play_gif: Lettura autumatica di i GIF animati
setting_boost_modal: Mustrà una cunfirmazione per sparte un statutu setting_boost_modal: Mustrà una cunfirmazione per sparte un statutu
setting_crop_images: Riquatrà i ritratti in 16x9 indè i statuti micca selezziunati
setting_default_language: Lingua di pubblicazione setting_default_language: Lingua di pubblicazione
setting_default_privacy: Cunfidenzialità di i statuti setting_default_privacy: Cunfidenzialità di i statuti
setting_default_sensitive: Sempre cunsiderà media cumè sensibili setting_default_sensitive: Sempre cunsiderà media cumè sensibili

@ -195,7 +195,6 @@ cs:
setting_always_send_emails: Vždy posílat e-mailová oznámení setting_always_send_emails: Vždy posílat e-mailová oznámení
setting_auto_play_gif: Automaticky přehrávat animace GIF setting_auto_play_gif: Automaticky přehrávat animace GIF
setting_boost_modal: Před boostnutím zobrazovat potvrzovací okno setting_boost_modal: Před boostnutím zobrazovat potvrzovací okno
setting_crop_images: Ořezávat obrázky v nerozbalených příspěvcích na 16x9
setting_default_language: Jazyk příspěvků setting_default_language: Jazyk příspěvků
setting_default_privacy: Soukromí příspěvků setting_default_privacy: Soukromí příspěvků
setting_default_sensitive: Vždy označovat média jako citlivá setting_default_sensitive: Vždy označovat média jako citlivá

@ -200,7 +200,6 @@ cy:
setting_always_send_emails: Anfonwch hysbysiadau e-bost bob amser setting_always_send_emails: Anfonwch hysbysiadau e-bost bob amser
setting_auto_play_gif: Chwarae GIFs wedi'u hanimeiddio yn awtomatig setting_auto_play_gif: Chwarae GIFs wedi'u hanimeiddio yn awtomatig
setting_boost_modal: Dangos deialog cadarnhau cyn rhoi hwb setting_boost_modal: Dangos deialog cadarnhau cyn rhoi hwb
setting_crop_images: Tocio delweddau o fewn postiadau nad ydynt wedi'u hehangu i 16x9
setting_default_language: Iaith postio setting_default_language: Iaith postio
setting_default_privacy: Preifatrwydd cyhoeddi setting_default_privacy: Preifatrwydd cyhoeddi
setting_default_sensitive: Marcio cyfryngau fel eu bod yn sensitif bob tro setting_default_sensitive: Marcio cyfryngau fel eu bod yn sensitif bob tro

@ -200,7 +200,6 @@ da:
setting_always_send_emails: Send altid en e-mailnotifikationer setting_always_send_emails: Send altid en e-mailnotifikationer
setting_auto_play_gif: Autoafspil animerede GIF'er setting_auto_play_gif: Autoafspil animerede GIF'er
setting_boost_modal: Vis bekræftelsesdialog inden boosting setting_boost_modal: Vis bekræftelsesdialog inden boosting
setting_crop_images: Beskær billeder i ikke-ekspanderede indlæg til 16x9
setting_default_language: Sprog for indlæg setting_default_language: Sprog for indlæg
setting_default_privacy: Fortrolighed for indlæg setting_default_privacy: Fortrolighed for indlæg
setting_default_sensitive: Markér altid medier som sensitive setting_default_sensitive: Markér altid medier som sensitive

@ -200,7 +200,6 @@ de:
setting_always_send_emails: Benachrichtigungen immer senden setting_always_send_emails: Benachrichtigungen immer senden
setting_auto_play_gif: Animierte GIFs automatisch abspielen setting_auto_play_gif: Animierte GIFs automatisch abspielen
setting_boost_modal: Bestätigungsdialog beim Teilen eines Beitrags anzeigen setting_boost_modal: Bestätigungsdialog beim Teilen eines Beitrags anzeigen
setting_crop_images: Bilder in nicht ausgeklappten Beiträgen auf 16:9 zuschneiden
setting_default_language: Beitragssprache setting_default_language: Beitragssprache
setting_default_privacy: Beitragssichtbarkeit setting_default_privacy: Beitragssichtbarkeit
setting_default_sensitive: Eigene Medien immer mit einer Inhaltswarnung versehen setting_default_sensitive: Eigene Medien immer mit einer Inhaltswarnung versehen

@ -195,7 +195,6 @@ el:
setting_always_send_emails: Πάντα να αποστέλλονται ειδοποίησεις μέσω email setting_always_send_emails: Πάντα να αποστέλλονται ειδοποίησεις μέσω email
setting_auto_play_gif: Αυτόματη αναπαραγωγή των GIF setting_auto_play_gif: Αυτόματη αναπαραγωγή των GIF
setting_boost_modal: Επιβεβαίωση πριν την προώθηση setting_boost_modal: Επιβεβαίωση πριν την προώθηση
setting_crop_images: Περιορισμός των εικόνων σε μη-ανεπτυγμένα τουτ σε αναλογία 16x9
setting_default_language: Γλώσσα δημοσιεύσεων setting_default_language: Γλώσσα δημοσιεύσεων
setting_default_privacy: Ιδιωτικότητα δημοσιεύσεων setting_default_privacy: Ιδιωτικότητα δημοσιεύσεων
setting_default_sensitive: Σημείωση όλων των πολυμέσων ως ευαίσθητου περιεχομένου setting_default_sensitive: Σημείωση όλων των πολυμέσων ως ευαίσθητου περιεχομένου

@ -200,7 +200,6 @@ en-GB:
setting_always_send_emails: Always send e-mail notifications setting_always_send_emails: Always send e-mail notifications
setting_auto_play_gif: Auto-play animated GIFs setting_auto_play_gif: Auto-play animated GIFs
setting_boost_modal: Show confirmation dialogue before boosting setting_boost_modal: Show confirmation dialogue before boosting
setting_crop_images: Crop images in non-expanded posts to 16x9
setting_default_language: Posting language setting_default_language: Posting language
setting_default_privacy: Posting privacy setting_default_privacy: Posting privacy
setting_default_sensitive: Always mark media as sensitive setting_default_sensitive: Always mark media as sensitive

@ -200,7 +200,6 @@ en:
setting_always_send_emails: Always send e-mail notifications setting_always_send_emails: Always send e-mail notifications
setting_auto_play_gif: Auto-play animated GIFs setting_auto_play_gif: Auto-play animated GIFs
setting_boost_modal: Show confirmation dialog before boosting setting_boost_modal: Show confirmation dialog before boosting
setting_crop_images: Crop images in non-expanded posts to 16x9
setting_default_language: Posting language setting_default_language: Posting language
setting_default_privacy: Posting privacy setting_default_privacy: Posting privacy
setting_default_sensitive: Always mark media as sensitive setting_default_sensitive: Always mark media as sensitive

@ -200,7 +200,6 @@ eo:
setting_always_send_emails: Ĉiam sendi la sciigojn per retpoŝto setting_always_send_emails: Ĉiam sendi la sciigojn per retpoŝto
setting_auto_play_gif: Aŭtomate ekigi GIF-ojn setting_auto_play_gif: Aŭtomate ekigi GIF-ojn
setting_boost_modal: Montri konfirman fenestron antaŭ ol diskonigi mesaĝon setting_boost_modal: Montri konfirman fenestron antaŭ ol diskonigi mesaĝon
setting_crop_images: Stuci bildojn en negrandigitaj mesaĝoj al 16x9
setting_default_language: Publikada lingvo setting_default_language: Publikada lingvo
setting_default_privacy: Privateco de afiŝado setting_default_privacy: Privateco de afiŝado
setting_default_sensitive: Ĉiam marki plurmediojn kiel tiklaj setting_default_sensitive: Ĉiam marki plurmediojn kiel tiklaj

@ -200,7 +200,6 @@ es-AR:
setting_always_send_emails: Siempre enviar notificaciones por correo electrónico setting_always_send_emails: Siempre enviar notificaciones por correo electrónico
setting_auto_play_gif: Reproducir automáticamente los GIFs animados setting_auto_play_gif: Reproducir automáticamente los GIFs animados
setting_boost_modal: Mostrar diálogo de confirmación antes de adherir setting_boost_modal: Mostrar diálogo de confirmación antes de adherir
setting_crop_images: Recortar imágenes en mensajes no expandidos a 16x9
setting_default_language: Idioma de tus mensajes setting_default_language: Idioma de tus mensajes
setting_default_privacy: Privacidad de mensajes setting_default_privacy: Privacidad de mensajes
setting_default_sensitive: Siempre marcar medios como sensibles setting_default_sensitive: Siempre marcar medios como sensibles

@ -200,7 +200,6 @@ es-MX:
setting_always_send_emails: Enviar siempre notificaciones por correo setting_always_send_emails: Enviar siempre notificaciones por correo
setting_auto_play_gif: Reproducir automáticamente los GIFs animados setting_auto_play_gif: Reproducir automáticamente los GIFs animados
setting_boost_modal: Mostrar ventana de confirmación antes de un Retoot setting_boost_modal: Mostrar ventana de confirmación antes de un Retoot
setting_crop_images: Recortar a 16x9 las imágenes de los toots no expandidos
setting_default_language: Idioma de publicación setting_default_language: Idioma de publicación
setting_default_privacy: Privacidad de publicaciones setting_default_privacy: Privacidad de publicaciones
setting_default_sensitive: Marcar siempre imágenes como sensibles setting_default_sensitive: Marcar siempre imágenes como sensibles

@ -200,7 +200,6 @@ es:
setting_always_send_emails: Enviar siempre notificaciones por correo setting_always_send_emails: Enviar siempre notificaciones por correo
setting_auto_play_gif: Reproducir automáticamente los GIFs animados setting_auto_play_gif: Reproducir automáticamente los GIFs animados
setting_boost_modal: Mostrar ventana de confirmación antes de impulsar setting_boost_modal: Mostrar ventana de confirmación antes de impulsar
setting_crop_images: Recortar a 16x9 las imágenes de las publicaciones no expandidas
setting_default_language: Idioma de publicación setting_default_language: Idioma de publicación
setting_default_privacy: Privacidad de publicaciones setting_default_privacy: Privacidad de publicaciones
setting_default_sensitive: Marcar siempre imágenes como sensibles setting_default_sensitive: Marcar siempre imágenes como sensibles

@ -200,7 +200,6 @@ et:
setting_always_send_emails: Edasta kõik teavitused meilile setting_always_send_emails: Edasta kõik teavitused meilile
setting_auto_play_gif: Esita GIF-e automaatselt setting_auto_play_gif: Esita GIF-e automaatselt
setting_boost_modal: Näita enne jagamist kinnitusdialoogi setting_boost_modal: Näita enne jagamist kinnitusdialoogi
setting_crop_images: Laiendamata postitustes kärbi pildid 16:9 küljesuhtesse
setting_default_language: Postituse keel setting_default_language: Postituse keel
setting_default_privacy: Postituse nähtavus setting_default_privacy: Postituse nähtavus
setting_default_sensitive: Alati märgista meedia tundlikuks setting_default_sensitive: Alati märgista meedia tundlikuks

@ -195,7 +195,6 @@ eu:
setting_always_send_emails: Bidali beti eposta jakinarazpenak setting_always_send_emails: Bidali beti eposta jakinarazpenak
setting_auto_play_gif: Erreproduzitu GIF animatuak automatikoki setting_auto_play_gif: Erreproduzitu GIF animatuak automatikoki
setting_boost_modal: Erakutsi baieztapen elkarrizketa-koadroa bultzada eman aurretik setting_boost_modal: Erakutsi baieztapen elkarrizketa-koadroa bultzada eman aurretik
setting_crop_images: Moztu irudiak hedatu gabeko tootetan 16x9 proportzioan
setting_default_language: Argitalpenen hizkuntza setting_default_language: Argitalpenen hizkuntza
setting_default_privacy: Mezuen pribatutasuna setting_default_privacy: Mezuen pribatutasuna
setting_default_sensitive: Beti markatu edukiak hunkigarri gisa setting_default_sensitive: Beti markatu edukiak hunkigarri gisa

@ -169,7 +169,6 @@ fa:
setting_always_send_emails: فرستادن همیشگی آگاهی‌های رایانامه‌ای setting_always_send_emails: فرستادن همیشگی آگاهی‌های رایانامه‌ای
setting_auto_play_gif: پخش خودکار تصویرهای متحرک setting_auto_play_gif: پخش خودکار تصویرهای متحرک
setting_boost_modal: نمایش پیغام تأیید پیش از تقویت کردن setting_boost_modal: نمایش پیغام تأیید پیش از تقویت کردن
setting_crop_images: در فرسته‌های ناگسترده، تصویرها را به ابعاد ‎۱۶×۹ کوچک کن
setting_default_language: زبان نوشته‌های شما setting_default_language: زبان نوشته‌های شما
setting_default_privacy: حریم خصوصی نوشته‌ها setting_default_privacy: حریم خصوصی نوشته‌ها
setting_default_sensitive: همیشه تصاویر را به عنوان حساس علامت بزن setting_default_sensitive: همیشه تصاویر را به عنوان حساس علامت بزن

@ -200,7 +200,6 @@ fi:
setting_always_send_emails: Lähetä aina sähköposti-ilmoituksia setting_always_send_emails: Lähetä aina sähköposti-ilmoituksia
setting_auto_play_gif: Toista GIF-animaatiot automaattisesti setting_auto_play_gif: Toista GIF-animaatiot automaattisesti
setting_boost_modal: Kysy vahvistus ennen tehostusta setting_boost_modal: Kysy vahvistus ennen tehostusta
setting_crop_images: Rajaa kuvat avaamattomissa tuuttauksissa 16:9 kuvasuhteeseen
setting_default_language: Julkaisujen kieli setting_default_language: Julkaisujen kieli
setting_default_privacy: Viestin näkyvyys setting_default_privacy: Viestin näkyvyys
setting_default_sensitive: Merkitse media aina arkaluontoiseksi setting_default_sensitive: Merkitse media aina arkaluontoiseksi

@ -200,7 +200,6 @@ fo:
setting_always_send_emails: Send altíð fráboðanir við telduposti setting_always_send_emails: Send altíð fráboðanir við telduposti
setting_auto_play_gif: Spæl teknimyndagjørdar GIFar sjálvvirkandi setting_auto_play_gif: Spæl teknimyndagjørdar GIFar sjálvvirkandi
setting_boost_modal: Vís váttanarmynd, áðrenn tú stimbrar postar setting_boost_modal: Vís váttanarmynd, áðrenn tú stimbrar postar
setting_crop_images: Sker myndir til lutfallið 16x9 í postum, sum ikki eru víðkaðir
setting_default_language: Mál, sum verður brúkt til postar setting_default_language: Mál, sum verður brúkt til postar
setting_default_privacy: Hvussu privatir eru postar? setting_default_privacy: Hvussu privatir eru postar?
setting_default_sensitive: Merk altíð miðlafílur sum viðkvæmar setting_default_sensitive: Merk altíð miðlafílur sum viðkvæmar

@ -200,7 +200,6 @@ fr-QC:
setting_always_send_emails: Toujours envoyer les notifications par courriel setting_always_send_emails: Toujours envoyer les notifications par courriel
setting_auto_play_gif: Lire automatiquement les GIFs animés setting_auto_play_gif: Lire automatiquement les GIFs animés
setting_boost_modal: Demander confirmation avant de partager un message setting_boost_modal: Demander confirmation avant de partager un message
setting_crop_images: Recadrer en 16x9 les images des messages qui ne sont pas ouverts en vue détaillée
setting_default_language: Langue de publication setting_default_language: Langue de publication
setting_default_privacy: Confidentialité des messages setting_default_privacy: Confidentialité des messages
setting_default_sensitive: Toujours marquer les médias comme sensibles setting_default_sensitive: Toujours marquer les médias comme sensibles

@ -200,7 +200,6 @@ fr:
setting_always_send_emails: Toujours envoyer les notifications par courriel setting_always_send_emails: Toujours envoyer les notifications par courriel
setting_auto_play_gif: Lire automatiquement les GIFs animés setting_auto_play_gif: Lire automatiquement les GIFs animés
setting_boost_modal: Demander confirmation avant de partager un message setting_boost_modal: Demander confirmation avant de partager un message
setting_crop_images: Recadrer en 16x9 les images des messages qui ne sont pas ouverts en vue détaillée
setting_default_language: Langue de publication setting_default_language: Langue de publication
setting_default_privacy: Confidentialité des messages setting_default_privacy: Confidentialité des messages
setting_default_sensitive: Toujours marquer les médias comme sensibles setting_default_sensitive: Toujours marquer les médias comme sensibles

@ -200,7 +200,6 @@ fy:
setting_always_send_emails: Altyd e-mailmeldingen ferstjoere setting_always_send_emails: Altyd e-mailmeldingen ferstjoere
setting_auto_play_gif: Spylje animearre GIFs automatysk ôf setting_auto_play_gif: Spylje animearre GIFs automatysk ôf
setting_boost_modal: Freegje foar it boosten fan in berjocht in befêstiging setting_boost_modal: Freegje foar it boosten fan in berjocht in befêstiging
setting_crop_images: Ofbyldingen bysnije oant 16x9 yn berjochten op tiidlinen
setting_default_language: Taal fan jo berjochten setting_default_language: Taal fan jo berjochten
setting_default_privacy: Sichtberheid fan nije berjochten setting_default_privacy: Sichtberheid fan nije berjochten
setting_default_sensitive: Media altyd as gefoelich markearje setting_default_sensitive: Media altyd as gefoelich markearje

@ -200,7 +200,6 @@ gd:
setting_always_send_emails: Cuir brathan puist-d an-còmhnaidh setting_always_send_emails: Cuir brathan puist-d an-còmhnaidh
setting_auto_play_gif: Cluich GIFs beòthaichte gu fèin-obrachail setting_auto_play_gif: Cluich GIFs beòthaichte gu fèin-obrachail
setting_boost_modal: Seall còmhradh dearbhaidh mus dèan thu brosnachadh setting_boost_modal: Seall còmhradh dearbhaidh mus dèan thu brosnachadh
setting_crop_images: Beàrr na dealbhan sna postaichean gun leudachadh air 16x9
setting_default_language: Cànan postaidh setting_default_language: Cànan postaidh
setting_default_privacy: Prìobhaideachd postaidh setting_default_privacy: Prìobhaideachd postaidh
setting_default_sensitive: Cuir comharra ri meadhanan an-còmhnaidh gu bheil iad frionasach setting_default_sensitive: Cuir comharra ri meadhanan an-còmhnaidh gu bheil iad frionasach

@ -200,7 +200,6 @@ gl:
setting_always_send_emails: Enviar sempre notificacións por correo electrónico setting_always_send_emails: Enviar sempre notificacións por correo electrónico
setting_auto_play_gif: Reprodución automática de GIFs animados setting_auto_play_gif: Reprodución automática de GIFs animados
setting_boost_modal: Solicitar confirmación antes de promover setting_boost_modal: Solicitar confirmación antes de promover
setting_crop_images: Recortar imaxes a 16x9 en publicacións non despregadas
setting_default_language: Idioma de publicación setting_default_language: Idioma de publicación
setting_default_privacy: Privacidade da publicación setting_default_privacy: Privacidade da publicación
setting_default_sensitive: Marcar sempre multimedia como sensible setting_default_sensitive: Marcar sempre multimedia como sensible

@ -200,7 +200,6 @@ he:
setting_always_send_emails: תמיד שלח התראות לדוא"ל setting_always_send_emails: תמיד שלח התראות לדוא"ל
setting_auto_play_gif: ניגון אוטומטי של גיפים setting_auto_play_gif: ניגון אוטומטי של גיפים
setting_boost_modal: הצגת דיאלוג אישור לפני הדהוד setting_boost_modal: הצגת דיאלוג אישור לפני הדהוד
setting_crop_images: קטום תמונות בהודעות לא מורחבות ל 16 על 9
setting_default_language: שפת ברירת מחדל להודעה setting_default_language: שפת ברירת מחדל להודעה
setting_default_privacy: פרטיות ההודעות setting_default_privacy: פרטיות ההודעות
setting_default_sensitive: תמיד לתת סימון "רגיש" למדיה setting_default_sensitive: תמיד לתת סימון "רגיש" למדיה

@ -200,7 +200,6 @@ hu:
setting_always_send_emails: E-mail értesítések küldése mindig setting_always_send_emails: E-mail értesítések küldése mindig
setting_auto_play_gif: GIF-ek automatikus lejátszása setting_auto_play_gif: GIF-ek automatikus lejátszása
setting_boost_modal: Megerősítés kérése megtolás előtt setting_boost_modal: Megerősítés kérése megtolás előtt
setting_crop_images: Képek 16x9-re vágása nem kinyitott bejegyzéseknél
setting_default_language: Bejegyzések nyelve setting_default_language: Bejegyzések nyelve
setting_default_privacy: Bejegyzések láthatósága setting_default_privacy: Bejegyzések láthatósága
setting_default_sensitive: Minden médiafájl megjelölése kényesként setting_default_sensitive: Minden médiafájl megjelölése kényesként

@ -135,7 +135,6 @@ hy:
setting_aggregate_reblogs: Տարծածները խմբաւորել հոսքում setting_aggregate_reblogs: Տարծածները խմբաւորել հոսքում
setting_auto_play_gif: Աւտոմատ մեկնարկել GIFs անիմացիաները setting_auto_play_gif: Աւտոմատ մեկնարկել GIFs անիմացիաները
setting_boost_modal: Ցուցադրել հաստատման պատուհանը տարածելուց առաջ setting_boost_modal: Ցուցադրել հաստատման պատուհանը տարածելուց առաջ
setting_crop_images: Ցոյց տալ գրառման նկարը 16x9 համամասնութեամբ
setting_default_language: Հրապարակման լեզու setting_default_language: Հրապարակման լեզու
setting_default_privacy: Հրապարակման գաղտնիութիւն setting_default_privacy: Հրապարակման գաղտնիութիւն
setting_default_sensitive: Միշտ նշել մեդիան որպէս դիւրազգաց setting_default_sensitive: Միշտ նշել մեդիան որպէս դիւրազգաց

@ -188,7 +188,6 @@ id:
setting_always_send_emails: Selalu kirim notifikasi email setting_always_send_emails: Selalu kirim notifikasi email
setting_auto_play_gif: Mainkan otomatis animasi GIF setting_auto_play_gif: Mainkan otomatis animasi GIF
setting_boost_modal: Tampilkan dialog konfirmasi dialog sebelum boost setting_boost_modal: Tampilkan dialog konfirmasi dialog sebelum boost
setting_crop_images: Potong gambar ke 16x9 pada toot yang tidak dibentangkan
setting_default_language: Bahasa posting setting_default_language: Bahasa posting
setting_default_privacy: Privasi postingan setting_default_privacy: Privasi postingan
setting_default_sensitive: Selalu tandai media sebagai sensitif setting_default_sensitive: Selalu tandai media sebagai sensitif

@ -186,7 +186,6 @@ io:
setting_always_send_emails: Sempre sendez retpostoavizi setting_always_send_emails: Sempre sendez retpostoavizi
setting_auto_play_gif: Automate pleez animigita GIFi setting_auto_play_gif: Automate pleez animigita GIFi
setting_boost_modal: Montrez konfirmdialogo ante bustar setting_boost_modal: Montrez konfirmdialogo ante bustar
setting_crop_images: Ektranchez imaji en neexpansigita posti a 16x9
setting_default_language: Postolinguo setting_default_language: Postolinguo
setting_default_privacy: Videbleso di la mesaji setting_default_privacy: Videbleso di la mesaji
setting_default_sensitive: Sempre markizez medii quale sentoza setting_default_sensitive: Sempre markizez medii quale sentoza

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

Loading…
Cancel
Save