Remove 16:9 cropping from web UI (#26132)
This commit is contained in:
		
							parent
							
								
									5e8cbb5f82
								
							
						
					
					
						commit
						4d01d1a1ee
					
				| @ -12,7 +12,7 @@ import { debounce } from 'lodash'; | ||||
| 
 | ||||
| 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'; | ||||
| 
 | ||||
| @ -209,7 +209,6 @@ class MediaGallery extends PureComponent { | ||||
| 
 | ||||
|   static propTypes = { | ||||
|     sensitive: PropTypes.bool, | ||||
|     standalone: PropTypes.bool, | ||||
|     media: ImmutablePropTypes.list.isRequired, | ||||
|     lang: PropTypes.string, | ||||
|     size: PropTypes.object, | ||||
| @ -223,10 +222,6 @@ class MediaGallery extends PureComponent { | ||||
|     onToggleVisibility: PropTypes.func, | ||||
|   }; | ||||
| 
 | ||||
|   static defaultProps = { | ||||
|     standalone: false, | ||||
|   }; | ||||
| 
 | ||||
|   state = { | ||||
|     visible: this.props.visible !== undefined ? this.props.visible : (displayMedia !== 'hide_all' && !this.props.sensitive || displayMedia === 'show_all'), | ||||
|     width: this.props.defaultWidth, | ||||
| @ -295,7 +290,7 @@ class MediaGallery extends PureComponent { | ||||
|   } | ||||
| 
 | ||||
|   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 width = this.state.width || defaultWidth; | ||||
| 
 | ||||
| @ -303,16 +298,16 @@ class MediaGallery extends PureComponent { | ||||
| 
 | ||||
|     const style = {}; | ||||
| 
 | ||||
|     if (this.isFullSizeEligible() && (standalone || !cropImages)) { | ||||
|     if (this.isFullSizeEligible()) { | ||||
|       style.aspectRatio = `${this.props.media.getIn([0, 'meta', 'small', 'aspect'])}`; | ||||
|     } else { | ||||
|       style.aspectRatio = '16 / 9'; | ||||
|       style.aspectRatio = '3 / 2'; | ||||
|     } | ||||
| 
 | ||||
|     const size     = media.take(4).size; | ||||
|     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} />; | ||||
|     } 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} />); | ||||
|  | ||||
| @ -12,6 +12,7 @@ class PictureInPicturePlaceholder extends PureComponent { | ||||
| 
 | ||||
|   static propTypes = { | ||||
|     dispatch: PropTypes.func.isRequired, | ||||
|     aspectRatio: PropTypes.string, | ||||
|   }; | ||||
| 
 | ||||
|   handleClick = () => { | ||||
| @ -20,8 +21,10 @@ class PictureInPicturePlaceholder extends PureComponent { | ||||
|   }; | ||||
| 
 | ||||
|   render () { | ||||
|     const { aspectRatio } = this.props; | ||||
| 
 | ||||
|     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' /> | ||||
|         <FormattedMessage id='picture_in_picture.restore' defaultMessage='Put it back' /> | ||||
|       </div> | ||||
|  | ||||
| @ -19,7 +19,6 @@ import Bundle from '../features/ui/components/bundle'; | ||||
| import { MediaGallery, Video, Audio } from '../features/ui/util/async-components'; | ||||
| import { displayMedia } from '../initial_state'; | ||||
| 
 | ||||
| import AttachmentList from './attachment_list'; | ||||
| import { Avatar } from './avatar'; | ||||
| import { AvatarOverlay } from './avatar_overlay'; | ||||
| import { DisplayName } from './display_name'; | ||||
| @ -191,17 +190,35 @@ class Status extends ImmutablePureComponent { | ||||
|     this.props.onTranslate(this._properStatus()); | ||||
|   }; | ||||
| 
 | ||||
|   renderLoadingMediaGallery () { | ||||
|     return <div className='media-gallery' style={{ height: '110px' }} />; | ||||
|   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' | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   renderLoadingVideoPlayer () { | ||||
|     return <div className='video-player' style={{ height: '110px' }} />; | ||||
|   } | ||||
|   renderLoadingMediaGallery = () => { | ||||
|     return ( | ||||
|       <div className='media-gallery' style={{ aspectRatio: this.getAttachmentAspectRatio() }} /> | ||||
|     ); | ||||
|   }; | ||||
| 
 | ||||
|   renderLoadingAudioPlayer () { | ||||
|     return <div className='audio-player' style={{ height: '110px' }} />; | ||||
|   } | ||||
|   renderLoadingVideoPlayer = () => { | ||||
|     return ( | ||||
|       <div className='video-player' style={{ aspectRatio: this.getAttachmentAspectRatio() }} /> | ||||
|     ); | ||||
|   }; | ||||
| 
 | ||||
|   renderLoadingAudioPlayer = () => { | ||||
|     return ( | ||||
|       <div className='audio-player' style={{ aspectRatio: this.getAttachmentAspectRatio() }} /> | ||||
|     ); | ||||
|   }; | ||||
| 
 | ||||
|   handleOpenVideo = (options) => { | ||||
|     const status = this._properStatus(); | ||||
| @ -426,18 +443,11 @@ class Status extends ImmutablePureComponent { | ||||
|     } | ||||
| 
 | ||||
|     if (pictureInPicture.get('inUse')) { | ||||
|       media = <PictureInPicturePlaceholder />; | ||||
|       media = <PictureInPicturePlaceholder aspectRatio={this.getAttachmentAspectRatio()} />; | ||||
|     } else if (status.get('media_attachments').size > 0) { | ||||
|       const language = status.getIn(['translation', 'language']) || status.get('language'); | ||||
| 
 | ||||
|       if (this.props.muted) { | ||||
|         media = ( | ||||
|           <AttachmentList | ||||
|             compact | ||||
|             media={status.get('media_attachments')} | ||||
|           /> | ||||
|         ); | ||||
|       } else if (status.getIn(['media_attachments', 0, 'type']) === 'audio') { | ||||
|       if (status.getIn(['media_attachments', 0, 'type']) === 'audio') { | ||||
|         const attachment = status.getIn(['media_attachments', 0]); | ||||
|         const description = attachment.getIn(['translation', 'description']) || attachment.get('description'); | ||||
| 
 | ||||
| @ -475,11 +485,11 @@ class Status extends ImmutablePureComponent { | ||||
|               <Component | ||||
|                 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} | ||||
|                 inline | ||||
|                 sensitive={status.get('sensitive')} | ||||
|                 onOpenVideo={this.handleOpenVideo} | ||||
|                 deployPictureInPicture={pictureInPicture.get('available') ? this.handleDeployPictureInPicture : undefined} | ||||
| @ -508,7 +518,7 @@ class Status extends ImmutablePureComponent { | ||||
|           </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 = ( | ||||
|         <Card | ||||
|           onOpenMedia={this.handleOpenMedia} | ||||
|  | ||||
| @ -113,8 +113,30 @@ class DetailedStatus extends ImmutablePureComponent { | ||||
|     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.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 { intl, compact, pictureInPicture } = this.props; | ||||
| 
 | ||||
| @ -136,7 +158,7 @@ class DetailedStatus extends ImmutablePureComponent { | ||||
|     const language = status.getIn(['translation', 'language']) || status.get('language'); | ||||
| 
 | ||||
|     if (pictureInPicture.get('inUse')) { | ||||
|       media = <PictureInPicturePlaceholder />; | ||||
|       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]); | ||||
| @ -167,13 +189,13 @@ class DetailedStatus extends ImmutablePureComponent { | ||||
|           <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} | ||||
|             inline | ||||
|             onOpenVideo={this.handleOpenVideo} | ||||
|             sensitive={status.get('sensitive')} | ||||
|             visible={this.props.showMedia} | ||||
|  | ||||
| @ -172,6 +172,7 @@ class MediaModal extends ImmutablePureComponent { | ||||
|             width={image.get('width')} | ||||
|             height={image.get('height')} | ||||
|             frameRate={image.getIn(['meta', 'original', 'frame_rate'])} | ||||
|             aspectRatio={`${image.getIn(['meta', 'original', 'width'])} / ${image.getIn(['meta', 'original', 'height'])}`} | ||||
|             currentTime={currentTime || 0} | ||||
|             autoPlay={autoPlay || false} | ||||
|             volume={volume || 1} | ||||
|  | ||||
| @ -49,6 +49,7 @@ class VideoModal extends ImmutablePureComponent { | ||||
|           <Video | ||||
|             preview={media.get('preview_url')} | ||||
|             frameRate={media.getIn(['meta', 'original', 'frame_rate'])} | ||||
|             aspectRatio={`${media.getIn(['meta', 'original', 'width'])} / ${media.getIn(['meta', 'original', 'height'])}`} | ||||
|             blurhash={media.get('blurhash')} | ||||
|             src={media.get('url')} | ||||
|             currentTime={options.startTime} | ||||
|  | ||||
| @ -105,6 +105,7 @@ class Video extends PureComponent { | ||||
|   static propTypes = { | ||||
|     preview: PropTypes.string, | ||||
|     frameRate: PropTypes.string, | ||||
|     aspectRatio: PropTypes.string, | ||||
|     src: PropTypes.string.isRequired, | ||||
|     alt: PropTypes.string, | ||||
|     lang: PropTypes.string, | ||||
| @ -113,7 +114,6 @@ class Video extends PureComponent { | ||||
|     onOpenVideo: PropTypes.func, | ||||
|     onCloseVideo: PropTypes.func, | ||||
|     detailed: PropTypes.bool, | ||||
|     inline: PropTypes.bool, | ||||
|     editable: PropTypes.bool, | ||||
|     alwaysVisible: PropTypes.bool, | ||||
|     visible: PropTypes.bool, | ||||
| @ -500,14 +500,9 @@ class Video extends PureComponent { | ||||
|   } | ||||
| 
 | ||||
|   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 progress = Math.min((currentTime / duration) * 100, 100); | ||||
|     const playerStyle = {}; | ||||
| 
 | ||||
|     if (inline) { | ||||
|       playerStyle.aspectRatio = '16 / 9'; | ||||
|     } | ||||
| 
 | ||||
|     let preload; | ||||
| 
 | ||||
| @ -527,95 +522,98 @@ class Video extends PureComponent { | ||||
|       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 ( | ||||
|       <div | ||||
|         role='menuitem' | ||||
|         className={classNames('video-player', { inactive: !revealed, detailed, inline: inline && !fullscreen, fullscreen, editable })} | ||||
|         style={playerStyle} | ||||
|         ref={this.setPlayerRef} | ||||
|         onMouseEnter={this.handleMouseEnter} | ||||
|         onMouseLeave={this.handleMouseLeave} | ||||
|         onClick={this.handleClickRoot} | ||||
|         onKeyDown={this.handleKeyDown} | ||||
|         tabIndex={0} | ||||
|       > | ||||
|         <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' | ||||
|       <div style={{ aspectRatio }}> | ||||
|         <div | ||||
|           role='menuitem' | ||||
|           className={classNames('video-player', { inactive: !revealed, detailed, fullscreen, editable })} | ||||
|           style={{ aspectRatio }} | ||||
|           ref={this.setPlayerRef} | ||||
|           onMouseEnter={this.handleMouseEnter} | ||||
|           onMouseLeave={this.handleMouseLeave} | ||||
|           onClick={this.handleClickRoot} | ||||
|           onKeyDown={this.handleKeyDown} | ||||
|           tabIndex={0} | ||||
|           aria-label={alt} | ||||
|           title={alt} | ||||
|           lang={lang} | ||||
|           volume={volume} | ||||
|           onClick={this.togglePlay} | ||||
|           onKeyDown={this.handleVideoKeyDown} | ||||
|           onPlay={this.handlePlay} | ||||
|           onPause={this.handlePause} | ||||
|           onLoadedData={this.handleLoadedData} | ||||
|           onProgress={this.handleProgress} | ||||
|           onVolumeChange={this.handleVolumeChange} | ||||
|           style={{ ...playerStyle, width: '100%' }} | ||||
|         />} | ||||
|         > | ||||
|           <Blurhash | ||||
|             hash={blurhash} | ||||
|             className={classNames('media-gallery__preview', { | ||||
|               'media-gallery__preview--hidden': revealed, | ||||
|             })} | ||||
|             dummy={!useBlurhash} | ||||
|           /> | ||||
| 
 | ||||
|         <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> | ||||
|           {(revealed || editable) && <video | ||||
|             ref={this.setVideoRef} | ||||
|             src={src} | ||||
|             poster={preview} | ||||
|             preload={preload} | ||||
|             role='button' | ||||
|             tabIndex={0} | ||||
|             aria-label={alt} | ||||
|             title={alt} | ||||
|             lang={lang} | ||||
|             volume={volume} | ||||
|             onClick={this.togglePlay} | ||||
|             onKeyDown={this.handleVideoKeyDown} | ||||
|             onPlay={this.handlePlay} | ||||
|             onPause={this.handlePause} | ||||
|             onLoadedData={this.handleLoadedData} | ||||
|             onProgress={this.handleProgress} | ||||
|             onVolumeChange={this.handleVolumeChange} | ||||
|             style={{ width: '100%' }} | ||||
|           />} | ||||
| 
 | ||||
|         <div className={classNames('video-player__controls', { active: paused || hovered })}> | ||||
|           <div className='video-player__seek' onMouseDown={this.handleMouseDown} ref={this.setSeekRef}> | ||||
|             <div className='video-player__seek__buffer' style={{ width: `${buffer}%` }} /> | ||||
|             <div className='video-player__seek__progress' style={{ width: `${progress}%` }} /> | ||||
| 
 | ||||
|             <span | ||||
|               className={classNames('video-player__seek__handle', { active: dragging })} | ||||
|               tabIndex={0} | ||||
|               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 className='video-player__buttons-bar'> | ||||
|             <div className='video-player__buttons left'> | ||||
|               <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> | ||||
|               <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__controls', { active: paused || hovered })}> | ||||
|             <div className='video-player__seek' onMouseDown={this.handleMouseDown} ref={this.setSeekRef}> | ||||
|               <div className='video-player__seek__buffer' style={{ width: `${buffer}%` }} /> | ||||
|               <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}> | ||||
|                 <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> | ||||
|               )} | ||||
|               <span | ||||
|                 className={classNames('video-player__seek__handle', { active: dragging })} | ||||
|                 tabIndex={0} | ||||
|                 style={{ left: `${progress}%` }} | ||||
|                 onKeyDown={this.handleVideoKeyDown} | ||||
|               /> | ||||
|             </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 className='video-player__buttons-bar'> | ||||
|               <div className='video-player__buttons left'> | ||||
|                 <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> | ||||
|                 <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 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> | ||||
|  | ||||
| @ -51,7 +51,6 @@ | ||||
|  * @property {boolean} activity_api_enabled | ||||
|  * @property {string} admin | ||||
|  * @property {boolean=} boost_modal | ||||
|  * @property {boolean} crop_images | ||||
|  * @property {boolean=} delete_modal | ||||
|  * @property {boolean=} disable_swiping | ||||
|  * @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 autoPlayGif = getMeta('auto_play_gif'); | ||||
| export const boostModal = getMeta('boost_modal'); | ||||
| export const cropImages = getMeta('crop_images'); | ||||
| export const deleteModal = getMeta('delete_modal'); | ||||
| export const disableSwiping = getMeta('disable_swiping'); | ||||
| export const disabledAccountId = getMeta('disabled_account_id'); | ||||
|  | ||||
| @ -5172,9 +5172,9 @@ a.status-card.compact:hover { | ||||
|   display: flex; | ||||
| } | ||||
| 
 | ||||
| .video-modal__container { | ||||
| .video-modal .video-player { | ||||
|   max-height: 80vh; | ||||
|   max-width: 100vw; | ||||
|   max-height: 100vh; | ||||
| } | ||||
| 
 | ||||
| .audio-modal__container { | ||||
| @ -6192,7 +6192,7 @@ a.status-card.compact:hover { | ||||
|   box-sizing: border-box; | ||||
|   margin-top: 8px; | ||||
|   overflow: hidden; | ||||
|   border-radius: 4px; | ||||
|   border-radius: 8px; | ||||
|   position: relative; | ||||
|   width: 100%; | ||||
|   min-height: 64px; | ||||
| @ -6207,7 +6207,7 @@ a.status-card.compact:hover { | ||||
|   box-sizing: border-box; | ||||
|   display: block; | ||||
|   position: relative; | ||||
|   border-radius: 4px; | ||||
|   border-radius: 8px; | ||||
|   overflow: hidden; | ||||
| 
 | ||||
|   &--tall { | ||||
| @ -6293,7 +6293,7 @@ a.status-card.compact:hover { | ||||
|   box-sizing: border-box; | ||||
|   position: relative; | ||||
|   background: darken($ui-base-color, 8%); | ||||
|   border-radius: 4px; | ||||
|   border-radius: 8px; | ||||
|   padding-bottom: 44px; | ||||
|   width: 100%; | ||||
| 
 | ||||
| @ -6360,7 +6360,7 @@ a.status-card.compact:hover { | ||||
|   position: relative; | ||||
|   background: $base-shadow-color; | ||||
|   max-width: 100%; | ||||
|   border-radius: 4px; | ||||
|   border-radius: 8px; | ||||
|   box-sizing: border-box; | ||||
|   color: $white; | ||||
|   display: flex; | ||||
| @ -6377,8 +6377,6 @@ a.status-card.compact:hover { | ||||
| 
 | ||||
|   video { | ||||
|     display: block; | ||||
|     max-width: 100vw; | ||||
|     max-height: 80vh; | ||||
|     z-index: 1; | ||||
|   } | ||||
| 
 | ||||
| @ -6386,22 +6384,15 @@ a.status-card.compact:hover { | ||||
|     width: 100% !important; | ||||
|     height: 100% !important; | ||||
|     margin: 0; | ||||
|     aspect-ratio: auto !important; | ||||
| 
 | ||||
|     video { | ||||
|       max-width: 100% !important; | ||||
|       max-height: 100% !important; | ||||
|       width: 100% !important; | ||||
|       height: 100% !important; | ||||
|       outline: 0; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   &.inline { | ||||
|     video { | ||||
|       object-fit: contain; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   &__controls { | ||||
|     position: absolute; | ||||
|     direction: ltr; | ||||
|  | ||||
| @ -91,10 +91,6 @@ module HasUserSettings | ||||
|     settings['web.trends'] | ||||
|   end | ||||
| 
 | ||||
|   def setting_crop_images | ||||
|     settings['web.crop_images'] | ||||
|   end | ||||
| 
 | ||||
|   def setting_disable_swiping | ||||
|     settings['web.disable_swiping'] | ||||
|   end | ||||
|  | ||||
| @ -17,7 +17,6 @@ class UserSettings | ||||
|   setting :default_privacy, default: nil, in: %w(public unlisted private) | ||||
| 
 | ||||
|   namespace :web do | ||||
|     setting :crop_images, default: true | ||||
|     setting :advanced_layout, default: false | ||||
|     setting :trends, 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_pending_items] = object.current_account.user.setting_use_pending_items | ||||
|       store[:show_trends]       = Setting.trends && object.current_account.user.setting_trends | ||||
|       store[:crop_images]       = object.current_account.user.setting_crop_images | ||||
|     else | ||||
|       store[:auto_play_gif] = Setting.auto_play_gif | ||||
|       store[:display_media] = Setting.display_media | ||||
|       store[:reduce_motion] = Setting.reduce_motion | ||||
|       store[:use_blurhash]  = Setting.use_blurhash | ||||
|       store[:crop_images]   = Setting.crop_images | ||||
|     end | ||||
| 
 | ||||
|     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.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' | ||||
| 
 | ||||
|     .fields-group | ||||
|  | ||||
| @ -923,7 +923,6 @@ an: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Totz pueden contribuyir. | ||||
|     sensitive_content: Conteniu sensible | ||||
|     toot_layout: Disenyo d'as publicacions | ||||
|   application_mailer: | ||||
|     notification_preferences: Cambiar preferencias de correu electronico | ||||
|     salutation: "%{name}:" | ||||
|  | ||||
| @ -982,7 +982,6 @@ ar: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: يمكن للجميع المساهمة. | ||||
|     sensitive_content: المحتوى الحساس | ||||
|     toot_layout: شكل المنشور | ||||
|   application_mailer: | ||||
|     notification_preferences: تعديل تفضيلات البريد الإلكتروني | ||||
|     salutation: "%{name}،" | ||||
|  | ||||
| @ -439,7 +439,6 @@ ast: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: tol mundu pue collaborar. | ||||
|     sensitive_content: Conteníu sensible | ||||
|     toot_layout: Distribución de los artículos | ||||
|   application_mailer: | ||||
|     notification_preferences: Camudar les preferencies de los mensaxes de corréu electrónicu | ||||
|   applications: | ||||
|  | ||||
| @ -1009,7 +1009,6 @@ be: | ||||
|       guide_link: https://be.crowdin.com/project/mastodon/be | ||||
|       guide_link_text: Кожны можа зрабіць унёсак. | ||||
|     sensitive_content: Далікатны змест | ||||
|     toot_layout: Макет допісу | ||||
|   application_mailer: | ||||
|     notification_preferences: Змяніць налады эл. пошты | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ bg: | ||||
|       guide_link: https://ru.crowdin.com/project/mastodon | ||||
|       guide_link_text: Всеки може да участва. | ||||
|     sensitive_content: Деликатно съдържание | ||||
|     toot_layout: Оформление на публикацията | ||||
|   application_mailer: | ||||
|     notification_preferences: Промяна на предпочитанията за имейл | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ ca: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Tothom hi pot contribuir. | ||||
|     sensitive_content: Contingut sensible | ||||
|     toot_layout: Disseny dels tuts | ||||
|   application_mailer: | ||||
|     notification_preferences: Canvia les preferències de correu | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -571,7 +571,6 @@ ckb: | ||||
|       body: ماستۆدۆن لەلایەن خۆبەخشەوە وەردەگێڕێت. | ||||
|       guide_link_text: هەموو کەسێک دەتوانێت بەشداری بکات. | ||||
|     sensitive_content: ناوەڕۆکی هەستیار | ||||
|     toot_layout: لۆی توت | ||||
|   application_mailer: | ||||
|     notification_preferences: گۆڕینی پەسەندکراوەکانی ئیمەیڵ | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -537,7 +537,6 @@ co: | ||||
|       guide_link: https://fr.crowdin.com/project/mastodon | ||||
|       guide_link_text: Tuttu u mondu pò participà. | ||||
|     sensitive_content: Cuntinutu sensibile | ||||
|     toot_layout: Urganizazione | ||||
|   application_mailer: | ||||
|     notification_preferences: Cambià e priferenze e-mail | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -997,7 +997,6 @@ cs: | ||||
|       guide_link: https://cs.crowdin.com/project/mastodon | ||||
|       guide_link_text: Zapojit se může každý. | ||||
|     sensitive_content: Citlivý obsah | ||||
|     toot_layout: Rozložení příspěvků | ||||
|   application_mailer: | ||||
|     notification_preferences: Změnit předvolby e-mailů | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -1045,7 +1045,6 @@ cy: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Gall pawb gyfrannu. | ||||
|     sensitive_content: Cynnwys sensitif | ||||
|     toot_layout: Cynllun postiad | ||||
|   application_mailer: | ||||
|     notification_preferences: Newid gosodiadau e-bost | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ da: | ||||
|       guide_link: https://da.crowdin.com/project/mastodon | ||||
|       guide_link_text: Alle kan bidrage. | ||||
|     sensitive_content: Sensitivt indhold | ||||
|     toot_layout: Indlægslayout | ||||
|   application_mailer: | ||||
|     notification_preferences: Skift e-mailpræferencer | ||||
|     salutation: "%{name}" | ||||
|  | ||||
| @ -973,7 +973,6 @@ de: | ||||
|       guide_link: https://de.crowdin.com/project/mastodon/de | ||||
|       guide_link_text: Alle können mitmachen und etwas dazu beitragen. | ||||
|     sensitive_content: Inhaltswarnung | ||||
|     toot_layout: Timeline-Layout | ||||
|   application_mailer: | ||||
|     notification_preferences: E-Mail-Einstellungen ändern | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -961,7 +961,6 @@ el: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Μπορεί να συνεισφέρει ο οποιοσδήποτε. | ||||
|     sensitive_content: Ευαίσθητο περιεχόμενο | ||||
|     toot_layout: Διαρρύθμιση αναρτήσεων | ||||
|   application_mailer: | ||||
|     notification_preferences: Αλλαγή προτιμήσεων email | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ en-GB: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Everyone can contribute. | ||||
|     sensitive_content: Sensitive content | ||||
|     toot_layout: Post layout | ||||
|   application_mailer: | ||||
|     notification_preferences: Change e-mail preferences | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ en: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Everyone can contribute. | ||||
|     sensitive_content: Sensitive content | ||||
|     toot_layout: Post layout | ||||
|   application_mailer: | ||||
|     notification_preferences: Change e-mail preferences | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ eo: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Ĉiu povas kontribui. | ||||
|     sensitive_content: Tikla enhavo | ||||
|     toot_layout: Mesaĝo aranĝo | ||||
|   application_mailer: | ||||
|     notification_preferences: Ŝanĝi retmesaĝajn preferojn | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ es-AR: | ||||
|       guide_link: https://es.crowdin.com/project/mastodon | ||||
|       guide_link_text: Todos pueden contribuir. | ||||
|     sensitive_content: Contenido sensible | ||||
|     toot_layout: Diseño del mensaje | ||||
|   application_mailer: | ||||
|     notification_preferences: Cambiar configuración de correo electrónico | ||||
|     salutation: "%{name}:" | ||||
|  | ||||
| @ -973,7 +973,6 @@ es-MX: | ||||
|       guide_link: https://es.crowdin.com/project/mastodon | ||||
|       guide_link_text: Todos pueden contribuir. | ||||
|     sensitive_content: Contenido sensible | ||||
|     toot_layout: Diseño de los toots | ||||
|   application_mailer: | ||||
|     notification_preferences: Cambiar preferencias de correo electrónico | ||||
|     salutation: "%{name}:" | ||||
|  | ||||
| @ -973,7 +973,6 @@ es: | ||||
|       guide_link: https://es.crowdin.com/project/mastodon | ||||
|       guide_link_text: Todos pueden contribuir. | ||||
|     sensitive_content: Contenido sensible | ||||
|     toot_layout: Diseño de las publicaciones | ||||
|   application_mailer: | ||||
|     notification_preferences: Cambiar preferencias de correo electrónico | ||||
|     salutation: "%{name}:" | ||||
|  | ||||
| @ -973,7 +973,6 @@ et: | ||||
|       guide_link: https://crowdin.com/project/mastodon/et | ||||
|       guide_link_text: Panustada võib igaüks! | ||||
|     sensitive_content: Tundlik sisu | ||||
|     toot_layout: Postituse väljanägemine | ||||
|   application_mailer: | ||||
|     notification_preferences: Muuda e-kirjade eelistusi | ||||
|     salutation: "%{name}!" | ||||
|  | ||||
| @ -972,7 +972,6 @@ eu: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Edonork lagundu dezake. | ||||
|     sensitive_content: Eduki hunkigarria | ||||
|     toot_layout: Bidalketen diseinua | ||||
|   application_mailer: | ||||
|     notification_preferences: Aldatu e-mail hobespenak | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -821,7 +821,6 @@ fa: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: همه میتوانند کمک کنند. | ||||
|     sensitive_content: محتوای حساس | ||||
|     toot_layout: آرایش فرسته | ||||
|   application_mailer: | ||||
|     notification_preferences: تغییر ترجیحات ایمیل | ||||
|     salutation: "%{name}،" | ||||
|  | ||||
| @ -973,7 +973,6 @@ fi: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Kaikki voivat osallistua. | ||||
|     sensitive_content: Arkaluonteinen sisältö | ||||
|     toot_layout: Viestin asettelu | ||||
|   application_mailer: | ||||
|     notification_preferences: Muuta sähköpostiasetuksia | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ fo: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Øll kunnu geva íkast. | ||||
|     sensitive_content: Viðkvæmt innihald | ||||
|     toot_layout: Uppseting av postum | ||||
|   application_mailer: | ||||
|     notification_preferences: Broyt teldupostastillingar | ||||
|     salutation: "%{name}" | ||||
|  | ||||
| @ -973,7 +973,6 @@ fr-QC: | ||||
|       guide_link: https://fr.crowdin.com/project/mastodon | ||||
|       guide_link_text: Tout le monde peut y contribuer. | ||||
|     sensitive_content: Contenu sensible | ||||
|     toot_layout: Agencement des messages | ||||
|   application_mailer: | ||||
|     notification_preferences: Modifier les préférences de courriel | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ fr: | ||||
|       guide_link: https://fr.crowdin.com/project/mastodon | ||||
|       guide_link_text: Tout le monde peut y contribuer. | ||||
|     sensitive_content: Contenu sensible | ||||
|     toot_layout: Agencement des messages | ||||
|   application_mailer: | ||||
|     notification_preferences: Modifier les préférences de courriel | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ fy: | ||||
|       guide_link: https://crowdin.com/project/mastodon/fy | ||||
|       guide_link_text: Elkenien kin bydrage. | ||||
|     sensitive_content: Gefoelige ynhâld | ||||
|     toot_layout: Lay-out fan berjochten | ||||
|   application_mailer: | ||||
|     notification_preferences: E-mailynstellingen wizigje | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -1009,7 +1009,6 @@ gd: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: "’S urrainn do neach sam bith cuideachadh." | ||||
|     sensitive_content: Susbaint fhrionasach | ||||
|     toot_layout: Co-dhealbhachd nam postaichean | ||||
|   application_mailer: | ||||
|     notification_preferences: Atharraich roghainnean a’ phuist-d | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ gl: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Todas podemos contribuír. | ||||
|     sensitive_content: Contido sensible | ||||
|     toot_layout: Disposición da publicación | ||||
|   application_mailer: | ||||
|     notification_preferences: Cambiar os axustes de email | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -1009,7 +1009,6 @@ he: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: כולם יכולים לתרום. | ||||
|     sensitive_content: תוכן רגיש | ||||
|     toot_layout: פריסת הודעה | ||||
|   application_mailer: | ||||
|     notification_preferences: שינוי העדפות דוא"ל | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ hu: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Bárki közreműködhet. | ||||
|     sensitive_content: Kényes tartalom | ||||
|     toot_layout: Bejegyzések elrendezése | ||||
|   application_mailer: | ||||
|     notification_preferences: E-mail beállítások módosítása | ||||
|     salutation: "%{name}!" | ||||
|  | ||||
| @ -901,7 +901,6 @@ id: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Siapa saja bisa berkontribusi. | ||||
|     sensitive_content: Konten sensitif | ||||
|     toot_layout: Tata letak kiriman | ||||
|   application_mailer: | ||||
|     notification_preferences: Ubah pilihan email | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -880,7 +880,6 @@ io: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Omnu povas kontributar. | ||||
|     sensitive_content: Sentoza kontenajo | ||||
|     toot_layout: Postostrukturo | ||||
|   application_mailer: | ||||
|     notification_preferences: Chanjez retpostopreferaji | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -975,7 +975,6 @@ is: | ||||
|       guide_link: https://crowdin.com/project/mastodon/is | ||||
|       guide_link_text: Allir geta tekið þátt. | ||||
|     sensitive_content: Viðkvæmt efni | ||||
|     toot_layout: Framsetning færslu | ||||
|   application_mailer: | ||||
|     notification_preferences: Breyta kjörstillingum tölvupósts | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -975,7 +975,6 @@ it: | ||||
|       guide_link: https://it.crowdin.com/project/mastodon | ||||
|       guide_link_text: Tutti possono contribuire. | ||||
|     sensitive_content: Contenuto sensibile | ||||
|     toot_layout: Layout dei toot | ||||
|   application_mailer: | ||||
|     notification_preferences: Cambia preferenze email | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -955,7 +955,6 @@ ja: | ||||
|       guide_link: https://ja.crowdin.com/project/mastodon | ||||
|       guide_link_text: 誰でも参加することができます。 | ||||
|     sensitive_content: 閲覧注意コンテンツ | ||||
|     toot_layout: 投稿のレイアウト | ||||
|   application_mailer: | ||||
|     notification_preferences: メール設定の変更 | ||||
|     salutation: "%{name}さん" | ||||
|  | ||||
| @ -320,7 +320,6 @@ kk: | ||||
|     confirmation_dialogs: Пікірталас диалогтары | ||||
|     discovery: Пікірталас | ||||
|     sensitive_content: Нәзік контент | ||||
|     toot_layout: Жазба формасы | ||||
|   application_mailer: | ||||
|     notification_preferences: Change e-mail prеferences | ||||
|     settings: 'Change e-mail preferеnces: %{link}' | ||||
|  | ||||
| @ -957,7 +957,6 @@ ko: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: 누구나 기여할 수 있습니다. | ||||
|     sensitive_content: 민감한 내용 | ||||
|     toot_layout: 게시물 레이아웃 | ||||
|   application_mailer: | ||||
|     notification_preferences: 메일 설정 변경 | ||||
|     salutation: "%{name} 님," | ||||
|  | ||||
| @ -920,7 +920,6 @@ ku: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Herkes dikare beşdar bibe. | ||||
|     sensitive_content: Naveroka hestiyarî | ||||
|     toot_layout: Xêzkirina şandîya | ||||
|   application_mailer: | ||||
|     notification_preferences: Sazkariyên e-nameyê biguherîne | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -979,7 +979,6 @@ lv: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Ikviens var piedalīties. | ||||
|     sensitive_content: Sensitīvs saturs | ||||
|     toot_layout: Ziņas izskats | ||||
|   application_mailer: | ||||
|     notification_preferences: Mainīt e-pasta uztādījumus | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -955,7 +955,6 @@ my: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: လူတိုင်းပါဝင်ကူညီနိုင်ပါတယ်။ | ||||
|     sensitive_content: သတိထားရသော အကြောင်းအရာ | ||||
|     toot_layout: ပို့စ်အပြင်အဆင် | ||||
|   application_mailer: | ||||
|     notification_preferences: အီးမေးလ် သတ်မှတ်ချက်များကို ပြောင်းပါ | ||||
|     salutation: "%{name}" | ||||
|  | ||||
| @ -973,7 +973,6 @@ nl: | ||||
|       guide_link: https://crowdin.com/project/mastodon/nl | ||||
|       guide_link_text: Iedereen kan bijdragen. | ||||
|     sensitive_content: Gevoelige inhoud | ||||
|     toot_layout: Lay-out van berichten | ||||
|   application_mailer: | ||||
|     notification_preferences: E-mailvoorkeuren wijzigen | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -965,7 +965,6 @@ nn: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Alle kan bidra. | ||||
|     sensitive_content: Ømtolig innhald | ||||
|     toot_layout: Tutoppsett | ||||
|   application_mailer: | ||||
|     notification_preferences: Endr e-post-innstillingane | ||||
|     salutation: Hei %{name}, | ||||
|  | ||||
| @ -914,7 +914,6 @@ | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Alle kan bidra. | ||||
|     sensitive_content: Følsomt innhold | ||||
|     toot_layout: Innleggsoppsett | ||||
|   application_mailer: | ||||
|     notification_preferences: Endre E-postinnstillingene | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -459,7 +459,6 @@ oc: | ||||
|       body: Mastodon es traduch per de benevòls. | ||||
|       guide_link_text: Tot lo monde pòt contribuïr. | ||||
|     sensitive_content: Contengut sensible | ||||
|     toot_layout: Disposicion del tut | ||||
|   application_mailer: | ||||
|     notification_preferences: Cambiar las preferéncias de corrièl | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -1009,7 +1009,6 @@ pl: | ||||
|       guide_link: https://pl.crowdin.com/project/mastodon | ||||
|       guide_link_text: Każdy może wnieść swój wkład. | ||||
|     sensitive_content: Wrażliwa zawartość | ||||
|     toot_layout: Wygląd wpisów | ||||
|   application_mailer: | ||||
|     notification_preferences: Zmień ustawienia e-maili | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ pt-BR: | ||||
|       guide_link: https://br.crowdin.com/project/mastodon | ||||
|       guide_link_text: Todos podem contribuir. | ||||
|     sensitive_content: Conteúdo sensível | ||||
|     toot_layout: Formato da publicação | ||||
|   application_mailer: | ||||
|     notification_preferences: Alterar preferências de e-mail | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -973,7 +973,6 @@ pt-PT: | ||||
|       guide_link: https://pt.crowdin.com/project/mastodon/ | ||||
|       guide_link_text: Todos podem contribuir. | ||||
|     sensitive_content: Conteúdo problemático | ||||
|     toot_layout: Disposição da publicação | ||||
|   application_mailer: | ||||
|     notification_preferences: Alterar preferências de e-mail | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -408,7 +408,6 @@ ro: | ||||
|     localization: | ||||
|       guide_link_text: Toată lumea poate contribui. | ||||
|     sensitive_content: Conținut sensibil | ||||
|     toot_layout: Aspect postare | ||||
|   application_mailer: | ||||
|     notification_preferences: Modifică preferințe e-mail | ||||
|     settings: 'Modifică preferințe e-mail: %{link}' | ||||
|  | ||||
| @ -1009,7 +1009,6 @@ ru: | ||||
|       guide_link: https://ru.crowdin.com/project/mastodon | ||||
|       guide_link_text: Каждый может внести свой вклад. | ||||
|     sensitive_content: Содержимое деликатного характера | ||||
|     toot_layout: Структура постов | ||||
|   application_mailer: | ||||
|     notification_preferences: Настроить уведомления можно здесь | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -491,7 +491,6 @@ sc: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Chie si siat podet contribuire. | ||||
|     sensitive_content: Cuntenutu sensìbile | ||||
|     toot_layout: Dispositzione de is tuts | ||||
|   application_mailer: | ||||
|     notification_preferences: Muda is preferèntzias de posta | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -913,7 +913,6 @@ sco: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: Awbody kin contribute. | ||||
|     sensitive_content: Sensitive content | ||||
|     toot_layout: Post leyoot | ||||
|   application_mailer: | ||||
|     notification_preferences: Chynge email preferences | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -757,7 +757,6 @@ si: | ||||
|       guide_link: https://crowdin.com/project/mastodon | ||||
|       guide_link_text: සෑම කෙනෙකුටම දායක විය හැකිය. | ||||
|     sensitive_content: සංවේදී අන්තර්ගතය | ||||
|     toot_layout: පෝස්ට් පිරිසැලසුම | ||||
|   application_mailer: | ||||
|     notification_preferences: ඊමේල් මනාප වෙනස් කරන්න | ||||
|     salutation: "%{name}," | ||||
|  | ||||
| @ -192,7 +192,6 @@ an: | ||||
|         setting_always_send_emails: Ninviar siempre notificacions per correu | ||||
|         setting_auto_play_gif: Reproducir automaticament los GIFs animaus | ||||
|         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_privacy: Privacidat de publicacions | ||||
|         setting_default_sensitive: Marcar siempre imachens como sensibles | ||||
|  | ||||
| @ -200,7 +200,6 @@ ar: | ||||
|         setting_always_send_emails: ارسل إشعارات البريد الإلكتروني دائماً | ||||
|         setting_auto_play_gif: تشغيل تلقائي لِوَسائط جيف المتحركة | ||||
|         setting_boost_modal: إظهار مربع حوار التأكيد قبل إعادة مشاركة أي منشور | ||||
|         setting_crop_images: قص الصور في المنشورات غير الموسعة إلى 16x9 | ||||
|         setting_default_language: لغة النشر | ||||
|         setting_default_privacy: خصوصية المنشور | ||||
|         setting_default_sensitive: اعتبر الوسائط دائما كمحتوى حساس | ||||
|  | ||||
| @ -111,7 +111,6 @@ ast: | ||||
|         setting_always_send_emails: Unviar siempres los avisos per corréu electrónicu | ||||
|         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_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_privacy: Privacidá de los artículos | ||||
|         setting_default_sensitive: Marcar siempres tol conteníu como sensible | ||||
|  | ||||
| @ -200,7 +200,6 @@ be: | ||||
|         setting_always_send_emails: Заўжды дасылаць для апавяшчэнні эл. пошты | ||||
|         setting_auto_play_gif: Аўтапрайграванне анімаваных GIF | ||||
|         setting_boost_modal: Паказваць акно пацвярджэння перад пашырэннем | ||||
|         setting_crop_images: У неразгорнутых допісах абразаць відарысы да 16:9 | ||||
|         setting_default_language: Мова допісаў | ||||
|         setting_default_privacy: Прыватнасць допісаў | ||||
|         setting_default_sensitive: Заўсёды пазначаць кантэнт як далікатны | ||||
|  | ||||
| @ -200,7 +200,6 @@ bg: | ||||
|         setting_always_send_emails: Все да се пращат известия по имейла | ||||
|         setting_auto_play_gif: Самопускащи се анимирани гифчета | ||||
|         setting_boost_modal: Показване на прозорец за потвърждение преди подсилване | ||||
|         setting_crop_images: Изрязване на образи в неразгънати публикации до 16x9 | ||||
|         setting_default_language: Език на публикуване | ||||
|         setting_default_privacy: Поверителност на публикуване | ||||
|         setting_default_sensitive: Все да се бележи мултимедията като деликатна | ||||
|  | ||||
| @ -200,7 +200,6 @@ ca: | ||||
|         setting_always_send_emails: Envia'm sempre notificacions per correu electrònic | ||||
|         setting_auto_play_gif: Reprodueix automàticament els GIF animats | ||||
|         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_privacy: Privacitat dels tuts | ||||
|         setting_default_sensitive: Marcar sempre el contingut gràfic com a sensible | ||||
|  | ||||
| @ -136,7 +136,6 @@ ckb: | ||||
|         setting_aggregate_reblogs: گرووپی توتەکان یەکبخە | ||||
|         setting_auto_play_gif: خۆکاربەخشکردنی GIFــەکان | ||||
|         setting_boost_modal: پیشاندانی دیالۆگی دووپاتکردنەوە پێش دوبارە توتاندن | ||||
|         setting_crop_images: لە تووتی نەکراوە،وینەکان لە ئەندازی ۱٦×۹ ببڕە | ||||
|         setting_default_language: زمانی نووسراوەکانتان | ||||
|         setting_default_privacy: چوارچێوەی تایبەتێتی ئێوە | ||||
|         setting_default_sensitive: هەمیشە نیشانکردنی میدیا وەک هەستیار | ||||
|  | ||||
| @ -137,7 +137,6 @@ co: | ||||
|         setting_aggregate_reblogs: Gruppà e spartere indè e linee | ||||
|         setting_auto_play_gif: Lettura autumatica di i GIF animati | ||||
|         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_privacy: Cunfidenzialità di i statuti | ||||
|         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_auto_play_gif: Automaticky přehrávat animace GIF | ||||
|         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_privacy: Soukromí příspěvků | ||||
|         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_auto_play_gif: Chwarae GIFs wedi'u hanimeiddio yn awtomatig | ||||
|         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_privacy: Preifatrwydd cyhoeddi | ||||
|         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_auto_play_gif: Autoafspil animerede GIF'er | ||||
|         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_privacy: Fortrolighed for indlæg | ||||
|         setting_default_sensitive: Markér altid medier som sensitive | ||||
|  | ||||
| @ -200,7 +200,6 @@ de: | ||||
|         setting_always_send_emails: Benachrichtigungen immer senden | ||||
|         setting_auto_play_gif: Animierte GIFs automatisch abspielen | ||||
|         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_privacy: Beitragssichtbarkeit | ||||
|         setting_default_sensitive: Eigene Medien immer mit einer Inhaltswarnung versehen | ||||
|  | ||||
| @ -195,7 +195,6 @@ el: | ||||
|         setting_always_send_emails: Πάντα να αποστέλλονται ειδοποίησεις μέσω email | ||||
|         setting_auto_play_gif: Αυτόματη αναπαραγωγή των GIF | ||||
|         setting_boost_modal: Επιβεβαίωση πριν την προώθηση | ||||
|         setting_crop_images: Περιορισμός των εικόνων σε μη-ανεπτυγμένα τουτ σε αναλογία 16x9 | ||||
|         setting_default_language: Γλώσσα δημοσιεύσεων | ||||
|         setting_default_privacy: Ιδιωτικότητα δημοσιεύσεων | ||||
|         setting_default_sensitive: Σημείωση όλων των πολυμέσων ως ευαίσθητου περιεχομένου | ||||
|  | ||||
| @ -200,7 +200,6 @@ en-GB: | ||||
|         setting_always_send_emails: Always send e-mail notifications | ||||
|         setting_auto_play_gif: Auto-play animated GIFs | ||||
|         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_privacy: Posting privacy | ||||
|         setting_default_sensitive: Always mark media as sensitive | ||||
|  | ||||
| @ -200,7 +200,6 @@ en: | ||||
|         setting_always_send_emails: Always send e-mail notifications | ||||
|         setting_auto_play_gif: Auto-play animated GIFs | ||||
|         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_privacy: Posting privacy | ||||
|         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_auto_play_gif: Aŭtomate ekigi GIF-ojn | ||||
|         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_privacy: Privateco de afiŝado | ||||
|         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_auto_play_gif: Reproducir automáticamente los GIFs animados | ||||
|         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_privacy: Privacidad de mensajes | ||||
|         setting_default_sensitive: Siempre marcar medios como sensibles | ||||
|  | ||||
| @ -200,7 +200,6 @@ es-MX: | ||||
|         setting_always_send_emails: Enviar siempre notificaciones por correo | ||||
|         setting_auto_play_gif: Reproducir automáticamente los GIFs animados | ||||
|         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_privacy: Privacidad de publicaciones | ||||
|         setting_default_sensitive: Marcar siempre imágenes como sensibles | ||||
|  | ||||
| @ -200,7 +200,6 @@ es: | ||||
|         setting_always_send_emails: Enviar siempre notificaciones por correo | ||||
|         setting_auto_play_gif: Reproducir automáticamente los GIFs animados | ||||
|         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_privacy: Privacidad de publicaciones | ||||
|         setting_default_sensitive: Marcar siempre imágenes como sensibles | ||||
|  | ||||
| @ -200,7 +200,6 @@ et: | ||||
|         setting_always_send_emails: Edasta kõik teavitused meilile | ||||
|         setting_auto_play_gif: Esita GIF-e automaatselt | ||||
|         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_privacy: Postituse nähtavus | ||||
|         setting_default_sensitive: Alati märgista meedia tundlikuks | ||||
|  | ||||
| @ -195,7 +195,6 @@ eu: | ||||
|         setting_always_send_emails: Bidali beti eposta jakinarazpenak | ||||
|         setting_auto_play_gif: Erreproduzitu GIF animatuak automatikoki | ||||
|         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_privacy: Mezuen pribatutasuna | ||||
|         setting_default_sensitive: Beti markatu edukiak hunkigarri gisa | ||||
|  | ||||
| @ -169,7 +169,6 @@ fa: | ||||
|         setting_always_send_emails: فرستادن همیشگی آگاهیهای رایانامهای | ||||
|         setting_auto_play_gif: پخش خودکار تصویرهای متحرک | ||||
|         setting_boost_modal: نمایش پیغام تأیید پیش از تقویت کردن | ||||
|         setting_crop_images: در فرستههای ناگسترده، تصویرها را به ابعاد ۱۶×۹ کوچک کن | ||||
|         setting_default_language: زبان نوشتههای شما | ||||
|         setting_default_privacy: حریم خصوصی نوشتهها | ||||
|         setting_default_sensitive: همیشه تصاویر را به عنوان حساس علامت بزن | ||||
|  | ||||
| @ -200,7 +200,6 @@ fi: | ||||
|         setting_always_send_emails: Lähetä aina sähköposti-ilmoituksia | ||||
|         setting_auto_play_gif: Toista GIF-animaatiot automaattisesti | ||||
|         setting_boost_modal: Kysy vahvistus ennen tehostusta | ||||
|         setting_crop_images: Rajaa kuvat avaamattomissa tuuttauksissa 16:9 kuvasuhteeseen | ||||
|         setting_default_language: Julkaisujen kieli | ||||
|         setting_default_privacy: Viestin näkyvyys | ||||
|         setting_default_sensitive: Merkitse media aina arkaluontoiseksi | ||||
|  | ||||
| @ -200,7 +200,6 @@ fo: | ||||
|         setting_always_send_emails: Send altíð fráboðanir við telduposti | ||||
|         setting_auto_play_gif: Spæl teknimyndagjørdar GIFar sjálvvirkandi | ||||
|         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_privacy: Hvussu privatir eru postar? | ||||
|         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_auto_play_gif: Lire automatiquement les GIFs animés | ||||
|         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_privacy: Confidentialité des messages | ||||
|         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_auto_play_gif: Lire automatiquement les GIFs animés | ||||
|         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_privacy: Confidentialité des messages | ||||
|         setting_default_sensitive: Toujours marquer les médias comme sensibles | ||||
|  | ||||
| @ -200,7 +200,6 @@ fy: | ||||
|         setting_always_send_emails: Altyd e-mailmeldingen ferstjoere | ||||
|         setting_auto_play_gif: Spylje animearre GIF’s automatysk ôf | ||||
|         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_privacy: Sichtberheid fan nije berjochten | ||||
|         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_auto_play_gif: Cluich GIFs beòthaichte gu fèin-obrachail | ||||
|         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_privacy: Prìobhaideachd postaidh | ||||
|         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_auto_play_gif: Reprodución automática de GIFs animados | ||||
|         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_privacy: Privacidade da publicación | ||||
|         setting_default_sensitive: Marcar sempre multimedia como sensible | ||||
|  | ||||
| @ -200,7 +200,6 @@ he: | ||||
|         setting_always_send_emails: תמיד שלח התראות לדוא"ל | ||||
|         setting_auto_play_gif: ניגון אוטומטי של גיפים | ||||
|         setting_boost_modal: הצגת דיאלוג אישור לפני הדהוד | ||||
|         setting_crop_images: קטום תמונות בהודעות לא מורחבות ל 16 על 9 | ||||
|         setting_default_language: שפת ברירת מחדל להודעה | ||||
|         setting_default_privacy: פרטיות ההודעות | ||||
|         setting_default_sensitive: תמיד לתת סימון "רגיש" למדיה | ||||
|  | ||||
| @ -200,7 +200,6 @@ hu: | ||||
|         setting_always_send_emails: E-mail értesítések küldése mindig | ||||
|         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_crop_images: Képek 16x9-re vágása nem kinyitott bejegyzéseknél | ||||
|         setting_default_language: Bejegyzések nyelve | ||||
|         setting_default_privacy: Bejegyzések láthatósága | ||||
|         setting_default_sensitive: Minden médiafájl megjelölése kényesként | ||||
|  | ||||
| @ -135,7 +135,6 @@ hy: | ||||
|         setting_aggregate_reblogs: Տարծածները խմբաւորել հոսքում | ||||
|         setting_auto_play_gif: Աւտոմատ մեկնարկել GIFs անիմացիաները | ||||
|         setting_boost_modal: Ցուցադրել հաստատման պատուհանը տարածելուց առաջ | ||||
|         setting_crop_images: Ցոյց տալ գրառման նկարը 16x9 համամասնութեամբ | ||||
|         setting_default_language: Հրապարակման լեզու | ||||
|         setting_default_privacy: Հրապարակման գաղտնիութիւն | ||||
|         setting_default_sensitive: Միշտ նշել մեդիան որպէս դիւրազգաց | ||||
|  | ||||
| @ -188,7 +188,6 @@ id: | ||||
|         setting_always_send_emails: Selalu kirim notifikasi email | ||||
|         setting_auto_play_gif: Mainkan otomatis animasi GIF | ||||
|         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_privacy: Privasi postingan | ||||
|         setting_default_sensitive: Selalu tandai media sebagai sensitif | ||||
|  | ||||
| @ -186,7 +186,6 @@ io: | ||||
|         setting_always_send_emails: Sempre sendez retpostoavizi | ||||
|         setting_auto_play_gif: Automate pleez animigita GIFi | ||||
|         setting_boost_modal: Montrez konfirmdialogo ante bustar | ||||
|         setting_crop_images: Ektranchez imaji en neexpansigita posti a 16x9 | ||||
|         setting_default_language: Postolinguo | ||||
|         setting_default_privacy: Videbleso di la mesaji | ||||
|         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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user