th: Merge remote-tracking branch 'glitch/main'

th-downstream
Kouhai 2 years ago
commit ee1dc4a0d1

@ -2056,13 +2056,6 @@ Style/HashAsLastArrayItem:
- 'app/services/notify_service.rb' - 'app/services/notify_service.rb'
- 'db/migrate/20181024224956_migrate_account_conversations.rb' - 'db/migrate/20181024224956_migrate_account_conversations.rb'
# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowSplatArgument.
Style/HashConversion:
Exclude:
- 'app/services/import_service.rb'
# Offense count: 12 # Offense count: 12
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. # Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.

@ -6,7 +6,7 @@ ruby '>= 2.7.0', '< 3.3.0'
gem 'pkg-config', '~> 1.5' gem 'pkg-config', '~> 1.5'
gem 'rexml', '~> 3.2' gem 'rexml', '~> 3.2'
gem 'puma', '~> 5.6' gem 'puma', '~> 6.1'
gem 'rails', '~> 6.1.7' gem 'rails', '~> 6.1.7'
gem 'sprockets', '~> 3.7.2' gem 'sprockets', '~> 3.7.2'
gem 'thor', '~> 1.2' gem 'thor', '~> 1.2'
@ -106,7 +106,7 @@ group :development, :test do
gem 'i18n-tasks', '~> 1.0', require: false gem 'i18n-tasks', '~> 1.0', require: false
gem 'pry-byebug', '~> 3.10' gem 'pry-byebug', '~> 3.10'
gem 'pry-rails', '~> 0.3' gem 'pry-rails', '~> 0.3'
gem 'rspec-rails', '~> 5.1' gem 'rspec-rails', '~> 6.0'
gem 'rubocop-performance', require: false gem 'rubocop-performance', require: false
gem 'rubocop-rails', require: false gem 'rubocop-rails', require: false
gem 'rubocop-rspec', require: false gem 'rubocop-rspec', require: false

@ -193,7 +193,7 @@ GEM
cocoon (1.2.15) cocoon (1.2.15)
coderay (1.1.3) coderay (1.1.3)
color_diff (0.1) color_diff (0.1)
concurrent-ruby (1.2.0) concurrent-ruby (1.2.2)
connection_pool (2.3.0) connection_pool (2.3.0)
cose (1.3.0) cose (1.3.0)
cbor (~> 0.5.9) cbor (~> 0.5.9)
@ -509,7 +509,7 @@ GEM
pry-rails (0.3.9) pry-rails (0.3.9)
pry (>= 0.10.4) pry (>= 0.10.4)
public_suffix (5.0.1) public_suffix (5.0.1)
puma (5.6.5) puma (6.1.0)
nio4r (~> 2.0) nio4r (~> 2.0)
pundit (2.3.0) pundit (2.3.0)
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
@ -588,26 +588,26 @@ GEM
chunky_png (~> 1.0) chunky_png (~> 1.0)
rqrcode_core (~> 1.0) rqrcode_core (~> 1.0)
rqrcode_core (1.2.0) rqrcode_core (1.2.0)
rspec-core (3.11.0) rspec-core (3.12.1)
rspec-support (~> 3.11.0) rspec-support (~> 3.12.0)
rspec-expectations (3.11.0) rspec-expectations (3.12.2)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0) rspec-support (~> 3.12.0)
rspec-mocks (3.11.1) rspec-mocks (3.12.3)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0) rspec-support (~> 3.12.0)
rspec-rails (5.1.2) rspec-rails (6.0.1)
actionpack (>= 5.2) actionpack (>= 6.1)
activesupport (>= 5.2) activesupport (>= 6.1)
railties (>= 5.2) railties (>= 6.1)
rspec-core (~> 3.10) rspec-core (~> 3.11)
rspec-expectations (~> 3.10) rspec-expectations (~> 3.11)
rspec-mocks (~> 3.10) rspec-mocks (~> 3.11)
rspec-support (~> 3.10) rspec-support (~> 3.11)
rspec-sidekiq (3.1.0) rspec-sidekiq (3.1.0)
rspec-core (~> 3.0, >= 3.0.0) rspec-core (~> 3.0, >= 3.0.0)
sidekiq (>= 2.4.0) sidekiq (>= 2.4.0)
rspec-support (3.11.1) rspec-support (3.12.0)
rspec_junit_formatter (0.6.0) rspec_junit_formatter (0.6.0)
rspec-core (>= 2, < 4, != 2.12.0) rspec-core (>= 2, < 4, != 2.12.0)
rubocop (1.45.1) rubocop (1.45.1)
@ -858,7 +858,7 @@ DEPENDENCIES
pry-byebug (~> 3.10) pry-byebug (~> 3.10)
pry-rails (~> 0.3) pry-rails (~> 0.3)
public_suffix (~> 5.0) public_suffix (~> 5.0)
puma (~> 5.6) puma (~> 6.1)
pundit (~> 2.3) pundit (~> 2.3)
rack (~> 2.2.6) rack (~> 2.2.6)
rack-attack (~> 6.6) rack-attack (~> 6.6)
@ -874,7 +874,7 @@ DEPENDENCIES
redis-namespace (~> 1.10) redis-namespace (~> 1.10)
rexml (~> 3.2) rexml (~> 3.2)
rqrcode (~> 2.1) rqrcode (~> 2.1)
rspec-rails (~> 5.1) rspec-rails (~> 6.0)
rspec-sidekiq (~> 3.1) rspec-sidekiq (~> 3.1)
rspec_junit_formatter (~> 0.6) rspec_junit_formatter (~> 0.6)
rubocop rubocop

@ -1,11 +0,0 @@
# frozen_string_literal: true
module Admin::AnnouncementsHelper
def time_range(announcement)
if announcement.all_day?
safe_join([l(announcement.starts_at.to_date), ' - ', l(announcement.ends_at.to_date)])
else
safe_join([l(announcement.starts_at), ' - ', l(announcement.ends_at)])
end
end
end

@ -41,9 +41,9 @@ module HomeHelper
def obscured_counter(count) def obscured_counter(count)
if count <= 0 if count <= 0
0 '0'
elsif count == 1 elsif count == 1
1 '1'
else else
'1+' '1+'
end end
@ -57,14 +57,6 @@ module HomeHelper
end end
end end
def optional_link_to(condition, path, options = {}, &block)
if condition
link_to(path, options, &block)
else
content_tag(:div, &block)
end
end
def sign_up_message def sign_up_message
if closed_registrations? if closed_registrations?
t('auth.registration_closed', instance: site_hostname) t('auth.registration_closed', instance: site_hostname)

@ -6,6 +6,7 @@ export default class GIFV extends React.PureComponent {
static propTypes = { static propTypes = {
src: PropTypes.string.isRequired, src: PropTypes.string.isRequired,
alt: PropTypes.string, alt: PropTypes.string,
lang: PropTypes.string,
width: PropTypes.number, width: PropTypes.number,
height: PropTypes.number, height: PropTypes.number,
onClick: PropTypes.func, onClick: PropTypes.func,
@ -35,7 +36,7 @@ export default class GIFV extends React.PureComponent {
}; };
render () { render () {
const { src, width, height, alt } = this.props; const { src, width, height, alt, lang } = this.props;
const { loading } = this.state; const { loading } = this.state;
return ( return (
@ -48,6 +49,7 @@ export default class GIFV extends React.PureComponent {
tabIndex='0' tabIndex='0'
aria-label={alt} aria-label={alt}
title={alt} title={alt}
lang={lang}
onClick={this.handleClick} onClick={this.handleClick}
/> />
)} )}
@ -58,6 +60,7 @@ export default class GIFV extends React.PureComponent {
tabIndex='0' tabIndex='0'
aria-label={alt} aria-label={alt}
title={alt} title={alt}
lang={lang}
muted muted
loop loop
autoPlay autoPlay

@ -10,6 +10,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
static propTypes = { static propTypes = {
status: ImmutablePropTypes.map.isRequired, status: ImmutablePropTypes.map.isRequired,
lang: PropTypes.string,
height: PropTypes.number, height: PropTypes.number,
width: PropTypes.number, width: PropTypes.number,
revealed: PropTypes.bool, revealed: PropTypes.bool,
@ -49,7 +50,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
}; };
render () { render () {
const { status, width, height, revealed } = this.props; const { status, lang, width, height, revealed } = this.props;
const mediaAttachments = status.get('media_attachments'); const mediaAttachments = status.get('media_attachments');
if (mediaAttachments.size === 0) { if (mediaAttachments.size === 0) {
@ -65,6 +66,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
<Component <Component
src={audio.get('url')} src={audio.get('url')}
alt={audio.get('description')} alt={audio.get('description')}
lang={lang || status.get('language')}
width={width} width={width}
height={height} height={height}
poster={audio.get('preview_url') || status.getIn(['account', 'avatar_static'])} poster={audio.get('preview_url') || status.getIn(['account', 'avatar_static'])}
@ -88,6 +90,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
blurhash={video.get('blurhash')} blurhash={video.get('blurhash')}
src={video.get('url')} src={video.get('url')}
alt={video.get('description')} alt={video.get('description')}
lang={lang || status.get('language')}
width={width} width={width}
height={height} height={height}
inline inline
@ -104,6 +107,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
{Component => ( {Component => (
<Component <Component
media={mediaAttachments} media={mediaAttachments}
lang={lang || status.get('language')}
sensitive={status.get('sensitive')} sensitive={status.get('sensitive')}
defaultWidth={width} defaultWidth={width}
revealed={revealed} revealed={revealed}

@ -36,6 +36,7 @@ class Item extends React.PureComponent {
static propTypes = { static propTypes = {
attachment: ImmutablePropTypes.map.isRequired, attachment: ImmutablePropTypes.map.isRequired,
lang: PropTypes.string,
standalone: PropTypes.bool, standalone: PropTypes.bool,
index: PropTypes.number.isRequired, index: PropTypes.number.isRequired,
size: PropTypes.number.isRequired, size: PropTypes.number.isRequired,
@ -98,7 +99,7 @@ class Item extends React.PureComponent {
}; };
render () { render () {
const { attachment, index, size, standalone, letterbox, displayWidth, visible } = this.props; const { attachment, lang, index, size, standalone, letterbox, displayWidth, visible } = this.props;
let width = 50; let width = 50;
let height = 100; let height = 100;
@ -154,7 +155,7 @@ class Item extends React.PureComponent {
if (attachment.get('type') === 'unknown') { if (attachment.get('type') === 'unknown') {
return ( return (
<div className={classNames('media-gallery__item', { standalone })} key={attachment.get('id')} style={{ left: left, top: top, right: right, bottom: bottom, width: `${width}%`, height: `${height}%` }}> <div className={classNames('media-gallery__item', { standalone })} key={attachment.get('id')} style={{ left: left, top: top, right: right, bottom: bottom, width: `${width}%`, height: `${height}%` }}>
<a className='media-gallery__item-thumbnail' href={attachment.get('remote_url') || attachment.get('url')} style={{ cursor: 'pointer' }} title={attachment.get('description')} target='_blank' rel='noopener noreferrer'> <a className='media-gallery__item-thumbnail' href={attachment.get('remote_url') || attachment.get('url')} style={{ cursor: 'pointer' }} title={attachment.get('description')} lang={lang} target='_blank' rel='noopener noreferrer'>
<Blurhash <Blurhash
hash={attachment.get('blurhash')} hash={attachment.get('blurhash')}
className='media-gallery__preview' className='media-gallery__preview'
@ -195,6 +196,7 @@ class Item extends React.PureComponent {
sizes={sizes} sizes={sizes}
alt={attachment.get('description')} alt={attachment.get('description')}
title={attachment.get('description')} title={attachment.get('description')}
lang={lang}
style={{ objectPosition: letterbox ? null : `${x}% ${y}%` }} style={{ objectPosition: letterbox ? null : `${x}% ${y}%` }}
onLoad={this.handleImageLoad} onLoad={this.handleImageLoad}
/> />
@ -209,6 +211,7 @@ class Item extends React.PureComponent {
className={`media-gallery__item-gifv-thumbnail${letterbox ? ' letterbox' : ''}`} className={`media-gallery__item-gifv-thumbnail${letterbox ? ' letterbox' : ''}`}
aria-label={attachment.get('description')} aria-label={attachment.get('description')}
title={attachment.get('description')} title={attachment.get('description')}
lang={lang}
role='application' role='application'
src={attachment.get('url')} src={attachment.get('url')}
onClick={this.handleClick} onClick={this.handleClick}
@ -251,6 +254,7 @@ class MediaGallery extends React.PureComponent {
fullwidth: PropTypes.bool, fullwidth: PropTypes.bool,
hidden: PropTypes.bool, hidden: PropTypes.bool,
media: ImmutablePropTypes.list.isRequired, media: ImmutablePropTypes.list.isRequired,
lang: PropTypes.string,
size: PropTypes.object, size: PropTypes.object,
onOpenMedia: PropTypes.func.isRequired, onOpenMedia: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired, intl: PropTypes.object.isRequired,
@ -342,7 +346,7 @@ class MediaGallery extends React.PureComponent {
} }
render () { render () {
const { media, intl, sensitive, letterbox, fullwidth, defaultWidth, autoplay } = this.props; const { media, lang, intl, sensitive, letterbox, fullwidth, defaultWidth, autoplay } = this.props;
const { visible } = this.state; const { visible } = this.state;
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');
@ -364,9 +368,9 @@ class MediaGallery extends React.PureComponent {
} }
if (this.isStandaloneEligible()) { if (this.isStandaloneEligible()) {
children = <Item standalone autoplay={autoplay} onClick={this.handleClick} attachment={media.get(0)} 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} size={size} letterbox={letterbox} 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} letterbox={letterbox} displayWidth={width} visible={visible || uncached} />);
} }
if (uncached) { if (uncached) {

@ -40,6 +40,7 @@ class Poll extends ImmutablePureComponent {
static propTypes = { static propTypes = {
poll: ImmutablePropTypes.map, poll: ImmutablePropTypes.map,
lang: PropTypes.string,
intl: PropTypes.object.isRequired, intl: PropTypes.object.isRequired,
disabled: PropTypes.bool, disabled: PropTypes.bool,
refresh: PropTypes.func, refresh: PropTypes.func,
@ -126,7 +127,7 @@ class Poll extends ImmutablePureComponent {
}; };
renderOption (option, optionIndex, showResults) { renderOption (option, optionIndex, showResults) {
const { poll, disabled, intl } = this.props; const { poll, lang, disabled, intl } = this.props;
const pollVotesCount = poll.get('voters_count') || poll.get('votes_count'); const pollVotesCount = poll.get('voters_count') || poll.get('votes_count');
const percent = pollVotesCount === 0 ? 0 : (option.get('votes_count') / pollVotesCount) * 100; const percent = pollVotesCount === 0 ? 0 : (option.get('votes_count') / pollVotesCount) * 100;
const leading = poll.get('options').filterNot(other => other.get('title') === option.get('title')).every(other => option.get('votes_count') >= other.get('votes_count')); const leading = poll.get('options').filterNot(other => other.get('title') === option.get('title')).every(other => option.get('votes_count') >= other.get('votes_count'));
@ -159,6 +160,7 @@ class Poll extends ImmutablePureComponent {
onKeyPress={this.handleOptionKeyPress} onKeyPress={this.handleOptionKeyPress}
aria-checked={active} aria-checked={active}
aria-label={option.get('title')} aria-label={option.get('title')}
lang={lang}
data-index={optionIndex} data-index={optionIndex}
/> />
)} )}
@ -175,6 +177,7 @@ class Poll extends ImmutablePureComponent {
<span <span
className='poll__option__text translate' className='poll__option__text translate'
lang={lang}
dangerouslySetInnerHTML={{ __html: titleEmojified }} dangerouslySetInnerHTML={{ __html: titleEmojified }}
/> />

@ -631,6 +631,7 @@ class Status extends ImmutablePureComponent {
<Component <Component
src={attachment.get('url')} src={attachment.get('url')}
alt={attachment.get('description')} alt={attachment.get('description')}
lang={status.get('language')}
poster={attachment.get('preview_url') || status.getIn(['account', 'avatar_static'])} poster={attachment.get('preview_url') || status.getIn(['account', 'avatar_static'])}
backgroundColor={attachment.getIn(['meta', 'colors', 'background'])} backgroundColor={attachment.getIn(['meta', 'colors', 'background'])}
foregroundColor={attachment.getIn(['meta', 'colors', 'foreground'])} foregroundColor={attachment.getIn(['meta', 'colors', 'foreground'])}
@ -660,6 +661,7 @@ class Status extends ImmutablePureComponent {
blurhash={attachment.get('blurhash')} blurhash={attachment.get('blurhash')}
src={attachment.get('url')} src={attachment.get('url')}
alt={attachment.get('description')} alt={attachment.get('description')}
lang={status.get('language')}
inline inline
sensitive={status.get('sensitive')} sensitive={status.get('sensitive')}
letterbox={settings.getIn(['media', 'letterbox'])} letterbox={settings.getIn(['media', 'letterbox'])}
@ -681,6 +683,7 @@ class Status extends ImmutablePureComponent {
{Component => ( {Component => (
<Component <Component
media={attachments} media={attachments}
lang={status.get('language')}
sensitive={status.get('sensitive')} sensitive={status.get('sensitive')}
letterbox={settings.getIn(['media', 'letterbox'])} letterbox={settings.getIn(['media', 'letterbox'])}
fullwidth={settings.getIn(['media', 'fullwidth'])} fullwidth={settings.getIn(['media', 'fullwidth'])}
@ -715,7 +718,7 @@ class Status extends ImmutablePureComponent {
} }
if (status.get('poll')) { if (status.get('poll')) {
contentMedia.push(<PollContainer pollId={status.get('poll')} />); contentMedia.push(<PollContainer pollId={status.get('poll')} lang={status.get('language')} />);
contentMediaIcons.push('tasks'); contentMediaIcons.push('tasks');
} }

@ -76,6 +76,7 @@ export default class MediaItem extends ImmutablePureComponent {
<img <img
src={attachment.get('preview_url') || attachment.getIn(['account', 'avatar_static'])} src={attachment.get('preview_url') || attachment.getIn(['account', 'avatar_static'])}
alt={attachment.get('description')} alt={attachment.get('description')}
lang={status.get('language')}
onLoad={this.handleImageLoad} onLoad={this.handleImageLoad}
/> />
); );
@ -95,6 +96,7 @@ export default class MediaItem extends ImmutablePureComponent {
<img <img
src={attachment.get('preview_url')} src={attachment.get('preview_url')}
alt={attachment.get('description')} alt={attachment.get('description')}
lang={status.get('language')}
style={{ objectPosition: `${x}% ${y}%` }} style={{ objectPosition: `${x}% ${y}%` }}
onLoad={this.handleImageLoad} onLoad={this.handleImageLoad}
/> />
@ -105,6 +107,7 @@ export default class MediaItem extends ImmutablePureComponent {
className='media-gallery__item-gifv-thumbnail' className='media-gallery__item-gifv-thumbnail'
aria-label={attachment.get('description')} aria-label={attachment.get('description')}
title={attachment.get('description')} title={attachment.get('description')}
lang={status.get('language')}
role='application' role='application'
src={attachment.get('url')} src={attachment.get('url')}
onMouseEnter={this.handleMouseEnter} onMouseEnter={this.handleMouseEnter}

@ -28,6 +28,7 @@ class Audio extends React.PureComponent {
static propTypes = { static propTypes = {
src: PropTypes.string.isRequired, src: PropTypes.string.isRequired,
alt: PropTypes.string, alt: PropTypes.string,
lang: PropTypes.string,
poster: PropTypes.string, poster: PropTypes.string,
duration: PropTypes.number, duration: PropTypes.number,
width: PropTypes.number, width: PropTypes.number,
@ -464,7 +465,7 @@ class Audio extends React.PureComponent {
}; };
render () { render () {
const { src, intl, alt, editable, autoPlay, sensitive, blurhash } = this.props; const { src, intl, alt, lang, editable, autoPlay, sensitive, blurhash } = this.props;
const { paused, muted, volume, currentTime, duration, buffer, dragging, revealed } = this.state; const { paused, muted, volume, currentTime, duration, buffer, dragging, revealed } = this.state;
const progress = Math.min((currentTime / duration) * 100, 100); const progress = Math.min((currentTime / duration) * 100, 100);
@ -509,6 +510,7 @@ class Audio extends React.PureComponent {
onKeyDown={this.handleAudioKeyDown} onKeyDown={this.handleAudioKeyDown}
title={alt} title={alt}
aria-label={alt} aria-label={alt}
lang={lang}
/> />
<div className={classNames('spoiler-button', { 'spoiler-button--hidden': revealed || editable })}> <div className={classNames('spoiler-button', { 'spoiler-button--hidden': revealed || editable })}>

@ -169,6 +169,7 @@ class DetailedStatus extends ImmutablePureComponent {
<Audio <Audio
src={attachment.get('url')} src={attachment.get('url')}
alt={attachment.get('description')} alt={attachment.get('description')}
lang={status.get('language')}
duration={attachment.getIn(['meta', 'original', 'duration'], 0)} duration={attachment.getIn(['meta', 'original', 'duration'], 0)}
poster={attachment.get('preview_url') || status.getIn(['account', 'avatar_static'])} poster={attachment.get('preview_url') || status.getIn(['account', 'avatar_static'])}
backgroundColor={attachment.getIn(['meta', 'colors', 'background'])} backgroundColor={attachment.getIn(['meta', 'colors', 'background'])}
@ -191,6 +192,7 @@ class DetailedStatus extends ImmutablePureComponent {
blurhash={attachment.get('blurhash')} blurhash={attachment.get('blurhash')}
src={attachment.get('url')} src={attachment.get('url')}
alt={attachment.get('description')} alt={attachment.get('description')}
lang={status.get('language')}
inline inline
sensitive={status.get('sensitive')} sensitive={status.get('sensitive')}
letterbox={settings.getIn(['media', 'letterbox'])} letterbox={settings.getIn(['media', 'letterbox'])}
@ -209,6 +211,7 @@ class DetailedStatus extends ImmutablePureComponent {
standalone standalone
sensitive={status.get('sensitive')} sensitive={status.get('sensitive')}
media={status.get('media_attachments')} media={status.get('media_attachments')}
lang={status.get('language')}
letterbox={settings.getIn(['media', 'letterbox'])} letterbox={settings.getIn(['media', 'letterbox'])}
fullwidth={settings.getIn(['media', 'fullwidth'])} fullwidth={settings.getIn(['media', 'fullwidth'])}
hidden={!expanded} hidden={!expanded}
@ -225,7 +228,7 @@ class DetailedStatus extends ImmutablePureComponent {
} }
if (status.get('poll')) { if (status.get('poll')) {
contentMedia.push(<PollContainer pollId={status.get('poll')} />); contentMedia.push(<PollContainer pollId={status.get('poll')} lang={status.get('language')} />);
contentMediaIcons.push('tasks'); contentMediaIcons.push('tasks');
} }

@ -7,15 +7,17 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import Footer from 'flavours/glitch/features/picture_in_picture/components/footer'; import Footer from 'flavours/glitch/features/picture_in_picture/components/footer';
const mapStateToProps = (state, { statusId }) => ({ const mapStateToProps = (state, { statusId }) => ({
language: state.getIn(['statuses', statusId, 'language']),
accountStaticAvatar: state.getIn(['accounts', state.getIn(['statuses', statusId, 'account']), 'avatar_static']), accountStaticAvatar: state.getIn(['accounts', state.getIn(['statuses', statusId, 'account']), 'avatar_static']),
}); });
export default @connect(mapStateToProps) export default @connect(mapStateToProps, null, null, { forwardRef: true })
class AudioModal extends ImmutablePureComponent { class AudioModal extends ImmutablePureComponent {
static propTypes = { static propTypes = {
media: ImmutablePropTypes.map.isRequired, media: ImmutablePropTypes.map.isRequired,
statusId: PropTypes.string.isRequired, statusId: PropTypes.string.isRequired,
language: PropTypes.string,
accountStaticAvatar: PropTypes.string.isRequired, accountStaticAvatar: PropTypes.string.isRequired,
options: PropTypes.shape({ options: PropTypes.shape({
autoPlay: PropTypes.bool, autoPlay: PropTypes.bool,
@ -29,7 +31,7 @@ class AudioModal extends ImmutablePureComponent {
}; };
render () { render () {
const { media, accountStaticAvatar, statusId, onClose } = this.props; const { media, language, accountStaticAvatar, statusId, onClose } = this.props;
const options = this.props.options || {}; const options = this.props.options || {};
return ( return (
@ -38,6 +40,7 @@ class AudioModal extends ImmutablePureComponent {
<Audio <Audio
src={media.get('url')} src={media.get('url')}
alt={media.get('description')} alt={media.get('description')}
lang={language}
duration={media.getIn(['meta', 'original', 'duration'], 0)} duration={media.getIn(['meta', 'original', 'duration'], 0)}
height={150} height={150}
poster={media.get('preview_url') || accountStaticAvatar} poster={media.get('preview_url') || accountStaticAvatar}

@ -12,6 +12,7 @@ import RelativeTimestamp from 'flavours/glitch/components/relative_timestamp';
import MediaAttachments from 'flavours/glitch/components/media_attachments'; import MediaAttachments from 'flavours/glitch/components/media_attachments';
const mapStateToProps = (state, { statusId }) => ({ const mapStateToProps = (state, { statusId }) => ({
language: state.getIn(['statuses', statusId, 'language']),
versions: state.getIn(['history', statusId, 'items']), versions: state.getIn(['history', statusId, 'items']),
}); });
@ -30,11 +31,12 @@ class CompareHistoryModal extends React.PureComponent {
onClose: PropTypes.func.isRequired, onClose: PropTypes.func.isRequired,
index: PropTypes.number.isRequired, index: PropTypes.number.isRequired,
statusId: PropTypes.string.isRequired, statusId: PropTypes.string.isRequired,
language: PropTypes.string.isRequired,
versions: ImmutablePropTypes.list.isRequired, versions: ImmutablePropTypes.list.isRequired,
}; };
render () { render () {
const { index, versions, onClose } = this.props; const { index, versions, language, onClose } = this.props;
const currentVersion = versions.get(index); const currentVersion = versions.get(index);
const emojiMap = currentVersion.get('emojis').reduce((obj, emoji) => { const emojiMap = currentVersion.get('emojis').reduce((obj, emoji) => {
@ -65,12 +67,12 @@ class CompareHistoryModal extends React.PureComponent {
<div className='status__content'> <div className='status__content'>
{currentVersion.get('spoiler_text').length > 0 && ( {currentVersion.get('spoiler_text').length > 0 && (
<React.Fragment> <React.Fragment>
<div className='translate' dangerouslySetInnerHTML={spoilerContent} /> <div className='translate' dangerouslySetInnerHTML={spoilerContent} lang={language} />
<hr /> <hr />
</React.Fragment> </React.Fragment>
)} )}
<div className='status__content__text status__content__text--visible translate' dangerouslySetInnerHTML={content} /> <div className='status__content__text status__content__text--visible translate' dangerouslySetInnerHTML={content} lang={language} />
{!!currentVersion.get('poll') && ( {!!currentVersion.get('poll') && (
<div className='poll'> <div className='poll'>
@ -82,6 +84,7 @@ class CompareHistoryModal extends React.PureComponent {
<span <span
className='poll__option__text translate' className='poll__option__text translate'
dangerouslySetInnerHTML={{ __html: emojify(escapeTextContentForBrowser(option.get('title')), emojiMap) }} dangerouslySetInnerHTML={{ __html: emojify(escapeTextContentForBrowser(option.get('title')), emojiMap) }}
lang={language}
/> />
</li> </li>
))} ))}
@ -89,7 +92,7 @@ class CompareHistoryModal extends React.PureComponent {
</div> </div>
)} )}
<MediaAttachments status={currentVersion} /> <MediaAttachments status={currentVersion} lang={language} />
</div> </div>
</div> </div>
</div> </div>

@ -8,6 +8,7 @@ export default class ImageLoader extends PureComponent {
static propTypes = { static propTypes = {
alt: PropTypes.string, alt: PropTypes.string,
lang: PropTypes.string,
src: PropTypes.string.isRequired, src: PropTypes.string.isRequired,
previewSrc: PropTypes.string, previewSrc: PropTypes.string,
width: PropTypes.number, width: PropTypes.number,
@ -18,6 +19,7 @@ export default class ImageLoader extends PureComponent {
static defaultProps = { static defaultProps = {
alt: '', alt: '',
lang: '',
width: null, width: null,
height: null, height: null,
}; };
@ -129,7 +131,7 @@ export default class ImageLoader extends PureComponent {
}; };
render () { render () {
const { alt, src, width, height, onClick } = this.props; const { alt, lang, src, width, height, onClick } = this.props;
const { loading } = this.state; const { loading } = this.state;
const className = classNames('image-loader', { const className = classNames('image-loader', {
@ -154,6 +156,7 @@ export default class ImageLoader extends PureComponent {
) : ( ) : (
<ZoomableImage <ZoomableImage
alt={alt} alt={alt}
lang={lang}
src={src} src={src}
onClick={onClick} onClick={onClick}
width={width} width={width}

@ -3,6 +3,7 @@ import ReactSwipeableViews from 'react-swipeable-views';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import Video from 'flavours/glitch/features/video'; import Video from 'flavours/glitch/features/video';
import { connect } from 'react-redux';
import classNames from 'classnames'; import classNames from 'classnames';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import IconButton from 'flavours/glitch/components/icon_button'; import IconButton from 'flavours/glitch/components/icon_button';
@ -20,7 +21,12 @@ const messages = defineMessages({
next: { id: 'lightbox.next', defaultMessage: 'Next' }, next: { id: 'lightbox.next', defaultMessage: 'Next' },
}); });
export default @injectIntl const mapStateToProps = (state, { statusId }) => ({
language: state.getIn(['statuses', statusId, 'language']),
});
export default @connect(mapStateToProps, null, null, { forwardRef: true })
@injectIntl
class MediaModal extends ImmutablePureComponent { class MediaModal extends ImmutablePureComponent {
static contextTypes = { static contextTypes = {
@ -131,7 +137,7 @@ class MediaModal extends ImmutablePureComponent {
} }
render () { render () {
const { media, statusId, intl, onClose } = this.props; const { media, language, statusId, intl, onClose } = this.props;
const { navigationHidden } = this.state; const { navigationHidden } = this.state;
const index = this.getIndex(); const index = this.getIndex();
@ -151,6 +157,7 @@ class MediaModal extends ImmutablePureComponent {
width={width} width={width}
height={height} height={height}
alt={image.get('description')} alt={image.get('description')}
lang={language}
key={image.get('url')} key={image.get('url')}
onClick={this.toggleNavigation} onClick={this.toggleNavigation}
zoomButtonHidden={this.state.zoomButtonHidden} zoomButtonHidden={this.state.zoomButtonHidden}
@ -173,6 +180,7 @@ class MediaModal extends ImmutablePureComponent {
onCloseVideo={onClose} onCloseVideo={onClose}
detailed detailed
alt={image.get('description')} alt={image.get('description')}
lang={language}
key={image.get('url')} key={image.get('url')}
/> />
); );
@ -184,6 +192,7 @@ class MediaModal extends ImmutablePureComponent {
height={height} height={height}
key={image.get('preview_url')} key={image.get('preview_url')}
alt={image.get('description')} alt={image.get('description')}
lang={language}
onClick={this.toggleNavigation} onClick={this.toggleNavigation}
/> />
); );

@ -2,11 +2,17 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import Video from 'flavours/glitch/features/video'; import Video from 'flavours/glitch/features/video';
import { connect } from 'react-redux';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import Footer from 'flavours/glitch/features/picture_in_picture/components/footer'; import Footer from 'flavours/glitch/features/picture_in_picture/components/footer';
import { getAverageFromBlurhash } from 'flavours/glitch/blurhash'; import { getAverageFromBlurhash } from 'flavours/glitch/blurhash';
export default class VideoModal extends ImmutablePureComponent { const mapStateToProps = (state, { statusId }) => ({
language: state.getIn(['statuses', statusId, 'language']),
});
export default @connect(mapStateToProps, null, null, { forwardRef: true })
class VideoModal extends ImmutablePureComponent {
static contextTypes = { static contextTypes = {
router: PropTypes.object, router: PropTypes.object,
@ -15,6 +21,7 @@ export default class VideoModal extends ImmutablePureComponent {
static propTypes = { static propTypes = {
media: ImmutablePropTypes.map.isRequired, media: ImmutablePropTypes.map.isRequired,
statusId: PropTypes.string, statusId: PropTypes.string,
language: PropTypes.string,
options: PropTypes.shape({ options: PropTypes.shape({
startTime: PropTypes.number, startTime: PropTypes.number,
autoPlay: PropTypes.bool, autoPlay: PropTypes.bool,
@ -35,7 +42,7 @@ export default class VideoModal extends ImmutablePureComponent {
} }
render () { render () {
const { media, statusId, onClose } = this.props; const { media, statusId, language, onClose } = this.props;
const options = this.props.options || {}; const options = this.props.options || {};
return ( return (
@ -53,6 +60,7 @@ export default class VideoModal extends ImmutablePureComponent {
autoFocus autoFocus
detailed detailed
alt={media.get('description')} alt={media.get('description')}
lang={language}
/> />
</div> </div>

@ -96,6 +96,7 @@ class ZoomableImage extends React.PureComponent {
static propTypes = { static propTypes = {
alt: PropTypes.string, alt: PropTypes.string,
lang: PropTypes.string,
src: PropTypes.string.isRequired, src: PropTypes.string.isRequired,
width: PropTypes.number, width: PropTypes.number,
height: PropTypes.number, height: PropTypes.number,
@ -106,6 +107,7 @@ class ZoomableImage extends React.PureComponent {
static defaultProps = { static defaultProps = {
alt: '', alt: '',
lang: '',
width: null, width: null,
height: null, height: null,
}; };
@ -403,7 +405,7 @@ class ZoomableImage extends React.PureComponent {
}; };
render () { render () {
const { alt, src, width, height, intl } = this.props; const { alt, lang, src, width, height, intl } = this.props;
const { scale, lockTranslate } = this.state; const { scale, lockTranslate } = this.state;
const overflow = scale === MIN_SCALE ? 'hidden' : 'scroll'; const overflow = scale === MIN_SCALE ? 'hidden' : 'scroll';
const zoomButtonShouldHide = this.state.navigationHidden || this.props.zoomButtonHidden || this.state.zoomMatrix.rate <= MIN_SCALE ? 'media-modal__zoom-button--hidden' : ''; const zoomButtonShouldHide = this.state.navigationHidden || this.props.zoomButtonHidden || this.state.zoomMatrix.rate <= MIN_SCALE ? 'media-modal__zoom-button--hidden' : '';
@ -431,6 +433,7 @@ class ZoomableImage extends React.PureComponent {
ref={this.setImageRef} ref={this.setImageRef}
alt={alt} alt={alt}
title={alt} title={alt}
lang={lang}
src={src} src={src}
width={width} width={width}
height={height} height={height}

@ -101,6 +101,7 @@ class Video extends React.PureComponent {
frameRate: PropTypes.string, frameRate: PropTypes.string,
src: PropTypes.string.isRequired, src: PropTypes.string.isRequired,
alt: PropTypes.string, alt: PropTypes.string,
lang: PropTypes.string,
width: PropTypes.number, width: PropTypes.number,
height: PropTypes.number, height: PropTypes.number,
sensitive: PropTypes.bool, sensitive: PropTypes.bool,
@ -538,7 +539,7 @@ class Video extends React.PureComponent {
} }
render () { render () {
const { preview, src, inline, onOpenVideo, onCloseVideo, intl, alt, letterbox, fullwidth, detailed, sensitive, editable, blurhash, autoFocus } = this.props; const { preview, src, inline, onOpenVideo, onCloseVideo, intl, alt, lang, letterbox, fullwidth, detailed, sensitive, editable, blurhash, autoFocus } = this.props;
const { containerWidth, currentTime, duration, volume, buffer, dragging, paused, fullscreen, hovered, muted, revealed } = this.state; const { containerWidth, 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 = {}; const playerStyle = {};
@ -603,6 +604,7 @@ class Video extends React.PureComponent {
tabIndex='0' tabIndex='0'
aria-label={alt} aria-label={alt}
title={alt} title={alt}
lang={lang}
width={width} width={width}
height={height} height={height}
volume={volume} volume={volume}

@ -8,12 +8,13 @@
"advanced_options.icon_title": "Opciones avanzadas", "advanced_options.icon_title": "Opciones avanzadas",
"advanced_options.local-only.long": "No publicar a otras instancias", "advanced_options.local-only.long": "No publicar a otras instancias",
"advanced_options.local-only.short": "Local", "advanced_options.local-only.short": "Local",
"advanced_options.local-only.tooltip": "Este toot es local", "advanced_options.local-only.tooltip": "Esta publicación es local",
"advanced_options.threaded_mode.long": "Al publicar abre automáticamente una respuesta", "advanced_options.threaded_mode.long": "Al publicar abre automáticamente una respuesta",
"advanced_options.threaded_mode.short": "Modo hilo", "advanced_options.threaded_mode.short": "Modo hilo",
"advanced_options.threaded_mode.tooltip": "Modo hilo habilitado", "advanced_options.threaded_mode.tooltip": "Modo hilo habilitado",
"boost_modal.missing_description": "Esta publicación contiene medios sin descripción",
"column.favourited_by": "Marcado como favorito por", "column.favourited_by": "Marcado como favorito por",
"column.reblogged_by": "Retooteado por", "column.reblogged_by": "Impulsado por",
"column_header.profile": "Perfil", "column_header.profile": "Perfil",
"column_subheading.lists": "Listas", "column_subheading.lists": "Listas",
"column_subheading.navigation": "Navegación", "column_subheading.navigation": "Navegación",
@ -50,26 +51,26 @@
"settings.always_show_spoilers_field": "Siempre mostrar el campo de advertencia de contenido", "settings.always_show_spoilers_field": "Siempre mostrar el campo de advertencia de contenido",
"settings.auto_collapse": "Colapsar automáticamente", "settings.auto_collapse": "Colapsar automáticamente",
"settings.auto_collapse_all": "Todo", "settings.auto_collapse_all": "Todo",
"settings.auto_collapse_lengthy": "Toots largos", "settings.auto_collapse_lengthy": "Publicaciones largas",
"settings.auto_collapse_media": "Toots con medios", "settings.auto_collapse_media": "Publicaciones multimedia",
"settings.auto_collapse_notifications": "Notificaciones", "settings.auto_collapse_notifications": "Notificaciones",
"settings.auto_collapse_reblogs": "Retoots", "settings.auto_collapse_reblogs": "Impulsos",
"settings.auto_collapse_replies": "Respuestas", "settings.auto_collapse_replies": "Respuestas",
"settings.close": "Cerrar", "settings.close": "Cerrar",
"settings.collapsed_statuses": "Toots colapsados", "settings.collapsed_statuses": "Publicaciones colapsadas",
"settings.compose_box_opts": "Cuadro de redacción", "settings.compose_box_opts": "Cuadro de redacción",
"settings.confirm_before_clearing_draft": "Mostrar diálogo de confirmación antes de sobreescribir un mensaje estabas escribiendo", "settings.confirm_before_clearing_draft": "Mostrar diálogo de confirmación antes de sobreescribir el mensaje siendo redactado",
"settings.confirm_boost_missing_media_description": "Mostrar diálogo de confirmación antes de retootear publicaciones con medios sin descripción", "settings.confirm_boost_missing_media_description": "Mostrar diálogo de confirmación antes de impulsar publicaciones con medios sin descripciones",
"settings.confirm_missing_media_description": "Mostrar diálogo de confirmación antes de publicar toots con medios sin descripción", "settings.confirm_missing_media_description": "Mostrar diálogo de confirmación antes de enviar publicaciones con medios sin descripciones",
"settings.content_warnings": "Advertencias de contenido", "settings.content_warnings": "Advertencias de contenido",
"settings.content_warnings.regexp": "Regexp (expresión regular)", "settings.content_warnings.regexp": "Regexp (expresión regular)",
"settings.content_warnings_filter": "No descolapsar estas advertencias de contenido:", "settings.content_warnings_filter": "No descolapsar estas advertencias de contenido:",
"settings.enable_collapsed": "Habilitar toots colapsados", "settings.enable_collapsed": "Habilitar publicaciones colapsadas",
"settings.enable_content_warnings_auto_unfold": "Descolapsar automáticamente advertencias de contenido", "settings.enable_content_warnings_auto_unfold": "Desplegar automáticamente advertencias de contenido",
"settings.hicolor_privacy_icons": "Íconos de privacidad más visibles", "settings.hicolor_privacy_icons": "Íconos de privacidad más visibles",
"settings.image_backgrounds": "Fondos de imágenes", "settings.image_backgrounds": "Fondos de imágenes",
"settings.image_backgrounds_media": "Vista previa de medios de toots colapsados", "settings.image_backgrounds_media": "Vista previa de medios de publicaciones colapsadas",
"settings.image_backgrounds_users": "Darle fondo de imagen a toots colapsados", "settings.image_backgrounds_users": "Darle fondo de imagen a publicaciones colapsadas",
"settings.inline_preview_cards": "Vista previa para enlaces externos", "settings.inline_preview_cards": "Vista previa para enlaces externos",
"settings.layout": "Diseño", "settings.layout": "Diseño",
"settings.layout_opts": "Opciones de diseño", "settings.layout_opts": "Opciones de diseño",
@ -91,21 +92,21 @@
"settings.rewrite_mentions_acct": "Reescribir con nombre de usuarix y dominio (para cuentas remotas)", "settings.rewrite_mentions_acct": "Reescribir con nombre de usuarix y dominio (para cuentas remotas)",
"settings.rewrite_mentions_no": "No reescribir menciones", "settings.rewrite_mentions_no": "No reescribir menciones",
"settings.rewrite_mentions_username": "Reescribir con nombre de usuarix", "settings.rewrite_mentions_username": "Reescribir con nombre de usuarix",
"settings.show_action_bar": "Mostrar botones de acción en toots colapsados", "settings.show_action_bar": "Mostrar botones de acción en publicaciones colapsadas",
"settings.show_content_type_choice": "Mostrar selección de tipo de contenido al crear toots", "settings.show_content_type_choice": "Mostrar selección de tipo de contenido al crear publicaciones",
"settings.show_reply_counter": "Mostrar un conteo estimado de respuestas", "settings.show_reply_counter": "Mostrar un conteo estimado de respuestas",
"settings.side_arm": "Botón secundario:", "settings.side_arm": "Botón secundario:",
"settings.side_arm.none": "Ninguno", "settings.side_arm.none": "Ninguno",
"settings.side_arm_reply_mode": "Al responder a un toot, el botón de toot secundario debe:", "settings.side_arm_reply_mode": "Al responder a una publicación, el botón de publicación secundario debe:",
"settings.side_arm_reply_mode.copy": "Copiar opción de privacidad del toot al que estás respondiendo", "settings.side_arm_reply_mode.copy": "Copiar opción de privacidad de la publicación a la que estás respondiendo",
"settings.side_arm_reply_mode.keep": "Conservar opción de privacidad", "settings.side_arm_reply_mode.keep": "Conservar opción de privacidad",
"settings.side_arm_reply_mode.restrict": "Restringir la opción de privacidad a la misma del toot al que estás respondiendo", "settings.side_arm_reply_mode.restrict": "Restringir la opción de privacidad a la misma de la publicación a la que estás respondiendo",
"settings.swipe_to_change_columns": "Permitir deslizar para cambiar columnas (Sólo en móvil)", "settings.swipe_to_change_columns": "Permitir deslizar para cambiar columnas (Sólo en móvil)",
"settings.tag_misleading_links": "Marcar enlaces engañosos", "settings.tag_misleading_links": "Marcar enlaces engañosos",
"settings.tag_misleading_links.hint": "Añadir una indicación visual indicando el destino de los enlace que no los mencionen explícitamente", "settings.tag_misleading_links.hint": "Añadir una indicación visual indicando el destino de los enlace que no los mencionen explícitamente",
"settings.wide_view": "Vista amplia (solo modo de escritorio)", "settings.wide_view": "Vista amplia (solo modo de escritorio)",
"status.collapse": "Colapsar", "status.collapse": "Colapsar",
"status.in_reply_to": "Este toot es una respuesta", "status.in_reply_to": "Esta publicación es una respuesta",
"status.is_poll": "Este toot es una encuesta", "status.is_poll": "Esta publicación es una encuesta",
"status.uncollapse": "Descolapsar" "status.uncollapse": "Descolapsar"
} }

@ -6,6 +6,7 @@ export default class GIFV extends React.PureComponent {
static propTypes = { static propTypes = {
src: PropTypes.string.isRequired, src: PropTypes.string.isRequired,
alt: PropTypes.string, alt: PropTypes.string,
lang: PropTypes.string,
width: PropTypes.number, width: PropTypes.number,
height: PropTypes.number, height: PropTypes.number,
onClick: PropTypes.func, onClick: PropTypes.func,
@ -35,7 +36,7 @@ export default class GIFV extends React.PureComponent {
}; };
render () { render () {
const { src, width, height, alt } = this.props; const { src, width, height, alt, lang } = this.props;
const { loading } = this.state; const { loading } = this.state;
return ( return (
@ -48,6 +49,7 @@ export default class GIFV extends React.PureComponent {
tabIndex='0' tabIndex='0'
aria-label={alt} aria-label={alt}
title={alt} title={alt}
lang={lang}
onClick={this.handleClick} onClick={this.handleClick}
/> />
)} )}
@ -58,6 +60,7 @@ export default class GIFV extends React.PureComponent {
tabIndex='0' tabIndex='0'
aria-label={alt} aria-label={alt}
title={alt} title={alt}
lang={lang}
muted muted
loop loop
autoPlay autoPlay

@ -10,6 +10,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
static propTypes = { static propTypes = {
status: ImmutablePropTypes.map.isRequired, status: ImmutablePropTypes.map.isRequired,
lang: PropTypes.string,
height: PropTypes.number, height: PropTypes.number,
width: PropTypes.number, width: PropTypes.number,
}; };
@ -48,7 +49,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
}; };
render () { render () {
const { status, width, height } = this.props; const { status, lang, width, height } = this.props;
const mediaAttachments = status.get('media_attachments'); const mediaAttachments = status.get('media_attachments');
if (mediaAttachments.size === 0) { if (mediaAttachments.size === 0) {
@ -64,6 +65,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
<Component <Component
src={audio.get('url')} src={audio.get('url')}
alt={audio.get('description')} alt={audio.get('description')}
lang={lang || status.get('language')}
width={width} width={width}
height={height} height={height}
poster={audio.get('preview_url') || status.getIn(['account', 'avatar_static'])} poster={audio.get('preview_url') || status.getIn(['account', 'avatar_static'])}
@ -87,6 +89,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
blurhash={video.get('blurhash')} blurhash={video.get('blurhash')}
src={video.get('url')} src={video.get('url')}
alt={video.get('description')} alt={video.get('description')}
lang={lang || status.get('language')}
width={width} width={width}
height={height} height={height}
inline inline
@ -102,6 +105,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
{Component => ( {Component => (
<Component <Component
media={mediaAttachments} media={mediaAttachments}
lang={lang || status.get('language')}
sensitive={status.get('sensitive')} sensitive={status.get('sensitive')}
defaultWidth={width} defaultWidth={width}
height={height} height={height}

@ -17,6 +17,7 @@ class Item extends React.PureComponent {
static propTypes = { static propTypes = {
attachment: ImmutablePropTypes.map.isRequired, attachment: ImmutablePropTypes.map.isRequired,
lang: PropTypes.string,
standalone: PropTypes.bool, standalone: PropTypes.bool,
index: PropTypes.number.isRequired, index: PropTypes.number.isRequired,
size: PropTypes.number.isRequired, size: PropTypes.number.isRequired,
@ -78,7 +79,7 @@ class Item extends React.PureComponent {
}; };
render () { render () {
const { attachment, index, size, standalone, displayWidth, visible } = this.props; const { attachment, lang, index, size, standalone, displayWidth, visible } = this.props;
let width = 50; let width = 50;
let height = 100; let height = 100;
@ -134,7 +135,7 @@ class Item extends React.PureComponent {
if (attachment.get('type') === 'unknown') { if (attachment.get('type') === 'unknown') {
return ( return (
<div className={classNames('media-gallery__item', { standalone })} key={attachment.get('id')} style={{ left: left, top: top, right: right, bottom: bottom, width: `${width}%`, height: `${height}%` }}> <div className={classNames('media-gallery__item', { standalone })} key={attachment.get('id')} style={{ left: left, top: top, right: right, bottom: bottom, width: `${width}%`, height: `${height}%` }}>
<a className='media-gallery__item-thumbnail' href={attachment.get('remote_url') || attachment.get('url')} style={{ cursor: 'pointer' }} title={attachment.get('description')} target='_blank' rel='noopener noreferrer'> <a className='media-gallery__item-thumbnail' href={attachment.get('remote_url') || attachment.get('url')} style={{ cursor: 'pointer' }} title={attachment.get('description')} lang={lang} target='_blank' rel='noopener noreferrer'>
<Blurhash <Blurhash
hash={attachment.get('blurhash')} hash={attachment.get('blurhash')}
className='media-gallery__preview' className='media-gallery__preview'
@ -174,6 +175,7 @@ class Item extends React.PureComponent {
sizes={sizes} sizes={sizes}
alt={attachment.get('description')} alt={attachment.get('description')}
title={attachment.get('description')} title={attachment.get('description')}
lang={lang}
style={{ objectPosition: `${x}% ${y}%` }} style={{ objectPosition: `${x}% ${y}%` }}
onLoad={this.handleImageLoad} onLoad={this.handleImageLoad}
/> />
@ -188,6 +190,7 @@ class Item extends React.PureComponent {
className='media-gallery__item-gifv-thumbnail' className='media-gallery__item-gifv-thumbnail'
aria-label={attachment.get('description')} aria-label={attachment.get('description')}
title={attachment.get('description')} title={attachment.get('description')}
lang={lang}
role='application' role='application'
src={attachment.get('url')} src={attachment.get('url')}
onClick={this.handleClick} onClick={this.handleClick}
@ -227,6 +230,7 @@ class MediaGallery extends React.PureComponent {
sensitive: PropTypes.bool, sensitive: PropTypes.bool,
standalone: PropTypes.bool, standalone: PropTypes.bool,
media: ImmutablePropTypes.list.isRequired, media: ImmutablePropTypes.list.isRequired,
lang: PropTypes.string,
size: PropTypes.object, size: PropTypes.object,
height: PropTypes.number.isRequired, height: PropTypes.number.isRequired,
onOpenMedia: PropTypes.func.isRequired, onOpenMedia: PropTypes.func.isRequired,
@ -310,9 +314,8 @@ class MediaGallery extends React.PureComponent {
} }
render () { render () {
const { media, intl, sensitive, height, defaultWidth, standalone, autoplay } = this.props; const { media, lang, intl, sensitive, height, defaultWidth, standalone, autoplay } = this.props;
const { visible } = this.state; const { visible } = this.state;
const width = this.state.width || defaultWidth; const width = this.state.width || defaultWidth;
let children, spoilerButton; let children, spoilerButton;
@ -333,9 +336,9 @@ class MediaGallery extends React.PureComponent {
const uncached = media.every(attachment => attachment.get('type') === 'unknown'); const uncached = media.every(attachment => attachment.get('type') === 'unknown');
if (standalone && this.isFullSizeEligible()) { if (standalone && this.isFullSizeEligible()) {
children = <Item standalone autoplay={autoplay} onClick={this.handleClick} attachment={media.get(0)} 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} 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} />);
} }
if (uncached) { if (uncached) {

@ -40,6 +40,7 @@ class Poll extends ImmutablePureComponent {
static propTypes = { static propTypes = {
poll: ImmutablePropTypes.map, poll: ImmutablePropTypes.map,
lang: PropTypes.string,
intl: PropTypes.object.isRequired, intl: PropTypes.object.isRequired,
disabled: PropTypes.bool, disabled: PropTypes.bool,
refresh: PropTypes.func, refresh: PropTypes.func,
@ -126,7 +127,7 @@ class Poll extends ImmutablePureComponent {
}; };
renderOption (option, optionIndex, showResults) { renderOption (option, optionIndex, showResults) {
const { poll, disabled, intl } = this.props; const { poll, lang, disabled, intl } = this.props;
const pollVotesCount = poll.get('voters_count') || poll.get('votes_count'); const pollVotesCount = poll.get('voters_count') || poll.get('votes_count');
const percent = pollVotesCount === 0 ? 0 : (option.get('votes_count') / pollVotesCount) * 100; const percent = pollVotesCount === 0 ? 0 : (option.get('votes_count') / pollVotesCount) * 100;
const leading = poll.get('options').filterNot(other => other.get('title') === option.get('title')).every(other => option.get('votes_count') >= other.get('votes_count')); const leading = poll.get('options').filterNot(other => other.get('title') === option.get('title')).every(other => option.get('votes_count') >= other.get('votes_count'));
@ -159,6 +160,7 @@ class Poll extends ImmutablePureComponent {
onKeyPress={this.handleOptionKeyPress} onKeyPress={this.handleOptionKeyPress}
aria-checked={active} aria-checked={active}
aria-label={option.get('title')} aria-label={option.get('title')}
lang={lang}
data-index={optionIndex} data-index={optionIndex}
/> />
)} )}
@ -175,6 +177,7 @@ class Poll extends ImmutablePureComponent {
<span <span
className='poll__option__text translate' className='poll__option__text translate'
lang={lang}
dangerouslySetInnerHTML={{ __html: titleEmojified }} dangerouslySetInnerHTML={{ __html: titleEmojified }}
/> />

@ -417,6 +417,7 @@ class Status extends ImmutablePureComponent {
<Component <Component
src={attachment.get('url')} src={attachment.get('url')}
alt={attachment.get('description')} alt={attachment.get('description')}
lang={status.get('language')}
poster={attachment.get('preview_url') || status.getIn(['account', 'avatar_static'])} poster={attachment.get('preview_url') || status.getIn(['account', 'avatar_static'])}
backgroundColor={attachment.getIn(['meta', 'colors', 'background'])} backgroundColor={attachment.getIn(['meta', 'colors', 'background'])}
foregroundColor={attachment.getIn(['meta', 'colors', 'foreground'])} foregroundColor={attachment.getIn(['meta', 'colors', 'foreground'])}
@ -446,6 +447,7 @@ class Status extends ImmutablePureComponent {
blurhash={attachment.get('blurhash')} blurhash={attachment.get('blurhash')}
src={attachment.get('url')} src={attachment.get('url')}
alt={attachment.get('description')} alt={attachment.get('description')}
lang={status.get('language')}
width={this.props.cachedMediaWidth} width={this.props.cachedMediaWidth}
height={110} height={110}
inline inline
@ -465,6 +467,7 @@ class Status extends ImmutablePureComponent {
{Component => ( {Component => (
<Component <Component
media={status.get('media_attachments')} media={status.get('media_attachments')}
lang={status.get('language')}
sensitive={status.get('sensitive')} sensitive={status.get('sensitive')}
height={110} height={110}
onOpenMedia={this.handleOpenMedia} onOpenMedia={this.handleOpenMedia}

@ -242,7 +242,7 @@ class StatusContent extends React.PureComponent {
); );
const poll = !!status.get('poll') && ( const poll = !!status.get('poll') && (
<PollContainer pollId={status.get('poll')} /> <PollContainer pollId={status.get('poll')} lang={status.get('language')} />
); );
if (status.get('spoiler_text').length > 0) { if (status.get('spoiler_text').length > 0) {

@ -76,6 +76,7 @@ export default class MediaItem extends ImmutablePureComponent {
<img <img
src={attachment.get('preview_url') || attachment.getIn(['account', 'avatar_static'])} src={attachment.get('preview_url') || attachment.getIn(['account', 'avatar_static'])}
alt={attachment.get('description')} alt={attachment.get('description')}
lang={status.get('language')}
onLoad={this.handleImageLoad} onLoad={this.handleImageLoad}
/> />
); );
@ -95,6 +96,7 @@ export default class MediaItem extends ImmutablePureComponent {
<img <img
src={attachment.get('preview_url')} src={attachment.get('preview_url')}
alt={attachment.get('description')} alt={attachment.get('description')}
lang={status.get('language')}
style={{ objectPosition: `${x}% ${y}%` }} style={{ objectPosition: `${x}% ${y}%` }}
onLoad={this.handleImageLoad} onLoad={this.handleImageLoad}
/> />
@ -105,6 +107,7 @@ export default class MediaItem extends ImmutablePureComponent {
className='media-gallery__item-gifv-thumbnail' className='media-gallery__item-gifv-thumbnail'
aria-label={attachment.get('description')} aria-label={attachment.get('description')}
title={attachment.get('description')} title={attachment.get('description')}
lang={status.get('language')}
role='application' role='application'
src={attachment.get('url')} src={attachment.get('url')}
onMouseEnter={this.handleMouseEnter} onMouseEnter={this.handleMouseEnter}

@ -28,6 +28,7 @@ class Audio extends React.PureComponent {
static propTypes = { static propTypes = {
src: PropTypes.string.isRequired, src: PropTypes.string.isRequired,
alt: PropTypes.string, alt: PropTypes.string,
lang: PropTypes.string,
poster: PropTypes.string, poster: PropTypes.string,
duration: PropTypes.number, duration: PropTypes.number,
width: PropTypes.number, width: PropTypes.number,
@ -458,7 +459,7 @@ class Audio extends React.PureComponent {
}; };
render () { render () {
const { src, intl, alt, editable, autoPlay, sensitive, blurhash } = this.props; const { src, intl, alt, lang, editable, autoPlay, sensitive, blurhash } = this.props;
const { paused, muted, volume, currentTime, duration, buffer, dragging, revealed } = this.state; const { paused, muted, volume, currentTime, duration, buffer, dragging, revealed } = this.state;
const progress = Math.min((currentTime / duration) * 100, 100); const progress = Math.min((currentTime / duration) * 100, 100);
@ -503,6 +504,7 @@ class Audio extends React.PureComponent {
onKeyDown={this.handleAudioKeyDown} onKeyDown={this.handleAudioKeyDown}
title={alt} title={alt}
aria-label={alt} aria-label={alt}
lang={lang}
/> />
<div className={classNames('spoiler-button', { 'spoiler-button--hidden': revealed || editable })}> <div className={classNames('spoiler-button', { 'spoiler-button--hidden': revealed || editable })}>

@ -139,6 +139,7 @@ class DetailedStatus extends ImmutablePureComponent {
<Audio <Audio
src={attachment.get('url')} src={attachment.get('url')}
alt={attachment.get('description')} alt={attachment.get('description')}
lang={status.get('language')}
duration={attachment.getIn(['meta', 'original', 'duration'], 0)} duration={attachment.getIn(['meta', 'original', 'duration'], 0)}
poster={attachment.get('preview_url') || status.getIn(['account', 'avatar_static'])} poster={attachment.get('preview_url') || status.getIn(['account', 'avatar_static'])}
backgroundColor={attachment.getIn(['meta', 'colors', 'background'])} backgroundColor={attachment.getIn(['meta', 'colors', 'background'])}
@ -161,6 +162,7 @@ class DetailedStatus extends ImmutablePureComponent {
blurhash={attachment.get('blurhash')} blurhash={attachment.get('blurhash')}
src={attachment.get('url')} src={attachment.get('url')}
alt={attachment.get('description')} alt={attachment.get('description')}
lang={status.get('language')}
width={300} width={300}
height={150} height={150}
inline inline
@ -176,6 +178,7 @@ class DetailedStatus extends ImmutablePureComponent {
standalone standalone
sensitive={status.get('sensitive')} sensitive={status.get('sensitive')}
media={status.get('media_attachments')} media={status.get('media_attachments')}
lang={status.get('language')}
height={300} height={300}
onOpenMedia={this.props.onOpenMedia} onOpenMedia={this.props.onOpenMedia}
visible={this.props.showMedia} visible={this.props.showMedia}

@ -7,15 +7,17 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import Footer from 'mastodon/features/picture_in_picture/components/footer'; import Footer from 'mastodon/features/picture_in_picture/components/footer';
const mapStateToProps = (state, { statusId }) => ({ const mapStateToProps = (state, { statusId }) => ({
language: state.getIn(['statuses', statusId, 'language']),
accountStaticAvatar: state.getIn(['accounts', state.getIn(['statuses', statusId, 'account']), 'avatar_static']), accountStaticAvatar: state.getIn(['accounts', state.getIn(['statuses', statusId, 'account']), 'avatar_static']),
}); });
export default @connect(mapStateToProps) export default @connect(mapStateToProps, null, null, { forwardRef: true })
class AudioModal extends ImmutablePureComponent { class AudioModal extends ImmutablePureComponent {
static propTypes = { static propTypes = {
media: ImmutablePropTypes.map.isRequired, media: ImmutablePropTypes.map.isRequired,
statusId: PropTypes.string.isRequired, statusId: PropTypes.string.isRequired,
language: PropTypes.string,
accountStaticAvatar: PropTypes.string.isRequired, accountStaticAvatar: PropTypes.string.isRequired,
options: PropTypes.shape({ options: PropTypes.shape({
autoPlay: PropTypes.bool, autoPlay: PropTypes.bool,
@ -25,7 +27,7 @@ class AudioModal extends ImmutablePureComponent {
}; };
render () { render () {
const { media, accountStaticAvatar, statusId, onClose } = this.props; const { media, language, accountStaticAvatar, statusId, onClose } = this.props;
const options = this.props.options || {}; const options = this.props.options || {};
return ( return (
@ -34,6 +36,7 @@ class AudioModal extends ImmutablePureComponent {
<Audio <Audio
src={media.get('url')} src={media.get('url')}
alt={media.get('description')} alt={media.get('description')}
lang={language}
duration={media.getIn(['meta', 'original', 'duration'], 0)} duration={media.getIn(['meta', 'original', 'duration'], 0)}
height={150} height={150}
poster={media.get('preview_url') || accountStaticAvatar} poster={media.get('preview_url') || accountStaticAvatar}

@ -12,6 +12,7 @@ import RelativeTimestamp from 'mastodon/components/relative_timestamp';
import MediaAttachments from 'mastodon/components/media_attachments'; import MediaAttachments from 'mastodon/components/media_attachments';
const mapStateToProps = (state, { statusId }) => ({ const mapStateToProps = (state, { statusId }) => ({
language: state.getIn(['statuses', statusId, 'language']),
versions: state.getIn(['history', statusId, 'items']), versions: state.getIn(['history', statusId, 'items']),
}); });
@ -30,11 +31,12 @@ class CompareHistoryModal extends React.PureComponent {
onClose: PropTypes.func.isRequired, onClose: PropTypes.func.isRequired,
index: PropTypes.number.isRequired, index: PropTypes.number.isRequired,
statusId: PropTypes.string.isRequired, statusId: PropTypes.string.isRequired,
language: PropTypes.string.isRequired,
versions: ImmutablePropTypes.list.isRequired, versions: ImmutablePropTypes.list.isRequired,
}; };
render () { render () {
const { index, versions, onClose } = this.props; const { index, versions, language, onClose } = this.props;
const currentVersion = versions.get(index); const currentVersion = versions.get(index);
const emojiMap = currentVersion.get('emojis').reduce((obj, emoji) => { const emojiMap = currentVersion.get('emojis').reduce((obj, emoji) => {
@ -65,12 +67,12 @@ class CompareHistoryModal extends React.PureComponent {
<div className='status__content'> <div className='status__content'>
{currentVersion.get('spoiler_text').length > 0 && ( {currentVersion.get('spoiler_text').length > 0 && (
<React.Fragment> <React.Fragment>
<div className='translate' dangerouslySetInnerHTML={spoilerContent} /> <div className='translate' dangerouslySetInnerHTML={spoilerContent} lang={language} />
<hr /> <hr />
</React.Fragment> </React.Fragment>
)} )}
<div className='status__content__text status__content__text--visible translate' dangerouslySetInnerHTML={content} /> <div className='status__content__text status__content__text--visible translate' dangerouslySetInnerHTML={content} lang={language} />
{!!currentVersion.get('poll') && ( {!!currentVersion.get('poll') && (
<div className='poll'> <div className='poll'>
@ -82,6 +84,7 @@ class CompareHistoryModal extends React.PureComponent {
<span <span
className='poll__option__text translate' className='poll__option__text translate'
dangerouslySetInnerHTML={{ __html: emojify(escapeTextContentForBrowser(option.get('title')), emojiMap) }} dangerouslySetInnerHTML={{ __html: emojify(escapeTextContentForBrowser(option.get('title')), emojiMap) }}
lang={language}
/> />
</li> </li>
))} ))}
@ -89,7 +92,7 @@ class CompareHistoryModal extends React.PureComponent {
</div> </div>
)} )}
<MediaAttachments status={currentVersion} /> <MediaAttachments status={currentVersion} lang={language} />
</div> </div>
</div> </div>
</div> </div>

@ -8,6 +8,7 @@ export default class ImageLoader extends PureComponent {
static propTypes = { static propTypes = {
alt: PropTypes.string, alt: PropTypes.string,
lang: PropTypes.string,
src: PropTypes.string.isRequired, src: PropTypes.string.isRequired,
previewSrc: PropTypes.string, previewSrc: PropTypes.string,
width: PropTypes.number, width: PropTypes.number,
@ -18,6 +19,7 @@ export default class ImageLoader extends PureComponent {
static defaultProps = { static defaultProps = {
alt: '', alt: '',
lang: '',
width: null, width: null,
height: null, height: null,
}; };
@ -129,7 +131,7 @@ export default class ImageLoader extends PureComponent {
}; };
render () { render () {
const { alt, src, width, height, onClick } = this.props; const { alt, lang, src, width, height, onClick } = this.props;
const { loading } = this.state; const { loading } = this.state;
const className = classNames('image-loader', { const className = classNames('image-loader', {
@ -154,6 +156,7 @@ export default class ImageLoader extends PureComponent {
) : ( ) : (
<ZoomableImage <ZoomableImage
alt={alt} alt={alt}
lang={lang}
src={src} src={src}
onClick={onClick} onClick={onClick}
width={width} width={width}

@ -3,6 +3,7 @@ import ReactSwipeableViews from 'react-swipeable-views';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import Video from 'mastodon/features/video'; import Video from 'mastodon/features/video';
import { connect } from 'react-redux';
import classNames from 'classnames'; import classNames from 'classnames';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import IconButton from 'mastodon/components/icon_button'; import IconButton from 'mastodon/components/icon_button';
@ -20,7 +21,12 @@ const messages = defineMessages({
next: { id: 'lightbox.next', defaultMessage: 'Next' }, next: { id: 'lightbox.next', defaultMessage: 'Next' },
}); });
export default @injectIntl const mapStateToProps = (state, { statusId }) => ({
language: state.getIn(['statuses', statusId, 'language']),
});
export default @connect(mapStateToProps, null, null, { forwardRef: true })
@injectIntl
class MediaModal extends ImmutablePureComponent { class MediaModal extends ImmutablePureComponent {
static propTypes = { static propTypes = {
@ -129,7 +135,7 @@ class MediaModal extends ImmutablePureComponent {
}; };
render () { render () {
const { media, statusId, intl, onClose } = this.props; const { media, language, statusId, intl, onClose } = this.props;
const { navigationHidden } = this.state; const { navigationHidden } = this.state;
const index = this.getIndex(); const index = this.getIndex();
@ -149,6 +155,7 @@ class MediaModal extends ImmutablePureComponent {
width={width} width={width}
height={height} height={height}
alt={image.get('description')} alt={image.get('description')}
lang={language}
key={image.get('url')} key={image.get('url')}
onClick={this.toggleNavigation} onClick={this.toggleNavigation}
zoomButtonHidden={this.state.zoomButtonHidden} zoomButtonHidden={this.state.zoomButtonHidden}
@ -171,6 +178,7 @@ class MediaModal extends ImmutablePureComponent {
onCloseVideo={onClose} onCloseVideo={onClose}
detailed detailed
alt={image.get('description')} alt={image.get('description')}
lang={language}
key={image.get('url')} key={image.get('url')}
/> />
); );
@ -182,6 +190,7 @@ class MediaModal extends ImmutablePureComponent {
height={height} height={height}
key={image.get('preview_url')} key={image.get('preview_url')}
alt={image.get('description')} alt={image.get('description')}
lang={language}
onClick={this.toggleNavigation} onClick={this.toggleNavigation}
/> />
); );

@ -2,15 +2,22 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import Video from 'mastodon/features/video'; import Video from 'mastodon/features/video';
import { connect } from 'react-redux';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import Footer from 'mastodon/features/picture_in_picture/components/footer'; import Footer from 'mastodon/features/picture_in_picture/components/footer';
import { getAverageFromBlurhash } from 'mastodon/blurhash'; import { getAverageFromBlurhash } from 'mastodon/blurhash';
export default class VideoModal extends ImmutablePureComponent { const mapStateToProps = (state, { statusId }) => ({
language: state.getIn(['statuses', statusId, 'language']),
});
export default @connect(mapStateToProps, null, null, { forwardRef: true })
class VideoModal extends ImmutablePureComponent {
static propTypes = { static propTypes = {
media: ImmutablePropTypes.map.isRequired, media: ImmutablePropTypes.map.isRequired,
statusId: PropTypes.string, statusId: PropTypes.string,
language: PropTypes.string,
options: PropTypes.shape({ options: PropTypes.shape({
startTime: PropTypes.number, startTime: PropTypes.number,
autoPlay: PropTypes.bool, autoPlay: PropTypes.bool,
@ -31,7 +38,7 @@ export default class VideoModal extends ImmutablePureComponent {
} }
render () { render () {
const { media, statusId, onClose } = this.props; const { media, statusId, language, onClose } = this.props;
const options = this.props.options || {}; const options = this.props.options || {};
return ( return (
@ -49,6 +56,7 @@ export default class VideoModal extends ImmutablePureComponent {
autoFocus autoFocus
detailed detailed
alt={media.get('description')} alt={media.get('description')}
lang={language}
/> />
</div> </div>

@ -96,6 +96,7 @@ class ZoomableImage extends React.PureComponent {
static propTypes = { static propTypes = {
alt: PropTypes.string, alt: PropTypes.string,
lang: PropTypes.string,
src: PropTypes.string.isRequired, src: PropTypes.string.isRequired,
width: PropTypes.number, width: PropTypes.number,
height: PropTypes.number, height: PropTypes.number,
@ -106,6 +107,7 @@ class ZoomableImage extends React.PureComponent {
static defaultProps = { static defaultProps = {
alt: '', alt: '',
lang: '',
width: null, width: null,
height: null, height: null,
}; };
@ -403,7 +405,7 @@ class ZoomableImage extends React.PureComponent {
}; };
render () { render () {
const { alt, src, width, height, intl } = this.props; const { alt, lang, src, width, height, intl } = this.props;
const { scale, lockTranslate } = this.state; const { scale, lockTranslate } = this.state;
const overflow = scale === MIN_SCALE ? 'hidden' : 'scroll'; const overflow = scale === MIN_SCALE ? 'hidden' : 'scroll';
const zoomButtonShouldHide = this.state.navigationHidden || this.props.zoomButtonHidden || this.state.zoomMatrix.rate <= MIN_SCALE ? 'media-modal__zoom-button--hidden' : ''; const zoomButtonShouldHide = this.state.navigationHidden || this.props.zoomButtonHidden || this.state.zoomMatrix.rate <= MIN_SCALE ? 'media-modal__zoom-button--hidden' : '';
@ -431,6 +433,7 @@ class ZoomableImage extends React.PureComponent {
ref={this.setImageRef} ref={this.setImageRef}
alt={alt} alt={alt}
title={alt} title={alt}
lang={lang}
src={src} src={src}
width={width} width={width}
height={height} height={height}

@ -102,6 +102,7 @@ class Video extends React.PureComponent {
frameRate: PropTypes.string, frameRate: PropTypes.string,
src: PropTypes.string.isRequired, src: PropTypes.string.isRequired,
alt: PropTypes.string, alt: PropTypes.string,
lang: PropTypes.string,
width: PropTypes.number, width: PropTypes.number,
height: PropTypes.number, height: PropTypes.number,
sensitive: PropTypes.bool, sensitive: PropTypes.bool,
@ -524,7 +525,7 @@ class Video extends React.PureComponent {
} }
render () { render () {
const { preview, src, inline, onOpenVideo, onCloseVideo, intl, alt, detailed, sensitive, editable, blurhash, autoFocus } = this.props; const { preview, src, inline, onOpenVideo, onCloseVideo, intl, alt, lang, detailed, sensitive, editable, blurhash, autoFocus } = this.props;
const { containerWidth, currentTime, duration, volume, buffer, dragging, paused, fullscreen, hovered, muted, revealed } = this.state; const { containerWidth, 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 = {}; const playerStyle = {};
@ -585,6 +586,7 @@ class Video extends React.PureComponent {
tabIndex='0' tabIndex='0'
aria-label={alt} aria-label={alt}
title={alt} title={alt}
lang={lang}
width={width} width={width}
height={height} height={height}
volume={volume} volume={volume}

@ -138,7 +138,7 @@
"compose_form.poll.remove_option": "إزالة هذا الخيار", "compose_form.poll.remove_option": "إزالة هذا الخيار",
"compose_form.poll.switch_to_multiple": "تغيِير الاستطلاع للسماح باِخيارات مُتعدِّدة", "compose_form.poll.switch_to_multiple": "تغيِير الاستطلاع للسماح باِخيارات مُتعدِّدة",
"compose_form.poll.switch_to_single": "تغيِير الاستطلاع للسماح باِخيار واحد فقط", "compose_form.poll.switch_to_single": "تغيِير الاستطلاع للسماح باِخيار واحد فقط",
"compose_form.publish": "انشر", "compose_form.publish": "نشر",
"compose_form.publish_form": "انشر", "compose_form.publish_form": "انشر",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "احفظ التعديلات", "compose_form.save_changes": "احفظ التعديلات",
@ -176,7 +176,7 @@
"conversation.delete": "احذف المحادثة", "conversation.delete": "احذف المحادثة",
"conversation.mark_as_read": "اعتبرها كمقروءة", "conversation.mark_as_read": "اعتبرها كمقروءة",
"conversation.open": "اعرض المحادثة", "conversation.open": "اعرض المحادثة",
"conversation.with": "بـ {names}", "conversation.with": "مع {names}",
"copypaste.copied": "تم نسخه", "copypaste.copied": "تم نسخه",
"copypaste.copy": "انسخ", "copypaste.copy": "انسخ",
"directory.federated": "مِن الفديفرس المعروف", "directory.federated": "مِن الفديفرس المعروف",
@ -215,7 +215,7 @@
"empty_column.bookmarked_statuses": "ليس لديك أية منشورات في الفواصل المرجعية بعد. عندما ستقوم بإضافة البعض منها، ستظهر هنا.", "empty_column.bookmarked_statuses": "ليس لديك أية منشورات في الفواصل المرجعية بعد. عندما ستقوم بإضافة البعض منها، ستظهر هنا.",
"empty_column.community": "الخط العام المحلي فارغ. أكتب شيئا ما للعامة كبداية!", "empty_column.community": "الخط العام المحلي فارغ. أكتب شيئا ما للعامة كبداية!",
"empty_column.direct": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.", "empty_column.direct": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.",
"empty_column.domain_blocks": "ليس هناك نطاقات مخفية بعد.", "empty_column.domain_blocks": "ليس هناك نطاقات تم حجبها بعد.",
"empty_column.explore_statuses": "ليس هناك ما هو متداوَل الآن. عد في وقت لاحق!", "empty_column.explore_statuses": "ليس هناك ما هو متداوَل الآن. عد في وقت لاحق!",
"empty_column.favourited_statuses": "ليس لديك أية منشورات مفضلة بعد. عندما ستقوم بالإعجاب بواحدة، ستظهر هنا.", "empty_column.favourited_statuses": "ليس لديك أية منشورات مفضلة بعد. عندما ستقوم بالإعجاب بواحدة، ستظهر هنا.",
"empty_column.favourites": "لم يقم أي أحد بالإعجاب بهذا المنشور بعد. عندما يقوم أحدهم بذلك سوف يظهر هنا.", "empty_column.favourites": "لم يقم أي أحد بالإعجاب بهذا المنشور بعد. عندما يقوم أحدهم بذلك سوف يظهر هنا.",
@ -245,7 +245,7 @@
"filter_modal.added.context_mismatch_explanation": "فئة عامل التصفية هذه لا تنطبق على السياق الذي وصلت فيه إلى هذه المشاركة. إذا كنت ترغب في تصفية المنشور في هذا السياق أيضا، فسيتعين عليك تعديل عامل التصفية.", "filter_modal.added.context_mismatch_explanation": "فئة عامل التصفية هذه لا تنطبق على السياق الذي وصلت فيه إلى هذه المشاركة. إذا كنت ترغب في تصفية المنشور في هذا السياق أيضا، فسيتعين عليك تعديل عامل التصفية.",
"filter_modal.added.context_mismatch_title": "عدم تطابق السياق!", "filter_modal.added.context_mismatch_title": "عدم تطابق السياق!",
"filter_modal.added.expired_explanation": "انتهت صلاحية فئة عامل التصفية هذه، سوف تحتاج إلى تغيير تاريخ انتهاء الصلاحية لتطبيقها.", "filter_modal.added.expired_explanation": "انتهت صلاحية فئة عامل التصفية هذه، سوف تحتاج إلى تغيير تاريخ انتهاء الصلاحية لتطبيقها.",
"filter_modal.added.expired_title": "تصفية منتهية الصلاحية!", "filter_modal.added.expired_title": "عامل تصفية انتهت صلاحيته!",
"filter_modal.added.review_and_configure": "لمراجعة وزيادة تكوين فئة عوامل التصفية هذه، انتقل إلى {settings_link}.", "filter_modal.added.review_and_configure": "لمراجعة وزيادة تكوين فئة عوامل التصفية هذه، انتقل إلى {settings_link}.",
"filter_modal.added.review_and_configure_title": "إعدادات التصفية", "filter_modal.added.review_and_configure_title": "إعدادات التصفية",
"filter_modal.added.settings_link": "صفحة الإعدادات", "filter_modal.added.settings_link": "صفحة الإعدادات",

@ -383,7 +383,7 @@
"navigation_bar.filters": "Pallabres desactivaes", "navigation_bar.filters": "Pallabres desactivaes",
"navigation_bar.follow_requests": "Solicitúes de siguimientu", "navigation_bar.follow_requests": "Solicitúes de siguimientu",
"navigation_bar.followed_tags": "Followed hashtags", "navigation_bar.followed_tags": "Followed hashtags",
"navigation_bar.follows_and_followers": "Follows and followers", "navigation_bar.follows_and_followers": "Perfiles que sigues ya te siguen",
"navigation_bar.lists": "Llistes", "navigation_bar.lists": "Llistes",
"navigation_bar.logout": "Zarrar la sesión", "navigation_bar.logout": "Zarrar la sesión",
"navigation_bar.mutes": "Perfiles colos avisos desactivaos", "navigation_bar.mutes": "Perfiles colos avisos desactivaos",

@ -16,7 +16,7 @@
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
"account.badges.group": "Gruppe", "account.badges.group": "Gruppe",
"account.block": "@{name} blockieren", "account.block": "@{name} blockieren",
"account.block_domain": "Alles von {domain} verstecken", "account.block_domain": "{domain} sperren",
"account.blocked": "Blockiert", "account.blocked": "Blockiert",
"account.browse_more_on_origin_server": "Mehr auf dem Originalprofil durchsuchen", "account.browse_more_on_origin_server": "Mehr auf dem Originalprofil durchsuchen",
"account.cancel_follow_request": "Folgeanfrage zurückziehen", "account.cancel_follow_request": "Folgeanfrage zurückziehen",

@ -32,9 +32,9 @@
"account.follow": "Seguir", "account.follow": "Seguir",
"account.followers": "Seguidores", "account.followers": "Seguidores",
"account.followers.empty": "Todavía nadie sigue a este usuario.", "account.followers.empty": "Todavía nadie sigue a este usuario.",
"account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidores}}", "account.followers_counter": "{count, plural, one {{counter} seguidor} other {{counter} seguidores}}",
"account.following": "Siguiendo", "account.following": "Siguiendo",
"account.following_counter": "{count, plural, other {{counter} Siguiendo}}", "account.following_counter": "{count, plural, other {Siguiendo a {counter}}}",
"account.follows.empty": "Todavía este usuario no sigue a nadie.", "account.follows.empty": "Todavía este usuario no sigue a nadie.",
"account.follows_you": "Te sigue", "account.follows_you": "Te sigue",
"account.go_to_profile": "Ir al perfil", "account.go_to_profile": "Ir al perfil",
@ -57,7 +57,7 @@
"account.requested_follow": "{name} solicitó seguirte", "account.requested_follow": "{name} solicitó seguirte",
"account.share": "Compartir el perfil de @{name}", "account.share": "Compartir el perfil de @{name}",
"account.show_reblogs": "Mostrar adhesiones de @{name}", "account.show_reblogs": "Mostrar adhesiones de @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Mensaje} other {{counter} Mensajes}}", "account.statuses_counter": "{count, plural, one {{counter} mensaje} other {{counter} mensajes}}",
"account.unblock": "Desbloquear a @{name}", "account.unblock": "Desbloquear a @{name}",
"account.unblock_domain": "Desbloquear dominio {domain}", "account.unblock_domain": "Desbloquear dominio {domain}",
"account.unblock_short": "Desbloquear", "account.unblock_short": "Desbloquear",

@ -51,7 +51,7 @@
"account.muted": "Silenciado", "account.muted": "Silenciado",
"account.open_original_page": "Abrir página original", "account.open_original_page": "Abrir página original",
"account.posts": "Publicaciones", "account.posts": "Publicaciones",
"account.posts_with_replies": "Publicaciones y respuestas", "account.posts_with_replies": "Pub. y respuestas",
"account.report": "Reportar a @{name}", "account.report": "Reportar a @{name}",
"account.requested": "Esperando aprobación. Clica para cancelar la solicitud de seguimiento", "account.requested": "Esperando aprobación. Clica para cancelar la solicitud de seguimiento",
"account.requested_follow": "{name} ha solicitado seguirte", "account.requested_follow": "{name} ha solicitado seguirte",

@ -29,7 +29,7 @@
"account.featured_tags.last_status_at": "Viimeisin viesti {date}", "account.featured_tags.last_status_at": "Viimeisin viesti {date}",
"account.featured_tags.last_status_never": "Ei viestejä", "account.featured_tags.last_status_never": "Ei viestejä",
"account.featured_tags.title": "Käyttäjän {name} esillä olevat aihetunnisteet", "account.featured_tags.title": "Käyttäjän {name} esillä olevat aihetunnisteet",
"account.follow": "Seuratut", "account.follow": "Seuraa",
"account.followers": "Seuraajat", "account.followers": "Seuraajat",
"account.followers.empty": "Kukaan ei seuraa tätä käyttäjää vielä.", "account.followers.empty": "Kukaan ei seuraa tätä käyttäjää vielä.",
"account.followers_counter": "{count, plural, one {{counter} seuraaja} other {{counter} seuraajaa}}", "account.followers_counter": "{count, plural, one {{counter} seuraaja} other {{counter} seuraajaa}}",
@ -582,7 +582,7 @@
"status.reblogs.empty": "Kukaan ei ole vielä tehostanut tätä viestiä. Kun joku tekee niin, näkyy kyseinen henkilö tässä.", "status.reblogs.empty": "Kukaan ei ole vielä tehostanut tätä viestiä. Kun joku tekee niin, näkyy kyseinen henkilö tässä.",
"status.redraft": "Poista ja palauta muokattavaksi", "status.redraft": "Poista ja palauta muokattavaksi",
"status.remove_bookmark": "Poista kirjanmerkki", "status.remove_bookmark": "Poista kirjanmerkki",
"status.replied_to": "Vastasit käyttäjälle {name}", "status.replied_to": "Vastaus käyttäjälle {name}",
"status.reply": "Vastaa", "status.reply": "Vastaa",
"status.replyAll": "Vastaa ketjuun", "status.replyAll": "Vastaa ketjuun",
"status.report": "Raportoi @{name}", "status.report": "Raportoi @{name}",

@ -54,7 +54,7 @@
"account.posts_with_replies": "टूट्स एवं जवाब", "account.posts_with_replies": "टूट्स एवं जवाब",
"account.report": "रिपोर्ट @{name}", "account.report": "रिपोर्ट @{name}",
"account.requested": "मंजूरी का इंतजार। फॉलो रिक्वेस्ट को रद्द करने के लिए क्लिक करें", "account.requested": "मंजूरी का इंतजार। फॉलो रिक्वेस्ट को रद्द करने के लिए क्लिक करें",
"account.requested_follow": "{name} has requested to follow you", "account.requested_follow": "{name} ने आपको फॉलो करने के लिए अनुरोध किया है",
"account.share": "@{name} की प्रोफाइल शेयर करे", "account.share": "@{name} की प्रोफाइल शेयर करे",
"account.show_reblogs": "@{name} के बूस्ट दिखाए", "account.show_reblogs": "@{name} के बूस्ट दिखाए",
"account.statuses_counter": "{count, plural, one {{counter} भोंपू} other {{counter} भोंपू}}", "account.statuses_counter": "{count, plural, one {{counter} भोंपू} other {{counter} भोंपू}}",
@ -128,7 +128,7 @@
"compose.language.search": "भाषाएँ खोजें...", "compose.language.search": "भाषाएँ खोजें...",
"compose_form.direct_message_warning_learn_more": "और जानें", "compose_form.direct_message_warning_learn_more": "और जानें",
"compose_form.encryption_warning": "मास्टोडॉन पर पोस्ट एन्ड-टू-एन्ड एन्क्रिप्टेड नहीं है। कोई भी व्यक्तिगत जानकारी मास्टोडॉन पर मत भेजें।", "compose_form.encryption_warning": "मास्टोडॉन पर पोस्ट एन्ड-टू-एन्ड एन्क्रिप्टेड नहीं है। कोई भी व्यक्तिगत जानकारी मास्टोडॉन पर मत भेजें।",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", "compose_form.hashtag_warning": "ये पोस्ट किसी भी हैशटैग में लिस्ट नहीं किया जाएगा क्योंकि ये पब्लिक नहीं है। सिर्फ पब्लिक पोस्ट ही हैशटैग से खोजे जा सकते हैं।",
"compose_form.lock_disclaimer": "आपका खाता {locked} नहीं है। आपको केवल फॉलोवर्स को दिखाई दिए जाने वाले पोस्ट देखने के लिए कोई भी फॉलो कर सकता है।", "compose_form.lock_disclaimer": "आपका खाता {locked} नहीं है। आपको केवल फॉलोवर्स को दिखाई दिए जाने वाले पोस्ट देखने के लिए कोई भी फॉलो कर सकता है।",
"compose_form.lock_disclaimer.lock": "लॉक्ड", "compose_form.lock_disclaimer.lock": "लॉक्ड",
"compose_form.placeholder": "What is on your mind?", "compose_form.placeholder": "What is on your mind?",
@ -221,7 +221,7 @@
"empty_column.favourites": "अभी तक किसी ने भी इस टूट को पसंद (स्टार) नहीं किया है. जब भी कोई इसे पसंद करेगा, उनका नाम यहाँ दिखेगा।", "empty_column.favourites": "अभी तक किसी ने भी इस टूट को पसंद (स्टार) नहीं किया है. जब भी कोई इसे पसंद करेगा, उनका नाम यहाँ दिखेगा।",
"empty_column.follow_recommendations": "ऐसा लगता है कि आपके लिए कोई सुझाव जेनरेट नहीं किया जा सका. आप उन लोगों को खोजने के लिए सर्च का उपयोग करने का प्रयास कर सकते हैं जिन्हें आप जानते हैं या ट्रेंडिंग हैशटैग का पता लगा सकते हैं।", "empty_column.follow_recommendations": "ऐसा लगता है कि आपके लिए कोई सुझाव जेनरेट नहीं किया जा सका. आप उन लोगों को खोजने के लिए सर्च का उपयोग करने का प्रयास कर सकते हैं जिन्हें आप जानते हैं या ट्रेंडिंग हैशटैग का पता लगा सकते हैं।",
"empty_column.follow_requests": "अभी तक किसी ने भी आपका अनुसरण करने की विनती नहीं की है. जब भी कोई आपको विनती भेजेगा, वो यहाँ दिखेगी.", "empty_column.follow_requests": "अभी तक किसी ने भी आपका अनुसरण करने की विनती नहीं की है. जब भी कोई आपको विनती भेजेगा, वो यहाँ दिखेगी.",
"empty_column.followed_tags": "You have not followed any hashtags yet. When you do, they will show up here.", "empty_column.followed_tags": "आपने किसी हैशटैग को फॉलो नहीं किया है। जैसे ही आप फॉलो करेंगे, आपके फॉलो किए गए हैशटैग यहां दिखेंगे।",
"empty_column.hashtag": "यह हैशटैग अभी तक खाली है।", "empty_column.hashtag": "यह हैशटैग अभी तक खाली है।",
"empty_column.home": "आपकी मुख्य कालक्रम अभी खली है. अन्य उपयोगकर्ताओं से मिलने के लिए और अपनी गतिविधियां शुरू करने के लिए या तो {public} पर जाएं या खोज का उपयोग करें।", "empty_column.home": "आपकी मुख्य कालक्रम अभी खली है. अन्य उपयोगकर्ताओं से मिलने के लिए और अपनी गतिविधियां शुरू करने के लिए या तो {public} पर जाएं या खोज का उपयोग करें।",
"empty_column.home.suggestions": "कुछ सुझाव देखिए", "empty_column.home.suggestions": "कुछ सुझाव देखिए",
@ -240,8 +240,8 @@
"explore.suggested_follows": "आपके लिए", "explore.suggested_follows": "आपके लिए",
"explore.title": "एक्स्प्लोर", "explore.title": "एक्स्प्लोर",
"explore.trending_links": "समाचार", "explore.trending_links": "समाचार",
"explore.trending_statuses": "Posts", "explore.trending_statuses": "पोस्ट्स",
"explore.trending_tags": "Hashtags", "explore.trending_tags": "हैशटैग्स",
"filter_modal.added.context_mismatch_explanation": "यह फ़िल्टर श्रेणी उस संदर्भ पर लागू नहीं होती जिसमें आपने इस पोस्ट को एक्सेस किया है। यदि आप चाहते हैं कि इस संदर्भ में भी पोस्ट को फ़िल्टर किया जाए, तो आपको फ़िल्टर को एडिट करना होगा।", "filter_modal.added.context_mismatch_explanation": "यह फ़िल्टर श्रेणी उस संदर्भ पर लागू नहीं होती जिसमें आपने इस पोस्ट को एक्सेस किया है। यदि आप चाहते हैं कि इस संदर्भ में भी पोस्ट को फ़िल्टर किया जाए, तो आपको फ़िल्टर को एडिट करना होगा।",
"filter_modal.added.context_mismatch_title": "कंटेंट मिसमैच!", "filter_modal.added.context_mismatch_title": "कंटेंट मिसमैच!",
"filter_modal.added.expired_explanation": "यह फ़िल्टर श्रेणी समाप्त हो गई है, इसे लागू करने के लिए आपको समाप्ति तिथि बदलनी होगी।", "filter_modal.added.expired_explanation": "यह फ़िल्टर श्रेणी समाप्त हो गई है, इसे लागू करने के लिए आपको समाप्ति तिथि बदलनी होगी।",
@ -264,7 +264,7 @@
"follow_request.authorize": "अधिकार दें", "follow_request.authorize": "अधिकार दें",
"follow_request.reject": "अस्वीकार करें", "follow_request.reject": "अस्वीकार करें",
"follow_requests.unlocked_explanation": "हालाँकि आपका खाता लॉक नहीं है, फिर भी {domain} डोमेन स्टाफ ने सोचा कि आप इन खातों के मैन्युअल अनुरोधों की समीक्षा करना चाहते हैं।", "follow_requests.unlocked_explanation": "हालाँकि आपका खाता लॉक नहीं है, फिर भी {domain} डोमेन स्टाफ ने सोचा कि आप इन खातों के मैन्युअल अनुरोधों की समीक्षा करना चाहते हैं।",
"followed_tags": "Followed hashtags", "followed_tags": "फॉलो किए गए हैशटैग्स",
"footer.about": "अबाउट", "footer.about": "अबाउट",
"footer.directory": "प्रोफाइल्स डायरेक्टरी", "footer.directory": "प्रोफाइल्स डायरेक्टरी",
"footer.get_app": "अप्प प्राप्त करें", "footer.get_app": "अप्प प्राप्त करें",
@ -272,7 +272,7 @@
"footer.keyboard_shortcuts": "कीबोर्ड शॉर्टकट", "footer.keyboard_shortcuts": "कीबोर्ड शॉर्टकट",
"footer.privacy_policy": "प्राइवेसी पालिसी", "footer.privacy_policy": "प्राइवेसी पालिसी",
"footer.source_code": "सोर्स कोड देखें", "footer.source_code": "सोर्स कोड देखें",
"footer.status": "Status", "footer.status": "स्टेटस",
"generic.saved": "सेव्ड", "generic.saved": "सेव्ड",
"getting_started.heading": "पहले कदम रखें", "getting_started.heading": "पहले कदम रखें",
"hashtag.column_header.tag_mode.all": "और {additional}", "hashtag.column_header.tag_mode.all": "और {additional}",

@ -312,7 +312,7 @@
"keyboard_shortcuts.column": "Setja virkni í dálk", "keyboard_shortcuts.column": "Setja virkni í dálk",
"keyboard_shortcuts.compose": "Setja virkni á textainnsetningarreit", "keyboard_shortcuts.compose": "Setja virkni á textainnsetningarreit",
"keyboard_shortcuts.description": "Lýsing", "keyboard_shortcuts.description": "Lýsing",
"keyboard_shortcuts.direct": "að opna dálk með beinum skilaboðum", "keyboard_shortcuts.direct": "Opna dálk með beinum skilaboðum",
"keyboard_shortcuts.down": "Fara neðar í listanum", "keyboard_shortcuts.down": "Fara neðar í listanum",
"keyboard_shortcuts.enter": "Opna færslu", "keyboard_shortcuts.enter": "Opna færslu",
"keyboard_shortcuts.favourite": "Eftirlætisfærsla", "keyboard_shortcuts.favourite": "Eftirlætisfærsla",

@ -474,7 +474,7 @@
"relative_time.full.seconds": "{number, plural, one {# secondo} other {# secondi}} fa", "relative_time.full.seconds": "{number, plural, one {# secondo} other {# secondi}} fa",
"relative_time.hours": "{number}h", "relative_time.hours": "{number}h",
"relative_time.just_now": "ora", "relative_time.just_now": "ora",
"relative_time.minutes": "{number} minuti", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "oggi", "relative_time.today": "oggi",
"reply_indicator.cancel": "Annulla", "reply_indicator.cancel": "Annulla",

@ -10,7 +10,7 @@
"about.domain_blocks.suspended.title": "Suspended", "about.domain_blocks.suspended.title": "Suspended",
"about.not_available": "This information has not been made available on this server.", "about.not_available": "This information has not been made available on this server.",
"about.powered_by": "Decentralized social media powered by {mastodon}", "about.powered_by": "Decentralized social media powered by {mastodon}",
"about.rules": "Server rules", "about.rules": "Ilugan n uqeddac",
"account.account_note_header": "Tazmilt", "account.account_note_header": "Tazmilt",
"account.add_or_remove_from_list": "Rnu neɣ kkes seg tebdarin", "account.add_or_remove_from_list": "Rnu neɣ kkes seg tebdarin",
"account.badges.bot": "Aṛubut", "account.badges.bot": "Aṛubut",
@ -83,7 +83,7 @@
"boost_modal.combo": "Tzemreḍ ad tetekkiḍ ɣef {combo} akken ad tessurfeḍ aya tikelt-nniḍen", "boost_modal.combo": "Tzemreḍ ad tetekkiḍ ɣef {combo} akken ad tessurfeḍ aya tikelt-nniḍen",
"bundle_column_error.copy_stacktrace": "Nɣel tuccḍa n uneqqis", "bundle_column_error.copy_stacktrace": "Nɣel tuccḍa n uneqqis",
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
"bundle_column_error.error.title": "Oh, no!", "bundle_column_error.error.title": "Uh, ala !",
"bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.",
"bundle_column_error.network.title": "Tuccḍa deg uẓeṭṭa", "bundle_column_error.network.title": "Tuccḍa deg uẓeṭṭa",
"bundle_column_error.retry": "Ɛreḍ tikelt-nniḍen", "bundle_column_error.retry": "Ɛreḍ tikelt-nniḍen",

@ -145,7 +145,7 @@
"compose_form.sensitive.hide": "미디어를 민감함으로 설정하기", "compose_form.sensitive.hide": "미디어를 민감함으로 설정하기",
"compose_form.sensitive.marked": "미디어가 열람주의로 설정되어 있습니다", "compose_form.sensitive.marked": "미디어가 열람주의로 설정되어 있습니다",
"compose_form.sensitive.unmarked": "미디어가 열람주의로 설정 되어 있지 않습니다", "compose_form.sensitive.unmarked": "미디어가 열람주의로 설정 되어 있지 않습니다",
"compose_form.spoiler.marked": "콘텐츠 경고 제거", "compose_form.spoiler.marked": "열람주의 제거",
"compose_form.spoiler.unmarked": "열람 주의 문구 추가", "compose_form.spoiler.unmarked": "열람 주의 문구 추가",
"compose_form.spoiler_placeholder": "경고 문구를 여기에 작성하세요", "compose_form.spoiler_placeholder": "경고 문구를 여기에 작성하세요",
"confirmation_modal.cancel": "취소", "confirmation_modal.cancel": "취소",
@ -224,7 +224,7 @@
"empty_column.followed_tags": "아직 아무 해시태그도 팔로우하고 있지 않습니다. 해시태그를 팔로우하면, 여기에 표시됩니다.", "empty_column.followed_tags": "아직 아무 해시태그도 팔로우하고 있지 않습니다. 해시태그를 팔로우하면, 여기에 표시됩니다.",
"empty_column.hashtag": "이 해시태그는 아직 사용되지 않았습니다.", "empty_column.hashtag": "이 해시태그는 아직 사용되지 않았습니다.",
"empty_column.home": "당신의 홈 타임라인은 비어있습니다! 더 많은 사람들을 팔로우 하여 채워보세요. {suggestions}", "empty_column.home": "당신의 홈 타임라인은 비어있습니다! 더 많은 사람들을 팔로우 하여 채워보세요. {suggestions}",
"empty_column.home.suggestions": "몇몇 제안 보기", "empty_column.home.suggestions": "몇몇 제안 보기",
"empty_column.list": "리스트에 아직 아무것도 없습니다. 리스트의 누군가가 게시물을 올리면 여기에 나타납니다.", "empty_column.list": "리스트에 아직 아무것도 없습니다. 리스트의 누군가가 게시물을 올리면 여기에 나타납니다.",
"empty_column.lists": "아직 리스트가 없습니다. 리스트를 만들면 여기에 나타납니다.", "empty_column.lists": "아직 리스트가 없습니다. 리스트를 만들면 여기에 나타납니다.",
"empty_column.mutes": "아직 아무도 뮤트하지 않았습니다.", "empty_column.mutes": "아직 아무도 뮤트하지 않았습니다.",
@ -259,7 +259,7 @@
"filter_modal.select_filter.title": "이 게시물을 필터", "filter_modal.select_filter.title": "이 게시물을 필터",
"filter_modal.title.status": "게시물 필터", "filter_modal.title.status": "게시물 필터",
"follow_recommendations.done": "완료", "follow_recommendations.done": "완료",
"follow_recommendations.heading": "게시물을 받아 볼 사람을 팔로우 하세요! 여기 몇몇 추천이 있습니다.", "follow_recommendations.heading": "게시물을 받아 볼 사람을 팔로우하세요! 여기 몇몇 추천이 있습니다.",
"follow_recommendations.lead": "당신이 팔로우 하는 사람들의 게시물이 시간순으로 정렬되어 당신의 홈 피드에 표시될 것입니다. 실수를 두려워 하지 마세요, 언제든지 쉽게 팔로우 취소를 할 수 있습니다!", "follow_recommendations.lead": "당신이 팔로우 하는 사람들의 게시물이 시간순으로 정렬되어 당신의 홈 피드에 표시될 것입니다. 실수를 두려워 하지 마세요, 언제든지 쉽게 팔로우 취소를 할 수 있습니다!",
"follow_request.authorize": "허가", "follow_request.authorize": "허가",
"follow_request.reject": "거부", "follow_request.reject": "거부",
@ -400,7 +400,7 @@
"notification.follow": "{name} 님이 나를 팔로우했습니다", "notification.follow": "{name} 님이 나를 팔로우했습니다",
"notification.follow_request": "{name} 님이 팔로우 요청을 보냈습니다", "notification.follow_request": "{name} 님이 팔로우 요청을 보냈습니다",
"notification.mention": "{name}님의 멘션", "notification.mention": "{name}님의 멘션",
"notification.own_poll": "내 투표가 끝났습니다", "notification.own_poll": "투표를 마쳤습니다.",
"notification.poll": "참여했던 투표가 끝났습니다.", "notification.poll": "참여했던 투표가 끝났습니다.",
"notification.reblog": "{name} 님이 부스트했습니다", "notification.reblog": "{name} 님이 부스트했습니다",
"notification.status": "{name} 님이 방금 게시물을 올렸습니다", "notification.status": "{name} 님이 방금 게시물을 올렸습니다",
@ -589,13 +589,13 @@
"status.sensitive_warning": "민감한 내용", "status.sensitive_warning": "민감한 내용",
"status.share": "공유", "status.share": "공유",
"status.show_filter_reason": "그냥 표시하기", "status.show_filter_reason": "그냥 표시하기",
"status.show_less": "적게 보기", "status.show_less": "기",
"status.show_less_all": "모두 접기", "status.show_less_all": "모두 접기",
"status.show_more": "더 보기", "status.show_more": "펼치기",
"status.show_more_all": "모두 펼치기", "status.show_more_all": "모두 펼치기",
"status.show_original": "원본 보기", "status.show_original": "원본 보기",
"status.translate": "번역", "status.translate": "번역",
"status.translated_from_with": "{lang}에서 {provider}를 사용해 번역됨", "status.translated_from_with": "{provider}에 의해 {lang}에서 번역됨",
"status.uncached_media_warning": "사용할 수 없음", "status.uncached_media_warning": "사용할 수 없음",
"status.unmute_conversation": "이 대화의 뮤트 해제하기", "status.unmute_conversation": "이 대화의 뮤트 해제하기",
"status.unpin": "고정 해제", "status.unpin": "고정 해제",

@ -1,7 +1,7 @@
{ {
"about.blocks": "Moderatorių prižiūrimi serveriai", "about.blocks": "Moderatorių prižiūrimi serveriai",
"about.contact": "Kontaktai:", "about.contact": "Kontaktai:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodon, tai nemokama, atviro kodo programa, kuriuos prekybinis ženklas priklauso Mastodon GmbH.",
"about.domain_blocks.no_reason_available": "Priežastis nežinoma", "about.domain_blocks.no_reason_available": "Priežastis nežinoma",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",

@ -128,7 +128,7 @@
"compose.language.search": "Cari bahasa...", "compose.language.search": "Cari bahasa...",
"compose_form.direct_message_warning_learn_more": "Ketahui lebih lanjut", "compose_form.direct_message_warning_learn_more": "Ketahui lebih lanjut",
"compose_form.encryption_warning": "Hantaran pada Mastodon tidak disulitkan hujung ke hujung. Jangan berkongsi sebarang maklumat sensitif melalui Mastodon.", "compose_form.encryption_warning": "Hantaran pada Mastodon tidak disulitkan hujung ke hujung. Jangan berkongsi sebarang maklumat sensitif melalui Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", "compose_form.hashtag_warning": "Hantaran ini tidak akan disenaraikan di bawah mana-mana tanda pagar kerana ia tidak tersenarai. Hanya hantaran awam sahaja boleh dicari menggunakan tanda pagar.",
"compose_form.lock_disclaimer": "Akaun anda tidak {locked}. Sesiapa pun boleh mengikuti anda untuk melihat hantaran pengikut-sahaja anda.", "compose_form.lock_disclaimer": "Akaun anda tidak {locked}. Sesiapa pun boleh mengikuti anda untuk melihat hantaran pengikut-sahaja anda.",
"compose_form.lock_disclaimer.lock": "dikunci", "compose_form.lock_disclaimer.lock": "dikunci",
"compose_form.placeholder": "Apakah yang sedang anda fikirkan?", "compose_form.placeholder": "Apakah yang sedang anda fikirkan?",
@ -237,11 +237,11 @@
"errors.unexpected_crash.copy_stacktrace": "Salin surih tindanan ke papan keratan", "errors.unexpected_crash.copy_stacktrace": "Salin surih tindanan ke papan keratan",
"errors.unexpected_crash.report_issue": "Laporkan masalah", "errors.unexpected_crash.report_issue": "Laporkan masalah",
"explore.search_results": "Hasil carian", "explore.search_results": "Hasil carian",
"explore.suggested_follows": "For you", "explore.suggested_follows": "Untuk anda",
"explore.title": "Terokai", "explore.title": "Terokai",
"explore.trending_links": "News", "explore.trending_links": "Baru",
"explore.trending_statuses": "Posts", "explore.trending_statuses": "Hantar",
"explore.trending_tags": "Hashtags", "explore.trending_tags": "-Hashtags",
"filter_modal.added.context_mismatch_explanation": "Kumpulan penapis ini tidak terpakai pada konteks di mana anda mengakses hantaran ini. Jika anda ingin hantaran ini untuk ditapis dalam konteks ini juga, anda perlu menyunting penapis tersebut.", "filter_modal.added.context_mismatch_explanation": "Kumpulan penapis ini tidak terpakai pada konteks di mana anda mengakses hantaran ini. Jika anda ingin hantaran ini untuk ditapis dalam konteks ini juga, anda perlu menyunting penapis tersebut.",
"filter_modal.added.context_mismatch_title": "Konteks tidak sepadan!", "filter_modal.added.context_mismatch_title": "Konteks tidak sepadan!",
"filter_modal.added.expired_explanation": "Kumpulan filter ini telah tamat tempoh, anda perlu mengubah tarikh luput untuk melaksanakannya.", "filter_modal.added.expired_explanation": "Kumpulan filter ini telah tamat tempoh, anda perlu mengubah tarikh luput untuk melaksanakannya.",
@ -264,7 +264,7 @@
"follow_request.authorize": "Benarkan", "follow_request.authorize": "Benarkan",
"follow_request.reject": "Tolak", "follow_request.reject": "Tolak",
"follow_requests.unlocked_explanation": "Walaupun akaun anda tidak dikunci, kakitangan {domain} merasakan anda mungkin ingin menyemak permintaan ikutan daripada akaun ini secara manual.", "follow_requests.unlocked_explanation": "Walaupun akaun anda tidak dikunci, kakitangan {domain} merasakan anda mungkin ingin menyemak permintaan ikutan daripada akaun ini secara manual.",
"followed_tags": "Followed hashtags", "followed_tags": "Topik terpilih",
"footer.about": "Perihal", "footer.about": "Perihal",
"footer.directory": "Direktori profil", "footer.directory": "Direktori profil",
"footer.get_app": "Dapatkan app", "footer.get_app": "Dapatkan app",
@ -272,7 +272,7 @@
"footer.keyboard_shortcuts": "Pintasan papan kekunci", "footer.keyboard_shortcuts": "Pintasan papan kekunci",
"footer.privacy_policy": "Dasar privasi", "footer.privacy_policy": "Dasar privasi",
"footer.source_code": "Lihat kod sumber", "footer.source_code": "Lihat kod sumber",
"footer.status": "Status", "footer.status": "Status:",
"generic.saved": "Disimpan", "generic.saved": "Disimpan",
"getting_started.heading": "Mari bermula", "getting_started.heading": "Mari bermula",
"hashtag.column_header.tag_mode.all": "dan {additional}", "hashtag.column_header.tag_mode.all": "dan {additional}",
@ -382,7 +382,7 @@
"navigation_bar.favourites": "Kegemaran", "navigation_bar.favourites": "Kegemaran",
"navigation_bar.filters": "Perkataan yang dibisukan", "navigation_bar.filters": "Perkataan yang dibisukan",
"navigation_bar.follow_requests": "Permintaan ikutan", "navigation_bar.follow_requests": "Permintaan ikutan",
"navigation_bar.followed_tags": "Followed hashtags", "navigation_bar.followed_tags": "Ikuti hashtag",
"navigation_bar.follows_and_followers": "Ikutan dan pengikut", "navigation_bar.follows_and_followers": "Ikutan dan pengikut",
"navigation_bar.lists": "Senarai", "navigation_bar.lists": "Senarai",
"navigation_bar.logout": "Log keluar", "navigation_bar.logout": "Log keluar",
@ -544,9 +544,9 @@
"server_banner.server_stats": "Statistik pelayan:", "server_banner.server_stats": "Statistik pelayan:",
"sign_in_banner.create_account": "Cipta akaun", "sign_in_banner.create_account": "Cipta akaun",
"sign_in_banner.sign_in": "Daftar masuk", "sign_in_banner.sign_in": "Daftar masuk",
"sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts. You can also interact from your account on a different server.", "sign_in_banner.text": "Daftar masuk untuk mengikut profil atau tanda pagar, menggemari, mengkongsi dan membalas kepada hantaran, atau berinteraksi daripada akaun anda pada pelayan lain.",
"status.admin_account": "Buka antara muka penyederhanaan untuk @{name}", "status.admin_account": "Buka antara muka penyederhanaan untuk @{name}",
"status.admin_domain": "Open moderation interface for {domain}", "status.admin_domain": "antara muka penyederhanaan",
"status.admin_status": "Buka hantaran ini dalam antara muka penyederhanaan", "status.admin_status": "Buka hantaran ini dalam antara muka penyederhanaan",
"status.block": "Sekat @{name}", "status.block": "Sekat @{name}",
"status.bookmark": "Tanda buku", "status.bookmark": "Tanda buku",

@ -121,7 +121,7 @@
"column_header.show_settings": "ဆက်တင်များကို ပြပါ။", "column_header.show_settings": "ဆက်တင်များကို ပြပါ။",
"column_header.unpin": "မတွဲတော့ပါ", "column_header.unpin": "မတွဲတော့ပါ",
"column_subheading.settings": "ဆက်တင်များ", "column_subheading.settings": "ဆက်တင်များ",
"community.column_settings.local_only": "Local only", "community.column_settings.local_only": "ပြည်တွင်း၌သာ",
"community.column_settings.media_only": "Media only", "community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only", "community.column_settings.remote_only": "Remote only",
"compose.language.change": "ဘာသာစကား ပြောင်းမည်", "compose.language.change": "ဘာသာစကား ပြောင်းမည်",
@ -195,32 +195,32 @@
"embed.preview": "Here is what it will look like:", "embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Activity", "emoji_button.activity": "Activity",
"emoji_button.clear": "ရှင်းလင်းမည်", "emoji_button.clear": "ရှင်းလင်းမည်",
"emoji_button.custom": "Custom", "emoji_button.custom": "စိတ်ကြိုက်",
"emoji_button.flags": "Flags", "emoji_button.flags": "Flags",
"emoji_button.food": "အစားအသောက်", "emoji_button.food": "အစားအသောက်",
"emoji_button.label": "Insert emoji", "emoji_button.label": "အီမိုဂျီထည့်ပါ",
"emoji_button.nature": "သဘာဝ", "emoji_button.nature": "သဘာဝ",
"emoji_button.not_found": "No matching emojis found", "emoji_button.not_found": "ကိုက်ညီသော အီမိုဂျီများ ရှာမတွေ့ပါ",
"emoji_button.objects": "Objects", "emoji_button.objects": "Objects",
"emoji_button.people": "လူများ", "emoji_button.people": "လူများ",
"emoji_button.recent": "မကြာခဏ အသုံးပြုသော", "emoji_button.recent": "မကြာခဏ အသုံးပြုသော",
"emoji_button.search": "ရှာရန်...", "emoji_button.search": "ရှာရန်...",
"emoji_button.search_results": "Search results", "emoji_button.search_results": "ရှာဖွေမှု ရလဒ်များ",
"emoji_button.symbols": "Symbols", "emoji_button.symbols": "သင်္ကေတများ",
"emoji_button.travel": "Travel & Places", "emoji_button.travel": "ခရီးသွားခြင်း နှင့် နေရာများ",
"empty_column.account_suspended": "Account suspended", "empty_column.account_suspended": "အကောင့်ရပ်ဆိုင်းထားသည်",
"empty_column.account_timeline": "No posts found", "empty_column.account_timeline": "No posts found",
"empty_column.account_unavailable": "Profile unavailable", "empty_column.account_unavailable": "ပရိုဖိုင် မရနိုင်ပါ",
"empty_column.blocks": "ပိတ်ထားသောအကောင့်များမရှိသေးပါ", "empty_column.blocks": "ပိတ်ထားသောအကောင့်များမရှိသေးပါ",
"empty_column.bookmarked_statuses": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.", "empty_column.bookmarked_statuses": "သင့်တွင် မှတ်သားထားသော ပို့စ်များ မရှိသေးပါ။ တစ်ခုကို အမှတ်အသားပြုလိုက်ပါက ၎င်းကို ဤနေရာတွင် ပြထားပါမည်။",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", "empty_column.direct": "သင့်တွင် တိုက်ရိုက်မက်ဆေ့ချ်များ မရှိသေးပါ။ ပေးပို့ထားပါက သို့မဟုတ် လက်ခံထားပါက ၎င်းတို့ကို ဤနေရာတွင် ပြထားပါမည်။",
"empty_column.domain_blocks": "သင်ပိတ်ထားသော ဒိုမိန်းမရှိသေးပါ", "empty_column.domain_blocks": "သင်ပိတ်ထားသော ဒိုမိန်းမရှိသေးပါ",
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.explore_statuses": "အခုလောလောဆယ်တွင် ရေပန်းစားနေသောပို့စ်များ မရှိသေးပါ။ နောက်မှ ပြန်စစ်ဆေးပါရန်။",
"empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.", "empty_column.favourited_statuses": "သင့်တွင် အကြိုက်ဆုံးပို့စ်များ မရှိသေးပါ။ တစ်ခုကို သင်နှစ်သက်ထားပါက ၎င်းကို ဤနေရာတွင် ပြထားပါမည်။",
"empty_column.favourites": "No one has favourited this post yet. When someone does, they will show up here.", "empty_column.favourites": "ဤပို့စ်ကို အကြိုက်တွေ့သူ မရှိသေးပါ။ တစ်စုံတစ်ယောက်က ကြိုက်နှစ်သက်ပါက ဤနေရာတွင် ပြထားပါမည်။",
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.", "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", "empty_column.follow_requests": "သင့်တွင် စောင့်ကြည့်ရန် တောင်းဆိုမှုများ မရှိသေးပါ။ သင်လက်ခံရရှိပါက ၎င်းကို ဤနေရာတွင် ပြထားပါမည်။",
"empty_column.followed_tags": "You have not followed any hashtags yet. When you do, they will show up here.", "empty_column.followed_tags": "You have not followed any hashtags yet. When you do, they will show up here.",
"empty_column.hashtag": "There is nothing in this hashtag yet.", "empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}", "empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}",
@ -231,12 +231,12 @@
"empty_column.notifications": "သတိပေးချက်မရှိသေးပါ။ သတိပေးချက်အသစ်ရှိလျှင် ဤနေရာတွင်ကြည့်ရှုနိုင်သည်", "empty_column.notifications": "သတိပေးချက်မရှိသေးပါ။ သတိပေးချက်အသစ်ရှိလျှင် ဤနေရာတွင်ကြည့်ရှုနိုင်သည်",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up", "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
"error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.", "error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.",
"error.unexpected_crash.explanation_addons": "This page could not be displayed correctly. This error is likely caused by a browser add-on or automatic translation tools.", "error.unexpected_crash.explanation_addons": "ဤစာမျက်နှာကို မှန်ကန်စွာ မပြသနိုင်ခဲ့ပါ။ ဤအမှားသည် Browser add-on ထည့်သွင်းထားမှုများ သို့မဟုတ် အလိုအလျောက် ဘာသာပြန်ကိရိယာများကြောင့် ဖြစ်နိုင်သည်။",
"error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.", "error.unexpected_crash.next_steps": "စာမျက်နှာကို ပြန်လည်စတင်ကြည့်ပါ။ ၎င်းမှာ အကူအညီမဖြစ်ပါက သင်သည် အခြား Browser သို့မဟုတ် မူရင်းအက်ပ်မှတစ်ဆင့် Mastodon ကို ဆက်လက်အသုံးပြုနိုင်ပါမည်။",
"error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.", "error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard", "errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
"errors.unexpected_crash.report_issue": "Report issue", "errors.unexpected_crash.report_issue": "အဆင်မပြေမှုကို တိုင်ကြားရန်",
"explore.search_results": "Search results", "explore.search_results": "ရှာဖွေမှုရလဒ်များ",
"explore.suggested_follows": "သင့်အတွက်", "explore.suggested_follows": "သင့်အတွက်",
"explore.title": "စူးစမ်းရန်", "explore.title": "စူးစမ်းရန်",
"explore.trending_links": "သတင်းများ", "explore.trending_links": "သတင်းများ",
@ -247,50 +247,50 @@
"filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.",
"filter_modal.added.expired_title": "Expired filter!", "filter_modal.added.expired_title": "Expired filter!",
"filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
"filter_modal.added.review_and_configure_title": "Filter settings", "filter_modal.added.review_and_configure_title": "စစ်ထုတ်မှု သတ်မှတ်ချက်များ",
"filter_modal.added.settings_link": "settings page", "filter_modal.added.settings_link": "settings page",
"filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", "filter_modal.added.short_explanation": "ဤပို့စ်ကို အောက်ပါ စစ်ထုတ်မှုအမျိုးအစားတွင် ပေါင်းထည့်ထားပါသည် - {title}။",
"filter_modal.added.title": "Filter added!", "filter_modal.added.title": "စစ်ထုတ်မှု ထည့်သွင်းပြီးပါပြီ။",
"filter_modal.select_filter.context_mismatch": "does not apply to this context", "filter_modal.select_filter.context_mismatch": "does not apply to this context",
"filter_modal.select_filter.expired": "သက်တမ်းကုန်သွားပါပြီ", "filter_modal.select_filter.expired": "သက်တမ်းကုန်သွားပါပြီ",
"filter_modal.select_filter.prompt_new": "New category: {name}", "filter_modal.select_filter.prompt_new": "အမျိုးအစားအသစ် - {name}",
"filter_modal.select_filter.search": "Search or create", "filter_modal.select_filter.search": "ရှာရန် သို့မဟုတ် ဖန်တီးရန်",
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.subtitle": "ရှိပြီးသားအမျိုးအစားကို သုံးပါ သို့မဟုတ် အသစ်တစ်ခု ဖန်တီးပါ",
"filter_modal.select_filter.title": "Filter this post", "filter_modal.select_filter.title": "ဤပို့စ်ကို စစ်ထုတ်ပါ",
"filter_modal.title.status": "Filter a post", "filter_modal.title.status": "ပို့စ်တစ်ခု စစ်ထုတ်ပါ",
"follow_recommendations.done": "Done", "follow_recommendations.done": "ပြီးပါပြီ",
"follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.", "follow_recommendations.heading": "သင်မြင်လိုသော သူများထံမှ ပို့စ်များကို စောင့်ကြည့်ပါ။ ဤတွင် အကြံပြုချက်အချို့ရှိပါသည်။",
"follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!", "follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",
"follow_request.authorize": "Authorize", "follow_request.authorize": "Authorize",
"follow_request.reject": "Reject", "follow_request.reject": "ဖယ်ရှားပါ",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.", "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"followed_tags": "Followed hashtags", "followed_tags": "Followed hashtags",
"footer.about": "အကြောင်း", "footer.about": "အကြောင်း",
"footer.directory": "Profiles directory", "footer.directory": "ပရိုဖိုင်များလမ်းညွှန်",
"footer.get_app": "Get the app", "footer.get_app": "အက်ပ်ကို ရယူပါ",
"footer.invite": "Invite people", "footer.invite": "လူများကို ဖိတ်ပါ",
"footer.keyboard_shortcuts": "Keyboard shortcuts", "footer.keyboard_shortcuts": "ကီးဘုတ်အမြန်ခလုတ်များ",
"footer.privacy_policy": "Privacy policy", "footer.privacy_policy": "ကိုယ်ရေးအချက်အလက်မူဝါဒ",
"footer.source_code": "မူရင်းကုဒ်အားကြည့်ရှုမည်", "footer.source_code": "မူရင်းကုဒ်အားကြည့်ရှုမည်",
"footer.status": "အခြေအနေ", "footer.status": "အခြေအနေ",
"generic.saved": "သိမ်းဆည်းထားပြီး", "generic.saved": "သိမ်းဆည်းထားပြီး",
"getting_started.heading": "စတင်မည်", "getting_started.heading": "စတင်မည်",
"hashtag.column_header.tag_mode.all": "and {additional}", "hashtag.column_header.tag_mode.all": "နှင့် {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}", "hashtag.column_header.tag_mode.any": "သို့မဟုတ် {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}", "hashtag.column_header.tag_mode.none": "မပါဘဲ {additional}",
"hashtag.column_settings.select.no_options_message": "No suggestions found", "hashtag.column_settings.select.no_options_message": "အကြံပြုချက်မတွေ့ပါ",
"hashtag.column_settings.select.placeholder": "Enter hashtags…", "hashtag.column_settings.select.placeholder": "Enter hashtags…",
"hashtag.column_settings.tag_mode.all": "All of these", "hashtag.column_settings.tag_mode.all": "All of these",
"hashtag.column_settings.tag_mode.any": "Any of these", "hashtag.column_settings.tag_mode.any": "Any of these",
"hashtag.column_settings.tag_mode.none": "None of these", "hashtag.column_settings.tag_mode.none": "None of these",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column", "hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"hashtag.follow": "Follow hashtag", "hashtag.follow": "Hashtag ကို စောင့်ကြည့်မယ်",
"hashtag.unfollow": "Unfollow hashtag", "hashtag.unfollow": "Hashtag ကို မစောင့်ကြည့်ပါ",
"home.column_settings.basic": "Basic", "home.column_settings.basic": "အခြေခံ",
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "ပြန်စာများကို ပြပါ",
"home.hide_announcements": "Hide announcements", "home.hide_announcements": "ကြေညာချက်များကို ဖျောက်ပါ",
"home.show_announcements": "Show announcements", "home.show_announcements": "ကြေညာချက်များကို ပြပါ",
"interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
"interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
"interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
@ -299,10 +299,10 @@
"interaction_modal.on_this_server": "ဤဆာဗာတွင်", "interaction_modal.on_this_server": "ဤဆာဗာတွင်",
"interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "အကြိုက်ဆုံး {name} ၏ ပို့စ်",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "{name} ကို စောင့်ကြည့်မယ်",
"interaction_modal.title.reblog": "Boost {name}'s post", "interaction_modal.title.reblog": "Boost {name}'s post",
"interaction_modal.title.reply": "Reply to {name}'s post", "interaction_modal.title.reply": "{name} ၏ ပို့စ်ကို စာပြန်မယ်",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -312,7 +312,7 @@
"keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.column": "to focus a status in one of the columns",
"keyboard_shortcuts.compose": "to focus the compose textarea", "keyboard_shortcuts.compose": "to focus the compose textarea",
"keyboard_shortcuts.description": "ဖော်ပြချက်", "keyboard_shortcuts.description": "ဖော်ပြချက်",
"keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.direct": "တိုက်ရိုက်မက်ဆေ့ချ်ကော်လံကို ဖွင့်ရန်",
"keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite", "keyboard_shortcuts.favourite": "to favourite",
@ -345,8 +345,8 @@
"lightbox.expand": "ပုံကိုဖွင့်ပါ", "lightbox.expand": "ပုံကိုဖွင့်ပါ",
"lightbox.next": "ရှေ့သို့", "lightbox.next": "ရှေ့သို့",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway", "limited_account_hint.action": "ဘာပဲဖြစ်ဖြစ် ပရိုဖိုင်ကို ပြပါ",
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", "limited_account_hint.title": "ဤပရိုဖိုင်ကို {domain} ၏ စိစစ်သူများမှ ဖျောက်ထားသည်။",
"lists.account.add": "စာရင်းထဲသို့ထည့်ပါ", "lists.account.add": "စာရင်းထဲသို့ထည့်ပါ",
"lists.account.remove": "စာရင်းမှ ဖယ်ရှားလိုက်ပါ။", "lists.account.remove": "စာရင်းမှ ဖယ်ရှားလိုက်ပါ။",
"lists.delete": "စာရင်းကိုဖျက်ပါ", "lists.delete": "စာရင်းကိုဖျက်ပါ",
@ -374,37 +374,37 @@
"navigation_bar.bookmarks": "မှတ်ထားသည်များ", "navigation_bar.bookmarks": "မှတ်ထားသည်များ",
"navigation_bar.community_timeline": "ဒေသစံတော်ချိန်", "navigation_bar.community_timeline": "ဒေသစံတော်ချိန်",
"navigation_bar.compose": "Compose new post", "navigation_bar.compose": "Compose new post",
"navigation_bar.direct": "Direct messages", "navigation_bar.direct": "တိုက်ရိုက်မက်ဆေ့ချ်များ",
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.edit_profile": "ကိုယ်ရေးမှတ်တမ်းပြင်ဆင်မည်", "navigation_bar.edit_profile": "ကိုယ်ရေးမှတ်တမ်းပြင်ဆင်မည်",
"navigation_bar.explore": "Explore", "navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "အကြိုက်ဆုံးများ",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "တောင်းဆိုချက်များကို စောင့်ကြည့်ပါ",
"navigation_bar.followed_tags": "Followed hashtags", "navigation_bar.followed_tags": "Followed hashtags",
"navigation_bar.follows_and_followers": "Follows and followers", "navigation_bar.follows_and_followers": "စောင့်ကြည့်သူများနှင့် စောင့်ကြည့်စာရင်း",
"navigation_bar.lists": "Lists", "navigation_bar.lists": "စာရင်းများ",
"navigation_bar.logout": "Logout", "navigation_bar.logout": "ထွက်မယ်",
"navigation_bar.mutes": "Muted users", "navigation_bar.mutes": "Muted users",
"navigation_bar.personal": "Personal", "navigation_bar.personal": "ကိုယ်ရေးကိုယ်တာ",
"navigation_bar.pins": "Pinned posts", "navigation_bar.pins": "ပင်တွဲထားသောပို့စ်များ",
"navigation_bar.preferences": "Preferences", "navigation_bar.preferences": "Preferences",
"navigation_bar.public_timeline": "Federated timeline", "navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.search": "Search", "navigation_bar.search": "ရှာရန်",
"navigation_bar.security": "Security", "navigation_bar.security": "လုံခြုံရေး",
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "not_signed_in_indicator.not_signed_in": "ဤရင်းမြစ်သို့ ဝင်ရောက်ရန်အတွက် သင်သည် အကောင့်ဝင်ရန် လိုအပ်ပါသည်။",
"notification.admin.report": "{name} reported {target}", "notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} က အကောင့်ဖွင့်ထားသည်",
"notification.favourite": "{name} favourited your status", "notification.favourite": "{name} favourited your status",
"notification.follow": "{name} followed you", "notification.follow": "{name} သင့်ကို စောင့်ကြည့်ခဲ့သည်",
"notification.follow_request": "{name} has requested to follow you", "notification.follow_request": "{name} က သင့်ကို စောင့်ကြည့်ရန် တောင်းဆိုထားသည်",
"notification.mention": "{name} mentioned you", "notification.mention": "{name} က သင့်ကို ဖော်ပြခဲ့သည်",
"notification.own_poll": "စစ်တမ်းကောက်မှု ပြီးဆုံးပါပြီ", "notification.own_poll": "စစ်တမ်းကောက်မှု ပြီးဆုံးပါပြီ",
"notification.poll": "သင်ပါဝင်ခဲ့သော စစ်တမ်းပြီးပါပြီ", "notification.poll": "သင်ပါဝင်ခဲ့သော စစ်တမ်းပြီးပါပြီ",
"notification.reblog": "{name} boosted your status", "notification.reblog": "{name} boosted your status",
"notification.status": "{name} just posted", "notification.status": "{name} က အခုလေးတင် ပို့စ်တင်လိုက်ပါပြီ",
"notification.update": "{name} edited a post", "notification.update": "{name} က ပို့စ်တစ်ခုကို ပြင်ဆင်ခဲ့သည်",
"notifications.clear": "အသိပေးချက်များအား ရှင်းလင်းပါ", "notifications.clear": "အသိပေးချက်များအား ရှင်းလင်းပါ",
"notifications.clear_confirmation": "သတိပေးချက်အားလုံးကို အပြီးတိုင်ဖယ်ရှားမည်", "notifications.clear_confirmation": "သတိပေးချက်အားလုံးကို အပြီးတိုင်ဖယ်ရှားမည်",
"notifications.column_settings.admin.report": "New reports:", "notifications.column_settings.admin.report": "New reports:",
@ -413,29 +413,29 @@
"notifications.column_settings.favourite": "ကြိုက်နှစ်သက်မှုများ", "notifications.column_settings.favourite": "ကြိုက်နှစ်သက်မှုများ",
"notifications.column_settings.filter_bar.advanced": "ခေါင်းစဥ်အားလုံးများကိုဖော်ပြပါ", "notifications.column_settings.filter_bar.advanced": "ခေါင်းစဥ်အားလုံးများကိုဖော်ပြပါ",
"notifications.column_settings.filter_bar.category": "Quick filter bar", "notifications.column_settings.filter_bar.category": "Quick filter bar",
"notifications.column_settings.filter_bar.show_bar": "Show filter bar", "notifications.column_settings.filter_bar.show_bar": "စစ်ထုတ်မှုဘားကို ပြပါ",
"notifications.column_settings.follow": "New followers:", "notifications.column_settings.follow": "စောင့်ကြည့်သူအသစ်များ -",
"notifications.column_settings.follow_request": "New follow requests:", "notifications.column_settings.follow_request": "New follow requests:",
"notifications.column_settings.mention": "Mentions:", "notifications.column_settings.mention": "Mentions:",
"notifications.column_settings.poll": "စစ်တမ်းရလဒ်", "notifications.column_settings.poll": "စစ်တမ်းရလဒ်",
"notifications.column_settings.push": "Push notifications", "notifications.column_settings.push": "အသိပေးချက်များအား ရအောင်ပို့ခြင်း",
"notifications.column_settings.reblog": "Boosts:", "notifications.column_settings.reblog": "Boosts:",
"notifications.column_settings.show": "Show in column", "notifications.column_settings.show": "ကော်လံတွင်ပြပါ",
"notifications.column_settings.sound": "Play sound", "notifications.column_settings.sound": "အသံဖွင့်မည်",
"notifications.column_settings.status": "New posts:", "notifications.column_settings.status": "ပို့စ်အသစ်များ -",
"notifications.column_settings.unread_notifications.category": "Unread notifications", "notifications.column_settings.unread_notifications.category": "မဖတ်ရသေးသောအသိပေးချက်များ -",
"notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
"notifications.column_settings.update": "Edits:", "notifications.column_settings.update": "ပြင်ဆင်ထားမှုများ -",
"notifications.filter.all": "အားလုံး", "notifications.filter.all": "အားလုံး",
"notifications.filter.boosts": "အားပေးမည်", "notifications.filter.boosts": "အားပေးမည်",
"notifications.filter.favourites": "ကြိုက်နှစ်သက်မှုများ", "notifications.filter.favourites": "ကြိုက်နှစ်သက်မှုများ",
"notifications.filter.follows": "ဖောလိုးမည်", "notifications.filter.follows": "ဖောလိုးမည်",
"notifications.filter.mentions": " မန်းရှင်းမည်", "notifications.filter.mentions": " မန်းရှင်းမည်",
"notifications.filter.polls": "စစ်တမ်းရလဒ်", "notifications.filter.polls": "စစ်တမ်းရလဒ်",
"notifications.filter.statuses": "Updates from people you follow", "notifications.filter.statuses": "သင်စောင့်ကြည့်သူများထံမှ အပ်ဒိတ်များ",
"notifications.grant_permission": "ခွင့်ပြုချက်ပေးမည်", "notifications.grant_permission": "ခွင့်ပြုချက်ပေးမည်",
"notifications.group": "{count} notifications", "notifications.group": "အသိပေးချက်များ {count} ခု",
"notifications.mark_as_read": "Mark every notification as read", "notifications.mark_as_read": "အသိပေးချက်တိုင်းကို ဖတ်ပြီးကြောင်း အမှတ်အသားပြုပါ",
"notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request", "notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request",
"notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before", "notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before",
"notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.", "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.",
@ -462,9 +462,9 @@
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Unlisted", "privacy.unlisted.short": "Unlisted",
"privacy_policy.last_updated": "Last updated {date}", "privacy_policy.last_updated": "Last updated {date}",
"privacy_policy.title": "Privacy Policy", "privacy_policy.title": "ကိုယ်ရေးအချက်အလက်မူဝါဒ",
"refresh": "Refresh", "refresh": "ပြန်လည်စတင်ပါ",
"regeneration_indicator.label": "Loading…", "regeneration_indicator.label": "လုပ်ဆောင်နေသည်…",
"regeneration_indicator.sublabel": "Your home feed is being prepared!", "regeneration_indicator.sublabel": "Your home feed is being prepared!",
"relative_time.days": "{number}d", "relative_time.days": "{number}d",
"relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
@ -473,7 +473,7 @@
"relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
"relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
"relative_time.hours": "{number}h", "relative_time.hours": "{number}h",
"relative_time.just_now": "now", "relative_time.just_now": "ယခု",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "ယနေ့", "relative_time.today": "ယနေ့",
@ -516,13 +516,13 @@
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached", "report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other", "report_notification.categories.other": "အခြား",
"report_notification.categories.spam": "Spam", "report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation", "report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report", "report_notification.open": "Open report",
"search.placeholder": "ရှာဖွေရန်", "search.placeholder": "ရှာဖွေရန်",
"search.search_or_paste": "URL ရိုက်ထည့်ပါ သို့မဟုတ် ရှာဖွေပါ", "search.search_or_paste": "URL ရိုက်ထည့်ပါ သို့မဟုတ် ရှာဖွေပါ",
"search_popout.search_format": "Advanced search format", "search_popout.search_format": "အဆင့်မြင့်ရှာဖွေမှုပုံစံ",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
"search_popout.tips.hashtag": "ဟက်ရှ်တက်ခ်", "search_popout.tips.hashtag": "ဟက်ရှ်တက်ခ်",
"search_popout.tips.status": "ပို့စ်", "search_popout.tips.status": "ပို့စ်",
@ -534,29 +534,29 @@
"search_results.nothing_found": "ရှာဖွေလိုသောအရာမရှိပါ", "search_results.nothing_found": "ရှာဖွေလိုသောအရာမရှိပါ",
"search_results.statuses": "ပို့စ်တင်မယ်", "search_results.statuses": "ပို့စ်တင်မယ်",
"search_results.statuses_fts_disabled": "Searching posts by their content is not enabled on this Mastodon server.", "search_results.statuses_fts_disabled": "Searching posts by their content is not enabled on this Mastodon server.",
"search_results.title": "Search for {q}", "search_results.title": "{q} ကို ရှာပါ",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}", "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
"server_banner.active_users": "active users", "server_banner.active_users": "လက်ရှိအသုံးပြုသူများ",
"server_banner.administered_by": "Administered by:", "server_banner.administered_by": "Administered by:",
"server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.", "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.",
"server_banner.learn_more": "Learn more", "server_banner.learn_more": "ပိုမိုသိရှိရန်",
"server_banner.server_stats": "Server stats:", "server_banner.server_stats": "Server stats:",
"sign_in_banner.create_account": "Create account", "sign_in_banner.create_account": "အကောင့်ဖန်တီးမည်",
"sign_in_banner.sign_in": "Sign in", "sign_in_banner.sign_in": "အကောင့်ဝင်မည်",
"sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts. You can also interact from your account on a different server.", "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts. You can also interact from your account on a different server.",
"status.admin_account": "Open moderation interface for @{name}", "status.admin_account": "Open moderation interface for @{name}",
"status.admin_domain": "Open moderation interface for {domain}", "status.admin_domain": "Open moderation interface for {domain}",
"status.admin_status": "Open this status in the moderation interface", "status.admin_status": "Open this status in the moderation interface",
"status.block": "@{name} ကိုဘလော့မည်", "status.block": "@{name} ကိုဘလော့မည်",
"status.bookmark": "Bookmark", "status.bookmark": "မှတ်ထားသည်များ",
"status.cancel_reblog_private": "Unboost", "status.cancel_reblog_private": "Unboost",
"status.cannot_reblog": "This post cannot be boosted", "status.cannot_reblog": "This post cannot be boosted",
"status.copy": "Copy link to status", "status.copy": "Copy link to status",
"status.delete": "Delete", "status.delete": "ဖျက်ရန်",
"status.detailed_status": "Detailed conversation view", "status.detailed_status": "Detailed conversation view",
"status.direct": "Direct message @{name}", "status.direct": "@{name} ကို တိုက်ရိုက်စာပို့မည်",
"status.edit": "Edit", "status.edit": "ပြင်ဆင်ရန်",
"status.edited": "Edited {date}", "status.edited": "Edited {date}",
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
"status.embed": "Embed", "status.embed": "Embed",
@ -574,86 +574,86 @@
"status.mute_conversation": "Mute conversation", "status.mute_conversation": "Mute conversation",
"status.open": "ပို့စ်ကိုချဲ့ထွင်မည်", "status.open": "ပို့စ်ကိုချဲ့ထွင်မည်",
"status.pin": "Pin on profile", "status.pin": "Pin on profile",
"status.pinned": "Pinned post", "status.pinned": "ပင်တွဲထားသောပို့စ်",
"status.read_more": "Read more", "status.read_more": "ပိုမိုဖတ်ရှုရန်",
"status.reblog": "Boost", "status.reblog": "Boost",
"status.reblog_private": "Boost with original visibility", "status.reblog_private": "Boost with original visibility",
"status.reblogged_by": "{name} boosted", "status.reblogged_by": "{name} boosted",
"status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.", "status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.",
"status.redraft": "Delete & re-draft", "status.redraft": "Delete & re-draft",
"status.remove_bookmark": "Remove bookmark", "status.remove_bookmark": "မှတ်ထားသည်များကို ဖယ်ရှားပါ",
"status.replied_to": "Replied to {name}", "status.replied_to": "{name} ကို စာပြန်ခဲ့သည်",
"status.reply": "Reply", "status.reply": "စာပြန်ရန်",
"status.replyAll": "Reply to thread", "status.replyAll": "Reply to thread",
"status.report": "Report @{name}", "status.report": "Report @{name}",
"status.sensitive_warning": "Sensitive content", "status.sensitive_warning": "သတိထားရသော အကြောင်းအရာ",
"status.share": "Share", "status.share": "မျှဝေ",
"status.show_filter_reason": "Show anyway", "status.show_filter_reason": "မည်သို့ပင်ဖြစ်စေ ပြပါ",
"status.show_less": "Show less", "status.show_less": "အနည်းငယ်သာ ပြပါ",
"status.show_less_all": "Show less for all", "status.show_less_all": "အားလုံးအတွက် အနည်းငယ်သာ ပြပါ",
"status.show_more": "Show more", "status.show_more": "ပိုမိုပြရန်",
"status.show_more_all": "Show more for all", "status.show_more_all": "အားလုံးအတွက် ပိုပြပါ",
"status.show_original": "Show original", "status.show_original": "မူရင်းပြပါ",
"status.translate": "Translate", "status.translate": "ဘာသာပြန်ပါ",
"status.translated_from_with": "Translated from {lang} using {provider}", "status.translated_from_with": "{provider} ကို အသုံးပြု၍ {lang} မှ ဘာသာပြန်ထားသည်",
"status.uncached_media_warning": "Not available", "status.uncached_media_warning": "မရနိုင်ပါ",
"status.unmute_conversation": "Unmute conversation", "status.unmute_conversation": "Unmute conversation",
"status.unpin": "Unpin from profile", "status.unpin": "Unpin from profile",
"subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.", "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.",
"subscribed_languages.save": "Save changes", "subscribed_languages.save": "ပြောင်းလဲမှုများကို သိမ်းဆည်းပါ",
"subscribed_languages.target": "Change subscribed languages for {target}", "subscribed_languages.target": "{target} အတွက် စာရင်းသွင်းထားသော ဘာသာစကားများကို ပြောင်းပါ",
"suggestions.dismiss": "Dismiss suggestion", "suggestions.dismiss": "Dismiss suggestion",
"suggestions.header": "You might be interested in…", "suggestions.header": "You might be interested in…",
"tabs_bar.federated_timeline": "Federated", "tabs_bar.federated_timeline": "ဖက်ဒီ",
"tabs_bar.home": "Home", "tabs_bar.home": "ပင်မစာမျက်နှာ",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "ပြည်တွင်း",
"tabs_bar.notifications": "Notifications", "tabs_bar.notifications": "အသိပေးချက်များ",
"time_remaining.days": "{number, plural, one {# day} other {# days}} left", "time_remaining.days": "{number, plural, one {# day} other {# days}} left",
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left", "time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left", "time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
"time_remaining.moments": "Moments remaining", "time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left", "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", "timeline_hint.remote_resource_not_displayed": "အခြားဆာဗာများမှ {resource} ကို ပြသမည်မဟုတ်ပါ။",
"timeline_hint.resources.followers": "Followers", "timeline_hint.resources.followers": "စောင့်ကြည့်သူများ",
"timeline_hint.resources.follows": "Follows", "timeline_hint.resources.follows": "စောင့်ကြည့်မယ်",
"timeline_hint.resources.statuses": "Older posts", "timeline_hint.resources.statuses": "ပို့စ်အဟောင်းများ",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
"trends.trending_now": "Trending now", "trends.trending_now": "လက်ရှိခေတ်စားနေသော ပို့စ်များ",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.", "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"units.short.billion": "{count}B", "units.short.billion": "{count}B",
"units.short.million": "{count}M", "units.short.million": "{count}M",
"units.short.thousand": "{count}K", "units.short.thousand": "{count}K",
"upload_area.title": "Drag & drop to upload", "upload_area.title": "Drag & drop to upload",
"upload_button.label": "Add images, a video or an audio file", "upload_button.label": "ပုံများ၊ ဗီဒီယို သို့မဟုတ် အသံဖိုင်တစ်ခု ထည့်ပါ",
"upload_error.limit": "File upload limit exceeded.", "upload_error.limit": "ဖိုင်အများဆုံးတင်နိုင်မည့်ကန့်သတ်ချက်ကို ကျော်သွားပါပြီ။",
"upload_error.poll": "စစ်တမ်းနှင့်အတူဖိုင်များတင်ခွင့်မပြုပါ", "upload_error.poll": "စစ်တမ်းနှင့်အတူဖိုင်များတင်ခွင့်မပြုပါ",
"upload_form.audio_description": "အကြားအာရုံချို့ယွင်းသော ခက်ခဲသောသူများအတွက် ဖော်ပြထားသည်", "upload_form.audio_description": "အကြားအာရုံချို့ယွင်းသော ခက်ခဲသောသူများအတွက် ဖော်ပြထားသည်",
"upload_form.description": "အမြင်အာရုံချို့ယွင်းသော ခက်ခဲသောသူများအတွက် ဖော်ပြထားသည်", "upload_form.description": "အမြင်အာရုံချို့ယွင်းသော ခက်ခဲသောသူများအတွက် ဖော်ပြထားသည်",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "ဖော်ပြချက် မထည့်ပါ",
"upload_form.edit": "Edit", "upload_form.edit": "ပြင်ရန်",
"upload_form.thumbnail": "Change thumbnail", "upload_form.thumbnail": "Change thumbnail",
"upload_form.undo": "Delete", "upload_form.undo": "ဖျက်ရန်",
"upload_form.video_description": "အမြင်အာရုံနှင့်အကြားအာရုံ ချို့ယွင်းသော ခက်ခဲသောသူများအတွက် ဖော်ပြထားသည်", "upload_form.video_description": "အမြင်အာရုံနှင့်အကြားအာရုံ ချို့ယွင်းသော ခက်ခဲသောသူများအတွက် ဖော်ပြထားသည်",
"upload_modal.analyzing_picture": "Analyzing picture…", "upload_modal.analyzing_picture": "Analyzing picture…",
"upload_modal.apply": "Apply", "upload_modal.apply": "Apply",
"upload_modal.applying": "Applying…", "upload_modal.applying": "Applying…",
"upload_modal.choose_image": "Choose image", "upload_modal.choose_image": "ပုံရွေးပါ",
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog", "upload_modal.description_placeholder": "သီဟိုဠ်မှ ဉာဏ်ကြီးရှင်သည် အာယုဝဍ္ဎနဆေးညွှန်းစာကို ဇလွန်ဈေးဘေး ဗာဒံပင်ထက် အဓိဋ္ဌာန်လျက် ဂဃနဏဖတ်ခဲ့သည်",
"upload_modal.detect_text": "Detect text from picture", "upload_modal.detect_text": "Detect text from picture",
"upload_modal.edit_media": "Edit media", "upload_modal.edit_media": "မီဒီယာကို ပြင်ဆင်ရန်",
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.", "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
"upload_modal.preparing_ocr": "Preparing OCR…", "upload_modal.preparing_ocr": "OCR ပြင်ဆင်နေသည်…",
"upload_modal.preview_label": "Preview ({ratio})", "upload_modal.preview_label": "Preview ({ratio})",
"upload_progress.label": "တင်နေသည်...", "upload_progress.label": "တင်နေသည်...",
"upload_progress.processing": "Processing…", "upload_progress.processing": "လုပ်ဆောင်နေသည်…",
"video.close": "Close video", "video.close": "ဗီဒီယိုကို ပိတ်ပါ",
"video.download": "Download file", "video.download": "ဖိုင်ကို ဒေါင်းလုဒ်လုပ်ပါ",
"video.exit_fullscreen": "Exit full screen", "video.exit_fullscreen": "မျက်နှာပြင်အပြည့်မှ ထွက်ပါ",
"video.expand": "Expand video", "video.expand": "ဗီဒီယိုကို ချဲ့ပါ",
"video.fullscreen": "Full screen", "video.fullscreen": "မျက်နှာပြင်အပြည့်",
"video.hide": "Hide video", "video.hide": "ဗီဒီယိုကို ဖျောက်ပါ",
"video.mute": "Mute sound", "video.mute": "အသံပိတ်ထားပါ",
"video.pause": "Pause", "video.pause": "ခဏရပ်ပါ",
"video.play": "Play", "video.play": "ဖွင့်ပါ",
"video.unmute": "Unmute sound" "video.unmute": "အသံပြန်ဖွင့်ပါ"
} }

@ -34,7 +34,7 @@
"account.followers.empty": "Ingen fylgjer denne brukaren enno.", "account.followers.empty": "Ingen fylgjer denne brukaren enno.",
"account.followers_counter": "{count, plural, one {{counter} fylgjar} other {{counter} fylgjarar}}", "account.followers_counter": "{count, plural, one {{counter} fylgjar} other {{counter} fylgjarar}}",
"account.following": "Fylgjer", "account.following": "Fylgjer",
"account.following_counter": "{count, plural, one {Fylgjar {counter}} other {Fylgjar {counter}}}", "account.following_counter": "{count, plural, one {Fylgjer {counter}} other {Fylgjer {counter}}}",
"account.follows.empty": "Denne brukaren fylgjer ikkje nokon enno.", "account.follows.empty": "Denne brukaren fylgjer ikkje nokon enno.",
"account.follows_you": "Fylgjer deg", "account.follows_you": "Fylgjer deg",
"account.go_to_profile": "Gå til profil", "account.go_to_profile": "Gå til profil",

@ -221,7 +221,7 @@
"empty_column.favourites": "Ingen har favoritmarkerat detta inlägg än. När någon gör det kommer de synas här.", "empty_column.favourites": "Ingen har favoritmarkerat detta inlägg än. När någon gör det kommer de synas här.",
"empty_column.follow_recommendations": "Det ser ut som om inga förslag kan genereras till dig. Du kan prova att använda sök för att leta efter personer som du kanske känner eller utforska trendande hash-taggar.", "empty_column.follow_recommendations": "Det ser ut som om inga förslag kan genereras till dig. Du kan prova att använda sök för att leta efter personer som du kanske känner eller utforska trendande hash-taggar.",
"empty_column.follow_requests": "Du har inga följarförfrågningar än. När du får en kommer den visas här.", "empty_column.follow_requests": "Du har inga följarförfrågningar än. När du får en kommer den visas här.",
"empty_column.followed_tags": "You have not followed any hashtags yet. When you do, they will show up here.", "empty_column.followed_tags": "Du följer inga hashtags ännu. När du gör det kommer de att dyka upp här.",
"empty_column.hashtag": "Det finns inget i denna hashtag ännu.", "empty_column.hashtag": "Det finns inget i denna hashtag ännu.",
"empty_column.home": "Din hemma-tidslinje är tom! Följ fler användare för att fylla den. {suggestions}", "empty_column.home": "Din hemma-tidslinje är tom! Följ fler användare för att fylla den. {suggestions}",
"empty_column.home.suggestions": "Se några förslag", "empty_column.home.suggestions": "Se några förslag",
@ -264,7 +264,7 @@
"follow_request.authorize": "Godkänn", "follow_request.authorize": "Godkänn",
"follow_request.reject": "Avvisa", "follow_request.reject": "Avvisa",
"follow_requests.unlocked_explanation": "Även om ditt konto inte är låst tror {domain} personalen att du kanske vill granska dessa följares förfrågningar manuellt.", "follow_requests.unlocked_explanation": "Även om ditt konto inte är låst tror {domain} personalen att du kanske vill granska dessa följares förfrågningar manuellt.",
"followed_tags": "Followed hashtags", "followed_tags": "Följda hashtags",
"footer.about": "Om", "footer.about": "Om",
"footer.directory": "Profilkatalog", "footer.directory": "Profilkatalog",
"footer.get_app": "Skaffa appen", "footer.get_app": "Skaffa appen",
@ -544,7 +544,7 @@
"server_banner.server_stats": "Serverstatistik:", "server_banner.server_stats": "Serverstatistik:",
"sign_in_banner.create_account": "Skapa konto", "sign_in_banner.create_account": "Skapa konto",
"sign_in_banner.sign_in": "Logga in", "sign_in_banner.sign_in": "Logga in",
"sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts. You can also interact from your account on a different server.", "sign_in_banner.text": "Logga in för att följa profiler eller hashtags, favoritmarkera, dela och svara på inlägg. Du kan också interagera med ditt konto på en annan server.",
"status.admin_account": "Öppet modereringsgränssnitt för @{name}", "status.admin_account": "Öppet modereringsgränssnitt för @{name}",
"status.admin_domain": "Öppet modereringsgränssnitt för @{domain}", "status.admin_domain": "Öppet modereringsgränssnitt för @{domain}",
"status.admin_status": "Öppna detta inlägg i modereringsgränssnittet", "status.admin_status": "Öppna detta inlägg i modereringsgränssnittet",

@ -7,7 +7,7 @@
"about.domain_blocks.silenced.explanation": "Гадәттә, сез бу серверның профильләрен һәм эчтәлеген күрмәячәксез, әгәр сез аларны ачыктан-ачык карамасагыз яки бу адымнарны үтәп язылмасагыз.", "about.domain_blocks.silenced.explanation": "Гадәттә, сез бу серверның профильләрен һәм эчтәлеген күрмәячәксез, әгәр сез аларны ачыктан-ачык карамасагыз яки бу адымнарны үтәп язылмасагыз.",
"about.domain_blocks.silenced.title": "Чикле", "about.domain_blocks.silenced.title": "Чикле",
"about.domain_blocks.suspended.explanation": "Бу серверның бернинди мәгълүматлары да эшкәртелмәячәк, сакланмаячак яки алмаштырылмаячак, бу сервердан кулланучылар белән үзара бәйләнешне яки аралашуны мөмкин итми.", "about.domain_blocks.suspended.explanation": "Бу серверның бернинди мәгълүматлары да эшкәртелмәячәк, сакланмаячак яки алмаштырылмаячак, бу сервердан кулланучылар белән үзара бәйләнешне яки аралашуны мөмкин итми.",
"about.domain_blocks.suspended.title": "Асылмалы", "about.domain_blocks.suspended.title": "Блокланган",
"about.not_available": "Бу серверда бу мәгълүмат юк иде.", "about.not_available": "Бу серверда бу мәгълүмат юк иде.",
"about.powered_by": "Децентрализованные социаль челтәрләр нигезендә {mastodon}", "about.powered_by": "Децентрализованные социаль челтәрләр нигезендә {mastodon}",
"about.rules": "Сервер кагыйдәләре", "about.rules": "Сервер кагыйдәләре",
@ -39,22 +39,22 @@
"account.follows_you": "Сезгә язылган", "account.follows_you": "Сезгә язылган",
"account.go_to_profile": "Профильгә күчү", "account.go_to_profile": "Профильгә күчү",
"account.hide_reblogs": "Скрывать көчен нче @{name}", "account.hide_reblogs": "Скрывать көчен нче @{name}",
"account.joined_short": "Кушылу", "account.joined_short": "Кушылды",
"account.languages": "Подписка телләрен үзгәртү", "account.languages": "Сайланган телләрен үзгәртү",
"account.link_verified_on": "Бу сылтамага милек хокукы тикшерелде {date}", "account.link_verified_on": "Бу сылтамага милек хокукы тикшерелде {date}",
"account.locked_info": "Бу - ябык аккаунт. Аны язылучылар гына күрә ала.", "account.locked_info": "Бу - ябык аккаунт. Аны язылучылар гына күрә ала.",
"account.media": "Медиа", "account.media": "Медиа",
"account.mention": "@{name} искәртү", "account.mention": "@{name} искәртү",
"account.moved_to": "{name} аларның яңа счеты хәзер күрсәтте:", "account.moved_to": "{name} аларның яңа счеты хәзер күрсәтте:",
"account.mute": "Тавышсыз @{name}", "account.mute": "@{name} кулланучыга әһәмият бирмәү",
"account.mute_notifications": "Отключите хәбәрләр нче @{name}", "account.mute_notifications": "@{name} кулланучыдан хәбәрләргә әһәмият бирмәү",
"account.muted": "Тавышсыз", "account.muted": "Әһәмият бирмәнгән",
"account.open_original_page": "Чыганак битен ачу", "account.open_original_page": "Чыганак битен ачу",
"account.posts": "Toots", "account.posts": "Пост",
"account.posts_with_replies": "Toots and replies", "account.posts_with_replies": "Пост һәм җавап",
"account.report": "Хисап @{name}", "account.report": "@{name} кулланучыга шикаять итү",
"account.requested": "Awaiting approval", "account.requested": "Awaiting approval",
"account.requested_follow": "{name} сиңа иярүеңне сорады", "account.requested_follow": "{name} Сезгә язылу соравын җиберде",
"account.share": "Уртаклашу @{name} профиль", "account.share": "Уртаклашу @{name} профиль",
"account.show_reblogs": "Күрсәтергә көчәйтү нче @{name}", "account.show_reblogs": "Күрсәтергә көчәйтү нче @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",

@ -104,14 +104,14 @@
"column.community": "本站時間軸", "column.community": "本站時間軸",
"column.direct": "私訊", "column.direct": "私訊",
"column.directory": "瀏覽個人檔案", "column.directory": "瀏覽個人檔案",
"column.domain_blocks": "已封鎖網域", "column.domain_blocks": "已封鎖網域",
"column.favourites": "最愛", "column.favourites": "最愛",
"column.follow_requests": "跟隨請求", "column.follow_requests": "跟隨請求",
"column.home": "首頁", "column.home": "首頁",
"column.lists": "列表", "column.lists": "列表",
"column.mutes": "已靜音的使用者", "column.mutes": "已靜音的使用者",
"column.notifications": "通知", "column.notifications": "通知",
"column.pins": "釘選嘟文", "column.pins": "釘選嘟文",
"column.public": "聯邦時間軸", "column.public": "聯邦時間軸",
"column_back_button.label": "上一頁", "column_back_button.label": "上一頁",
"column_header.hide_settings": "隱藏設定", "column_header.hide_settings": "隱藏設定",
@ -168,7 +168,7 @@
"confirmations.mute.explanation": "這將會隱藏來自他們的嘟文與通知,但是他們還是可以查閱您的嘟文與跟隨您。", "confirmations.mute.explanation": "這將會隱藏來自他們的嘟文與通知,但是他們還是可以查閱您的嘟文與跟隨您。",
"confirmations.mute.message": "您確定要靜音 {name} 嗎?", "confirmations.mute.message": "您確定要靜音 {name} 嗎?",
"confirmations.redraft.confirm": "刪除並重新編輯", "confirmations.redraft.confirm": "刪除並重新編輯",
"confirmations.redraft.message": "您確定要刪掉這則嘟文並重新編輯嗎?將會失去這則嘟文的轉嘟及最愛,且回覆這則的嘟文將會變成獨立的嘟文。", "confirmations.redraft.message": "您確定要刪除這則嘟文並重新編輯嗎?您將失去這則嘟文的轉嘟及最愛,且對原始嘟文的回覆都會變成獨立的嘟文。",
"confirmations.reply.confirm": "回覆", "confirmations.reply.confirm": "回覆",
"confirmations.reply.message": "現在回覆將蓋掉您目前正在撰寫的訊息。是否仍要回覆?", "confirmations.reply.message": "現在回覆將蓋掉您目前正在撰寫的訊息。是否仍要回覆?",
"confirmations.unfollow.confirm": "取消跟隨", "confirmations.unfollow.confirm": "取消跟隨",
@ -190,7 +190,7 @@
"dismissable_banner.explore_links": "這些新聞故事正在被此伺服器以及去中心化網路上的人們熱烈討論著。", "dismissable_banner.explore_links": "這些新聞故事正在被此伺服器以及去中心化網路上的人們熱烈討論著。",
"dismissable_banner.explore_statuses": "這些於此伺服器以及去中心化網路中其他伺服器發出的嘟文正在被此伺服器上的人們熱烈討論著。", "dismissable_banner.explore_statuses": "這些於此伺服器以及去中心化網路中其他伺服器發出的嘟文正在被此伺服器上的人們熱烈討論著。",
"dismissable_banner.explore_tags": "這些主題標籤正在被此伺服器以及去中心化網路上的人們熱烈討論著。", "dismissable_banner.explore_tags": "這些主題標籤正在被此伺服器以及去中心化網路上的人們熱烈討論著。",
"dismissable_banner.public_timeline": "這些是來自此伺服器以及去中心化網路中其他已知伺服器的最新公開嘟文。", "dismissable_banner.public_timeline": "這些是來自這裡以及去中心化網路中其他已知伺服器之最新公開嘟文。",
"embed.instructions": "要在您的網站嵌入此嘟文,請複製以下程式碼。", "embed.instructions": "要在您的網站嵌入此嘟文,請複製以下程式碼。",
"embed.preview": "它將顯示成這樣:", "embed.preview": "它將顯示成這樣:",
"emoji_button.activity": "活動", "emoji_button.activity": "活動",
@ -246,7 +246,7 @@
"filter_modal.added.context_mismatch_title": "不符合情境!", "filter_modal.added.context_mismatch_title": "不符合情境!",
"filter_modal.added.expired_explanation": "此過濾器類別已失效,您需要更新過期日期以套用。", "filter_modal.added.expired_explanation": "此過濾器類別已失效,您需要更新過期日期以套用。",
"filter_modal.added.expired_title": "過期的過濾器!", "filter_modal.added.expired_title": "過期的過濾器!",
"filter_modal.added.review_and_configure": "若欲檢視和進一步設定此過濾器類別,請至 {settings_link}。", "filter_modal.added.review_and_configure": "檢視和進一步設定此過濾器類別,請至 {settings_link}。",
"filter_modal.added.review_and_configure_title": "過濾器設定", "filter_modal.added.review_and_configure_title": "過濾器設定",
"filter_modal.added.settings_link": "設定頁面", "filter_modal.added.settings_link": "設定頁面",
"filter_modal.added.short_explanation": "此嘟文已被新增至以下過濾器類別:{title}。", "filter_modal.added.short_explanation": "此嘟文已被新增至以下過濾器類別:{title}。",
@ -306,11 +306,11 @@
"intervals.full.days": "{number, plural, one {# 天} other {# 天}}", "intervals.full.days": "{number, plural, one {# 天} other {# 天}}",
"intervals.full.hours": "{number, plural, one {# 小時} other {# 小時}}", "intervals.full.hours": "{number, plural, one {# 小時} other {# 小時}}",
"intervals.full.minutes": "{number, plural, one {# 分鐘} other {# 分鐘}}", "intervals.full.minutes": "{number, plural, one {# 分鐘} other {# 分鐘}}",
"keyboard_shortcuts.back": "返回上一頁", "keyboard_shortcuts.back": "上一頁",
"keyboard_shortcuts.blocked": "開啟「封鎖使用者」名單", "keyboard_shortcuts.blocked": "開啟「封鎖使用者」列表",
"keyboard_shortcuts.boost": "轉嘟", "keyboard_shortcuts.boost": "轉嘟",
"keyboard_shortcuts.column": "聚焦至其中一欄的嘟文", "keyboard_shortcuts.column": "將游標移至其中一欄",
"keyboard_shortcuts.compose": "聚焦至撰寫文字區塊", "keyboard_shortcuts.compose": "將游標移至文字撰寫區塊",
"keyboard_shortcuts.description": "說明", "keyboard_shortcuts.description": "說明",
"keyboard_shortcuts.direct": "開啟私訊欄", "keyboard_shortcuts.direct": "開啟私訊欄",
"keyboard_shortcuts.down": "往下移動", "keyboard_shortcuts.down": "往下移動",
@ -332,13 +332,13 @@
"keyboard_shortcuts.profile": "開啟作者的個人檔案頁面", "keyboard_shortcuts.profile": "開啟作者的個人檔案頁面",
"keyboard_shortcuts.reply": "回應嘟文", "keyboard_shortcuts.reply": "回應嘟文",
"keyboard_shortcuts.requests": "開啟跟隨請求列表", "keyboard_shortcuts.requests": "開啟跟隨請求列表",
"keyboard_shortcuts.search": "聚焦至搜尋框", "keyboard_shortcuts.search": "將游標移至搜尋框",
"keyboard_shortcuts.spoilers": "顯示或隱藏內容警告之嘟文", "keyboard_shortcuts.spoilers": "顯示或隱藏內容警告之嘟文",
"keyboard_shortcuts.start": "開啟「開始使用」欄位", "keyboard_shortcuts.start": "開啟「開始使用」欄位",
"keyboard_shortcuts.toggle_hidden": "顯示或隱藏在內容警告之後的嘟文", "keyboard_shortcuts.toggle_hidden": "顯示或隱藏在內容警告之後的嘟文",
"keyboard_shortcuts.toggle_sensitivity": "顯示或隱藏媒體", "keyboard_shortcuts.toggle_sensitivity": "顯示或隱藏媒體",
"keyboard_shortcuts.toot": "發個新嘟文", "keyboard_shortcuts.toot": "發個新嘟文",
"keyboard_shortcuts.unfocus": "取消輸入文字區塊或搜尋之焦點", "keyboard_shortcuts.unfocus": "跳離文字撰寫區塊或搜尋框",
"keyboard_shortcuts.up": "往上移動", "keyboard_shortcuts.up": "往上移動",
"lightbox.close": "關閉", "lightbox.close": "關閉",
"lightbox.compress": "折疊圖片檢視框", "lightbox.compress": "折疊圖片檢視框",
@ -376,27 +376,27 @@
"navigation_bar.compose": "撰寫新嘟文", "navigation_bar.compose": "撰寫新嘟文",
"navigation_bar.direct": "私訊", "navigation_bar.direct": "私訊",
"navigation_bar.discover": "探索", "navigation_bar.discover": "探索",
"navigation_bar.domain_blocks": "已封鎖網域", "navigation_bar.domain_blocks": "已封鎖網域",
"navigation_bar.edit_profile": "編輯個人檔案", "navigation_bar.edit_profile": "編輯個人檔案",
"navigation_bar.explore": "探索", "navigation_bar.explore": "探索",
"navigation_bar.favourites": "最愛", "navigation_bar.favourites": "最愛",
"navigation_bar.filters": "已靜音的關鍵字", "navigation_bar.filters": "已靜音的關鍵字",
"navigation_bar.follow_requests": "跟隨請求", "navigation_bar.follow_requests": "跟隨請求",
"navigation_bar.followed_tags": "已跟隨主題標籤", "navigation_bar.followed_tags": "已跟隨主題標籤",
"navigation_bar.follows_and_followers": "跟隨中與跟隨者", "navigation_bar.follows_and_followers": "跟隨中與跟隨者",
"navigation_bar.lists": "列表", "navigation_bar.lists": "列表",
"navigation_bar.logout": "登出", "navigation_bar.logout": "登出",
"navigation_bar.mutes": "已靜音的使用者", "navigation_bar.mutes": "已靜音的使用者",
"navigation_bar.personal": "個人", "navigation_bar.personal": "個人",
"navigation_bar.pins": "釘選嘟文", "navigation_bar.pins": "釘選嘟文",
"navigation_bar.preferences": "偏好設定", "navigation_bar.preferences": "偏好設定",
"navigation_bar.public_timeline": "聯邦時間軸", "navigation_bar.public_timeline": "聯邦時間軸",
"navigation_bar.search": "搜尋", "navigation_bar.search": "搜尋",
"navigation_bar.security": "安全性", "navigation_bar.security": "安全性",
"not_signed_in_indicator.not_signed_in": "您需要登入才能存取此資源。", "not_signed_in_indicator.not_signed_in": "您需要登入才能存取此資源。",
"notification.admin.report": "{name} 檢舉 {target}", "notification.admin.report": "{name} 檢舉 {target}",
"notification.admin.sign_up": "{name} 已經註冊", "notification.admin.sign_up": "{name} 已經註冊",
"notification.favourite": "{name} 把您的嘟文加入了最愛", "notification.favourite": "{name} 已將您的嘟文加入最愛",
"notification.follow": "{name} 跟隨了您", "notification.follow": "{name} 跟隨了您",
"notification.follow_request": "{name} 要求跟隨您", "notification.follow_request": "{name} 要求跟隨您",
"notification.mention": "{name} 提到了您", "notification.mention": "{name} 提到了您",
@ -404,7 +404,7 @@
"notification.poll": "您曾投過的投票已經結束", "notification.poll": "您曾投過的投票已經結束",
"notification.reblog": "{name} 轉嘟了您的嘟文", "notification.reblog": "{name} 轉嘟了您的嘟文",
"notification.status": "{name} 剛剛嘟文", "notification.status": "{name} 剛剛嘟文",
"notification.update": "{name} 編輯嘟文", "notification.update": "{name} 編輯嘟文",
"notifications.clear": "清除通知", "notifications.clear": "清除通知",
"notifications.clear_confirmation": "您確定要永久清除您的通知嗎?", "notifications.clear_confirmation": "您確定要永久清除您的通知嗎?",
"notifications.column_settings.admin.report": "新檢舉報告:", "notifications.column_settings.admin.report": "新檢舉報告:",
@ -544,7 +544,7 @@
"server_banner.server_stats": "伺服器統計:", "server_banner.server_stats": "伺服器統計:",
"sign_in_banner.create_account": "新增帳號", "sign_in_banner.create_account": "新增帳號",
"sign_in_banner.sign_in": "登入", "sign_in_banner.sign_in": "登入",
"sign_in_banner.text": "登入以追蹤個人檔案、主題標籤、最愛,分享和回覆嘟文。您也能與您其他伺服器之帳號進行互動。", "sign_in_banner.text": "登入以跟隨個人檔案和主題標籤,或收藏、分享和回覆嘟文。您也可以使用您的帳號在其他伺服器上進行互動。",
"status.admin_account": "開啟 @{name} 的管理介面", "status.admin_account": "開啟 @{name} 的管理介面",
"status.admin_domain": "開啟 {domain} 的管理介面", "status.admin_domain": "開啟 {domain} 的管理介面",
"status.admin_status": "在管理介面開啟此嘟文", "status.admin_status": "在管理介面開啟此嘟文",

@ -17,13 +17,13 @@ class AccountFilter
attr_reader :params attr_reader :params
def initialize(params) def initialize(params)
@params = params @params = params.to_h.symbolize_keys
end end
def results def results
scope = Account.includes(:account_stat, user: [:ips, :invite_request]).without_instance_actor.reorder(nil) scope = Account.includes(:account_stat, user: [:ips, :invite_request]).without_instance_actor.reorder(nil)
params.each do |key, value| relevant_params.each do |key, value|
next if key.to_s == 'page' next if key.to_s == 'page'
scope.merge!(scope_for(key, value)) if value.present? scope.merge!(scope_for(key, value)) if value.present?
@ -34,6 +34,16 @@ class AccountFilter
private private
def relevant_params
params.tap do |args|
args.delete(:origin) if origin_is_remote_and_domain_present?
end
end
def origin_is_remote_and_domain_present?
params[:origin] == 'remote' && params[:by_domain].present?
end
def scope_for(key, value) def scope_for(key, value)
case key.to_s case key.to_s
when 'origin' when 'origin'
@ -94,7 +104,15 @@ class AccountFilter
def order_scope(value) def order_scope(value)
case value.to_s case value.to_s
when 'active' when 'active'
accounts_with_users.left_joins(:account_stat).order(Arel.sql('coalesce(users.current_sign_in_at, account_stats.last_status_at, to_timestamp(0)) desc, accounts.id desc')) accounts_with_users
.left_joins(:account_stat)
.order(
Arel.sql(
<<~SQL.squish
COALESCE(users.current_sign_in_at, account_stats.last_status_at, to_timestamp(0)) DESC, accounts.id DESC
SQL
)
)
when 'recent' when 'recent'
Account.recent Account.recent
else else

@ -23,6 +23,7 @@ class PollVote < ApplicationRecord
after_create_commit :increment_counter_cache after_create_commit :increment_counter_cache
delegate :local?, to: :account delegate :local?, to: :account
delegate :multiple?, :expired?, to: :poll, prefix: true
def object_type def object_type
:vote :vote

@ -74,10 +74,6 @@ class InstancePresenter < ActiveModelSerializers::Model
Rails.cache.fetch('distinct_domain_count') { Instance.count } Rails.cache.fetch('distinct_domain_count') { Instance.count }
end end
def sample_accounts
Rails.cache.fetch('sample_accounts', expires_in: 12.hours) { Account.local.discoverable.popular.limit(3) }
end
def version def version
Mastodon::Version.to_s Mastodon::Version.to_s
end end

@ -67,7 +67,7 @@ class ImportService < BaseService
def import_relationships!(action, undo_action, overwrite_scope, limit, extra_fields = {}) def import_relationships!(action, undo_action, overwrite_scope, limit, extra_fields = {})
local_domain_suffix = "@#{Rails.configuration.x.local_domain}" local_domain_suffix = "@#{Rails.configuration.x.local_domain}"
items = @data.take(limit).map { |row| [row['Account address']&.strip&.delete_suffix(local_domain_suffix), Hash[extra_fields.map { |key, field_settings| [key, row[field_settings[:header]]&.strip || field_settings[:default]] }]] }.reject { |(id, _)| id.blank? } items = @data.take(limit).map { |row| [row['Account address']&.strip&.delete_suffix(local_domain_suffix), extra_fields.to_h { |key, field_settings| [key, row[field_settings[:header]]&.strip || field_settings[:default]] }] }.reject { |(id, _)| id.blank? }
if @import.overwrite? if @import.overwrite?
presence_hash = items.each_with_object({}) { |(id, extra), mapping| mapping[id] = [true, extra] } presence_hash = items.each_with_object({}) { |(id, extra), mapping| mapping[id] = [true, extra] }

@ -2,13 +2,13 @@
class VoteValidator < ActiveModel::Validator class VoteValidator < ActiveModel::Validator
def validate(vote) def validate(vote)
vote.errors.add(:base, I18n.t('polls.errors.expired')) if vote.poll.expired? vote.errors.add(:base, I18n.t('polls.errors.expired')) if vote.poll_expired?
vote.errors.add(:base, I18n.t('polls.errors.invalid_choice')) if invalid_choice?(vote) vote.errors.add(:base, I18n.t('polls.errors.invalid_choice')) if invalid_choice?(vote)
if vote.poll.multiple? && vote.poll.votes.where(account: vote.account, choice: vote.choice).exists? if vote.poll_multiple? && already_voted_for_same_choice_on_multiple_poll?(vote)
vote.errors.add(:base, I18n.t('polls.errors.already_voted')) vote.errors.add(:base, I18n.t('polls.errors.already_voted'))
elsif !vote.poll.multiple? && vote.poll.votes.where(account: vote.account).exists? elsif !vote.poll_multiple? && already_voted_on_non_multiple_poll?(vote)
vote.errors.add(:base, I18n.t('polls.errors.already_voted')) vote.errors.add(:base, I18n.t('polls.errors.already_voted'))
end end
end end
@ -18,4 +18,24 @@ class VoteValidator < ActiveModel::Validator
def invalid_choice?(vote) def invalid_choice?(vote)
vote.choice.negative? || vote.choice >= vote.poll.options.size vote.choice.negative? || vote.choice >= vote.poll.options.size
end end
def already_voted_for_same_choice_on_multiple_poll?(vote)
if vote.persisted?
account_votes_on_same_poll(vote).where(choice: vote.choice).where.not(poll_votes: { id: vote }).exists?
else
account_votes_on_same_poll(vote).where(choice: vote.choice).exists?
end
end
def already_voted_on_non_multiple_poll?(vote)
if vote.persisted?
account_votes_on_same_poll(vote).where.not(poll_votes: { id: vote }).exists?
else
account_votes_on_same_poll(vote).exists?
end
end
def account_votes_on_same_poll(vote)
vote.poll.votes.where(account: vote.account)
end
end end

@ -2,27 +2,32 @@
es: es:
admin: admin:
custom_emojis: custom_emojis:
batch_copy_error: Se produjo un error cuando se copian algunos emojis seleccionados %{message} batch_copy_error: 'Se produjo un error cuando se copian algunos emojis seleccionados %{message}'
batch_error: Ocurrió un error %{message} batch_error: 'Ocurrió un error %{message}'
settings: settings:
captcha_enabled:
title: Requerir que usuarixs nuevxs resuelvan un CAPTCHA para confirmar su cuenta
hide_followers_count: hide_followers_count:
desc_html: No mostrar el conteo de seguidorxs en perfiles de usuarix desc_html: No mostrar el conteo de seguidorxs en perfiles de usuarix
title: Ocultar conteo de seguidorxs title: Ocultar conteo de seguidorxs
outgoing_spoilers: outgoing_spoilers:
desc_html: Cuando los toots federen, agrega esta etiqueta de contenido a los toots que no tengan. Es útil si tu servidor se especializa en contenido que otros servidores desearían tener con una advertencia de contenido. Los medios también se marcarán como sensibles. desc_html: Cuando los toots federen, agrega esta etiqueta de contenido a los toots que no tengan. Es útil si tu servidor se especializa en contenido que otros servidores desearían tener con una advertencia de contenido. Los medios también se marcarán como sensibles.
title: Advertencia de contenido para los toots salientes title: Advertencia de contenido para publicaciones salientes
show_reblogs_in_public_timelines: show_reblogs_in_public_timelines:
desc_html: Mostrar retoots públicos en las línea de tiempo local y pública. desc_html: Mostrar impulsos públicos en las líneas de tiempo local y pública.
title: Mostrar retoots en líneas de tiempo públicas title: Mostrar impulsos en líneas de tiempo públicas
show_replies_in_public_timelines: show_replies_in_public_timelines:
desc_html: Además de auto-respuestas públicas (hilos), mostrar respuestas públicas en las línea de tiempo local y pública. desc_html: Además de auto-respuestas públicas (hilos), mostrar respuestas públicas en las líneas de tiempo local y pública.
title: Mostrar respuestas en líneas de tiempo públicas title: Mostrar respuestas en líneas de tiempo públicas
trending_status_cw: trending_status_cw:
title: Permitir que toots con advertencias de contenido sean tendencia title: Permitir que publicaciones con advertencias de contenido sean tendencia
appearance: appearance:
localization: localization:
glitch_guide_link: https://crowdin.com/project/glitch-soc glitch_guide_link: https://crowdin.com/project/glitch-soc
glitch_guide_link_text: Al igual que para glitch-soc! glitch_guide_link_text: Al igual que para glitch-soc!
auth:
captcha_confirmation:
title: Verificación de usuarix
generic: generic:
use_this: Usar use_this: Usar
settings: settings:

@ -41,7 +41,7 @@ bg:
attributes: attributes:
email: email:
blocked: използва се забранен доставчик на услуга за е-поща blocked: използва се забранен доставчик на услуга за е-поща
unreachable: изглежда, че не съществува unreachable: изглежда не съществува
role_id: role_id:
elevated: не може да е по-висока от текущата ви роля elevated: не може да е по-висока от текущата ви роля
user_role: user_role:

@ -28,7 +28,7 @@ de:
doorkeeper/application: doorkeeper/application:
attributes: attributes:
website: website:
invalid: ist keine gültige Adresse invalid: ist keine gültige URL
import: import:
attributes: attributes:
data: data:

@ -43,13 +43,13 @@ fy:
blocked: brûkt in net tastiene e-mailprovider blocked: brûkt in net tastiene e-mailprovider
unreachable: liket net te bestean unreachable: liket net te bestean
role_id: role_id:
elevated: kin net heger wêze as dyn aktuele rol elevated: kin net heger wêze as jo aktuele rol
user_role: user_role:
attributes: attributes:
permissions_as_keys: permissions_as_keys:
dangerous: rjochten tafoegje dyt net feilich binne foar de basisrol dangerous: rjochten tafoegje dyt net feilich binne foar de basisrol
elevated: kin gjin rjochten tafoegje dyt dyn aktuele rol net besit elevated: kin gjin rjochten tafoegje dyt jo aktuele rol net besit
own_role: kin net mei dyn aktuele rol wizige wurde own_role: kin net mei jo aktuele rol wizige wurde
position: position:
elevated: kin net heger wêze as dyn aktuele rol elevated: kin net heger wêze as jo aktuele rol
own_role: kin net mei dyn aktuele rol wizige wurde own_role: kin net mei jo aktuele rol wizige wurde

@ -25,3 +25,7 @@ kab:
attributes: attributes:
reblog: reblog:
taken: n iddaden yellan yakan taken: n iddaden yellan yakan
user:
attributes:
email:
unreachable: ur d-ttban ara d akken yella

@ -43,7 +43,7 @@ pt-BR:
blocked: usa provedor de e-mail não permitido blocked: usa provedor de e-mail não permitido
unreachable: parece não existir unreachable: parece não existir
role_id: role_id:
elevated: não pode ser maior do que seu cargo atual elevated: não pode ser maior que seu cargo atual
user_role: user_role:
attributes: attributes:
permissions_as_keys: permissions_as_keys:

@ -114,6 +114,13 @@ ar:
pending: في انتظار المراجعة pending: في انتظار المراجعة
perform_full_suspension: تعليق الحساب perform_full_suspension: تعليق الحساب
previous_strikes: العقوبات السابقة previous_strikes: العقوبات السابقة
previous_strikes_description_html:
few: لدى هذا الحساب <strong>%{count}</strong> إنذارات.
many: لدى هذا الحساب <strong>%{count}</strong> إنذارًا.
one: هذا الحساب لديه <strong>%{count}</strong>انذار.
other: لدى هذا الحساب <strong>%{count}</strong> إنذار.
two: لدى هذا الحساب <strong>%{count}</strong> إنذاران اثنان.
zero: هذا الحساب لديه <strong>%{count}</strong>انذار.
promote: ترقية promote: ترقية
protocol: البروتوكول protocol: البروتوكول
public: عمومي public: عمومي
@ -880,6 +887,13 @@ ar:
trending_rank: 'المتداولة #%{rank}' trending_rank: 'المتداولة #%{rank}'
usable: يمكن استخدامه usable: يمكن استخدامه
usage_comparison: تم استخدامه %{today} مرات اليوم، مقارنة بـ %{yesterday} بالأمس usage_comparison: تم استخدامه %{today} مرات اليوم، مقارنة بـ %{yesterday} بالأمس
used_by_over_week:
few: مستخدَم من قِبل %{count} أشخاص خلال الأسبوع الماضي
many: مستخدَم من قِبل %{count} شخصا خلال الأسبوع الماضي
one: مستخدَم من قِبل %{count} شخص واحد خلال الأسبوع الماضي
other: مستخدَم من قِبل %{count} شخص خلال الأسبوع الماضي
two: مستخدَم من قِبل %{count} شخصين خلال الأسبوع الماضي
zero: مستخدَم من قِبل %{count} شخص خلال الأسبوع الماضي
title: المتداوَلة title: المتداوَلة
trending: المتداولة trending: المتداولة
warning_presets: warning_presets:
@ -1150,6 +1164,8 @@ ar:
storage: ذاكرة التخزين storage: ذاكرة التخزين
featured_tags: featured_tags:
add_new: أضف واحدًا جديدا add_new: أضف واحدًا جديدا
errors:
limit: لقد قمت بالفعل بعرض الحد الأقصى من عدد الوسوم
hint_html: "<strong>ما هي الوسوم الرائجة؟</strong> يتم عرضها بشكل بارز على ملفك الشخصي العام وتسمح للناس بتصفح منشوراتك العامة على وجه التحديد تحت تلك الوسوم. وهي أداة رائعة لتتبع الأعمال الإبداعية أو المشاريع الطويلة الأجل." hint_html: "<strong>ما هي الوسوم الرائجة؟</strong> يتم عرضها بشكل بارز على ملفك الشخصي العام وتسمح للناس بتصفح منشوراتك العامة على وجه التحديد تحت تلك الوسوم. وهي أداة رائعة لتتبع الأعمال الإبداعية أو المشاريع الطويلة الأجل."
filters: filters:
contexts: contexts:

@ -6,7 +6,7 @@ ast:
hosted_on: 'Mastodon ta agospiáu en: %{domain}' hosted_on: 'Mastodon ta agospiáu en: %{domain}'
title: Tocante a title: Tocante a
accounts: accounts:
last_active: Última actividá last_active: última actividá
nothing_here: "¡Equí nun hai nada!" nothing_here: "¡Equí nun hai nada!"
posts: posts:
one: Artículu one: Artículu
@ -20,6 +20,7 @@ ast:
accounts: accounts:
add_email_domain_block: Bloquiar el dominiu de corréu electrónicu add_email_domain_block: Bloquiar el dominiu de corréu electrónicu
approved_msg: Aprobóse correutamente la solicitú de rexistru de «%{username}» approved_msg: Aprobóse correutamente la solicitú de rexistru de «%{username}»
are_you_sure: "¿De xuru que quies facer esta aición?"
avatar: Avatar avatar: Avatar
by_domain: Dominiu by_domain: Dominiu
confirming: En confirmación confirming: En confirmación
@ -39,6 +40,7 @@ ast:
login_status: Estáu del aniciu de la sesión login_status: Estáu del aniciu de la sesión
moderation: moderation:
pending: Pendiente pending: Pendiente
title: Moderación
most_recent_activity: L'actividá más recién most_recent_activity: L'actividá más recién
most_recent_ip: La IP más recién most_recent_ip: La IP más recién
perform_full_suspension: Suspender perform_full_suspension: Suspender
@ -201,12 +203,19 @@ ast:
known_accounts: known_accounts:
one: "%{count} cuenta conocida" one: "%{count} cuenta conocida"
other: "%{count} cuentes conocíes" other: "%{count} cuentes conocíes"
moderation:
title: Moderación
private_comment: Comentariu priváu private_comment: Comentariu priváu
public_comment: Comentariu públicu public_comment: Comentariu públicu
title: Federación title: Federación
total_reported: Informes d'esa instancia total_reported: Informes d'esa instancia
invites: invites:
deactivate_all: Desactivalo too deactivate_all: Desactivalo too
filter:
all: Too
available: Disponible
expired: Caducó
title: Peñera
title: Invitaciones title: Invitaciones
ip_blocks: ip_blocks:
expires_in: expires_in:
@ -231,6 +240,7 @@ ast:
silence_description_html: La cuenta va ser visible namás pa quien xá la siguiere o la buscare manualmente, lo que llenda'l so algame. Esta decisión pue desfacese en cualesquier momentu. Si escueyes esta opción, zárrense tolos informes escontra esta cuenta. silence_description_html: La cuenta va ser visible namás pa quien xá la siguiere o la buscare manualmente, lo que llenda'l so algame. Esta decisión pue desfacese en cualesquier momentu. Si escueyes esta opción, zárrense tolos informes escontra esta cuenta.
actions_description_html: Decidi qué aición tomar pa resolver esti informe. Si tomes una aición punitiva escontra la cuenta de la que s'informó, va unviase un avisu per corréu electrónicu a esa cuenta, esceuto cuando se seleiciona la categoría <strong>Puxarra</strong>. actions_description_html: Decidi qué aición tomar pa resolver esti informe. Si tomes una aición punitiva escontra la cuenta de la que s'informó, va unviase un avisu per corréu electrónicu a esa cuenta, esceuto cuando se seleiciona la categoría <strong>Puxarra</strong>.
add_to_report: Amestar más al informe add_to_report: Amestar más al informe
are_you_sure: "¿De xuru que quies facer esta aición?"
category: Categoría category: Categoría
category_description_html: El motivu pol que s'informó d'esta cuenta y/o conteníu cítase na comunicación cola cuenta de la que s'informó category_description_html: El motivu pol que s'informó d'esta cuenta y/o conteníu cítase na comunicación cola cuenta de la que s'informó
comment_description_html: 'Pa fornir más información, %{name} escribió:' comment_description_html: 'Pa fornir más información, %{name} escribió:'
@ -268,6 +278,7 @@ ast:
administration: Alministración administration: Alministración
devops: DevOps devops: DevOps
invites: Invitaciones invites: Invitaciones
moderation: Moderación
edit: Edición del rol «%{name}» edit: Edición del rol «%{name}»
everyone: Permisos predeterminaos everyone: Permisos predeterminaos
permissions_count: permissions_count:
@ -339,6 +350,7 @@ ast:
strikes: strikes:
actions: actions:
delete_statuses: "%{name} desanició l'artículu de: %{target}" delete_statuses: "%{name} desanició l'artículu de: %{target}"
disable: "%{name} conxeló la cuenta de: %{target}"
mark_statuses_as_sensitive: "%{name} marcó l'artículu de %{target} como sensible" mark_statuses_as_sensitive: "%{name} marcó l'artículu de %{target} como sensible"
none: "%{name} unvió una alvertencia a %{target}" none: "%{name} unvió una alvertencia a %{target}"
sensitive: "%{name} marcó la cuenta de %{target} como sensible" sensitive: "%{name} marcó la cuenta de %{target} como sensible"
@ -433,6 +445,7 @@ ast:
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:
created: L'aplicación creóse correutamente created: L'aplicación creóse correutamente
destroyed: L'aplicación desanicióse correutamente
regenerate_token: Volver xenerar el pase d'accesu regenerate_token: Volver xenerar el pase d'accesu
token_regenerated: El pase d'accesu volvió xenerase correutamente token_regenerated: El pase d'accesu volvió xenerase correutamente
warning: Ten munchu curiáu con estos datos, ¡enxamás nun los compartas con naide! warning: Ten munchu curiáu con estos datos, ¡enxamás nun los compartas con naide!
@ -520,12 +533,14 @@ ast:
action_taken: Aición tomada action_taken: Aición tomada
appeal: Apellación appeal: Apellación
appeal_rejected: Refugóse l'apellación appeal_rejected: Refugóse l'apellación
appeal_submitted_at: Data de l'apellación
appealed_msg: Unvióse l'apellación. Si s'aprueba, avisámoste. appealed_msg: Unvióse l'apellación. Si s'aprueba, avisámoste.
appeals: appeals:
submit: Unviu d'una apellación submit: Unviu d'una apellación
approve_appeal: Aprobar l'apellación approve_appeal: Aprobar l'apellación
associated_report: Informe asociáu associated_report: Informe asociáu
created_at: Data created_at: Data
recipient: Dirixóse a
reject_appeal: Refugar l'apellación reject_appeal: Refugar l'apellación
status: 'Artículu #%{id}' status: 'Artículu #%{id}'
status_removed: L'artículu xá se quitó del sistema status_removed: L'artículu xá se quitó del sistema
@ -570,6 +585,7 @@ ast:
public: Llinies de tiempu públiques public: Llinies de tiempu públiques
thread: Conversaciones thread: Conversaciones
edit: edit:
add_keyword: Amestar una pallabra clave
keywords: Pallabres clave keywords: Pallabres clave
statuses: Artículos individuales statuses: Artículos individuales
errors: errors:
@ -654,6 +670,8 @@ ast:
incoming_migrations_html: Pa migrar d'otra cuenta a esta, primero tienes de <a href="%{path}">crear un nomatu de cuenta</a>. incoming_migrations_html: Pa migrar d'otra cuenta a esta, primero tienes de <a href="%{path}">crear un nomatu de cuenta</a>.
warning: warning:
followers: Esta aición va mover tolos siguidores de la cuenta actual a la nueva followers: Esta aición va mover tolos siguidores de la cuenta actual a la nueva
moderation:
title: Moderación
notification_mailer: notification_mailer:
admin: admin:
sign_up: sign_up:
@ -778,6 +796,7 @@ ast:
notifications: Avisos notifications: Avisos
preferences: Preferencies preferences: Preferencies
profile: Perfil profile: Perfil
relationships: Perfiles que sigues ya te siguen
statuses_cleanup: Desaniciu automáticu d'artículos statuses_cleanup: Desaniciu automáticu d'artículos
two_factor_authentication: Autenticación en dos pasos two_factor_authentication: Autenticación en dos pasos
webauthn_authentication: Llaves de seguranza webauthn_authentication: Llaves de seguranza
@ -819,8 +838,16 @@ ast:
exceptions: Esceiciones exceptions: Esceiciones
interaction_exceptions: Esceiciones basaes nes interaiciones interaction_exceptions: Esceiciones basaes nes interaiciones
keep_direct: Caltener los mensaxes direutos keep_direct: Caltener los mensaxes direutos
keep_direct_hint: Nun desanicia nengún mensaxe direutu
keep_media: Caltener los artículos con elementos multimedia
keep_media_hint: Nun desanicia nengún artículu de to que contenta elementos multimedia
keep_pinned: Caltener los artículos fixaos keep_pinned: Caltener los artículos fixaos
keep_polls: Caltener les encuestes keep_polls: Caltener les encuestes
keep_polls_hint: Nun desanicia nenguna encuesta de to
keep_self_bookmark: Caltener los artículos que metieres en Marcadores
keep_self_bookmark_hint: Nun desanicia nengún artículu que metieres en Marcadores
keep_self_fav: Caltener los artículos que seyan favoritos
keep_self_fav_hint: Nun desanicia nengún artículu que marcares como favoritu
min_age: min_age:
'1209600': 2 selmanes '1209600': 2 selmanes
'15778476': 6 meses '15778476': 6 meses

@ -105,7 +105,7 @@ bg:
not_subscribed: Без абонамент not_subscribed: Без абонамент
pending: Изчаква преглед pending: Изчаква преглед
perform_full_suspension: Спиране perform_full_suspension: Спиране
previous_strikes: Предишни нарушения previous_strikes: Предишни предупреждения
previous_strikes_description_html: previous_strikes_description_html:
one: Този акаунт има <strong>едно</strong> нарушение. one: Този акаунт има <strong>едно</strong> нарушение.
other: Този акунт има <strong>%{count}</strong> нарушения. other: Този акунт има <strong>%{count}</strong> нарушения.
@ -231,7 +231,7 @@ bg:
actions: actions:
approve_appeal_html: "%{name} одобри обжалването на решение за модериране от %{target}" approve_appeal_html: "%{name} одобри обжалването на решение за модериране от %{target}"
approve_user_html: "%{name} одобри регистрирането от %{target}" approve_user_html: "%{name} одобри регистрирането от %{target}"
assigned_to_self_report_html: "%{name} назначете доклада %{target} на себе си" assigned_to_self_report_html: "%{name} възложи на себе си доклад %{target}"
change_email_user_html: "%{name} промени адреса на имейла на потребителя %{target}" change_email_user_html: "%{name} промени адреса на имейла на потребителя %{target}"
change_role_user_html: "%{name} промени ролята на %{target}" change_role_user_html: "%{name} промени ролята на %{target}"
confirm_user_html: "%{name} потвърди адреса на имейла на потребителя %{target}" confirm_user_html: "%{name} потвърди адреса на имейла на потребителя %{target}"
@ -613,6 +613,7 @@ bg:
placeholder: Опишете какви действия са били предприети или всякакви други свързани нови неща... placeholder: Опишете какви действия са били предприети или всякакви други свързани нови неща...
title: Бележки title: Бележки
notes_description_html: Прегледайте и оставете бележки за други модератори и за вас самите след време notes_description_html: Прегледайте и оставете бележки за други модератори и за вас самите след време
processed_msg: Доклад №%{id} успешно обработен
quick_actions_description_html: 'Предприемете бързо действие или превъртете надолу, за да видите докладваното съдържание:' quick_actions_description_html: 'Предприемете бързо действие или превъртете надолу, за да видите докладваното съдържание:'
remote_user_placeholder: отдалеченият потребител от %{instance} remote_user_placeholder: отдалеченият потребител от %{instance}
reopen: Отваряне пак на доклад reopen: Отваряне пак на доклад
@ -633,10 +634,14 @@ bg:
suspend_html: 'На път сте да <strong>спрете</strong> акаунта на <strong>@%{acct}</strong>. Това ще:' suspend_html: 'На път сте да <strong>спрете</strong> акаунта на <strong>@%{acct}</strong>. Това ще:'
actions: actions:
delete_html: Премахване на обидните публикации delete_html: Премахване на обидните публикации
mark_as_sensitive_html: Означаване на мултимедийните обидни публикации като деликатни
silence_html: Силно ограничаване достигането на <strong>@%{acct}</strong>, което прави профилът и съдържанието на това лице видимо само до хората, които са го последвали или ръчно търсещите профила silence_html: Силно ограничаване достигането на <strong>@%{acct}</strong>, което прави профилът и съдържанието на това лице видимо само до хората, които са го последвали или ръчно търсещите профила
suspend_html: Спирането на <strong>@%{acct}</strong> ще направи профилът и съдържанието недостъпни и невъзможни за взаимодействие
close_report: Отбелязване на доклад №%{id} като решен close_report: Отбелязване на доклад №%{id} като решен
close_reports_html: Означаване на <strong>всички</strong> доклади срещу <strong>@%{acct}</strong> като решени close_reports_html: Означаване на <strong>всички</strong> доклади срещу <strong>@%{acct}</strong> като решени
delete_data_html: Изтриване на профила и съдържанието на <strong>@%{acct}</strong> за 30 дни от сега, освен ако междувременно не получи спиране
preview_preamble_html: "<strong>@%{acct}</strong> ще получи предупреждение със следното съдържание:" preview_preamble_html: "<strong>@%{acct}</strong> ще получи предупреждение със следното съдържание:"
record_strike_html: Запис на предупреждение против <strong>@%{acct}</strong>, за да ви помогне при изострянето на бъдещи нарушения от този акаунт
send_email_html: Изпращане на предупредително е-писмо на <strong>@%{acct}</strong> send_email_html: Изпращане на предупредително е-писмо на <strong>@%{acct}</strong>
warning_placeholder: Незадължителни допълнителни причини за модераторско действие. warning_placeholder: Незадължителни допълнителни причини за модераторско действие.
target_origin: Произход на докладвания акаунт target_origin: Произход на докладвания акаунт
@ -1020,7 +1025,7 @@ bg:
functional: Вашият акаунт е в изправност. functional: Вашият акаунт е в изправност.
pending: Вашето приложение чака преглед от нашия екип. Това може да отнеме време. Ще получите имейл, ако приложението е одобрено. pending: Вашето приложение чака преглед от нашия екип. Това може да отнеме време. Ще получите имейл, ако приложението е одобрено.
redirecting_to: Вашият акаунт е бездеен, защото сега се пренасочва към %{acct}. redirecting_to: Вашият акаунт е бездеен, защото сега се пренасочва към %{acct}.
view_strikes: Преглед на предишните нарушения за вашия акаунт view_strikes: Преглед на предишните предупреждения против акаунта ви
too_fast: Образецът подаден пребързо, опитайте пак. too_fast: Образецът подаден пребързо, опитайте пак.
use_security_key: Употреба на ключ за сигурност use_security_key: Употреба на ключ за сигурност
authorize_follow: authorize_follow:
@ -1083,7 +1088,7 @@ bg:
strikes: strikes:
action_taken: Предприето действие action_taken: Предприето действие
appeal: Обжалване appeal: Обжалване
appeal_approved: Това нарушение беше успешно обжалвано и е вече невалидно appeal_approved: Това предупреждение беше успешно обжалвано и е вече невалидно
appeal_rejected: Обжалването е отхвърлено appeal_rejected: Обжалването е отхвърлено
appeal_submitted_at: Подадено обжалване appeal_submitted_at: Подадено обжалване
appealed_msg: Вашето обжалване е отхвърлено. Ако е одобрено, то ще бъдете известени. appealed_msg: Вашето обжалване е отхвърлено. Ако е одобрено, то ще бъдете известени.
@ -1492,7 +1497,7 @@ bg:
profile: Профил profile: Профил
relationships: Последвания и последователи relationships: Последвания и последователи
statuses_cleanup: Автоматично изтриване на публикации statuses_cleanup: Автоматично изтриване на публикации
strikes: Нарушения strikes: Модериране на предупреждения
two_factor_authentication: Двустепенно удостоверяване two_factor_authentication: Двустепенно удостоверяване
webauthn_authentication: Ключове за сигурност webauthn_authentication: Ключове за сигурност
statuses: statuses:
@ -1586,7 +1591,7 @@ bg:
sensitive_content: Деликатно съдържание sensitive_content: Деликатно съдържание
strikes: strikes:
errors: errors:
too_late: Късно е за обжалване на това нарушение too_late: Твърде късно е за обжалване на това предупреждение
tags: tags:
does_not_match_previous_name: не съвпада с предишното име does_not_match_previous_name: не съвпада с предишното име
themes: themes:

@ -990,7 +990,7 @@ da:
migrate_account: Flyt til en anden konto migrate_account: Flyt til en anden konto
migrate_account_html: Ønsker du at omdirigere denne konto til en anden, kan du <a href="%{path}">opsætte dette hér</a>. migrate_account_html: Ønsker du at omdirigere denne konto til en anden, kan du <a href="%{path}">opsætte dette hér</a>.
or_log_in_with: Eller log ind med or_log_in_with: Eller log ind med
privacy_policy_agreement_html: Jeg accepterer <a href="%{privacy_policy_path}" target="_blank">Fortrolighedspolitikken</a> privacy_policy_agreement_html: Jeg accepterer <a href="%{privacy_policy_path}" target="_blank">privatlivspolitikken</a>
providers: providers:
cas: CAS cas: CAS
saml: SAML saml: SAML
@ -1077,7 +1077,7 @@ da:
email_contact_html: Hvis det stadig ikke ankommer, kan du sende en e-mail til <a href="mailto:%{email}">%{email}</a> for hjælp email_contact_html: Hvis det stadig ikke ankommer, kan du sende en e-mail til <a href="mailto:%{email}">%{email}</a> for hjælp
email_reconfirmation_html: Modtager du ikke bekræftelses-e-mailen, kan du <a href="%{path}">anmode om en ny</a> email_reconfirmation_html: Modtager du ikke bekræftelses-e-mailen, kan du <a href="%{path}">anmode om en ny</a>
irreversible: Du vil ikke kunne gendanne/genaktivere din konto irreversible: Du vil ikke kunne gendanne/genaktivere din konto
more_details_html: For yderligere oplysningerer, tjek <a href="%{terms_path}">fortrolighedspolitikken</a>. more_details_html: For yderligere oplysningerer, tjek <a href="%{terms_path}">privatlivspolitikken</a>.
username_available: Dit brugernavn vil blive tilgængeligt igen username_available: Dit brugernavn vil blive tilgængeligt igen
username_unavailable: Dit brugernavn vil forblive utilgængeligt username_unavailable: Dit brugernavn vil forblive utilgængeligt
disputes: disputes:
@ -1392,7 +1392,7 @@ da:
posting_defaults: Standarder for indlæg posting_defaults: Standarder for indlæg
public_timelines: Offentlige tidslinjer public_timelines: Offentlige tidslinjer
privacy_policy: privacy_policy:
title: Fortrolighedspolitik title: Privatlivspolitik
reactions: reactions:
errors: errors:
limit_reached: Grænse for forskellige reaktioner nået limit_reached: Grænse for forskellige reaktioner nået

@ -735,8 +735,8 @@ de:
preamble: Lege fest, wie lange nutzergenerierte Inhalte auf deiner Mastodon-Instanz gespeichert werden. preamble: Lege fest, wie lange nutzergenerierte Inhalte auf deiner Mastodon-Instanz gespeichert werden.
title: Cache & Archive title: Cache & Archive
default_noindex: default_noindex:
desc_html: Betrifft alle Benutzer, die diese Einstellung nicht selbst geändert haben desc_html: Betrifft alle Benutzer*innen, die diese Einstellung bei sich nicht geändert haben
title: Benutzer standardmäßig von der Suchmaschinen-Indizierung ausnehmen title: Profile standardmäßig von der Suchmaschinen-Indizierung ausnehmen
discovery: discovery:
follow_recommendations: Folgeempfehlungen follow_recommendations: Folgeempfehlungen
preamble: Das Auffinden interessanter Inhalte ist wichtig, um neue Nutzer einzubinden, die Mastodon noch nicht kennen. Bestimme, wie verschiedene Suchfunktionen auf deinem Server funktionieren. preamble: Das Auffinden interessanter Inhalte ist wichtig, um neue Nutzer einzubinden, die Mastodon noch nicht kennen. Bestimme, wie verschiedene Suchfunktionen auf deinem Server funktionieren.

@ -20,9 +20,9 @@ de:
confirmation_instructions: confirmation_instructions:
action: E-Mail-Adresse verifizieren action: E-Mail-Adresse verifizieren
action_with_app: Bestätigen und dann zur App %{app} zurückkehren action_with_app: Bestätigen und dann zur App %{app} zurückkehren
explanation: Du hast auf %{host} mit dieser E-Mail-Adresse ein Konto erstellt. Du bist nur noch einen Klick von der Aktivierung entfernt. Wenn du das nicht warst, kannst du diese E-Mail ignorieren. explanation: Du hast mit dieser E-Mail-Adresse ein Konto auf %{host} erstellt. Du bist nur noch einen Klick von der Aktivierung entfernt. Wenn du das nicht warst, kannst du diese E-Mail ignorieren.
explanation_when_pending: Du hast dich für eine Einladung bei %{host} mit dieser E-Mailadresse beworben. Sobald du deine E-Mailadresse bestätigst hast, werden wir deine Anfrage überprüfen. Du kannst dich in dieser Zeit nicht anmelden. Wenn deine Anfrage abgelehnt wird, werden deine Daten entfernt, also wird keine weitere Handlung benötigt. Wenn du das nicht warst, kannst du diese E-Mail ignorieren. explanation_when_pending: Du hast dich für eine Einladung bei %{host} mit dieser E-Mailadresse beworben. Sobald du deine E-Mailadresse bestätigst hast, werden wir deine Anfrage überprüfen. Du kannst dich in dieser Zeit nicht anmelden. Wenn deine Anfrage abgelehnt wird, werden deine Daten entfernt, also wird keine weitere Handlung benötigt. Wenn du das nicht warst, kannst du diese E-Mail ignorieren.
extra_html: Bitte lies auch die <a href="%{terms_path}">Regeln des Servers</a> und <a href="%{policy_path}">unsere Nutzungsbedingungen</a>. extra_html: Bitte beachte auch die <a href="%{terms_path}">Serverregeln</a> und <a href="%{policy_path}">unsere Datenschutzerklärung</a>.
subject: 'Mastodon: Bestätigung deines Kontos bei %{instance}' subject: 'Mastodon: Bestätigung deines Kontos bei %{instance}'
title: E-Mail-Adresse verifizieren title: E-Mail-Adresse verifizieren
email_changed: email_changed:

@ -48,15 +48,15 @@ et:
title: Salasõna lähtestamine title: Salasõna lähtestamine
two_factor_disabled: two_factor_disabled:
explanation: Kontol on kaheastmeline autentimine välja lülitatud. Sisenemine on võimalik ainult kasutades e-postiaadressi ja salasõna. explanation: Kontol on kaheastmeline autentimine välja lülitatud. Sisenemine on võimalik ainult kasutades e-postiaadressi ja salasõna.
subject: 'Mastodon: Kahe-etapine autentimine välja lülitatud' subject: 'Mastodon: Kaheastmeline autentimine välja lülitatud'
title: 2FA keelatud title: 2FA keelatud
two_factor_enabled: two_factor_enabled:
explanation: Kontol on sisse lülitatud kaheastmeline autentimine. Sisenemiseks on vajalik ühekordne aeguv võti TOTP-rakenduse poolt. explanation: Kontol on sisse lülitatud kaheastmeline autentimine. Sisenemiseks on vajalik ühekordne aeguv võti TOTP-rakenduse poolt.
subject: 'Mastodon: Kahe-etapine autentimine sisse lülitatud' subject: 'Mastodon: kaheastmeline autentimine sisse lülitatud'
title: 2FA lubatud title: 2FA lubatud
two_factor_recovery_codes_changed: two_factor_recovery_codes_changed:
explanation: Eelmised taastekoodid on nüüd kehtetud ning loodud uued. explanation: Eelmised taastekoodid on nüüd kehtetud ning loodud uued.
subject: 'Mastodon: Kahe-etapise autentimise taastuskoodid taasloodud' subject: 'Mastodon: Kaheastmelise autentimise taastuskoodid taasloodud'
title: 2FA taastekoodid muudetud title: 2FA taastekoodid muudetud
unlock_instructions: unlock_instructions:
subject: 'Mastodon: Lahti lukustamis juhendid' subject: 'Mastodon: Lahti lukustamis juhendid'

@ -6,13 +6,13 @@ fy:
send_instructions: Do ûntfangst fia in e-mailberjocht ynstruksjes hoetsto dyn account befêstigje kinst. Sjoch yn de map net-winske wanneart neat ûntfongen waard. send_instructions: Do ûntfangst fia in e-mailberjocht ynstruksjes hoetsto dyn account befêstigje kinst. Sjoch yn de map net-winske wanneart neat ûntfongen waard.
send_paranoid_instructions: As dyn e-mailadres yn de database stiet, ûntfangsto fia in e-mailberjocht ynstruksjes hoetsto dyn account befêstigje kinst. Sjoch yn de map net-winske wanneart neat ûntfongen waard. send_paranoid_instructions: As dyn e-mailadres yn de database stiet, ûntfangsto fia in e-mailberjocht ynstruksjes hoetsto dyn account befêstigje kinst. Sjoch yn de map net-winske wanneart neat ûntfongen waard.
failure: failure:
already_authenticated: Do bist al oanmeld. already_authenticated: Jo binne al oanmeld.
inactive: Jo account is noch net aktivearre. inactive: Jo account is noch net aktivearre.
invalid: "%{authentication_keys} of wachtwurd ûnjildich." invalid: "%{authentication_keys} of wachtwurd ûnjildich."
last_attempt: Do hast noch ien besykjen oer eardat dyn account blokkearre wurdt. last_attempt: Do hast noch ien besykjen oer eardat dyn account blokkearre wurdt.
locked: Dyn account is blokkearre. locked: Jo account is blokkearre.
not_found_in_database: "%{authentication_keys} of wachtwurd ûnjildich." not_found_in_database: "%{authentication_keys} of wachtwurd ûnjildich."
pending: Dyn account moat noch hieltyd beoardiele wurde. pending: Jo account moat noch hieltyd beoardiele wurde.
timeout: Dyn sesje is ferrûn, meld dy opnij oan. timeout: Dyn sesje is ferrûn, meld dy opnij oan.
unauthenticated: Jo moatte oanmelde of registrearje. unauthenticated: Jo moatte oanmelde of registrearje.
unconfirmed: Do moatst earst dyn account befêstigje. unconfirmed: Do moatst earst dyn account befêstigje.

@ -3,14 +3,16 @@ my:
devise: devise:
confirmations: confirmations:
confirmed: သင်၏ အီးမေးလ်လိပ်စာ အောင်မြင်စွာအတည်ပြုပြီးပါပြီ။ confirmed: သင်၏ အီးမေးလ်လိပ်စာ အောင်မြင်စွာအတည်ပြုပြီးပါပြီ။
send_instructions: မိနစ်အနည်းငယ်အတွင်း သင့်အီးမေးလ်လိပ်စာကို အတည်ပြုရန်အတွက် ညွှန်ကြားချက်များပါရှိသည့် အီးမေးလ်တစ်စောင်ကို သင့်ထံ ပေးပို့လိုက်မည်ဖြစ်ပါသည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။ send_instructions: မိနစ်အနည်းငယ်အတွင်း သင့်အီးမေးလ်လိပ်စာကို အတည်ပြုရန်အတွက် ညွှန်ကြားချက်များပါရှိသည့် အီးမေးလ်တစ်စောင်ကို သင်ရရှိမည်ဖြစ်ပါသည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
send_paranoid_instructions: အကယ်၍ သင့်အီးမေးလ်လိပ်စာသည် ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်တွင် ရှိနေပါက မိနစ်အနည်းငယ်အတွင်း သင့်အီးမေးလ်လိပ်စာကို အတည်ပြုရန်အတွက် ညွှန်ကြားချက်များပါရှိသည့် အီးမေးလ်တစ်စောင်ကို သင့်ထံ ပေးပို့လိုက်မည်ဖြစ်ပါသည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။ send_paranoid_instructions: အကယ်၍ သင့်အီးမေးလ်လိပ်စာသည် ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်တွင် ရှိနေပါက မိနစ်အနည်းငယ်အတွင်း သင့်အီးမေးလ်လိပ်စာကို အတည်ပြုရန်အတွက် ညွှန်ကြားချက်များပါရှိသည့် အီးမေးလ်တစ်စောင်ကို သင်ရရှိမည်ဖြစ်ပါသည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
failure: failure:
already_authenticated: သင်ဝင်ရောက်ပြီးဖြစ်သည်။ already_authenticated: သင်ဝင်ရောက်ပြီးဖြစ်သည်။
inactive: သင့်အကောင့်မှာ အတည်မဖြစ်သေးပါ။
invalid: မှားယွင်းသော %{authentication_keys} သို့မဟုတ် စကားဝှက် ဖြစ်ပါသည်။ invalid: မှားယွင်းသော %{authentication_keys} သို့မဟုတ် စကားဝှက် ဖြစ်ပါသည်။
last_attempt: သင့်အကောင့်ကို လော့ခ်မချမီ နောက်ထပ်ကြိုးစားမှုတစ်ခု ရှိသေးသည်။ last_attempt: သင့်အကောင့်ကို လော့ခ်မချမီ နောက်ထပ်ကြိုးစားမှုတစ်ခု ရှိသေးသည်။
locked: သင့်အကောင့်ကို လော့ခ်ချထားသည်။ locked: သင့်အကောင့်ကို လော့ခ်ချထားသည်။
not_found_in_database: မှားယွင်းသော %{authentication_keys} သို့မဟုတ် စကားဝှက် ဖြစ်ပါသည်။ not_found_in_database: မှားယွင်းသော %{authentication_keys} သို့မဟုတ် စကားဝှက် ဖြစ်ပါသည်။
pending: သင့်အကောင့်အား စိစစ်ဆဲဖြစ်သည်။
timeout: သင့် Session သက်တမ်းကုန်သွားပါပြီ။ ရှေ့ဆက်ရန်အတွက် ကျေးဇူးပြုပြီး ထပ်မံဝင်ရောက်ပါ။ timeout: သင့် Session သက်တမ်းကုန်သွားပါပြီ။ ရှေ့ဆက်ရန်အတွက် ကျေးဇူးပြုပြီး ထပ်မံဝင်ရောက်ပါ။
unauthenticated: ဆက်မလုပ်မီ သင်သည် အကောင့်ဝင်ရန် သို့မဟုတ် အကောင့်ဖွင့်ရန် လိုအပ်သည်။ unauthenticated: ဆက်မလုပ်မီ သင်သည် အကောင့်ဝင်ရန် သို့မဟုတ် အကောင့်ဖွင့်ရန် လိုအပ်သည်။
unconfirmed: ဆက်မလုပ်မီ သင့်အီးမေးလ်လိပ်စာကို အတည်ပြုရပါမည်။ unconfirmed: ဆက်မလုပ်မီ သင့်အီးမေးလ်လိပ်စာကို အတည်ပြုရပါမည်။
@ -18,33 +20,46 @@ my:
confirmation_instructions: confirmation_instructions:
action: အီးမေးလ်လိပ်စာကို အတည်ပြုပါ action: အီးမေးလ်လိပ်စာကို အတည်ပြုပါ
action_with_app: အတည်ပြုပြီး %{app} သို့ပြန်သွားပါ action_with_app: အတည်ပြုပြီး %{app} သို့ပြန်သွားပါ
explanation: "%{host} တွင် ဤအီးမေးလ်လိပ်စာဖြင့် သင် အကောင့်တစ်ခု ဖန်တီးထားပြီးဖြစ်သည်။ သင် ကလစ်တစ်ချက်နှိပ်ရုံဖြင့် အကောင့်အား အသက်ဝင်စေနိုင်သည်။ အကယ်၍ သင်ဖန်တီးထားခြင်းမဟုတ်ခဲ့လျှင် ယခုအီးမေးလ်အား ကျေးဇူးပြု၍ လျစ်လျူရှုပါ။"
explanation_when_pending: "%{host} သို့ ဖိတ်ခေါ်မှုတစ်ခုကို ဤအီးမေးလ်လိပ်စာဖြင့် သင်တောင်းဆိုခဲ့သည်။ အီးမေးလ်လိပ်စာကို သင်အတည်ပြုပြီးပါက ကျွန်ုပ်တို့အနေဖြင့် သင့်တောင်းဆိုမှုအား စိစစ်မည်ဖြစ်သည်။ သင့်အနေဖြင့် မိမိအကောင့်အတွင်း ဝင်ရောက်၍ အသေးစိတ်အချက်အလက်များအား ပြုပြင်နိုင်သည် (သို့) မိမိအကောင့်အား ဖျက်နိုင်သည်။ သို့သော် သင့်အကောင့်ကို အတည်ပြုမပြီးမချင်း သင့်အနေဖြင့် လုပ်ငန်းဆောင်တာအများစုအား ဆောင်ရွက်နိုင်မည် မဟုတ်ပေ။ သင်၏ အကောင့်တောင်းဆိုမှု ငြင်းဆန်ခံရပါက သင့်အချက်အလက်များအား ဖယ်ရှားပေးမည်ဖြစ်သည်။ သင့်အနေဖြင့် တခြားအရေးယူဆောင်ရွက်ရန် မလိုအပ်ပါ။ အကယ်၍ ယခုတောင်းဆိုမှုအား သင်ပြုလုပ်ထားခြင်းမဟုတ်ခဲ့လျှင် ယခုအီးမေးလ်အား ကျေးဇူးပြု၍ လျစ်လျူရှုပါ။"
extra_html: ကျေးဇူးပြု၍ <a href="%{terms_path}">ဆာဗာစည်းမျဉ်းများ</a> နှင့် <a href="%{policy_path}">ကျွန်ုပ်တို့၏ဝန်ဆောင်မှုစည်းမျဉ်းများ</a>ကိုလည်း စစ်ဆေးကြည့်ပါ။ extra_html: ကျေးဇူးပြု၍ <a href="%{terms_path}">ဆာဗာစည်းမျဉ်းများ</a> နှင့် <a href="%{policy_path}">ကျွန်ုပ်တို့၏ဝန်ဆောင်မှုစည်းမျဉ်းများ</a>ကိုလည်း စစ်ဆေးကြည့်ပါ။
subject: Mastodon - %{instance} အတွက် အတည်ပြုချက် ညွှန်ကြားချက်များ subject: Mastodon - %{instance} အတွက် အတည်ပြုချက် ညွှန်ကြားချက်များ
title: အီးမေးလ်လိပ်စာကို အတည်ပြုပါ title: အီးမေးလ်လိပ်စာကို အတည်ပြုပါ
email_changed: email_changed:
explanation: သင့်အကောင့်အတွက် အီးမေးလ်လိပ်စာကို ပြောင်းလဲနေပါသည် - explanation: သင့်အကောင့်အတွက် အီးမေးလ်လိပ်စာကို ပြောင်းလဲနေပါသည် -
extra: သင့်အီးမေးလ်လိပ်စာ မပြောင်းထားပါက တစ်စုံတစ်ဦးသည် သင့်အကောင့်သို့ ဝင်ရောက်ခွင့်ရရှိသွားနိုင်ပါသည်။ သင့်အကောင့် လော့ခ်ကျသွားပါက သင့်စကားဝှက်ကို ချက်ချင်းပြောင်းပါ သို့မဟုတ် ဆာဗာစီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။
subject: 'Mastodon: အီးမေးလ်ပြောင်းလဲသွားပြီ' subject: 'Mastodon: အီးမေးလ်ပြောင်းလဲသွားပြီ'
title: အီးမေးလ်လိပ်စာအသစ် title: အီးမေးလ်လိပ်စာအသစ်
password_change: password_change:
explanation: သင့်အကောင့်အတွက် စကားဝှက်ကို ပြောင်းလဲလိုက်ပါပြီ။ explanation: သင့်အကောင့်အတွက် စကားဝှက်ကို ပြောင်းလဲလိုက်ပါပြီ။
extra: သင့်စကားဝှက် မပြောင်းထားပါက တစ်စုံတစ်ဦးသည် သင့်အကောင့်သို့ ဝင်ရောက်ခွင့်ရရှိသွားနိုင်ပါသည်။ သင့်အကောင့် လော့ခ်ကျသွားပါက သင့်စကားဝှက်ကို ချက်ချင်းပြောင်းပါ သို့မဟုတ် ဆာဗာစီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။
subject: 'Mastodon: စကားဝှက်ပြောင်းလဲသွားပြီ' subject: 'Mastodon: စကားဝှက်ပြောင်းလဲသွားပြီ'
title: စကားဝှက်ပြောင်းလဲသွားပြီ title: စကားဝှက်ပြောင်းလဲသွားပြီ
reconfirmation_instructions: reconfirmation_instructions:
explanation: သင်၏အီးမေးလ်လိပ်စာပြောင်းရန် လိပ်စာအသစ်အတည်ပြုပါ။ explanation: သင်၏အီးမေးလ်လိပ်စာပြောင်းရန် လိပ်စာအသစ်အတည်ပြုပါ။
extra: တစ်ကယ်လို့ ပြောင်းလဲမှုကို သင်တောင်းဆိုတာမဟုတ်ဘူးဆိုရင် ဤအီးမေးလ်ကို လျစ်လျူရှုလိုက်ပါ။ အပေါ်မှ လင့်ခ်ကိုမဝင်မချင်း သင့်အီးမေးလ်ပြောင်းသွားမည်မဟုတ်ပါ
subject: 'Mastodon: %{instance} အတွက်အီးမေးလ်အတည်ပြုပါ' subject: 'Mastodon: %{instance} အတွက်အီးမေးလ်အတည်ပြုပါ'
title: အီးမေးလ်လိပ်စာစစ်ဆေးပါ title: အီးမေးလ်လိပ်စာစစ်ဆေးပါ
reset_password_instructions: reset_password_instructions:
action: စကားဝှက်ပြောင်းမည် action: စကားဝှက်ပြောင်းမည်
explanation: သင့်အကောင့်အတွက် စကားဝှက်အသစ်တစ်ခု တောင်းဆိုခဲ့သည်။
extra: သင်မတောင်းဆိုထားပါက ဤအီးမေးလ်ကို လျစ်လျူရှုလိုက်ပါ။ အထက်ဖော်ပြပါလင့်ခ်ကို သင်ဝင်ရောက်ပြီး အသစ်တစ်ခုမဖန်တီးမချင်း သင့်စကားဝှက်သည် ပြောင်းလဲမည်မဟုတ်ပါ။
subject: 'Mastodon: စကားဝှက်ညွှန်ကြားချက် ပြန်လည်သတ်မှတ်မည်' subject: 'Mastodon: စကားဝှက်ညွှန်ကြားချက် ပြန်လည်သတ်မှတ်မည်'
title: စကားဝှက်ပြန်လည်သတ်မှတ်မည် title: စကားဝှက်ပြန်လည်သတ်မှတ်မည်
two_factor_disabled: two_factor_disabled:
explanation: သင့်အကောင့်အတွက် နှစ်ဆင့်ခံလုံခြုံရေးစနစ်အထောက်အထားပြခြင်းကို ပိတ်ထားသည်။ အီးမေးလ်လိပ်စာနှင့် စကားဝှက်ကိုသာ အသုံးပြု၍ အကောင့်ဝင်ရောက်နိုင်ပါသည်။
subject: 'Mastodon: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ပိတ်ထားသည်' subject: 'Mastodon: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ပိတ်ထားသည်'
title: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ပိတ်ထားသည် title: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ပိတ်ထားသည်
two_factor_enabled: two_factor_enabled:
explanation: သင့်အကောင့်အတွက် နှစ်ဆင့်ခံလုံခြုံရေးစနစ်အထောက်အထားပြခြင်းကို ဖွင့်ထားသည်။ TOTP အက်ပ်မှ ထုတ်ပေးသည့် တိုကင်တစ်ခုမှာ အကောင့်ဝင်ရန်အတွက် လိုအပ်ပါသည်။
subject: 'Mastodon: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ဖွင့်ထားသည်' subject: 'Mastodon: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ဖွင့်ထားသည်'
title: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ဖွင့်ထားသည် title: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ဖွင့်ထားသည်
two_factor_recovery_codes_changed: two_factor_recovery_codes_changed:
explanation: ယခင်ပြန်လည်ရယူသည့်ကုဒ်များမှာ မမှန်ကန်သောကြောင့် အသစ်များကို ထုတ်ပေးခဲ့သည်။
subject: Mastodon - နှစ်ဆင့်ခံလုံခြုံရေး ပြန်လည်ရယူသည့်ကုဒ်များကို ပြန်လည်ထုတ်ပေးခြင်း
title: နှစ်ဆင့်ခံလုံခြုံရေးစနစ် ပြန်လည်ရယူသည့်ကုဒ်နံပါတ်များ ပြောင်းလဲခဲ့သည် title: နှစ်ဆင့်ခံလုံခြုံရေးစနစ် ပြန်လည်ရယူသည့်ကုဒ်နံပါတ်များ ပြောင်းလဲခဲ့သည်
unlock_instructions:
subject: Mastodon - ညွှန်ကြားချက်များကို လော့ခ်ဖွင့်ပါ
webauthn_credential: webauthn_credential:
added: added:
explanation: ဖော်ပြပါလုံခြုံရေးသော့ချက်အား သင့်အကောင့်ထဲသို့ထည့်ပြီးပါပြီ explanation: ဖော်ပြပါလုံခြုံရေးသော့ချက်အား သင့်အကောင့်ထဲသို့ထည့်ပြီးပါပြီ
@ -55,16 +70,43 @@ my:
subject: 'Mastodon: လုံခြုံရေးသော့ချက် ဖျက်လိုက်ပါပြီ' subject: 'Mastodon: လုံခြုံရေးသော့ချက် ဖျက်လိုက်ပါပြီ'
title: လုံခြုံရေးသော့ချက်များထဲမှတစ်ခု ဖျက်လိုက်ပါပြီ title: လုံခြုံရေးသော့ချက်များထဲမှတစ်ခု ဖျက်လိုက်ပါပြီ
webauthn_disabled: webauthn_disabled:
explanation: သင့်အကောင့်အတွက် လုံခြုံရေးကီးများဖြင့် အထောက်အထားပြခြင်းကို ပိတ်ထားသည်။ TOTP အက်ပ်မှထုတ်ပေးသည့် တိုကင်ကိုသာ အသုံးပြု၍ အကောင့်ဝင်ရောက်နိုင်ပါသည်။
subject: Mastodon - လုံခြုံရေးကီးများဖြင့် အထောက်အထားစိစစ်ခြင်းကို ပိတ်ထားသည်
title: လုံခြုံရေးသော့ချက်များ ပိတ်ပြီးပါပြီ title: လုံခြုံရေးသော့ချက်များ ပိတ်ပြီးပါပြီ
webauthn_enabled: webauthn_enabled:
explanation: သင့်အကောင့်အတွက် လုံခြုံရေးကီး အထောက်အထားစိစစ်ခြင်းကို ဖွင့်ထားသည်။ အကောင့်ဝင်ရန်အတွက် သင်၏လုံခြုံရေးကီးကို ယခုအသုံးပြုနိုင်ပါပြီ။
subject: Mastodon - လုံခြုံရေးကီး အထောက်အထားစိစစ်ခြင်းကို ဖွင့်ထားသည်
title: လုံခြုံရေးသော့ချက်များ ဖွင့်ပြီးပါပြီ title: လုံခြုံရေးသော့ချက်များ ဖွင့်ပြီးပါပြီ
omniauth_callbacks:
failure: "“%{reason}” ကြောင့် %{kind} မှ သင့်ကို စစ်မှန်ကြောင်း အထောက်အထား မပြနိုင်ပါ။"
success: "%{kind} အကောင့်မှ အထောက်အထားပြပြီးပါပြီ။"
passwords:
no_token: စကားဝှက်ပြန်လည်သတ်မှတ်ခြင်းအီးမေးလ်မှ မလာပါက ဤစာမျက်နှာကို သင်ဝင်ရောက်၍မရနိုင်ပါ။ အကယ်၍ ၎င်းမှလာပါက ပေးထားသော URL အပြည့်အစုံကို အသုံးပြုရပါမည်။
send_instructions: အကယ်၍ သင့်အီးမေးလ်လိပ်စာသည် ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်တွင် ရှိနေပါက မိနစ်အနည်းငယ်အတွင်း သင့်အီးမေးလ်လိပ်စာတွင် စကားဝှက်ပြန်လည်ရယူရေးလင့်ခ် ရရှိမည်ဖြစ်ပါသည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
send_paranoid_instructions: အကယ်၍ သင့်အီးမေးလ်လိပ်စာသည် ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်တွင် ရှိနေပါက မိနစ်အနည်းငယ်အတွင်း သင့်အီးမေးလ်လိပ်စာတွင် စကားဝှက်ပြန်လည်ရယူရေးလင့်ခ် ရရှိမည်ဖြစ်ပါသည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
updated: သင့်စကားဝှက်ကို အောင်မြင်စွာ ပြောင်းလဲပြီးပါပြီ။ သင်သည် ယခု အကောင့်ဝင်ထားပြီးဖြစ်ပါသည်။
updated_not_active: သင့်စကားဝှက်ကို အောင်မြင်စွာ ပြောင်းလဲပြီးပါပြီ။
registrations: registrations:
destroyed: တာ့တာ၊ သင့်အကောင့်ကို ပယ်ဖျက်လိုက်ပါပြီ။ မကြာခင် ပြန်တွေ့နိုင်ရန်မျှော်လင့်မိပါသည်။
signed_up: ကြိုဆိုပါသည်။ သင်သည် အောင်မြင်စွာ စာရင်းသွင်းပြီးပါပြီ။
signed_up_but_inactive: သင်သည် အောင်မြင်စွာ အကောင့်ဖွင့်ပြီးပါပြီ။ သို့သော်လည်း သင့်အကောင့် အတည်မပြုရသေးသောကြောင့် ဝင်၍မရနိုင်ပါ။
signed_up_but_locked: သင်သည် အောင်မြင်စွာ အကောင့်ဖွင့်ပြီးပါပြီ။ သို့သော်လည်း သင့်အကောင့်လော့ခ်ချထားသောကြောင့် လက်မှတ်ထိုးဝင်၍မရနိုင်ပါ။
signed_up_but_pending: အတည်ပြုချက်လင့်ခ်ပါရှိသော စာတိုတစ်စောင်ကို သင့်အီးမေးလ်လိပ်စာသို့ ပေးပို့လိုက်ပါပြီ။ လင့်ခ်ကို နှိပ်ပြီးနောက် သင့်အက်ပလီကေးရှင်းကို ကျွန်ုပ်တို့ ပြန်လည်စစ်ဆေးပါမည်။ အတည်ပြုပြီးပါက သင့်ထံ အကြောင်းကြားပါမည်။
signed_up_but_unconfirmed: အကောင့်ဖွင့်ရန်အတွက် လင့်ခ်တစ်ခုကို ထောက်ခံချက်အီးမေးလ််နှင့်အတူပို့ပေးလိုက်ပါပြီ။ သင့်အကောင့်ဖွင့်နိုင်ရန် လင့်ခ်ကိုဝင်ရောက်ပေးပါ။ အီးမေးလ်မတွေ့ပါက စပမ်းဖိုင်တွဲထဲတွင်စစ်ကြည့်ပါ။
update_needs_confirmation: သင့်အကောင့်ကို မွမ်းမံပြင်ဆင်ထားသော်လည်း သင့်အီးမေးလ်လိပ်စာအသစ်ကို အတည်ပြုရန် လိုအပ်ပါသည်။ ကျေးဇူးပြု၍ သင့်အီးမေးလ်ကို စစ်ဆေးပြီး သင့်အီးမေးလ်လိပ်စာအသစ်ကို အတည်ပြုရန်အတွက် အတည်ပြုလင့်ခ်အား နှိပ်ပါ။ ဤအီးမေးလ်ကို မရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
updated: သင့်အကောင့်အားအောင်မြင်စွာ ပြင်ဆင်ပြီးပါပြီ။ updated: သင့်အကောင့်အားအောင်မြင်စွာ ပြင်ဆင်ပြီးပါပြီ။
sessions: sessions:
already_signed_out: အောင်မြင်စွာအကောင့်မှထွက်ပြီးပါပြီ။ already_signed_out: အောင်မြင်စွာအကောင့်မှထွက်ပြီးပါပြီ။
signed_in: အောင်မြင်စွာအကောင့်ဝင်ပြီးပါပြီ။ signed_in: အောင်မြင်စွာအကောင့်ဝင်ပြီးပါပြီ။
signed_out: အောင်မြင်စွာအကောင့်မှထွက်ပြီးပါပြီ။ signed_out: အောင်မြင်စွာအကောင့်မှထွက်ပြီးပါပြီ။
unlocks:
send_instructions: မိနစ်အနည်းငယ်အတွင်း သင့်အကောင့်လော့ခ်ဖွင့်နည်းအတွက် ညွှန်ကြားချက်များပါရှိသည့် အီးမေးလ်တစ်စောင်ကို သင်လက်ခံရရှိမည်ဖြစ်သည်။ ဤအီးမေးလ်ကို မရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
send_paranoid_instructions: အကယ်၍ သင့်တွင် အကောင့်ရှိပါက မိနစ်အနည်းငယ်အတွင်း လော့ခ်ဖွင့်နည်းအတွက် ညွှန်ကြားချက်များပါရှိသည့် အီးမေးလ်တစ်စောင်ကို သင်ရရှိမည်ဖြစ်သည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
unlocked: သင့်အကောင့်ကို လော့ခ်ဖွင့်ပြီးပါပြီ။ ရှေ့ဆက်ရန်အတွက် အကောင့်ဝင်ပါ။
errors: errors:
messages: messages:
already_confirmed: အတည်ပြုပြီးဖြစ်သည်။ ကျေးဇူးပြု၍ အကောင့်ဝင်ကြည့်ပါ။
confirmation_period_expired: "%{period} အတွင်း အတည်ပြုရန် လိုအပ်ပြီး အသစ်တစ်ခု တောင်းဆိုပါ"
expired: သည် သက်တမ်းကျော်လွန်သွားပြီ။ ကျေးဇူးပြု၍အသစ်တစ်ခု တောင်းဆိုပါ expired: သည် သက်တမ်းကျော်လွန်သွားပြီ။ ကျေးဇူးပြု၍အသစ်တစ်ခု တောင်းဆိုပါ
not_found: ရှာမတွေ့ပါ not_found: ရှာမတွေ့ပါ
not_locked: လော့ခ် မချထားပါ

@ -20,7 +20,7 @@ zh-TW:
confirmation_instructions: confirmation_instructions:
action: 驗證電子郵件地址 action: 驗證電子郵件地址
action_with_app: 確認並返回 %{app} action_with_app: 確認並返回 %{app}
explanation: 您已經使用此電子郵件地址在 %{host} 上建立了一個帳號。距離啟用它只剩一點之遙了。如果這不是您本人,請忽略此郵件。 explanation: 您已經在 %{host} 上以此電子郵件地址建立了一支帳號。您距離啟用它只剩一點之遙了。若這不是您,請忽略此信件。
explanation_when_pending: 您使用此電子郵件地址申請了 %{host} 的邀請。當您確認電子郵件地址後我們將審核您的申請。您可以在登入後變更詳細資訊或刪除您的帳號,但直到您的帳號被核准之前,您無法操作大部分的功能。若您的申請遭拒絕,您的資料將被移除而不必做後續動作。如果這不是您本人,請忽略此郵件。 explanation_when_pending: 您使用此電子郵件地址申請了 %{host} 的邀請。當您確認電子郵件地址後我們將審核您的申請。您可以在登入後變更詳細資訊或刪除您的帳號,但直到您的帳號被核准之前,您無法操作大部分的功能。若您的申請遭拒絕,您的資料將被移除而不必做後續動作。如果這不是您本人,請忽略此郵件。
extra_html: 同時也請看看<a href="%{terms_path}">伺服器規則</a>與<a href="%{policy_path}">服務條款</a>。 extra_html: 同時也請看看<a href="%{terms_path}">伺服器規則</a>與<a href="%{policy_path}">服務條款</a>。
subject: Mastodon%{instance} 確認說明 subject: Mastodon%{instance} 確認說明

@ -14,6 +14,8 @@ ast:
destroy: Destruyir destroy: Destruyir
edit: Editar edit: Editar
submit: Unviar submit: Unviar
confirmations:
destroy: "¿De xuru que quies facer esta aición?"
form: form:
error: "¡Meca! Revisa los errores posibles del formulariu" error: "¡Meca! Revisa los errores posibles del formulariu"
help: help:
@ -46,6 +48,8 @@ ast:
authorized_applications: authorized_applications:
buttons: buttons:
revoke: Revocar revoke: Revocar
confirmations:
revoke: "¿De xuru que quies facer esta aición?"
index: index:
description_html: Estes son les aplicaciones que puen acceder a la cuenta cola API. Si equí hai aplicaciones que nun conoces o hai dalguna aplicación que nun funciona correutamente, pues revocar el so accesu. description_html: Estes son les aplicaciones que puen acceder a la cuenta cola API. Si equí hai aplicaciones que nun conoces o hai dalguna aplicación que nun funciona correutamente, pues revocar el so accesu.
never_used: Enxamás s'usó never_used: Enxamás s'usó
@ -94,7 +98,7 @@ ast:
admin:write: modifica tolos datos del sirvidor admin:write: modifica tolos datos del sirvidor
crypto: usa'l cifráu de puntu a puntu crypto: usa'l cifráu de puntu a puntu
follow: modifica les rellaciones de les cuentes follow: modifica les rellaciones de les cuentes
push: receición d'avisos push push: recibe avisos push
read: llee tolos datos de les cuentes read: llee tolos datos de les cuentes
read:accounts: mira la información de les cuentes read:accounts: mira la información de les cuentes
read:blocks: mira les cuentes bloquiaes read:blocks: mira les cuentes bloquiaes
@ -118,5 +122,5 @@ ast:
write:media: xube ficheros multimedia write:media: xube ficheros multimedia
write:mutes: desactiva los avisos de perfiles ya de conversaciones write:mutes: desactiva los avisos de perfiles ya de conversaciones
write:notifications: borra los avisos write:notifications: borra los avisos
write:reports: informa d'otres perfiles write:reports: informa d'otros perfiles
write:statuses: espubliza artículos write:statuses: espubliza artículos

@ -4,7 +4,7 @@ ko:
attributes: attributes:
doorkeeper/application: doorkeeper/application:
name: 애플리케이션 이름 name: 애플리케이션 이름
redirect_uri: 다이렉트 URI redirect_uri: 렉트 URI
scopes: 범위 scopes: 범위
website: 애플리케이션 웹사이트 website: 애플리케이션 웹사이트
errors: errors:
@ -15,7 +15,7 @@ ko:
fragment_present: fragment를 포함할 수 없습니다 fragment_present: fragment를 포함할 수 없습니다
invalid_uri: 올바른 URI 이어야 합니다. invalid_uri: 올바른 URI 이어야 합니다.
relative_uri: 절대경로 URI 이어야 합니다 relative_uri: 절대경로 URI 이어야 합니다
secured_uri: " HTTPS/SSL URI 이어야 합니다." secured_uri: HTTPS/SSL URI 이어야 합니다.
doorkeeper: doorkeeper:
applications: applications:
buttons: buttons:
@ -31,16 +31,16 @@ ko:
form: form:
error: 이런! 오류를 확인하세요 error: 이런! 오류를 확인하세요
help: help:
native_redirect_uri: "%{native_redirect_uri} 을/를 이용해 로컬 테스트를 할 수 있습니다" native_redirect_uri: "%{native_redirect_uri}에서 로컬 테스트를 할 수 있습니다."
redirect_uri: 한 줄에 하나의 URI를 작성하세요 redirect_uri: 한 줄에 하나의 URI를 작성하세요
scopes: 스페이스로 범위를 구분하세요. 빈 칸으로 놔두면 기본 범위를 사용합니다. scopes: 스페이스로 범위를 구분하세요. 빈 칸으로 놔두면 기본 범위를 사용합니다.
index: index:
application: 애플리케이션 application: 애플리케이션
callback_url: 콜백 URL callback_url: 콜백 URL
delete: 삭제 delete: 삭제
empty: 애플리케이션이 없습니다. empty: 이 없습니다.
name: 이름 name: 이름
new: 애플리케이션 new: 로운 앱
scopes: 범위 scopes: 범위
show: 표시 show: 표시
title: 내 응용프로그램 title: 내 응용프로그램
@ -52,7 +52,7 @@ ko:
callback_urls: 콜백 URL callback_urls: 콜백 URL
scopes: 범위 scopes: 범위
secret: 클라이언트 비밀키 secret: 클라이언트 비밀키
title: '애플리케이션: %{name}' title: ': %{name}'
authorizations: authorizations:
buttons: buttons:
authorize: 승인 authorize: 승인
@ -60,11 +60,11 @@ ko:
error: error:
title: 오류가 발생하였습니다 title: 오류가 발생하였습니다
new: new:
prompt_html: "%{client_name}이 당신의 계정에 대한 접근 권한을 요청합니다. 이것은 제3자의 응용프로그램입니다. <strong>이것을 신뢰하지 않는다면, 권한을 승인하지 말아야 합니다.</strong>" prompt_html: "%{client_name} 제3자 앱이 귀하의 계정에 접근하기 위한 권한을 요청했습니다. <strong>이 앱을 신뢰할 수 없다면 요청을 승인하지 마십시오.</strong>"
review_permissions: 권한 검토 review_permissions: 권한 검토
title: 승인 필요 title: 승인 필요
show: show:
title: 이 승인 코드를 복사하여 애플리케이션에 붙여넣으세요 title: 이 승인 코드를 복사해 앱에 붙여 넣어야 합니다.
authorized_applications: authorized_applications:
buttons: buttons:
revoke: 삭제 revoke: 삭제
@ -72,7 +72,7 @@ ko:
revoke: 확실합니까? revoke: 확실합니까?
index: index:
authorized_at: "%{date}에 승인됨" authorized_at: "%{date}에 승인됨"
description_html: 당신의 계정에 API를 통해 접근 가능한 응용프로그램의 목록입니다. 알 수 없는 응용프로그램, 혹은 잘못된 행동을 하고 있는 응용프로그램이 있다면, 권한을 취소할 수 있습니다. description_html: 이 계정에 API를 통해 접근 가능한 앱의 목록입니다. 알 수 없는 앱이나 잘못된 행위를 하는 앱이 있다면 권한을 취소할 수 있습니다.
last_used_at: "%{date}에 마지막으로 사용됨" last_used_at: "%{date}에 마지막으로 사용됨"
never_used: 사용되지 않음 never_used: 사용되지 않음
scopes: 권한 scopes: 권한
@ -82,7 +82,7 @@ ko:
messages: messages:
access_denied: 리소스 소유자 또는 인증 서버가 요청을 거부했습니다. access_denied: 리소스 소유자 또는 인증 서버가 요청을 거부했습니다.
credential_flow_not_configured: Doorkeeper.configure.resource_owner_from_credentials의 설정이 되어있지 않아 리소스 소유자 암호 자격증명이 실패하였습니다. credential_flow_not_configured: Doorkeeper.configure.resource_owner_from_credentials의 설정이 되어있지 않아 리소스 소유자 암호 자격증명이 실패하였습니다.
invalid_client: 알 수 없는 클라이언트이기 때문에 클라이언트 인증이 실패하였습니다, 클라이언트 자격증명이 포함되지 않았거나, 지원 되지 않는 메소드입니다. invalid_client: 클라이언트를 확인할 수 없기 때문에 인증이 실패하였습니다. 클라이언트 자격 증명이 포함되지 않았거나 지원되지 않는 메소드입니다.
invalid_grant: 제공된 권한 부여가 잘못되거나, 만료되었거나, 취소되었거나, 권한 부여 요청에 사용된 리디렉션 URI가 일치하지 않거나, 다른 클라이언트에 지정되었습니다. invalid_grant: 제공된 권한 부여가 잘못되거나, 만료되었거나, 취소되었거나, 권한 부여 요청에 사용된 리디렉션 URI가 일치하지 않거나, 다른 클라이언트에 지정되었습니다.
invalid_redirect_uri: 리디렉션 URI가 올바르지 않습니다 invalid_redirect_uri: 리디렉션 URI가 올바르지 않습니다
invalid_request: invalid_request:
@ -104,14 +104,14 @@ ko:
flash: flash:
applications: applications:
create: create:
notice: 애플리케이션이 생성 되었습니다. notice: 이 생성 되었습니다.
destroy: destroy:
notice: 애플리케이션이 삭제 되었습니다. notice: 앱을 삭제했습니다.
update: update:
notice: 애플리케이션이 갱신 되었습니다. notice: 앱을 갱신했습니다.
authorized_applications: authorized_applications:
destroy: destroy:
notice: 애플리케이션이 삭제되었습니다. notice: 운영자에 의해 앱이 해지되었습니다.
grouped_scopes: grouped_scopes:
access: access:
read: 읽기 전용 권한 read: 읽기 전용 권한
@ -142,7 +142,7 @@ ko:
layouts: layouts:
admin: admin:
nav: nav:
applications: 애플리케이션 applications:
oauth2_provider: OAuth2 제공자 oauth2_provider: OAuth2 제공자
application: application:
title: OAuth 인증이 필요합니다 title: OAuth 인증이 필요합니다
@ -164,26 +164,26 @@ ko:
admin:write:ip_blocks: IP 차단에 모더레이션 조치 취하기 admin:write:ip_blocks: IP 차단에 모더레이션 조치 취하기
admin:write:reports: 신고에 모더레이션 조치 취하기 admin:write:reports: 신고에 모더레이션 조치 취하기
crypto: 종단간 암호화 사용 crypto: 종단간 암호화 사용
follow: 계정 관계 수정 follow: 계정 관계 수정
push: 푸시 알림 받기 push: 푸시 알림 받기
read: 계정의 모든 데이터 읽기 read: 계정의 모든 데이터 읽기
read:accounts: 계정 정보 보기 read:accounts: 계정 정보 보기
read:blocks: 차단 보기 read:blocks: 차단 보기
read:bookmarks: 내 북마크 보기 read:bookmarks: 내 북마크 보기
read:favourites: 관심글을 보기 read:favourites: 좋아요 보기
read:filters: 필터 보기 read:filters: 필터 보기
read:follows: 팔로우 보기 read:follows: 팔로우 보기
read:lists: 리스트 보기 read:lists: 리스트 보기
read:mutes: 뮤트 보기 read:mutes: 뮤트 보기
read:notifications: 알림 보기 read:notifications: 알림 보기
read:reports: 신고 보기 read:reports: 신고 보기
read:search: 당신의 권한으로 검색 read:search: 당신의 권한으로 검색
read:statuses: 게시물 모두 보기 read:statuses: 모든 게시물 보기
write: 계정 정보 수정 write: 계정 정보 수정
write:accounts: 프로필 수정 write:accounts: 프로필 수정
write:blocks: 계정이나 도메인 차단 write:blocks: 계정 도메인 차단
write:bookmarks: 게시물을 북마크에 넣기 write:bookmarks: 게시물을 북마크에 넣기
write:conversations: 뮤트 대화 삭제 write:conversations: 뮤트 대화 삭제
write:favourites: 관심글 지정 write:favourites: 관심글 지정
write:filters: 필터 만들기 write:filters: 필터 만들기
write:follows: 사람을 팔로우 write:follows: 사람을 팔로우

@ -12,6 +12,7 @@ my:
doorkeeper/application: doorkeeper/application:
attributes: attributes:
redirect_uri: redirect_uri:
fragment_present: အပိုင်းတစ်ပိုင်း မပါဝင်နိုင်ပါ။
invalid_uri: သည် မှန်ကန်သော URI ဖြစ်ရမည်။ invalid_uri: သည် မှန်ကန်သော URI ဖြစ်ရမည်။
relative_uri: URI ဖြစ်ရမည်။ relative_uri: URI ဖြစ်ရမည်။
secured_uri: သည် HTTPS/SSL URI ဖြစ်ရမည်။ secured_uri: သည် HTTPS/SSL URI ဖြစ်ရမည်။
@ -59,6 +60,7 @@ my:
error: error:
title: အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်ခဲ့သည် title: အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်ခဲ့သည်
new: new:
prompt_html: "%{client_name} က သင့်အကောင့်သို့ ဝင်ရောက်ရန် ခွင့်ပြုချက်ရယူလိုပါသည်။ ၎င်းမှာ ပြင်ပကြားခံအက်ပလီကေးရှင်းတစ်ခုဖြစ်သည်။ <strong>သင် မယုံကြည်ပါက ၎င်းကိုခွင့်မပြုသင့်ပါ။</strong>"
review_permissions: ခွင့်ပြုချက်များကို ပြန်လည်သုံးသပ်ပါ review_permissions: ခွင့်ပြုချက်များကို ပြန်လည်သုံးသပ်ပါ
title: ခွင့်ပြုချက် လိုအပ်သည် title: ခွင့်ပြုချက် လိုအပ်သည်
show: show:
@ -74,16 +76,29 @@ my:
last_used_at: "%{date} တွင် နောက်ဆုံးအသုံးပြုခဲ့သည်" last_used_at: "%{date} တွင် နောက်ဆုံးအသုံးပြုခဲ့သည်"
never_used: မသုံးဖူးပါ never_used: မသုံးဖူးပါ
scopes: ခွင့်ပြုချက်များ scopes: ခွင့်ပြုချက်များ
superapp: အတွင်းပိုင်း
title: ခွင့်ပြုထားသော အက်ပလီကေးရှင်းများ title: ခွင့်ပြုထားသော အက်ပလီကေးရှင်းများ
errors: errors:
messages: messages:
access_denied: မူလပိုင်ရှင် သို့မဟုတ် ခွင့်ပြုချက်ရှိသောဆာဗာမှ တောင်းဆိုချက်ကို ငြင်းပယ်ခဲ့သည်။ access_denied: မူလပိုင်ရှင် သို့မဟုတ် ခွင့်ပြုချက်ရှိသောဆာဗာမှ တောင်းဆိုချက်ကို ငြင်းပယ်ခဲ့သည်။
credential_flow_not_configured: Doorkeeper.configure.resource_owner_from_credentials ကို သတ်မှတ်မထားသည့်အတွက် မူလပိုင်ရှင် စကားဝှက် အထောက်အထားများထည့်သွင်းခြင်းမှာ မအောင်မြင်တော့ပါ။ credential_flow_not_configured: Doorkeeper.configure.resource_owner_from_credentials ကို သတ်မှတ်မထားသည့်အတွက် မူလပိုင်ရှင် စကားဝှက် အထောက်အထားများထည့်သွင်းခြင်းမှာ မအောင်မြင်တော့ပါ။
invalid_client: Client အထောက်အထားစိစစ်မှု မအောင်မြင်ခြင်းမှာ အမည်မသိ Client ဖြစ်ခြင်း၊ Client စစ်မှန်ကြောင်းအထောက်အထားမပါဝင်ခြင်း သို့မဟုတ် ပံ့ပိုးမထားသည့် အထောက်အထားဖြစ်နေခြင်းကြောင့် ဖြစ်ပါသည်။
invalid_redirect_uri: ပြန်ညွှန်းထားခြင်းတွင် ပါဝင်သော URI မှာ မမှန်ကန်ပါ။ invalid_redirect_uri: ပြန်ညွှန်းထားခြင်းတွင် ပါဝင်သော URI မှာ မမှန်ကန်ပါ။
invalid_request:
missing_param: ပျောက်နေသည့် လိုအပ်သောအရာ - %{value}။
request_not_authorized: ခွင့်ပြုချက်တောင်းခံရန် လိုအပ်ပါသည်။ တောင်းဆိုမှုခွင့်ပြုချက်အတွက် လိုအပ်သောအရာမှာ ပျောက်ဆုံးနေခြင်း သို့မဟုတ် မမှန်ကန်ခြင်း ကြောင့်ဖြစ်ပါသည်။
unknown: တောင်းဆိုချက်တွင် ပံ့ပိုးမထားသော တန်ဖိုးတစ်ခုပါဝင်သည့် လိုအပ်သောအချက်အလက်တစ်ခု ပျောက်ဆုံးနေပါသည် သို့မဟုတ် ပုံစံမှားယွင်းနေပါသည်။
invalid_resource_owner: ပံ့ပိုးပေးထားသည့် မူလပိုင်ရှင်အထောက်အထားများမှာ မမှန်ကန်ပါ သို့မဟုတ် မူလပိုင်ရှင်ကို ရှာမတွေ့ပါ။
invalid_scope: တောင်းဆိုထားသော နယ်ပယ်မှာ မမှန်ကန်ခြင်း၊ မသိခြင်း သို့မဟုတ် ပုံစံမမှန်ကန်ခြင်းတို့ကြောင့် ဖြစ်ပါသည်။
invalid_token: invalid_token:
expired: အသုံးပြုခွင့် တိုကင် သက်တမ်းကုန်သွားပါပြီ expired: အသုံးပြုခွင့် တိုကင် သက်တမ်းကုန်သွားပါပြီ
revoked: အသုံးပြုခွင့်တိုကင်ကို ရုပ်သိမ်းခဲ့သည် revoked: အသုံးပြုခွင့်တိုကင်ကို ရုပ်သိမ်းခဲ့သည်
unknown: အသုံးပြုခွင့်တိုကင်မှာ မမှန်ကန်ပါ unknown: အသုံးပြုခွင့်တိုကင်မှာ မမှန်ကန်ပါ
resource_owner_authenticator_not_configured: Doorkeeper.configure.resource_owner_authenticator ကို ပြုပြင်မွမ်းမံမှုအားဖယ်ရှားထားခြင်းကြောင့် မူလပိုင်ရှင်ရှာဖွေခြင်းမှာ မအောင်မြင်ပါ။
server_error: ခွင့်ပြုထားသောဆာဗာသည် တောင်းဆိုချက်ကို မဖြည့်ဆည်းပေးနိုင်သည့် မမျှော်လင့်ထားသော အခြေအနေတစ်ခုကို ကြုံတွေ့ခဲ့ရသည်။
temporarily_unavailable: ဆာဗာမှာ ယာယီအလုပ်များပိုလုပ်နေရခြင်း သို့မဟုတ် ဆာဗာပြုပြင်ထိန်းသိမ်းမှုတို့ကြောင့် တောင်းဆိုချက်ကို လောလောဆယ်တွင် ကိုင်တွယ်နိုင်ခြင်းမရှိသေးပါ။
unauthorized_client: ဤနည်းလမ်းကို အသုံးပြု၍ Client မှ ဤတောင်းဆိုမှုကို ဆောင်ရွက်ခွင့်မရှိပါ။
unsupported_grant_type: တရားဝင်ခွင့်ပြုချက်အမျိုးအစားကို ခွင့်ပြုချက်ဆာဗာမှ မပံ့ပိုးထားပါ။
unsupported_response_type: ခွင့်ပြုထားသောဆာဗာသည် ဤတုံ့ပြန်မှုအမျိုးအစားကို မပံ့ပိုးပါ။ unsupported_response_type: ခွင့်ပြုထားသောဆာဗာသည် ဤတုံ့ပြန်မှုအမျိုးအစားကို မပံ့ပိုးပါ။
flash: flash:
applications: applications:
@ -100,6 +115,7 @@ my:
access: access:
read: ဖတ်ခွင့်သာရှိသည် read: ဖတ်ခွင့်သာရှိသည်
read/write: ဖတ်ပြီးပြင်ဆင်ခွင့်ရှိသည် read/write: ဖတ်ပြီးပြင်ဆင်ခွင့်ရှိသည်
write: ပြင်ခွင့်သာရှိသည်
title: title:
accounts: အကောင့်များ accounts: အကောင့်များ
admin/accounts: အကောင့်စီမံခန့်ခွဲမှု admin/accounts: အကောင့်စီမံခန့်ခွဲမှု
@ -132,6 +148,7 @@ my:
scopes: scopes:
admin:read: ဆာဗာရှိ အချက်အလက်အားလုံးကို ဖတ်ပါ admin:read: ဆာဗာရှိ အချက်အလက်အားလုံးကို ဖတ်ပါ
admin:read:accounts: အကောင့်အားလုံး၏ အရေးကြီးသော သတင်းအချက်အလက်များကို ဖတ်ပါ admin:read:accounts: အကောင့်အားလုံး၏ အရေးကြီးသော သတင်းအချက်အလက်များကို ဖတ်ပါ
admin:read:canonical_email_blocks: ပိတ်ပင်ထားသော Canonical Email အားလုံး၏ အရေးကြီးသောသတင်းအချက်အလက်များကို ဖတ်ပါ
admin:read:domain_allows: ခွင့်ပြုထားသော ဒိုမိန်းအားလုံး၏ အရေးကြီးသော သတင်းအချက်အလက်များကို ဖတ်ပါ admin:read:domain_allows: ခွင့်ပြုထားသော ဒိုမိန်းအားလုံး၏ အရေးကြီးသော သတင်းအချက်အလက်များကို ဖတ်ပါ
admin:read:domain_blocks: ပိတ်ပင်ထားသော ဒိုမိန်းအားလုံး၏ အရေးကြီးသော သတင်းအချက်အလက်များကို ဖတ်ပါ admin:read:domain_blocks: ပိတ်ပင်ထားသော ဒိုမိန်းအားလုံး၏ အရေးကြီးသော သတင်းအချက်အလက်များကို ဖတ်ပါ
admin:read:email_domain_blocks: ပိတ်ပင်ထားသော အီးမေးလ်ဒိုမိန်းအားလုံး၏ အရေးကြီးသောသတင်းအချက်အလက်များကို ဖတ်ပါ admin:read:email_domain_blocks: ပိတ်ပင်ထားသော အီးမေးလ်ဒိုမိန်းအားလုံး၏ အရေးကြီးသောသတင်းအချက်အလက်များကို ဖတ်ပါ
@ -139,6 +156,7 @@ my:
admin:read:reports: မှတ်တမ်းများနှင့် တိုင်ကြားထားသောအကောင့်များအားလုံး၏ အရေးကြီးသော အချက်အလက်ကို ဖတ်ပါ။ admin:read:reports: မှတ်တမ်းများနှင့် တိုင်ကြားထားသောအကောင့်များအားလုံး၏ အရေးကြီးသော အချက်အလက်ကို ဖတ်ပါ။
admin:write: ဆာဗာပေါ်ရှိ အချက်အလက်အားလုံးကို ပြင်ဆင်ပါ admin:write: ဆာဗာပေါ်ရှိ အချက်အလက်အားလုံးကို ပြင်ဆင်ပါ
admin:write:accounts: အကောင့်များအား စိစစ်လုပ်ဆောင်မှုများ ဆောင်ရွက်ပါ admin:write:accounts: အကောင့်များအား စိစစ်လုပ်ဆောင်မှုများ ဆောင်ရွက်ပါ
admin:write:canonical_email_blocks: Canonical Email ပိတ်ပင်ထားမှုများအား စိစစ်လုပ်ဆောင်မှုများ ဆောင်ရွက်ပါ
admin:write:domain_allows: ခွင့်ပြုထားသောဒိုမိန်းပေါ်တွင် စိစစ်လုပ်ဆောင်ချက်များ ဆောင်ရွက်ပါ admin:write:domain_allows: ခွင့်ပြုထားသောဒိုမိန်းပေါ်တွင် စိစစ်လုပ်ဆောင်ချက်များ ဆောင်ရွက်ပါ
admin:write:domain_blocks: ပိတ်ပင်ထားသောဒိုမိန်းပေါ်တွင် စိစစ်လုပ်ဆောင်ချက်များ ဆောင်ရွက်ပါ admin:write:domain_blocks: ပိတ်ပင်ထားသောဒိုမိန်းပေါ်တွင် စိစစ်လုပ်ဆောင်ချက်များ ဆောင်ရွက်ပါ
admin:write:email_domain_blocks: ပိတ်ပင်ထားသော အီးမေးလ်ဒိုမိန်းပေါ်တွင် စိစစ်လုပ်ဆောင်ချက်များ ဆောင်ရွက်ပါ admin:write:email_domain_blocks: ပိတ်ပင်ထားသော အီးမေးလ်ဒိုမိန်းပေါ်တွင် စိစစ်လုပ်ဆောင်ချက်များ ဆောင်ရွက်ပါ
@ -158,6 +176,7 @@ my:
read:mutes: သင်အသံပိတ်ထားမှုများကို ကြည့်ပါ read:mutes: သင်အသံပိတ်ထားမှုများကို ကြည့်ပါ
read:notifications: သင့်အသိပေးချက်များကို ကြည့်ပါ read:notifications: သင့်အသိပေးချက်များကို ကြည့်ပါ
read:reports: သင့်မှတ်တမ်းများကို ကြည့်ပါ read:reports: သင့်မှတ်တမ်းများကို ကြည့်ပါ
read:search: သင့်ကိုယ်စား ရှာဖွေပါ
read:statuses: ပို့စ်အားလုံးကို ကြည့်ပါ read:statuses: ပို့စ်အားလုံးကို ကြည့်ပါ
write: သင့်အကောင့်၏ အချက်အလက်အားလုံးကို ပြင်ဆင်ပါ write: သင့်အကောင့်၏ အချက်အလက်အားလုံးကို ပြင်ဆင်ပါ
write:accounts: သင့်ပရိုဖိုင်ကို ပြင်ဆင်ပါ write:accounts: သင့်ပရိုဖိုင်ကို ပြင်ဆင်ပါ

@ -122,16 +122,18 @@ sr:
admin/accounts: Администрација налога admin/accounts: Администрација налога
admin/all: Све функције администрације admin/all: Све функције администрације
admin/reports: Администрација пријава admin/reports: Администрација пријава
all: Потпуни приступ вашем Mastodon налогу
blocks: Блокирани blocks: Блокирани
bookmarks: Обележивачи bookmarks: Обележивачи
conversations: Разговори conversations: Разговори
crypto: End-to-end енкрипција crypto: End-to-end енкрипција
favourites: Омиљени favourites: Омиљени
filters: Филтери filters: Филтери
follow: Праћења, игнорисања и блокирања
follows: Праћени follows: Праћени
lists: Листе lists: Листе
media: Мултимедијални прилози media: Мултимедијални прилози
mutes: Утишани mutes: Игнорисани
notifications: Обавештења notifications: Обавештења
push: Прослеђена обавештења push: Прослеђена обавештења
reports: Пријаве reports: Пријаве
@ -157,7 +159,7 @@ sr:
admin:write:ip_blocks: изврши модераторске активности на IP блоковима admin:write:ip_blocks: изврши модераторске активности на IP блоковима
admin:write:reports: вршење модераторских активности над извештајима admin:write:reports: вршење модераторских активности над извештајима
crypto: коришћење end-to-end енкрипције crypto: коришћење end-to-end енкрипције
follow: прати, блокира, одблокира и отпрати налоге follow: мења односе налога
push: примање прослеђених обавештења push: примање прослеђених обавештења
read: чита податке Вашег налога read: чита податке Вашег налога
read:accounts: погледај информације о налозима read:accounts: погледај информације о налозима
@ -167,7 +169,7 @@ sr:
read:filters: погледај своје филтере read:filters: погледај своје филтере
read:follows: погледај кога пратиш read:follows: погледај кога пратиш
read:lists: погледај своје листе read:lists: погледај своје листе
read:mutes: погледај своје утишане read:mutes: погледај игнорисања
read:notifications: погледај своја обавештења read:notifications: погледај своја обавештења
read:reports: погледај своје пријаве read:reports: погледај своје пријаве
read:search: претражи у своје име read:search: претражи у своје име
@ -176,13 +178,13 @@ sr:
write:accounts: измени свој профил write:accounts: измени свој профил
write:blocks: блокирај налоге и домене write:blocks: блокирај налоге и домене
write:bookmarks: обележи објаве write:bookmarks: обележи објаве
write:conversations: утишај и обриши разговоре write:conversations: игнориши и избриши разговоре
write:favourites: омиљене објаве write:favourites: омиљене објаве
write:filters: креирај филтере write:filters: креирај филтере
write:follows: прати кориснике write:follows: прати кориснике
write:lists: креирај листе write:lists: креирај листе
write:media: отпреми медијске датотеке write:media: отпреми медијске датотеке
write:mutes: утишај коринсике и разговоре write:mutes: игнориши кориснике и разговоре
write:notifications: обриши своја обавештења write:notifications: обриши своја обавештења
write:reports: пријави друге кориснике write:reports: пријави друге кориснике
write:statuses: објави објаве write:statuses: објави објаве

@ -131,7 +131,7 @@ zh-TW:
filters: 過濾器 filters: 過濾器
follow: 跟隨、靜音與封鎖 follow: 跟隨、靜音與封鎖
follows: 跟隨的使用者 follows: 跟隨的使用者
lists: 名單 lists: 列表
media: 多媒體附加檔案 media: 多媒體附加檔案
mutes: 靜音 mutes: 靜音
notifications: 通知 notifications: 通知
@ -168,12 +168,12 @@ zh-TW:
push: 接收帳號的推播通知 push: 接收帳號的推播通知
read: 讀取您所有的帳號資料 read: 讀取您所有的帳號資料
read:accounts: 檢視帳號資訊 read:accounts: 檢視帳號資訊
read:blocks: 檢視您的封鎖名單 read:blocks: 檢視您的封鎖列表
read:bookmarks: 檢視您的書籤 read:bookmarks: 檢視您的書籤
read:favourites: 檢視您收藏的最愛 read:favourites: 檢視您收藏的最愛
read:filters: 檢視您的過濾條件 read:filters: 檢視您的過濾條件
read:follows: 檢視您跟隨的人 read:follows: 檢視您跟隨的人
read:lists: 檢視您的名單 read:lists: 檢視您的列表
read:mutes: 檢視您靜音的人 read:mutes: 檢視您靜音的人
read:notifications: 檢視您的通知 read:notifications: 檢視您的通知
read:reports: 檢視您的檢舉 read:reports: 檢視您的檢舉

@ -278,6 +278,15 @@ el:
suspend_account_html: Ο/Η %{name} ανέστειλε τον λογαριασμό του/της %{target} suspend_account_html: Ο/Η %{name} ανέστειλε τον λογαριασμό του/της %{target}
unassigned_report_html: Ο/Η %{name} αποδέσμευσε την αναφορά %{target} unassigned_report_html: Ο/Η %{name} αποδέσμευσε την αναφορά %{target}
unblock_email_account_html: "%{name} ξεμπλόκαρε τη διεύθυνση ηλεκτρονικού ταχυδρομείου του %{target}" unblock_email_account_html: "%{name} ξεμπλόκαρε τη διεύθυνση ηλεκτρονικού ταχυδρομείου του %{target}"
unsensitive_account_html: Ο/Η %{name} επισήμανε τα πολυμέσα του/της %{target} ως ευαίσθητα
unsilence_account_html: Ο/Η %{name} αφαίρεσε το όριο του λογαριασμού του/της %{target}
unsuspend_account_html: Ο/Η %{name} επανέφερε τον λογαριασμό του/της %{target}
update_announcement_html: Ο/Η %{name} ενημέρωση την ανακοίνωση %{target}
update_custom_emoji_html: Ο/Η %{name} ενημέρωσε το emoji %{target}
update_domain_block_html: Ο/Η %{name} ενημέρωσε τον αποκλεισμό τομέα για %{target}
update_ip_block_html: Ο/Η %{name} άλλαξε τον κανόνα για την IP %{target}
update_status_html: Ο/Η %{name} ενημέρωσε την ανάρτηση του/της %{target}
update_user_role_html: Ο/Η %{name} άλλαξε τον ρόλο %{target}
deleted_account: διαγραμμένος λογαριασμός deleted_account: διαγραμμένος λογαριασμός
empty: Δεν βρέθηκαν αρχεία καταγραφής. empty: Δεν βρέθηκαν αρχεία καταγραφής.
filter_by_action: Φιλτράρισμα ανά ενέργεια filter_by_action: Φιλτράρισμα ανά ενέργεια
@ -322,6 +331,7 @@ el:
listed: Αναφερθέντα listed: Αναφερθέντα
new: new:
title: Προσθήκη νέου προσαρμοσμένου emoji title: Προσθήκη νέου προσαρμοσμένου emoji
no_emoji_selected: Δεν άλλαξαν τα emoji καθώς δεν επιλέχθηκε κανένα
not_permitted: Δεν επιτρέπεται να κάνετε αυτή την λειτουργία not_permitted: Δεν επιτρέπεται να κάνετε αυτή την λειτουργία
overwrite: Αντικατάσταση overwrite: Αντικατάσταση
shortcode: Σύντομος κωδικός shortcode: Σύντομος κωδικός
@ -335,12 +345,30 @@ el:
upload: Ανέβασμα upload: Ανέβασμα
dashboard: dashboard:
active_users: ενεργοί χρήστες active_users: ενεργοί χρήστες
interactions: αλληλεπιδράσεις
media_storage: Αποθηκευτικός Χώρος
new_users: νέοι χρήστες new_users: νέοι χρήστες
opened_reports: αναφορές που ανοίχτηκαν
pending_reports_html:
one: "<strong>%{count}</strong> εκκρεμής αναφορά"
other: "<strong>%{count}</strong> εκκρεμείς αναφορές"
pending_tags_html:
one: "<strong>%{count}</strong> εκκρεμής ετικέτα"
other: "<strong>%{count}</strong> εκκρεμείς ετικέτες"
pending_users_html:
one: "<strong>%{count}</strong> χρήστης σε εκκρεμότητα"
other: "<strong>%{count}</strong> χρήστες σε εκκρεμότητα"
resolved_reports: επιλυμμένες αναφορές
software: Λογισμικό software: Λογισμικό
sources: Πηγές εγγραφής
space: Κατανάλωση χώρου space: Κατανάλωση χώρου
title: Ταμπλό title: Ταμπλό
top_languages: Κορυφαίες ενεργές γλώσσες
top_servers: Κορυφαίοι ενεργοί διακομιστές
website: Ιστοσελίδα
disputes: disputes:
appeals: appeals:
empty: Καμία ένσταση.
title: Εφέσεις title: Εφέσεις
domain_allows: domain_allows:
add_new: Έγκριση τομέα add_new: Έγκριση τομέα
@ -363,10 +391,13 @@ el:
create: Δημιουργία αποκλεισμού create: Δημιουργία αποκλεισμού
hint: Ο αποκλεισμός τομέα δεν θα αποτρέψει νέες καταχωρίσεις λογαριασμών στην βάση δεδομένων, αλλά θα εφαρμόσει αναδρομικά και αυτόματα συγκεκριμένες πολιτικές μεσολάβησης σε αυτούς τους λογαριασμούς. hint: Ο αποκλεισμός τομέα δεν θα αποτρέψει νέες καταχωρίσεις λογαριασμών στην βάση δεδομένων, αλλά θα εφαρμόσει αναδρομικά και αυτόματα συγκεκριμένες πολιτικές μεσολάβησης σε αυτούς τους λογαριασμούς.
severity: severity:
desc_html: Ο <strong>περιορισμός</strong> θα κάνει αόρατες τις δημοσιεύσεις ενός λογαριασμού σε όσους δεν τον ακολουθούν. Η <strong>αναστολή</strong> θα αφαιρέσει όλο το περιεχόμενο, τα πολυμέσα και τα στοιχεία προφίλ ενός λογαριασμού. Χρησιμοποίησε το <strong>κανένα</strong> αν θέλεις απλά να απορρίψεις τα αρχεία πολυμέσων.
noop: Κανένα noop: Κανένα
silence: Περιορισμός silence: Περιορισμός
suspend: Αναστολή suspend: Αναστολή
title: Αποκλεισμός νέου τομέα title: Αποκλεισμός νέου τομέα
no_domain_block_selected: Δεν άλλαξαν οι αποκλεισμοί τομέα καθώς δεν επιλέχθηκε κανένας
not_permitted: Δεν επιτρπέπεται να εκτελέσετε αυτήν την ενέργεια
private_comment: Ιδιωτικό σχόλιο private_comment: Ιδιωτικό σχόλιο
private_comment_hint: Σχόλιο για τον περιορισμό αυτού του τομέα για εσωτερική χρήση από τους διαχειριστές. private_comment_hint: Σχόλιο για τον περιορισμό αυτού του τομέα για εσωτερική χρήση από τους διαχειριστές.
public_comment: Δημόσιο σχόλιο public_comment: Δημόσιο σχόλιο

@ -91,6 +91,7 @@ es-MX:
moderation: moderation:
active: Activo active: Activo
all: Todos all: Todos
disabled: Deshabilitado
pending: Pendiente pending: Pendiente
silenced: Limitado silenced: Limitado
suspended: Suspendidos suspended: Suspendidos
@ -133,6 +134,7 @@ es-MX:
search: Buscar search: Buscar
search_same_email_domain: Otros usuarios con el mismo dominio de correo search_same_email_domain: Otros usuarios con el mismo dominio de correo
search_same_ip: Otros usuarios con la misma IP search_same_ip: Otros usuarios con la misma IP
security: Seguridad
security_measures: security_measures:
only_password: Sólo contraseña only_password: Sólo contraseña
password_and_2fa: Contraseña y 2FA password_and_2fa: Contraseña y 2FA
@ -427,6 +429,7 @@ es-MX:
resolve: Resolver dominio resolve: Resolver dominio
title: Nueva entrada en la lista negra de correo title: Nueva entrada en la lista negra de correo
no_email_domain_block_selected: No se han cambiado bloqueos de dominio ya que ninguno ha sido seleccionado no_email_domain_block_selected: No se han cambiado bloqueos de dominio ya que ninguno ha sido seleccionado
not_permitted: No permitido
resolved_dns_records_hint_html: El nombre de dominio resuelve los siguientes dominios MX, los cuales son responsables en última instancia de aceptar el correo electrónico. Bloquear un dominio MX bloqueará los registros de cualquier dirección de correo electrónico que utilice el mismo dominio MX, incluso si el nombre de dominio visible es diferente. <strong>Tenga cuidado de no bloquear los principales proveedores de correo electrónico.</strong> resolved_dns_records_hint_html: El nombre de dominio resuelve los siguientes dominios MX, los cuales son responsables en última instancia de aceptar el correo electrónico. Bloquear un dominio MX bloqueará los registros de cualquier dirección de correo electrónico que utilice el mismo dominio MX, incluso si el nombre de dominio visible es diferente. <strong>Tenga cuidado de no bloquear los principales proveedores de correo electrónico.</strong>
resolved_through_html: Resuelto a través de %{domain} resolved_through_html: Resuelto a través de %{domain}
title: Lista negra de correo title: Lista negra de correo
@ -473,6 +476,7 @@ es-MX:
content_policies: content_policies:
comment: Nota interna comment: Nota interna
description_html: Puedes definir políticas de contenido que se aplicarán a todas las cuentas de este dominio y a cualquiera de sus subdominios. description_html: Puedes definir políticas de contenido que se aplicarán a todas las cuentas de este dominio y a cualquiera de sus subdominios.
limited_federation_mode_description_html: Puedes elegir si permites la federación con este dominio.
policies: policies:
reject_media: Rechazar multimedia reject_media: Rechazar multimedia
reject_reports: Rechazar informes reject_reports: Rechazar informes
@ -585,11 +589,13 @@ es-MX:
assign_to_self: Asignármela a mí assign_to_self: Asignármela a mí
assigned: Moderador asignado assigned: Moderador asignado
by_target_domain: Dominio de la cuenta reportada by_target_domain: Dominio de la cuenta reportada
cancel: Cancelar
category: Categoría category: Categoría
category_description_html: La razón por la que se reportó esta cuenta o contenido será citada en las comunicaciones con la cuenta reportada category_description_html: La razón por la que se reportó esta cuenta o contenido será citada en las comunicaciones con la cuenta reportada
comment: comment:
none: Ninguno none: Ninguno
comment_description_html: 'Para proporcionar más información, %{name} escribió:' comment_description_html: 'Para proporcionar más información, %{name} escribió:'
confirm: Confirmar
confirm_action: Confirmar acción de moderación contra @%{acct} confirm_action: Confirmar acción de moderación contra @%{acct}
created_at: Denunciado created_at: Denunciado
delete_and_resolve: Eliminar publicaciones delete_and_resolve: Eliminar publicaciones
@ -792,6 +798,7 @@ es-MX:
suspend: "%{name} suspendio la cuenta de %{target}" suspend: "%{name} suspendio la cuenta de %{target}"
appeal_approved: Apelado appeal_approved: Apelado
appeal_pending: Apelación pendiente appeal_pending: Apelación pendiente
appeal_rejected: Apelación rechazada
system_checks: system_checks:
database_schema_check: database_schema_check:
message_html: Hay migraciones pendientes de la base de datos. Por favor, ejecútalas para asegurarte de que la aplicación funciona como debería message_html: Hay migraciones pendientes de la base de datos. Por favor, ejecútalas para asegurarte de que la aplicación funciona como debería
@ -827,6 +834,7 @@ es-MX:
other: Compartido por %{count} personas durante la última semana other: Compartido por %{count} personas durante la última semana
title: Enlaces en tendencia title: Enlaces en tendencia
usage_comparison: Compartido %{today} veces hoy, comparado a %{yesterday} ayer usage_comparison: Compartido %{today} veces hoy, comparado a %{yesterday} ayer
not_allowed_to_trend: No permitido para tendencia
only_allowed: Sólo las permitidas only_allowed: Sólo las permitidas
pending_review: Revisión pendiente pending_review: Revisión pendiente
preview_card_providers: preview_card_providers:
@ -958,6 +966,7 @@ es-MX:
applications: applications:
created: Aplicación creada exitosamente created: Aplicación creada exitosamente
destroyed: Apicación eliminada exitosamente destroyed: Apicación eliminada exitosamente
logout: Cerrar sesión
regenerate_token: Regenerar token de acceso regenerate_token: Regenerar token de acceso
token_regenerated: Token de acceso regenerado exitosamente token_regenerated: Token de acceso regenerado exitosamente
warning: Ten mucho cuidado con estos datos. ¡No los compartas con nadie! warning: Ten mucho cuidado con estos datos. ¡No los compartas con nadie!
@ -994,6 +1003,8 @@ es-MX:
resend_confirmation: Volver a enviar el correo de confirmación resend_confirmation: Volver a enviar el correo de confirmación
reset_password: Restablecer contraseña reset_password: Restablecer contraseña
rules: rules:
accept: Aceptar
back: Atrás
preamble: Estas son establecidas y aplicadas por los moderadores de %{domain}. preamble: Estas son establecidas y aplicadas por los moderadores de %{domain}.
title: Algunas reglas básicas. title: Algunas reglas básicas.
security: Cambiar contraseña security: Cambiar contraseña
@ -1140,6 +1151,8 @@ es-MX:
storage: Almacenamiento storage: Almacenamiento
featured_tags: featured_tags:
add_new: Añadir nuevo add_new: Añadir nuevo
errors:
limit: Ya has alcanzado la cantidad máxima de hashtags
hint_html: "<strong>¿Qué son las etiquetas destacadas?</strong> Se muestran de forma prominente en tu perfil público y permiten a los usuarios navegar por tus publicaciones públicas específicamente bajo esas etiquetas. Son una gran herramienta para hacer un seguimiento de trabajos creativos o proyectos a largo plazo." hint_html: "<strong>¿Qué son las etiquetas destacadas?</strong> Se muestran de forma prominente en tu perfil público y permiten a los usuarios navegar por tus publicaciones públicas específicamente bajo esas etiquetas. Son una gran herramienta para hacer un seguimiento de trabajos creativos o proyectos a largo plazo."
filters: filters:
contexts: contexts:
@ -1247,6 +1260,9 @@ es-MX:
expires_at: Expira expires_at: Expira
uses: Usos uses: Usos
title: Invitar a gente title: Invitar a gente
lists:
errors:
limit: Has alcanzado la cantidad máxima de listas
login_activities: login_activities:
authentication_methods: authentication_methods:
otp: aplicación de autenticación en dos pasos otp: aplicación de autenticación en dos pasos
@ -1566,6 +1582,7 @@ es-MX:
'7889238': 3 meses '7889238': 3 meses
min_age_label: Umbral de tiempo min_age_label: Umbral de tiempo
min_favs: Mantener mensajes con un número de favoritos mayor que min_favs: Mantener mensajes con un número de favoritos mayor que
min_favs_hint: No borra ninguna de las publicaciones que hayan recibido al menos esta cantidad de favoritos. Deja en blanco para eliminar publicaciones sin importar el número de favoritos
min_reblogs: Mantener publicaciones reblogueadas más de min_reblogs: Mantener publicaciones reblogueadas más de
min_reblogs_hint: No borra ninguna de las publicaciones que hayan sido reblogueadas más de este número de veces. Deja en blanco para eliminar publicaciones sin importar el número de reblogueos min_reblogs_hint: No borra ninguna de las publicaciones que hayan sido reblogueadas más de este número de veces. Deja en blanco para eliminar publicaciones sin importar el número de reblogueos
stream_entries: stream_entries:

@ -476,7 +476,7 @@ es:
content_policies: content_policies:
comment: Nota interna comment: Nota interna
description_html: Puedes definir políticas de contenido que se aplicarán a todas las cuentas de este dominio y a cualquiera de sus subdominios. description_html: Puedes definir políticas de contenido que se aplicarán a todas las cuentas de este dominio y a cualquiera de sus subdominios.
limited_federation_mode_description_html: Puede elegir si permite la federación en este dominio. limited_federation_mode_description_html: Puedes elegir si permites la federación con este dominio.
policies: policies:
reject_media: Rechazar multimedia reject_media: Rechazar multimedia
reject_reports: Rechazar informes reject_reports: Rechazar informes
@ -925,7 +925,7 @@ es:
new_report: new_report:
body: "%{reporter} ha reportado a %{target}" body: "%{reporter} ha reportado a %{target}"
body_remote: Alguien de %{domain} a reportado a %{target} body_remote: Alguien de %{domain} a reportado a %{target}
subject: Nuevo reporte para la %{instance} (#%{id}) subject: Nuevo informe para %{instance} (#%{id})
new_trends: new_trends:
body: 'Los siguientes elementos necesitan una revisión antes de que se puedan mostrar públicamente:' body: 'Los siguientes elementos necesitan una revisión antes de que se puedan mostrar públicamente:'
new_trending_links: new_trending_links:

@ -834,6 +834,7 @@ fr-QC:
other: Partagé par %{count} personnes au cours de la dernière semaine other: Partagé par %{count} personnes au cours de la dernière semaine
title: Liens tendances title: Liens tendances
usage_comparison: Partagé %{today} fois aujourd'hui, comparé à %{yesterday} hier usage_comparison: Partagé %{today} fois aujourd'hui, comparé à %{yesterday} hier
not_allowed_to_trend: Non autorisé à apparaître dans les tendances
only_allowed: Autorisées seulement only_allowed: Autorisées seulement
pending_review: En attente de révision pending_review: En attente de révision
preview_card_providers: preview_card_providers:
@ -1002,6 +1003,7 @@ fr-QC:
resend_confirmation: Envoyer à nouveau les consignes de confirmation resend_confirmation: Envoyer à nouveau les consignes de confirmation
reset_password: Réinitialiser le mot de passe reset_password: Réinitialiser le mot de passe
rules: rules:
accept: Accepter
back: Retour back: Retour
preamble: Celles-ci sont définies et appliqués par les modérateurs de %{domain}. preamble: Celles-ci sont définies et appliqués par les modérateurs de %{domain}.
title: Quelques règles de base. title: Quelques règles de base.
@ -1149,6 +1151,8 @@ fr-QC:
storage: Médias stockés storage: Médias stockés
featured_tags: featured_tags:
add_new: Ajouter un nouveau hashtag add_new: Ajouter un nouveau hashtag
errors:
limit: Vous avez déjà mis en avant le nombre maximum de hashtags
hint_html: "<strong>Que sont les hashtags mis en avant ?</strong> Ils sont affichés en évidence sur votre profil public et permettent aux gens de parcourir vos messages publics qui utilisent ces hashtags. Ils sont un excellent outil pour garder la trace dactivités créatrices ou de projets de long terme." hint_html: "<strong>Que sont les hashtags mis en avant ?</strong> Ils sont affichés en évidence sur votre profil public et permettent aux gens de parcourir vos messages publics qui utilisent ces hashtags. Ils sont un excellent outil pour garder la trace dactivités créatrices ou de projets de long terme."
filters: filters:
contexts: contexts:
@ -1256,6 +1260,9 @@ fr-QC:
expires_at: Expire expires_at: Expire
uses: Utilisations uses: Utilisations
title: Inviter des gens title: Inviter des gens
lists:
errors:
limit: Vous avez atteint le nombre maximum de listes
login_activities: login_activities:
authentication_methods: authentication_methods:
otp: application d'authentification à deux facteurs otp: application d'authentification à deux facteurs
@ -1575,6 +1582,7 @@ fr-QC:
'7889238': 3 mois '7889238': 3 mois
min_age_label: Seuil d'ancienneté min_age_label: Seuil d'ancienneté
min_favs: Conserver les messages mis en favoris au moins min_favs: Conserver les messages mis en favoris au moins
min_favs_hint: Ne supprime aucun de vos messages qui ont reçu au moins ce nombre de favoris. Laisser vide pour supprimer les messages quel que soit leur nombre de favoris
min_reblogs: Conserver les messages partagés au moins min_reblogs: Conserver les messages partagés au moins
min_reblogs_hint: Ne supprime aucun de vos messages qui ont été partagés au moins ce nombre de fois. Laisser vide pour supprimer les messages indépendamment de leur nombre de partages min_reblogs_hint: Ne supprime aucun de vos messages qui ont été partagés au moins ce nombre de fois. Laisser vide pour supprimer les messages indépendamment de leur nombre de partages
stream_entries: stream_entries:

@ -1466,7 +1466,7 @@ ko:
export: 데이터 내보내기 export: 데이터 내보내기
featured_tags: 추천 해시태그 featured_tags: 추천 해시태그
import: 데이터 가져오기 import: 데이터 가져오기
import_and_export: 가져오기 / 내보내기 import_and_export: 가져오기 & 내보내기
migrate: 계정 이동 migrate: 계정 이동
notifications: 알림 notifications: 알림
preferences: 사용자 설정 preferences: 사용자 설정

@ -91,6 +91,7 @@ nn:
moderation: moderation:
active: Aktiv active: Aktiv
all: Alle all: Alle
disabled: Deaktivert
pending: Ventar på svar pending: Ventar på svar
silenced: Avgrensa silenced: Avgrensa
suspended: Utvist suspended: Utvist
@ -133,6 +134,7 @@ nn:
search: Søk search: Søk
search_same_email_domain: Andre brukarar med same e-postdomene search_same_email_domain: Andre brukarar med same e-postdomene
search_same_ip: Andre brukarar med same IP search_same_ip: Andre brukarar med same IP
security: Sikkerhet
security_measures: security_measures:
only_password: Kun passord only_password: Kun passord
password_and_2fa: Passord og 2FA password_and_2fa: Passord og 2FA
@ -421,6 +423,7 @@ nn:
resolve: Løs domene resolve: Løs domene
title: Ny blokkeringsoppføring av e-postdomene title: Ny blokkeringsoppføring av e-postdomene
no_email_domain_block_selected: Blokkering av e-post-domener vart ikkje endra sidan ingen var valde no_email_domain_block_selected: Blokkering av e-post-domener vart ikkje endra sidan ingen var valde
not_permitted: Ikke tillatt
resolved_dns_records_hint_html: Domenenamnet gjer oppslag til desse MX-domenene som til sist er ansvarlige for å motta e-post. Blokkering av eit MX-domene vil blokkere registreringar frå alle e-postadresser som bruker same MX-domene, sjølv om det synlige domenenavnet skulle vera noko anna. <strong>Pass på så du ikkje blokkerer dei store e-postleverandørane.</strong> resolved_dns_records_hint_html: Domenenamnet gjer oppslag til desse MX-domenene som til sist er ansvarlige for å motta e-post. Blokkering av eit MX-domene vil blokkere registreringar frå alle e-postadresser som bruker same MX-domene, sjølv om det synlige domenenavnet skulle vera noko anna. <strong>Pass på så du ikkje blokkerer dei store e-postleverandørane.</strong>
resolved_through_html: Løyst gjennom %{domain} resolved_through_html: Løyst gjennom %{domain}
title: Blokkerte e-postadresser title: Blokkerte e-postadresser
@ -435,6 +438,7 @@ nn:
private_comment_description_html: 'For å hjelpa deg med å halda oversikt over kvar importerte blokkeringar kjem frå, vil dei bli oppretta med fylgjande private kommentar: <q>%{comment}</q>' private_comment_description_html: 'For å hjelpa deg med å halda oversikt over kvar importerte blokkeringar kjem frå, vil dei bli oppretta med fylgjande private kommentar: <q>%{comment}</q>'
private_comment_template: Importert frå %{source} den %{date} private_comment_template: Importert frå %{source} den %{date}
title: Importer domeneblokkeringar title: Importer domeneblokkeringar
invalid_domain_block: 'En eller flere domeneblokker ble hoppet over på grunn av følgende feil(er): %{error}'
new: new:
title: Importer domeneblokkeringar title: Importer domeneblokkeringar
no_file: Inga fil vald no_file: Inga fil vald
@ -569,17 +573,23 @@ nn:
mark_as_sensitive_description_html: Mediene i dei rapporterte innlegga vil verte markerte som ømtolege, og ein merknad vil verte lagra for å hjelpe deg å eskalera ved framtidige regelbrot frå same konto. mark_as_sensitive_description_html: Mediene i dei rapporterte innlegga vil verte markerte som ømtolege, og ein merknad vil verte lagra for å hjelpe deg å eskalera ved framtidige regelbrot frå same konto.
other_description_html: Sjå fleire alternativ når det gjeld kontroll av kontoåtferd og tilpassing av kommunikasjonen til den rapporterte kontoen. other_description_html: Sjå fleire alternativ når det gjeld kontroll av kontoåtferd og tilpassing av kommunikasjonen til den rapporterte kontoen.
resolve_description_html: Ingen handling utføres mot den rapporterte kontoen, ingen advarsel gis, og rapporten lukkes. resolve_description_html: Ingen handling utføres mot den rapporterte kontoen, ingen advarsel gis, og rapporten lukkes.
silence_description_html: Profilen vil kun være synlig for dem som allerede følger den eller manuelt slår den opp, noe som sterkt begrenser dens rekkevidde. Kan alltid tilbakestilles. Lukker alle rapporter mot denne kontoen.
suspend_description_html: Kontoen og alt dens innhold vil være utilgjengelig og til slutt slettet, og det vil ikke være mulig å bruke den. Reversibel innen 30 dager. Lukker alle rapporter mot denne kontoen.
actions_description_html: Avgjer kva som skal gjerast med denne rapporteringa. Dersom du utfører straffetiltak mot den rapporterte kontoen, vil dei motta ein e-post så sant du ikkje har valt kategorien <strong>Spam</strong>. actions_description_html: Avgjer kva som skal gjerast med denne rapporteringa. Dersom du utfører straffetiltak mot den rapporterte kontoen, vil dei motta ein e-post så sant du ikkje har valt kategorien <strong>Spam</strong>.
actions_description_remote_html: Velg hvilke tiltak som skal treffes for å løse denne rapporten. Dette påvirker bare hvordan <strong>din</strong> server kommuniserer med denne eksterne kontoen og håndterer innholdet.
add_to_report: Legg til i rapporten add_to_report: Legg til i rapporten
are_you_sure: Er du sikker? are_you_sure: Er du sikker?
assign_to_self: Tilegn til meg assign_to_self: Tilegn til meg
assigned: Tilsett moderator assigned: Tilsett moderator
by_target_domain: Domenet av rapportert bruker by_target_domain: Domenet av rapportert bruker
cancel: Avbryt
category: Kategori category: Kategori
category_description_html: Årsaka til at kontoen og/eller innhaldet vart rapportert vil bli inkludert i kommunikasjonen med den rapporterte kontoen category_description_html: Årsaka til at kontoen og/eller innhaldet vart rapportert vil bli inkludert i kommunikasjonen med den rapporterte kontoen
comment: comment:
none: Ingen none: Ingen
comment_description_html: 'For å gje meir informasjon, skreiv %{name}:' comment_description_html: 'For å gje meir informasjon, skreiv %{name}:'
confirm: Bekreft
confirm_action: Bekreft moderasjonshandling mot @%{acct}
created_at: Rapportert created_at: Rapportert
delete_and_resolve: Slett innlegg delete_and_resolve: Slett innlegg
forwarded: Videresendt forwarded: Videresendt
@ -596,6 +606,7 @@ nn:
placeholder: Beskriv hvilke handlinger som har blitt tatt, eller andre relaterte oppdateringer... placeholder: Beskriv hvilke handlinger som har blitt tatt, eller andre relaterte oppdateringer...
title: Merknad title: Merknad
notes_description_html: Sjå og skriv merknadar til andre moderatorar og ditt framtidige sjølv notes_description_html: Sjå og skriv merknadar til andre moderatorar og ditt framtidige sjølv
processed_msg: 'Rapport #%{id} er behandlet'
quick_actions_description_html: 'Utfør ei handling eller bla ned for å sjå det rapporterte innhaldet:' quick_actions_description_html: 'Utfør ei handling eller bla ned for å sjå det rapporterte innhaldet:'
remote_user_placeholder: den eksterne brukaren frå %{instance} remote_user_placeholder: den eksterne brukaren frå %{instance}
reopen: Opn rapport igjen reopen: Opn rapport igjen
@ -608,6 +619,12 @@ nn:
status: Status status: Status
statuses: Rapportert innhold statuses: Rapportert innhold
statuses_description_html: Støytande innhald vil bli inkludert i kommunikasjonen med den rapporterte kontoen statuses_description_html: Støytande innhald vil bli inkludert i kommunikasjonen med den rapporterte kontoen
summary:
action_preambles:
delete_html: 'Du er i ferd med å <strong>fjerne</strong> noe av <strong>@%{acct}</strong> sine innlegg. Dette vil:'
mark_as_sensitive_html: 'Du er i ferd med å <strong>markere</strong> noen av <strong>@%{acct}</strong> sine innlegg som <strong>sensitivt</strong>. Dette vil:'
silence_html: 'Du er i ferd med å <strong>avgrense</strong> <strong>@%{acct}</strong> sin konto. Dette vil:'
suspend_html: 'Du er i ferd med å <strong>stoppe</strong> <strong>@%{acct}</strong> sin konto. Dette vil:'
target_origin: Opprinnelse for innrapportert konto target_origin: Opprinnelse for innrapportert konto
title: Rapportar title: Rapportar
unassign: Avset unassign: Avset

@ -91,6 +91,7 @@ pt-BR:
moderation: moderation:
active: Ativo active: Ativo
all: Todos all: Todos
disabled: Desativado
pending: Pendente pending: Pendente
silenced: Limitado silenced: Limitado
suspended: Suspendido suspended: Suspendido
@ -133,6 +134,7 @@ pt-BR:
search: Buscar search: Buscar
search_same_email_domain: Outros usuários com o mesmo domínio de e-mail search_same_email_domain: Outros usuários com o mesmo domínio de e-mail
search_same_ip: Outros usuários com o mesmo IP search_same_ip: Outros usuários com o mesmo IP
security: Segurança
security_measures: security_measures:
only_password: Apenas senha only_password: Apenas senha
password_and_2fa: Senha e autenticação de dois fatores password_and_2fa: Senha e autenticação de dois fatores
@ -426,6 +428,7 @@ pt-BR:
resolve: Resolver domínio resolve: Resolver domínio
title: Nova entrada de lista negra de e-mail title: Nova entrada de lista negra de e-mail
no_email_domain_block_selected: Nenhum bloco de domínio de e-mail foi alterado, pois nenhum foi selecionado no_email_domain_block_selected: Nenhum bloco de domínio de e-mail foi alterado, pois nenhum foi selecionado
not_permitted: Não permitido
resolved_dns_records_hint_html: O nome de domínio resolve os seguintes domínios MX, que são responsáveis finais por aceitar o e-mail. Bloquear um domínio MX bloqueará inscrições de qualquer endereço de e-mail que use o mesmo domínio MX, mesmo que o nome de domínio visível seja diferente. <strong>Cuidado para não bloquear os principais provedores de e-mail.</strong> resolved_dns_records_hint_html: O nome de domínio resolve os seguintes domínios MX, que são responsáveis finais por aceitar o e-mail. Bloquear um domínio MX bloqueará inscrições de qualquer endereço de e-mail que use o mesmo domínio MX, mesmo que o nome de domínio visível seja diferente. <strong>Cuidado para não bloquear os principais provedores de e-mail.</strong>
resolved_through_html: Resolvido através de %{domain} resolved_through_html: Resolvido através de %{domain}
title: Lista de negra de e-mail title: Lista de negra de e-mail
@ -580,11 +583,13 @@ pt-BR:
assign_to_self: Atribuir para si assign_to_self: Atribuir para si
assigned: Moderador responsável assigned: Moderador responsável
by_target_domain: Domínio da conta denunciada by_target_domain: Domínio da conta denunciada
cancel: Cancelar
category: Categoria category: Categoria
category_description_html: O motivo pelo qual esta conta e/ou conteúdo foi denunciado será citado na comunicação com a conta denunciada category_description_html: O motivo pelo qual esta conta e/ou conteúdo foi denunciado será citado na comunicação com a conta denunciada
comment: comment:
none: Nenhum none: Nenhum
comment_description_html: 'Para fornecer mais informações, %{name} escreveu:' comment_description_html: 'Para fornecer mais informações, %{name} escreveu:'
confirm: Confirmar
created_at: Denunciado created_at: Denunciado
delete_and_resolve: Excluir publicações delete_and_resolve: Excluir publicações
forwarded: Encaminhados forwarded: Encaminhados
@ -601,6 +606,7 @@ pt-BR:
placeholder: Descreva quais ações foram tomadas ou quaisquer outras atualizações relacionadas... placeholder: Descreva quais ações foram tomadas ou quaisquer outras atualizações relacionadas...
title: Notas title: Notas
notes_description_html: Visualize e deixe anotações para outros moderadores e para você mesmo no futuro notes_description_html: Visualize e deixe anotações para outros moderadores e para você mesmo no futuro
processed_msg: 'Relatório #%{id} processado com sucesso'
quick_actions_description_html: 'Tome uma ação rápida ou role para baixo para ver o conteúdo denunciado:' quick_actions_description_html: 'Tome uma ação rápida ou role para baixo para ver o conteúdo denunciado:'
remote_user_placeholder: o usuário remoto de %{instance} remote_user_placeholder: o usuário remoto de %{instance}
reopen: Reabrir denúncia reopen: Reabrir denúncia
@ -982,6 +988,8 @@ pt-BR:
resend_confirmation: Reenviar instruções de confirmação resend_confirmation: Reenviar instruções de confirmação
reset_password: Redefinir senha reset_password: Redefinir senha
rules: rules:
accept: Aceitar
back: Voltar
preamble: Estes são definidos e aplicados pelos moderadores de %{domain}. preamble: Estes são definidos e aplicados pelos moderadores de %{domain}.
title: Algumas regras básicas. title: Algumas regras básicas.
security: Segurança security: Segurança
@ -1235,6 +1243,9 @@ pt-BR:
expires_at: Expira em expires_at: Expira em
uses: Usos uses: Usos
title: Convidar pessoas title: Convidar pessoas
lists:
errors:
limit: Você atingiu o número máximo de listas
login_activities: login_activities:
authentication_methods: authentication_methods:
otp: autenticação de dois fatores otp: autenticação de dois fatores

@ -1151,6 +1151,8 @@ pt-PT:
storage: Armazenamento de media storage: Armazenamento de media
featured_tags: featured_tags:
add_new: Adicionar nova add_new: Adicionar nova
errors:
limit: Já destacou o número máximo de hashtags permitido
hint_html: "<strong>O que são etiquetas em destaque?</strong> Exibidas de forma bem visível no seu perfil público, permitem que as pessoas consultem as suas publicações públicas especificamente sob essas etiquetas. São uma óptima ferramenta para dar seguimento a trabalhos criativos ou projectos de longo prazo." hint_html: "<strong>O que são etiquetas em destaque?</strong> Exibidas de forma bem visível no seu perfil público, permitem que as pessoas consultem as suas publicações públicas especificamente sob essas etiquetas. São uma óptima ferramenta para dar seguimento a trabalhos criativos ou projectos de longo prazo."
filters: filters:
contexts: contexts:
@ -1258,6 +1260,9 @@ pt-PT:
expires_at: Expira expires_at: Expira
uses: Usos uses: Usos
title: Convidar pessoas title: Convidar pessoas
lists:
errors:
limit: Atingiu o número máximo de listas permitido
login_activities: login_activities:
authentication_methods: authentication_methods:
otp: aplicação de autenticação em duas etapas otp: aplicação de autenticação em duas etapas
@ -1577,6 +1582,7 @@ pt-PT:
'7889238': 3 meses '7889238': 3 meses
min_age_label: Limite de idade min_age_label: Limite de idade
min_favs: Manter pelo menos as publicações dos marcadores min_favs: Manter pelo menos as publicações dos marcadores
min_favs_hint: Não elimina nenhuma das suas publicações que tenha recebido pelo menos este número de favoritos. Deixe em branco para eliminar publicações, independentemente do seu número de favoritos
min_reblogs: Manter as publicações reforçadas mais de min_reblogs: Manter as publicações reforçadas mais de
min_reblogs_hint: Não apaga nenhuma das suas publicações que tenha sido partilhada mais do que este número de vezes. Deixe em branco para apagar as publicações, independentemente do número de partilhas min_reblogs_hint: Não apaga nenhuma das suas publicações que tenha sido partilhada mais do que este número de vezes. Deixe em branco para apagar as publicações, independentemente do número de partilhas
stream_entries: stream_entries:

@ -95,6 +95,7 @@ ru:
moderation: moderation:
active: Действующие active: Действующие
all: Все all: Все
disabled: Отключено
pending: В ожидании pending: В ожидании
silenced: Ограниченные silenced: Ограниченные
suspended: Заблокированные suspended: Заблокированные
@ -139,6 +140,7 @@ ru:
search: Поиск search: Поиск
search_same_email_domain: Другие пользователи с тем же доменом электронной почты search_same_email_domain: Другие пользователи с тем же доменом электронной почты
search_same_ip: Другие пользователи с таким же IP search_same_ip: Другие пользователи с таким же IP
security: Безопасность
security_measures: security_measures:
only_password: Только пароль only_password: Только пароль
password_and_2fa: Пароль и 2FA password_and_2fa: Пароль и 2FA
@ -443,6 +445,7 @@ ru:
resolve: Проверить домен resolve: Проверить домен
title: Новая блокировка по домену title: Новая блокировка по домену
no_email_domain_block_selected: Блоки домена электронной почты не были изменены, так как не были выбраны no_email_domain_block_selected: Блоки домена электронной почты не были изменены, так как не были выбраны
not_permitted: Не разрешено
resolved_dns_records_hint_html: Доменное имя устраняется на следующие MX-домены, которые в конечном итоге отвечают за прием электронной почты. Блокировка MX-домена будет блокировать регистрации с любого адреса электронной почты, который использует тот же MX-домен, даже если видимое доменное имя отличается от него. <strong>Будьте осторожны, чтобы не блокировать основных поставщиков электронной почты</strong> resolved_dns_records_hint_html: Доменное имя устраняется на следующие MX-домены, которые в конечном итоге отвечают за прием электронной почты. Блокировка MX-домена будет блокировать регистрации с любого адреса электронной почты, который использует тот же MX-домен, даже если видимое доменное имя отличается от него. <strong>Будьте осторожны, чтобы не блокировать основных поставщиков электронной почты</strong>
resolved_through_html: Разрешено через %{domain} resolved_through_html: Разрешено через %{domain}
title: Блокировка e-mail доменов title: Блокировка e-mail доменов
@ -493,6 +496,7 @@ ru:
content_policies: content_policies:
comment: Внутренняя заметка comment: Внутренняя заметка
description_html: Вы можете определить политики контента, которые будут применяться ко всем учетным записям этого домена и любого из его субдоменов. description_html: Вы можете определить политики контента, которые будут применяться ко всем учетным записям этого домена и любого из его субдоменов.
limited_federation_mode_description_html: Вы можете выбрать, разрешать ли объединение с этим доменом.
policies: policies:
reject_media: Отклонить медиа reject_media: Отклонить медиа
reject_reports: Отклонять жалобы reject_reports: Отклонять жалобы
@ -609,11 +613,13 @@ ru:
assign_to_self: Назначить себе assign_to_self: Назначить себе
assigned: Назначенный модератор assigned: Назначенный модератор
by_target_domain: Домен объекта жалобы by_target_domain: Домен объекта жалобы
cancel: Отменить
category: Категория category: Категория
category_description_html: Причина, по которой были доложены этот пользователь или содержимое, будет указана при коммуникации с фигурирующим в жалобе пользователем category_description_html: Причина, по которой были доложены этот пользователь или содержимое, будет указана при коммуникации с фигурирующим в жалобе пользователем
comment: comment:
none: Нет none: Нет
comment_description_html: 'В дополнение, %{name} добавил(а) следующий комментарий:' comment_description_html: 'В дополнение, %{name} добавил(а) следующий комментарий:'
confirm: Подтвердить
created_at: Создана created_at: Создана
delete_and_resolve: Удалить посты delete_and_resolve: Удалить посты
forwarded: Переслано forwarded: Переслано
@ -810,6 +816,7 @@ ru:
suspend: "%{name} приостановил аккаунт %{target}" suspend: "%{name} приостановил аккаунт %{target}"
appeal_approved: Обжаловано appeal_approved: Обжаловано
appeal_pending: Обжалование в обработке appeal_pending: Обжалование в обработке
appeal_rejected: Апелляция отклонена
system_checks: system_checks:
database_schema_check: database_schema_check:
message_html: Есть отложенные миграции базы данных. Запустите их, чтобы убедиться, что приложение работает должным образом message_html: Есть отложенные миграции базы данных. Запустите их, чтобы убедиться, что приложение работает должным образом
@ -847,6 +854,7 @@ ru:
other: Поделился %{count} человек за последнюю неделю other: Поделился %{count} человек за последнюю неделю
title: Актуальные ссылки title: Актуальные ссылки
usage_comparison: Поделились %{today} раз сегодня, по сравнению с %{yesterday} вчера usage_comparison: Поделились %{today} раз сегодня, по сравнению с %{yesterday} вчера
not_allowed_to_trend: Не допущено в популярное
only_allowed: Только разрешенное only_allowed: Только разрешенное
pending_review: Ожидает рассмотрения pending_review: Ожидает рассмотрения
preview_card_providers: preview_card_providers:
@ -984,6 +992,7 @@ ru:
applications: applications:
created: Приложение успешно создано created: Приложение успешно создано
destroyed: Приложение успешно удалено destroyed: Приложение успешно удалено
logout: Выйти
regenerate_token: Повторно сгенерировать токен доступа regenerate_token: Повторно сгенерировать токен доступа
token_regenerated: Токен доступа успешно сгенерирован token_regenerated: Токен доступа успешно сгенерирован
warning: Будьте очень внимательны с этими данными. Не делитесь ими ни с кем! warning: Будьте очень внимательны с этими данными. Не делитесь ими ни с кем!
@ -1020,6 +1029,8 @@ ru:
resend_confirmation: Повторить отправку инструкции для подтверждения resend_confirmation: Повторить отправку инструкции для подтверждения
reset_password: Сбросить пароль reset_password: Сбросить пароль
rules: rules:
accept: Принять
back: Назад
preamble: Они устанавливаются и применяются модераторами %{domain}. preamble: Они устанавливаются и применяются модераторами %{domain}.
title: Несколько основных правил. title: Несколько основных правил.
security: Безопасность security: Безопасность

@ -19,6 +19,7 @@ ar:
none: استخدم هذه لإرسال تحذير للمستخدم، دون تشغيل أو إثارة أي إجراء آخر. none: استخدم هذه لإرسال تحذير للمستخدم، دون تشغيل أو إثارة أي إجراء آخر.
sensitive: إجبار جميع مرفقات الوسائط لهذا المستخدم على أن تكون حساسة. sensitive: إجبار جميع مرفقات الوسائط لهذا المستخدم على أن تكون حساسة.
silence: منع المستخدم من القدرة على النشر للعامة، وإخفاء مشاركاته وإشعاراته لمن لا يتبعونه. إغلاق جميع التقارير المقترنة بهذا الحساب. silence: منع المستخدم من القدرة على النشر للعامة، وإخفاء مشاركاته وإشعاراته لمن لا يتبعونه. إغلاق جميع التقارير المقترنة بهذا الحساب.
suspend: منع أي تفاعل من هذا الحساب أو إليه وحذف محتوياته. يمكن التراجع عنه في غضون 30 يوما. إغلاق جميع التقارير المفتوحة ضد هذا الحساب.
warning_preset_id: اختياري. يمكنك إضافة نص مخصص إلى نهاية النموذج warning_preset_id: اختياري. يمكنك إضافة نص مخصص إلى نهاية النموذج
announcement: announcement:
all_day: إن أختير، سيتم عرض تواريخ النطاق الزمني فقط all_day: إن أختير، سيتم عرض تواريخ النطاق الزمني فقط
@ -95,6 +96,7 @@ ar:
timeline_preview: الزوار الذين سجلوا خروجهم سيكونون قادرين على تصفح أحدث المشاركات العامة المتاحة على الخادم. timeline_preview: الزوار الذين سجلوا خروجهم سيكونون قادرين على تصفح أحدث المشاركات العامة المتاحة على الخادم.
trendable_by_default: تخطي مراجعة المحتوى التريند اليدوي. لا يزال من الممكن الإزالة اللاحقة للعناصر الفردية من التريندات. trendable_by_default: تخطي مراجعة المحتوى التريند اليدوي. لا يزال من الممكن الإزالة اللاحقة للعناصر الفردية من التريندات.
trends: تظهر التريندز أي المشاركات وعلامات وقصص الأخبار التي تجذب الانتباه على الخادم الخاص بك. trends: تظهر التريندز أي المشاركات وعلامات وقصص الأخبار التي تجذب الانتباه على الخادم الخاص بك.
trends_as_landing_page: إظهار المحتوى المتداوَل للمستخدمين والزوار غير المسجلين بدلاً من وصف هذا الخادم. يتطلب هذا تفعيل المتداولة.
form_challenge: form_challenge:
current_password: إنك بصدد الدخول إلى منطقة آمنة current_password: إنك بصدد الدخول إلى منطقة آمنة
imports: imports:
@ -230,6 +232,7 @@ ar:
hide: إخفاء بالكامل hide: إخفاء بالكامل
warn: إخفاء بتحذير warn: إخفاء بتحذير
form_admin_settings: form_admin_settings:
activity_api_enabled: نشر مُجمل الإحصائيات عن نشاط المستخدمين في واجهة برمجة التطبيقات API
backups_retention_period: فترة الاحتفاظ بأرشيف المستخدم backups_retention_period: فترة الاحتفاظ بأرشيف المستخدم
bootstrap_timeline_accounts: أوصي دائما بهذه الحسابات للمستخدمين الجدد bootstrap_timeline_accounts: أوصي دائما بهذه الحسابات للمستخدمين الجدد
closed_registrations_message: رسالة مخصصة عندما يكون التسجيل غير متاح closed_registrations_message: رسالة مخصصة عندما يكون التسجيل غير متاح

@ -82,7 +82,7 @@ fr-QC:
custom_css: Vous pouvez appliquer des styles personnalisés sur la version Web de Mastodon. custom_css: Vous pouvez appliquer des styles personnalisés sur la version Web de Mastodon.
mascot: Remplace l'illustration dans l'interface Web avancée. mascot: Remplace l'illustration dans l'interface Web avancée.
media_cache_retention_period: Les fichiers multimédias téléchargés seront supprimés après le nombre de jours spécifiés lorsque la valeur est positive, et seront téléchargés à nouveau sur demande. media_cache_retention_period: Les fichiers multimédias téléchargés seront supprimés après le nombre de jours spécifiés lorsque la valeur est positive, et seront téléchargés à nouveau sur demande.
peers_api_enabled: Une liste de noms de domaine que ce serveur a rencontrés dans le fediverse. Aucune donnée indiquant si vous vous fédérez ou non avec un serveur particulier n'est incluse ici, seulement l'information que votre serveur connaît un autre serveur. Cette option est utilisée par les services qui collectent des statistiques sur la fédération en général. peers_api_enabled: Une liste de noms de domaine que ce serveur a rencontrés dans le fédiverse. Aucune donnée indiquant si vous vous fédérez ou non avec un serveur particulier n'est incluse ici, seulement l'information que votre serveur connaît un autre serveur. Cette option est utilisée par les services qui collectent des statistiques sur la fédération en général.
profile_directory: L'annuaire des profils répertorie tous les utilisateurs qui ont opté pour être découverts. profile_directory: L'annuaire des profils répertorie tous les utilisateurs qui ont opté pour être découverts.
require_invite_text: Lorsque les inscriptions nécessitent une approbation manuelle, rendre le texte de linvitation "Pourquoi voulez-vous vous inscrire ?" obligatoire plutôt que facultatif require_invite_text: Lorsque les inscriptions nécessitent une approbation manuelle, rendre le texte de linvitation "Pourquoi voulez-vous vous inscrire ?" obligatoire plutôt que facultatif
site_contact_email: Comment les personnes peuvent vous joindre pour des demandes de renseignements juridiques ou d'assistance. site_contact_email: Comment les personnes peuvent vous joindre pour des demandes de renseignements juridiques ou d'assistance.
@ -91,11 +91,13 @@ fr-QC:
site_short_description: Une courte description pour aider à identifier de manière unique votre serveur. Qui l'exécute, à qui il est destiné ? site_short_description: Une courte description pour aider à identifier de manière unique votre serveur. Qui l'exécute, à qui il est destiné ?
site_terms: Utilisez votre propre politique de confidentialité ou laissez vide pour utiliser la syntaxe par défaut. Peut être structurée avec la syntaxe Markdown. site_terms: Utilisez votre propre politique de confidentialité ou laissez vide pour utiliser la syntaxe par défaut. Peut être structurée avec la syntaxe Markdown.
site_title: Comment les personnes peuvent se référer à votre serveur en plus de son nom de domaine. site_title: Comment les personnes peuvent se référer à votre serveur en plus de son nom de domaine.
status_page_url: URL d'une page où les gens peuvent voir l'état de ce serveur en cas de panne
theme: Thème que verront les utilisateur·rice·s déconnecté·e·s ainsi que les nouveaux·elles utilisateur·rice·s. theme: Thème que verront les utilisateur·rice·s déconnecté·e·s ainsi que les nouveaux·elles utilisateur·rice·s.
thumbnail: Une image d'environ 2:1 affichée à côté des informations de votre serveur. thumbnail: Une image d'environ 2:1 affichée à côté des informations de votre serveur.
timeline_preview: Les visiteurs déconnectés pourront parcourir les derniers messages publics disponibles sur le serveur. timeline_preview: Les visiteurs déconnectés pourront parcourir les derniers messages publics disponibles sur le serveur.
trendable_by_default: Ignorer l'examen manuel du contenu tendance. Des éléments individuels peuvent toujours être supprimés des tendances après coup. trendable_by_default: Ignorer l'examen manuel du contenu tendance. Des éléments individuels peuvent toujours être supprimés des tendances après coup.
trends: Les tendances montrent quelles publications, hashtags et actualités sont en train de gagner en traction sur votre serveur. trends: Les tendances montrent quelles publications, hashtags et actualités sont en train de gagner en traction sur votre serveur.
trends_as_landing_page: Afficher le contenu tendance au lieu d'une description de ce serveur pour les comptes déconnectés et les non-inscrit⋅e⋅s. Nécessite que les tendances soient activées.
form_challenge: form_challenge:
current_password: Vous entrez une zone sécurisée current_password: Vous entrez une zone sécurisée
imports: imports:
@ -251,11 +253,13 @@ fr-QC:
site_short_description: Description du serveur site_short_description: Description du serveur
site_terms: Politique de confidentialité site_terms: Politique de confidentialité
site_title: Nom du serveur site_title: Nom du serveur
status_page_url: URL de la page de l'état du serveur
theme: Thème par défaut theme: Thème par défaut
thumbnail: Miniature du serveur thumbnail: Miniature du serveur
timeline_preview: Autoriser laccès non authentifié aux fils publics timeline_preview: Autoriser laccès non authentifié aux fils publics
trendable_by_default: Autoriser les tendances sans révision préalable trendable_by_default: Autoriser les tendances sans révision préalable
trends: Activer les tendances trends: Activer les tendances
trends_as_landing_page: Utiliser les tendances comme page d'accueil
interactions: interactions:
must_be_follower: Bloquer les notifications des personnes qui ne vous suivent pas must_be_follower: Bloquer les notifications des personnes qui ne vous suivent pas
must_be_following: Bloquer les notifications des personnes que vous ne suivez pas must_be_following: Bloquer les notifications des personnes que vous ne suivez pas

@ -259,7 +259,7 @@ it:
timeline_preview: Consenti l'accesso non autenticato alle timeline pubbliche timeline_preview: Consenti l'accesso non autenticato alle timeline pubbliche
trendable_by_default: Consenti le tendenze senza revisione preventiva trendable_by_default: Consenti le tendenze senza revisione preventiva
trends: Abilita le tendenze trends: Abilita le tendenze
trends_as_landing_page: Utilizza le tendenze come pagina di destinazione trends_as_landing_page: Usa le tendenze come pagina di destinazione
interactions: interactions:
must_be_follower: Blocca notifiche da chi non ti segue must_be_follower: Blocca notifiche da chi non ti segue
must_be_following: Blocca notifiche dalle persone che non segui must_be_following: Blocca notifiche dalle persone che non segui

@ -101,7 +101,7 @@ ko:
form_challenge: form_challenge:
current_password: 당신은 보안 구역에 진입하고 있습니다 current_password: 당신은 보안 구역에 진입하고 있습니다
imports: imports:
data: 다른 마스토돈 서버에서 추출된 CSV 파일 data: 다른 마스토돈 서버에서 내보낸 CSV 파일
invite_request: invite_request:
text: 이 정보는 신청을 검토하는데 도움을 줄 수 있습니다. text: 이 정보는 신청을 검토하는데 도움을 줄 수 있습니다.
ip_block: ip_block:
@ -116,7 +116,7 @@ ko:
rule: rule:
text: 이 서버 사용자들이 지켜야 할 규칙과 요구사항을 설명해주세요. 짧고 간단하게 작성해주세요 text: 이 서버 사용자들이 지켜야 할 규칙과 요구사항을 설명해주세요. 짧고 간단하게 작성해주세요
sessions: sessions:
otp: '휴대전화에서 생성 된 2단계 인증 코드를 입력하거나, 복구 코드 중 하나를 사용하세요:' otp: '휴대전화에서 생성된 이중 인증 코드를 입력하거나, 복구 코드 중 하나를 사용하세요:'
webauthn: USB 키라면 삽입했는지 확인하고, 필요하다면 누르세요. webauthn: USB 키라면 삽입했는지 확인하고, 필요하다면 누르세요.
tag: tag:
name: 읽기 쉽게하기 위한 글자의 대소문자만 변경할 수 있습니다. name: 읽기 쉽게하기 위한 글자의 대소문자만 변경할 수 있습니다.
@ -150,11 +150,11 @@ ko:
text: 커스텀 경고 text: 커스텀 경고
type: 조치 type: 조치
types: types:
disable: 비활성화 disable: 동결
none: 아무 것도 하지 않 none: 경고 보내
sensitive: 민감함 sensitive: 민감함
silence: 제한 silence: 제한
suspend: 정지하고 되돌릴 수 없는 데이터 삭제 suspend: 정지
warning_preset_id: 경고 틀 사용하기 warning_preset_id: 경고 틀 사용하기
announcement: announcement:
all_day: 종일 일정 all_day: 종일 일정
@ -163,7 +163,7 @@ ko:
starts_at: 이벤트 시작 starts_at: 이벤트 시작
text: 공지사항 text: 공지사항
appeal: appeal:
text: 이 결정이 왜 번복되어야 하는지에 대해 설명해주세요 text: 이 결정을 번복해야만 하는 이유가 무엇입니까
defaults: defaults:
autofollow: 초대를 통한 팔로우 autofollow: 초대를 통한 팔로우
avatar: 아바타 avatar: 아바타
@ -188,7 +188,7 @@ ko:
max_uses: 사용 횟수 제한 max_uses: 사용 횟수 제한
new_password: 새로운 암호 입력 new_password: 새로운 암호 입력
note: 자기소개 note: 자기소개
otp_attempt: 2단계 인증 코드 otp_attempt: 이중 인증 코드
password: 암호 password: 암호
phrase: 키워드 또는 문장 phrase: 키워드 또는 문장
setting_advanced_layout: 고급 웹 UI 활성화 setting_advanced_layout: 고급 웹 UI 활성화
@ -206,11 +206,11 @@ ko:
setting_display_media_default: 기본 setting_display_media_default: 기본
setting_display_media_hide_all: 모두 가리기 setting_display_media_hide_all: 모두 가리기
setting_display_media_show_all: 모두 보이기 setting_display_media_show_all: 모두 보이기
setting_expand_spoilers: 열람주의 을 항상 펼치기 setting_expand_spoilers: 열람주의 게시물을 항상 펼치기
setting_hide_network: 내 인맥 숨기기 setting_hide_network: 내 인맥 숨기기
setting_noindex: 검색엔진의 인덱싱을 거절 setting_noindex: 검색엔진의 인덱싱을 거절
setting_reduce_motion: 애니메이션 줄이기 setting_reduce_motion: 애니메이션 줄이기
setting_show_application: 툿 작성에 사용한 앱을 공개 setting_show_application: 게시물 작성에 쓰인 애플리케이션 공개
setting_system_font_ui: 시스템의 기본 글꼴을 사용 setting_system_font_ui: 시스템의 기본 글꼴을 사용
setting_theme: 사이트 테마 setting_theme: 사이트 테마
setting_trends: 오늘의 유행 보이기 setting_trends: 오늘의 유행 보이기
@ -305,7 +305,7 @@ ko:
webhook: webhook:
events: 활성화된 이벤트 events: 활성화된 이벤트
url: 엔드포인트 URL url: 엔드포인트 URL
'no': 아니 'no': 아니
not_recommended: 추천하지 않음 not_recommended: 추천하지 않음
recommended: 추천함 recommended: 추천함
required: required:

@ -1 +1,121 @@
---
my: my:
simple_form:
hints:
defaults:
password: အနည်းဆုံး စာလုံး ၈ လုံး အသုံးပြုပါ။
setting_display_media_hide_all: မီဒီယာကို အမြဲတမ်းဖျောက်ထားပါ
setting_display_media_show_all: မီဒီယာကို အမြဲတမ်းပြပါ
setting_hide_network: သင်စောင့်ကြည့်မည့်သူများနှင့် သင့်ကိုစောင့်ကြည့်မည့်သူများကို သင့်ပရိုဖိုင်တွင် ဖျောက်ထားနိုင်ပါသည်
setting_noindex: သင်၏ အများမြင်သည့်ပရိုဖိုင်နှင့် ပို့စ်စာမျက်နှာများကို အကျိုးသက်ရောက်သည်
setting_show_application: ပို့စ်တင်ရန်အတွက် သင်အသုံးပြုသည့် အက်ပလီကေးရှင်းကို သင့်ပို့စ်များ၏ အသေးစိတ်ကြည့်ရှုမှုတွင် ပြသမည်ဖြစ်သည်
imports:
data: အခြား Mastodon ဆာဗာမှ CSV ဖိုင်ကို ပို့ထားသည်
invite_request:
text: "၎င်းသည် သင့်အက်ပလီကေးရှင်းကို ပြန်လည်သုံးသပ်ရန်အတွက် ကူညီပေးနိုင်ပါသည်"
ip_block:
severities:
sign_up_requires_approval: အကောင့်အသစ်များသည် သင့်ခွင့်ပြုချက်လိုအပ်ပါသည်
sessions:
otp: သင့်ဖုန်းအက်ပ်မှထုတ်ပေးသောနှစ်ဆင့်ခံလုံခြုံရေးကုဒ်ကို ထည့်ပါ သို့မဟုတ် ပြန်လည်ရယူရေးကုဒ်များထဲမှ တစ်ခုကို အသုံးပြုပါ -
labels:
account:
fields:
value: အကြောင်းအရာ
account_alias:
acct: အကောင့်ဟောင်းကို ကိုင်တွယ်ပါ။
account_migration:
acct: အကောင့်သစ်ကို ကိုင်တွယ်ပါ။
account_warning_preset:
title: ခေါင်းစဥ်
admin_account_action:
type: လုပ်ဆောင်ချက်
types:
none: သတိပေးချက်ပေးပို့ပါ
silence: ကန့်သတ်
announcement:
text: ကြေညာချက်
defaults:
avatar: ကိုယ်စားပြုရုပ်ပုံ
bot: ဤသည်မှာ ဘော့တ်အကောင့်တစ်ခုဖြစ်သည်။
chosen_languages: ဘာသာစကားများကို စစ်ထုတ်ထားခြင်း
confirm_new_password: စကားဝှက်အသစ်ကို အတည်ပြုပါ
confirm_password: စကားဝှက်ကို အတည်ပြုပါ။
context: အကြောင်းအရာများကို စစ်ထုတ်ပါ။
current_password: လက်ရှိစကားဝှက်
data: အချက်အလက်
display_name: ဖော်ပြမည့်အမည်
email: အီးမေးလ်လိပ်စာ
header: မျက်နှာဖုံးပုံ
honeypot: "%{label} (မဖြည့်ပါနှင့်)"
new_password: စကားဝှက်အသစ်
note: ကိုယ်ရေးအကျဉ်း
otp_attempt: နှစ်ဆင့်ခံလုံခြုံရေးကုဒ်
password: စကားဝှက်
phrase: အဓိကစကားလုံး သို့မဟုတ် စကားစု
setting_always_send_emails: အီးမေးလ်သတိပေးချက်များကို အမြဲပို့ပါ
setting_auto_play_gif: ကာတွန်း GIF များကို အလိုအလျောက်ဖွင့်ပါ
setting_display_media: မီဒီယာဖော်ပြမှု
setting_display_media_hide_all: အားလုံးကို ဖျောက်ပါ
setting_display_media_show_all: အားလုံးပြရန်
setting_system_font_ui: စနစ်ရှိ နဂိုမူလ စာလုံးပုံစံကို အသုံးပြုပါ
setting_trends: ယနေ့ ရေပန်းစားသည်များကို ပြပါ
setting_unfollow_modal: တစ်စုံတစ်ဦးကို မစောင့်ကြည့်မီ အတည်ပြုချက် ဒိုင်ယာလော့ခ်ကို ပြပါ
sign_in_token_attempt: လုံခြုံရေးကုဒ်
title: ခေါင်းစဥ်
username: အသုံးပြုသူအမည်
username_or_email: အသုံးပြုသူအမည် သို့မဟုတ် အီးမေးလ်
featured_tag:
name: Hashtag
form_admin_settings:
custom_css: စိတ်ကြိုက်ပြုလုပ်ထားသော CSS
mascot: စိတ်ကြိုက်ပြုလုပ်ထားသော mascot (legacy)
registrations_mode: ဘယ်သူတွေ အကောင့်ဖွင့်နိုင်မလဲ
require_invite_text: ပါဝင်ရန် အကြောင်းပြချက်တစ်ခု လိုအပ်ပါသည်
show_domain_blocks: ဒိုမိန်းပိတ်ပင်ထားမှုများကိုပြရန်
show_domain_blocks_rationale: ဒိုမိန်းများကို ဘာကြောင့် ပိတ်ဆို့ထားရကြောင်း ပြရန်
site_contact_email: ဆက်သွယ်ရမည့် အီးမေးလ်
site_contact_username: ဆက်သွယ်ရမည့် အသုံးပြုသူအမည်
site_short_description: ဆာဗာဖော်ပြချက်
site_terms: ကိုယ်ရေးအချက်အလက်မူဝါဒ
site_title: ဆာဗာအမည်
thumbnail: ဆာဗာ ပုံသေး
interactions:
must_be_follower: စောင့်ကြည့်မနေသူများထံမှ အသိပေးချက်များကို ပိတ်ပါ
must_be_following: သင် စောင့်ကြည့်မထားသူများထံမှ အသိပေးချက်များကို ပိတ်ပါ
must_be_following_dm: သင် စောင့်ကြည့်မထားသူများထံမှ တိုက်ရိုက်မက်ဆေ့ချ်များကို ပိတ်ပါ
invite:
comment: မှတ်ချက်
invite_request:
text: သင် ဘာကြောင့် ပါဝင်ချင်တာလဲ။
ip_block:
comment: မှတ်ချက်
ip: IP
severities:
sign_up_block: အကောင့်ဖွင့်ခြင်းများကို ပိတ်ပါ
sign_up_requires_approval: အကောင့်ဖွင့်ခြင်းများကို ကန့်သတ်ပါ
severity: စည်းမျဉ်း
notification_emails:
favourite: တစ်စုံတစ်ဦးက သင့်ပို့စ်ကို နှစ်သက်ခဲ့သည်။
follow: တစ်စုံတစ်ဦးက သင့်ကို စောင့်ကြည့်ခဲ့သည်
follow_request: တစ်စုံတစ်ဦးက သင့်ကို စောင့်ကြည့်ရန် တောင်းဆိုခဲ့သည်
mention: တစ်စုံတစ်ဦးက သင့်ကို ဖော်ပြခဲ့သည်
pending_account: အကောင့်အသစ်ကို ပြန်လည်သုံးသပ်ရန် လိုအပ်သည်
rule:
text: စည်းမျဉ်း
tag:
name: Hashtag
user:
role: အခန်းကဏ္ဍ
user_role:
name: အမည်
permissions_as_keys: ခွင့်ပြုချက်များ
position: ဦးစားပေး
'no': မလုပ်ပါ
required:
mark: "*"
text: လိုအပ်သော
title:
sessions:
webauthn: အကောင့်ဝင်ရန်အတွက် သင့်လုံခြုံရေးကီးများထဲမှ တစ်ခုကို အသုံးပြုပါ
'yes': ဟုတ်ကဲ့

@ -7,12 +7,12 @@ sr:
account_migration: account_migration:
acct: Наведи корисничко_име@домен налога на који желиш да пређеш acct: Наведи корисничко_име@домен налога на који желиш да пређеш
account_warning_preset: account_warning_preset:
text: Можете користити синтаксу труба, као што су нпр. УРЛ-ова, тарабе и помињања text: Можете користити синтаксу објава, као што су URL адресе, хеш ознаке и помињања
title: Опционо. Није видљиво примаоцу title: Опционо. Није видљиво примаоцу
admin_account_action: admin_account_action:
include_statuses: Корисник ће видети које су објаве проузроковале модерирање или упозорење include_statuses: Корисник ће видети које су објаве проузроковале модерирање или упозорење
send_email_notification: Корисник ће добити објашњење тога шта му се десило са налога send_email_notification: Корисник ће добити објашњење тога шта му се десило са налога
text_html: Опционално. Можете користити синтаксу труба. Можете <a href="%{path}">додати упозоравајућа преподешавање</a> да сачувате време text_html: Опционално. Можете користити синтаксу објава. Можете <a href="%{path}">додати унапред одређене поставке упозорења</a> за уштеду времена
type_html: Изаберите шта да радите са <strong>%{acct}</strong> type_html: Изаберите шта да радите са <strong>%{acct}</strong>
types: types:
disable: Спречи корисника да користи свој налог, али немој брисати или сакривати његов садржај. disable: Спречи корисника да користи свој налог, али немој брисати или сакривати његов садржај.
@ -29,7 +29,7 @@ sr:
text: На брисање се можеш жалити само једном text: На брисање се можеш жалити само једном
defaults: defaults:
autofollow: Особе које се пријаве кроз позивнице ће вас аутоматски запратити autofollow: Особе које се пријаве кроз позивнице ће вас аутоматски запратити
avatar: PNG, GIF или JPG. Највише %{size}. Биће смањена на %{dimensions}px avatar: PNG, GIF или JPG. Највише %{size}. Биће смањено на %{dimensions}px
bot: Овај налог углавном врши аутоматизоване радње и можда се не надгледа bot: Овај налог углавном врши аутоматизоване радње и можда се не надгледа
context: Један или више контекста у којима треба да се примени филтер context: Један или више контекста у којима треба да се примени филтер
current_password: Унеси лозинку текућег налога из безбедносних разлога current_password: Унеси лозинку текућег налога из безбедносних разлога
@ -38,7 +38,7 @@ sr:
discoverable: Дозволи непознатим корисницима да открију твој налог путем препорука, трендова и других функција discoverable: Дозволи непознатим корисницима да открију твој налог путем препорука, трендова и других функција
email: Биће вам послата е-пошта са потврдом email: Биће вам послата е-пошта са потврдом
fields: Можете имати до 4 ставке приказане као табела на вашем налогу fields: Можете имати до 4 ставке приказане као табела на вашем налогу
header: PNG, GIF или JPG. Највише %{size}. Биће смањена на %{dimensions}px header: PNG, GIF или JPG. Највише %{size}. Биће смањено на %{dimensions}px
inbox_url: Копирајте URL са насловне стране релеја који желите користити inbox_url: Копирајте URL са насловне стране релеја који желите користити
irreversible: Филтриранe обајве ће нестати неповратно, чак и ако је филтер касније уклоњен irreversible: Филтриранe обајве ће нестати неповратно, чак и ако је филтер касније уклоњен
locale: Језик корисничког окружења, е-поште и мобилних обавештења locale: Језик корисничког окружења, е-поште и мобилних обавештења

@ -18,6 +18,8 @@ sv:
disable: Förhindra användaren från att använda sitt konto, men radera eller dölj inte innehållet. disable: Förhindra användaren från att använda sitt konto, men radera eller dölj inte innehållet.
none: Använd det här för att skicka en varning till användaren, utan att vidta någon ytterligare åtgärd. none: Använd det här för att skicka en varning till användaren, utan att vidta någon ytterligare åtgärd.
sensitive: Tvinga alla denna användares mediebilagor till att flaggas som känsliga. sensitive: Tvinga alla denna användares mediebilagor till att flaggas som känsliga.
silence: Hindra användaren från att kunna göra offentliga inlägg, göm deras inlägg och notiser från folk som inte följer dem. Stänger alla anmälningar mot detta kontot.
suspend: Förhindrar all interaktion från eller till detta konto och ta bort dess innehåll. Går att ångra inom 30 dagar. Stänger alla anmälningar mot detta konto.
warning_preset_id: Valfri. Du kan lägga till anpassad text i slutet av förinställningen warning_preset_id: Valfri. Du kan lägga till anpassad text i slutet av förinställningen
announcement: announcement:
all_day: När det är markerat visas endast datum för tidsintervallet all_day: När det är markerat visas endast datum för tidsintervallet
@ -72,6 +74,7 @@ sv:
hide: Dölj det filtrerade innehållet helt (beter sig som om det inte fanns) hide: Dölj det filtrerade innehållet helt (beter sig som om det inte fanns)
warn: Dölj det filtrerade innehållet bakom en varning som visar filtrets rubrik warn: Dölj det filtrerade innehållet bakom en varning som visar filtrets rubrik
form_admin_settings: form_admin_settings:
activity_api_enabled: Antalet lokalt publicerade inlägg, aktiva användare och nya registrerade konton per vecka
backups_retention_period: Behåll genererade användararkiv i det angivna antalet dagar. backups_retention_period: Behåll genererade användararkiv i det angivna antalet dagar.
bootstrap_timeline_accounts: Dessa konton kommer fästas högst upp i nya användares följrekommendationer. bootstrap_timeline_accounts: Dessa konton kommer fästas högst upp i nya användares följrekommendationer.
closed_registrations_message: Visas när nyregistreringar är avstängda closed_registrations_message: Visas när nyregistreringar är avstängda
@ -79,6 +82,7 @@ sv:
custom_css: Du kan använda anpassade stilar på webbversionen av Mastodon. custom_css: Du kan använda anpassade stilar på webbversionen av Mastodon.
mascot: Åsidosätter illustrationen i det avancerade webbgränssnittet. mascot: Åsidosätter illustrationen i det avancerade webbgränssnittet.
media_cache_retention_period: Nedladdade mediefiler kommer raderas efter det angivna antalet dagar, om inställt till ett positivt värde, och laddas ned på nytt vid behov. media_cache_retention_period: Nedladdade mediefiler kommer raderas efter det angivna antalet dagar, om inställt till ett positivt värde, och laddas ned på nytt vid behov.
peers_api_enabled: En lista över domänen den här servern har stött på i fediversum. Ingen data inkluderas om du har federerat med servern, bara att din server känner till den. Detta används av tjänster som samlar statistik om federering i allmänhet.
profile_directory: Profilkatalogen visar alla användare som har samtyckt till att bli upptäckbara. profile_directory: Profilkatalogen visar alla användare som har samtyckt till att bli upptäckbara.
require_invite_text: Gör fältet "Varför vill du gå med?" obligatoriskt när nyregistreringar kräver manuellt godkännande require_invite_text: Gör fältet "Varför vill du gå med?" obligatoriskt när nyregistreringar kräver manuellt godkännande
site_contact_email: Hur människor kan nå dig för juridiska spörsmål eller supportfrågor. site_contact_email: Hur människor kan nå dig för juridiska spörsmål eller supportfrågor.
@ -87,11 +91,13 @@ sv:
site_short_description: En kort beskrivning för att unikt identifiera din server. Vem är det som driver den, vilka är den till för? site_short_description: En kort beskrivning för att unikt identifiera din server. Vem är det som driver den, vilka är den till för?
site_terms: Använd din egen sekretesspolicy eller lämna tomt för att använda standardinställningen. Kan struktureras med Markdown-syntax. site_terms: Använd din egen sekretesspolicy eller lämna tomt för att använda standardinställningen. Kan struktureras med Markdown-syntax.
site_title: Hur folk kan hänvisa till din server förutom med dess domännamn. site_title: Hur folk kan hänvisa till din server förutom med dess domännamn.
status_page_url: URL till en sida där personer kan se serverns status under ett driftavbrott
theme: Tema som utloggade besökare och nya användare ser. theme: Tema som utloggade besökare och nya användare ser.
thumbnail: En bild i cirka 2:1-proportioner som visas tillsammans med din serverinformation. thumbnail: En bild i cirka 2:1-proportioner som visas tillsammans med din serverinformation.
timeline_preview: Utloggade besökare kommer kunna bläddra bland de senaste offentliga inläggen som finns på servern. timeline_preview: Utloggade besökare kommer kunna bläddra bland de senaste offentliga inläggen som finns på servern.
trendable_by_default: Hoppa över manuell granskning av trendande innehåll. Enskilda objekt kan ändå raderas från trender retroaktivt. trendable_by_default: Hoppa över manuell granskning av trendande innehåll. Enskilda objekt kan ändå raderas från trender retroaktivt.
trends: Trender visar vilka inlägg, hashtaggar och nyheter det pratas om på din server. trends: Trender visar vilka inlägg, hashtaggar och nyheter det pratas om på din server.
trends_as_landing_page: Visa trendande innehåll för utloggade användare och besökare istället för en beskrivning om servern. Kräver att trender är aktiverat.
form_challenge: form_challenge:
current_password: Du går in i ett säkert område current_password: Du går in i ett säkert område
imports: imports:
@ -227,6 +233,7 @@ sv:
hide: Dölj helt hide: Dölj helt
warn: Dölj med en varning warn: Dölj med en varning
form_admin_settings: form_admin_settings:
activity_api_enabled: Publicera aggregerad statistik om användaraktivitet i API:et
backups_retention_period: Lagringsperiod för användararkivet backups_retention_period: Lagringsperiod för användararkivet
bootstrap_timeline_accounts: Rekommendera alltid dessa konton till nya användare bootstrap_timeline_accounts: Rekommendera alltid dessa konton till nya användare
closed_registrations_message: Anpassat meddelande när nyregistreringar inte är tillgängliga closed_registrations_message: Anpassat meddelande när nyregistreringar inte är tillgängliga
@ -234,6 +241,7 @@ sv:
custom_css: Anpassad CSS custom_css: Anpassad CSS
mascot: Anpassad maskot (tekniskt arv) mascot: Anpassad maskot (tekniskt arv)
media_cache_retention_period: Tid för bibehållande av mediecache media_cache_retention_period: Tid för bibehållande av mediecache
peers_api_enabled: Publicera lista över upptäckta servrar i API:et
profile_directory: Aktivera profilkatalog profile_directory: Aktivera profilkatalog
registrations_mode: Vem kan registrera sig registrations_mode: Vem kan registrera sig
require_invite_text: Kräv anledning för att gå med require_invite_text: Kräv anledning för att gå med
@ -245,11 +253,13 @@ sv:
site_short_description: Serverbeskrivning site_short_description: Serverbeskrivning
site_terms: Integritetspolicy site_terms: Integritetspolicy
site_title: Servernamn site_title: Servernamn
status_page_url: URL för statussida
theme: Standardtema theme: Standardtema
thumbnail: Serverns tumnagelbild thumbnail: Serverns tumnagelbild
timeline_preview: Tillåt oautentiserad åtkomst till offentliga tidslinjer timeline_preview: Tillåt oautentiserad åtkomst till offentliga tidslinjer
trendable_by_default: Tillåt trender utan föregående granskning trendable_by_default: Tillåt trender utan föregående granskning
trends: Aktivera trender trends: Aktivera trender
trends_as_landing_page: Använd trender som landningssida
interactions: interactions:
must_be_follower: Blockera notiser från icke-följare must_be_follower: Blockera notiser från icke-följare
must_be_following: Blockera notiser från personer du inte följer must_be_following: Blockera notiser från personer du inte följer

@ -49,7 +49,7 @@ zh-TW:
phrase: 無論是嘟文的本文或是內容警告都會被過濾 phrase: 無論是嘟文的本文或是內容警告都會被過濾
scopes: 允許讓應用程式存取的 API。 若您選擇最高階範圍,則無須選擇個別項目。 scopes: 允許讓應用程式存取的 API。 若您選擇最高階範圍,則無須選擇個別項目。
setting_aggregate_reblogs: 請勿顯示最近已被轉嘟之嘟文的最新轉嘟(只影響最新收到的嘟文) setting_aggregate_reblogs: 請勿顯示最近已被轉嘟之嘟文的最新轉嘟(只影響最新收到的嘟文)
setting_always_send_emails: 一般情況下若您活躍使用 Mastodon ,我們不會寄送 e-mail 通知 setting_always_send_emails: 一般情況下若您活躍使用 Mastodon ,我們不會寄送電子郵件通知
setting_default_sensitive: 敏感內容媒體預設隱藏,且按一下即可重新顯示 setting_default_sensitive: 敏感內容媒體預設隱藏,且按一下即可重新顯示
setting_display_media_default: 隱藏標為敏感內容的媒體 setting_display_media_default: 隱藏標為敏感內容的媒體
setting_display_media_hide_all: 總是隱藏所有媒體 setting_display_media_hide_all: 總是隱藏所有媒體
@ -62,10 +62,10 @@ zh-TW:
username: 您的使用者名稱將在 %{domain} 是獨一無二的 username: 您的使用者名稱將在 %{domain} 是獨一無二的
whole_word: 如果關鍵字或詞組僅有字母與數字,則其將只在符合整個單字的時候才會套用 whole_word: 如果關鍵字或詞組僅有字母與數字,則其將只在符合整個單字的時候才會套用
domain_allow: domain_allow:
domain: 將能夠攫取本站資料,而自域名該發出的資料也會於本站處理和留存。 domain: 域將能夠攫取本站資料,而自該網域發出的資料也會於本站處理和留存。
email_domain_block: email_domain_block:
domain: 這可以是顯示在電子郵件中的網域名稱,或是其使用的 MX 紀錄。其將在註冊時檢查。 domain: 這可以是顯示在電子郵件中的網域名稱,或是其使用的 MX 紀錄。其將在註冊時檢查。
with_dns_records: Mastodon 會嘗試解析所給的 DNS 記錄,解析結果一致者將一併封鎖 with_dns_records: Mastodon 會嘗試解析所給域的 DNS 記錄,解析結果一致者將一併封鎖
featured_tag: featured_tag:
name: 這些是您最近使用的一些主題標籤: name: 這些是您最近使用的一些主題標籤:
filters: filters:
@ -107,7 +107,7 @@ zh-TW:
ip_block: ip_block:
comment: 可選的,但請記得您為何添加這項規則。 comment: 可選的,但請記得您為何添加這項規則。
expires_in: IP 位址是經常共用或轉手的有限資源,不建議無限期地封鎖特定 IP 位址。 expires_in: IP 位址是經常共用或轉手的有限資源,不建議無限期地封鎖特定 IP 位址。
ip: 請輸入 IPv4 或 IPv6 位址,亦可以用 CIDR 語法以封鎖整個 IP 區段。小心不要自己給一併封鎖掉囉! ip: 請輸入 IPv4 或 IPv6 位址,亦可以用 CIDR 語法以封鎖整個 IP 區段。小心不要自己給一併封鎖掉囉!
severities: severities:
no_access: 封鎖對所有資源存取 no_access: 封鎖對所有資源存取
sign_up_block: 無法註冊新帳號 sign_up_block: 無法註冊新帳號
@ -154,7 +154,7 @@ zh-TW:
none: 什麼也不做 none: 什麼也不做
sensitive: 敏感内容 sensitive: 敏感内容
silence: 安靜 silence: 安靜
suspend: 停權並永久刪除帳號資料 suspend: 停權並不可逆的刪除帳號資料
warning_preset_id: 使用警告預設 warning_preset_id: 使用警告預設
announcement: announcement:
all_day: 全天活動 all_day: 全天活動
@ -193,7 +193,7 @@ zh-TW:
phrase: 關鍵字或片語 phrase: 關鍵字或片語
setting_advanced_layout: 啟用進階網頁介面 setting_advanced_layout: 啟用進階網頁介面
setting_aggregate_reblogs: 時間軸中的群組轉嘟 setting_aggregate_reblogs: 時間軸中的群組轉嘟
setting_always_send_emails: 總是發送 e-mail 通知 setting_always_send_emails: 總是發送電子郵件通知
setting_auto_play_gif: 自動播放 GIF 動畫 setting_auto_play_gif: 自動播放 GIF 動畫
setting_boost_modal: 轉嘟前先詢問我 setting_boost_modal: 轉嘟前先詢問我
setting_crop_images: 將未展開嘟文中的圖片裁剪至 16x9 setting_crop_images: 將未展開嘟文中的圖片裁剪至 16x9
@ -283,7 +283,7 @@ zh-TW:
follow: 當有使用者跟隨您時,傳送電子郵件通知 follow: 當有使用者跟隨您時,傳送電子郵件通知
follow_request: 當有使用者請求跟隨您時,傳送電子郵件通知 follow_request: 當有使用者請求跟隨您時,傳送電子郵件通知
mention: 當有使用者在嘟文提及您時,傳送電子郵件通知 mention: 當有使用者在嘟文提及您時,傳送電子郵件通知
pending_account: 需要審核的新帳號 pending_account: 有新的帳號需要審核
reblog: 當有使用者轉嘟您的嘟文時,傳送電子郵件通知 reblog: 當有使用者轉嘟您的嘟文時,傳送電子郵件通知
report: 新回報已遞交 report: 新回報已遞交
trending_tag: 新熱門趨勢需要審核 trending_tag: 新熱門趨勢需要審核

@ -105,6 +105,7 @@ sr:
reject: Одбаци reject: Одбаци
remove_avatar: Уклони аватар remove_avatar: Уклони аватар
remove_header: Одстрани заглавље remove_header: Одстрани заглавље
removed_avatar_msg: Слика аватара корисника %{username} је успешно уклоњена
resend_confirmation: resend_confirmation:
already_confirmed: Овој корисник е веќе потврден already_confirmed: Овој корисник е веќе потврден
send: Препрати го е-мајлот за потврда send: Препрати го е-мајлот за потврда
@ -152,10 +153,13 @@ sr:
disable_user: Онемогући корисника disable_user: Онемогући корисника
enable_user: Омогући корисника enable_user: Омогући корисника
reject_user: Одбаци корисника reject_user: Одбаци корисника
remove_avatar_user: Уклони аватар
silence_account: Ограничи налог silence_account: Ограничи налог
suspend_account: Обустави налог suspend_account: Обустави налог
update_status: Уреди објаву update_status: Уреди објаву
update_user_role: Уреди улогу update_user_role: Уреди улогу
actions:
remove_avatar_user_html: "%{name} је уклонио аватар корисника %{target}"
deleted_account: обрисан налог deleted_account: обрисан налог
filter_by_action: Филтрирај по активности filter_by_action: Филтрирај по активности
filter_by_user: Филтрирај по кориснику filter_by_user: Филтрирај по кориснику
@ -236,6 +240,9 @@ sr:
create: Додај домен create: Додај домен
title: Нова ставка е-поштe у црној листи title: Нова ставка е-поштe у црној листи
title: Црна листа E-поште title: Црна листа E-поште
export_domain_blocks:
import:
existing_relationships_warning: Постојећи односи у облику праћења
follow_recommendations: follow_recommendations:
status: Статус status: Статус
instances: instances:
@ -283,6 +290,8 @@ sr:
new: new:
title: Креирај ново IP правило title: Креирај ново IP правило
no_ip_block_selected: Ниједно IP правило није промењено јер ниједно није изабрано no_ip_block_selected: Ниједно IP правило није промењено јер ниједно није изабрано
relationships:
title: Односи корисника %{acct}
relays: relays:
add_new: Додај нови релеј add_new: Додај нови релеј
delete: Обриши delete: Обриши
@ -404,14 +413,14 @@ sr:
your_token: Ваш приступни токен your_token: Ваш приступни токен
auth: auth:
change_password: Лозинка change_password: Лозинка
delete_account: Обриши налог delete_account: Брисање налога
delete_account_html: Ако желите да обришете Ваш налог, можете <a href="%{path}">наставити овде</a>. Бићете упитани да потврдите. delete_account_html: Ако желите да избришете ваш налог, можете <a href="%{path}">наставити овде</a>. Од вас ће се тражити потврда.
didnt_get_confirmation: Нисте добили поруку са упутствима за потврду налога? didnt_get_confirmation: Нисте добили поруку са упутствима за потврду налога?
forgot_password: Заборавили сте лозинку? forgot_password: Заборавили сте лозинку?
invalid_reset_password_token: Токен за ресетовање лозинке је неисправан или је истекао. Затражите нови. invalid_reset_password_token: Токен за ресетовање лозинке је неисправан или је истекао. Затражите нови.
login: Пријави се login: Пријави се
logout: Одјава logout: Одјава
migrate_account: Помери у други налог migrate_account: Премештање у други налог
migrate_account_html: Ако желите да преусмерите овај налог на неки други, можете то <a href="%{path}">подесити овде</a>. migrate_account_html: Ако желите да преусмерите овај налог на неки други, можете то <a href="%{path}">подесити овде</a>.
or_log_in_with: Или се пријавите са or_log_in_with: Или се пријавите са
providers: providers:
@ -422,6 +431,9 @@ sr:
reset_password: Ресетуј лозинку reset_password: Ресетуј лозинку
security: Безбедност security: Безбедност
set_new_password: Постави нову лозинку set_new_password: Постави нову лозинку
status:
account_status: Статус налога
functional: Ваш налог је потпуно оперативан.
authorize_follow: authorize_follow:
already_following: Већ пратите овај налог already_following: Већ пратите овај налог
error: Нажалост, десила се грешка при тражењу удаљеног налога error: Нажалост, десила се грешка при тражењу удаљеног налога
@ -466,15 +478,20 @@ sr:
archive_takeout: archive_takeout:
date: Датум date: Датум
download: Преузмите Вашу архиву download: Преузмите Вашу архиву
hint_html: Можете затражити архиву ваших <strong>труба и отпремљених медија</strong>. Извезени подаци ће бити у АктивитиПаб формату, који можете читати са било којим усаглашеним софтвером. Архиву можете затражити сваких 7 дана. hint_html: Можете затражити архиву ваших <strong>објава и отпремљених медија</strong>. Извезени подаци ће бити у ActivityPub формату, који може читати било који компатибилан софтвер. Архиву можете затражити сваких 7 дана.
in_progress: Састављање ваше архиве... in_progress: Састављање ваше архиве...
request: Затражите Вашу архиву request: Затражите своју архиву
size: Величина size: Величина
blocks: Блокирали сте blocks: Блокирали сте
domain_blocks: Блокови домена domain_blocks: Блокови домена
lists: Листе lists: Листе
mutes: Ућуткали сте mutes: Игноришете
storage: Мултимедијално складиште storage: Мултимедијално складиште
featured_tags:
add_new: Додај нову
errors:
limit: Већ сте истакли максималан број хеш ознака
hint_html: "<strong>Шта су истакнуте хеш онаке?</strong> Оне се приказују истакнуто на вашем јавном профилу и омогућују људима да прегледају ваше јавне објаве конкретно под тим хеш ознакама. Оне су сјајан алат за праћење креативних радова или дугорочних пројеката."
filters: filters:
contexts: contexts:
home: Временска линија почетне home: Временска линија почетне
@ -487,6 +504,7 @@ sr:
invalid_context: Ниједан или неважећи контекст испоручен invalid_context: Ниједан или неважећи контекст испоручен
index: index:
delete: Избриши delete: Избриши
empty: Немате филтере.
title: Филтери title: Филтери
new: new:
title: Додај нови филтер title: Додај нови филтер
@ -535,6 +553,8 @@ sr:
too_many: Не може се прикачити више од 4 фајла too_many: Не може се прикачити више од 4 фајла
migrations: migrations:
acct: корисник@домен новог налога acct: корисник@домен новог налога
incoming_migrations: Премештање из другог налога
incoming_migrations_html: Да бисте прешли са другог налога на овај, прво морате <a href="%{path}">креирате псеудоним налога</a>.
moderation: moderation:
title: Модерација title: Модерација
notification_mailer: notification_mailer:
@ -573,18 +593,38 @@ sr:
other: Остало other: Остало
posting_defaults: Подразумевана подешавања објављивања posting_defaults: Подразумевана подешавања објављивања
public_timelines: Јавне временске линије public_timelines: Јавне временске линије
relationships:
activity: Активност налога
confirm_follow_selected_followers: Да ли сте сигурни да желите да пратите изабране пратиоце?
confirm_remove_selected_followers: Да ли сте сигурни да желите да уклоните изабране пратиоце?
confirm_remove_selected_follows: Да ли сте сигурни да желите да уклоните изабрана праћења?
dormant: Неактиван
follow_selected_followers: Прати изабране пратиоце
followers: Пратиоци
following: Праћења
invited: Позван
last_active: Последњи пут активан
most_recent: Најновији
moved: Премештен
mutual: Заједнички
primary: Примарни
relationship: Однос
remove_selected_domains: Уклони све пратиоце са изабраних домена
remove_selected_followers: Уклони изабране пратиоце
remove_selected_follows: Отпрати изабране кориснике
status: Статус налога
remote_follow: remote_follow:
missing_resource: Не могу да нађем захтевану адресу преусмеравања за Ваш налог missing_resource: Не могу да нађем захтевану адресу преусмеравања за Ваш налог
scheduled_statuses: scheduled_statuses:
over_daily_limit: Прекорачили сте границу од %{limit} планираних труба за тај дан over_daily_limit: Прекорачили сте границу од %{limit} планираних објава за данас
over_total_limit: Прекорачили сте границу од %{limit} планираних труба over_total_limit: Прекорачили сте границу од %{limit} планираних објава
too_soon: Планирани датум мора бити у будућности too_soon: Планирани датум мора бити у будућности
sessions: sessions:
activity: Последња активност activity: Последња активност
browser: Веб читач browser: Веб читач
browsers: browsers:
alipay: Алипеј alipay: Алипеј
chrome: Хром chrome: Chrome
edge: Мајкрософт Еџ edge: Мајкрософт Еџ
electron: Електрон electron: Електрон
firefox: Фајерфокс firefox: Фајерфокс
@ -609,13 +649,16 @@ sr:
linux: Линукса linux: Линукса
mac: Мека mac: Мека
other: непознате платформе other: непознате платформе
windows: Виндоуза windows: Windows
windows_mobile: Виндоуз мобилног windows_mobile: Windows Mobile
windows_phone: Виндоуз телефона windows_phone: Windows Phone
revoke: Опозови revoke: Опозови
revoke_success: Сесија успешно опозвана revoke_success: Сесија успешно опозвана
title: Сесије title: Сесије
view_authentication_history: Погледајте историју аутентификације вашег налога
settings: settings:
account: Налог
account_settings: Подешавања налога
appearance: Изглед appearance: Изглед
authorized_apps: Ауторизоване апликације authorized_apps: Ауторизоване апликације
back: Назад на Мастодон back: Назад на Мастодон
@ -623,6 +666,7 @@ sr:
development: Развој development: Развој
edit_profile: Уређивање профила edit_profile: Уређивање профила
export: Извоз података export: Извоз података
featured_tags: Истакнуте хеш ознаке
import: Увоз import: Увоз
import_and_export: Увоз и извоз import_and_export: Увоз и извоз
migrate: Пребацивање налога migrate: Пребацивање налога
@ -630,6 +674,7 @@ sr:
preferences: Подешавања preferences: Подешавања
profile: Налог profile: Налог
relationships: Праћења и пратиоци relationships: Праћења и пратиоци
statuses_cleanup: Аутоматско брисање објава
two_factor_authentication: Двофакторска идентификација two_factor_authentication: Двофакторска идентификација
statuses: statuses:
attached: attached:
@ -652,7 +697,7 @@ sr:
open_in_web: Отвори у вебу open_in_web: Отвори у вебу
over_character_limit: ограничење од %{max} карактера прекорачено over_character_limit: ограничење од %{max} карактера прекорачено
pin_errors: pin_errors:
limit: Већ имате прикачен највећи број труба limit: Већ сте закачили максималан број објава
ownership: Туђа објава се не може закачити ownership: Туђа објава се не може закачити
reblog: Подршка не може да се прикачи reblog: Подршка не може да се прикачи
show_more: Прикажи још show_more: Прикажи још
@ -664,6 +709,40 @@ sr:
public_long: Свако може да види public_long: Свако може да види
unlisted: Неизлистано unlisted: Неизлистано
unlisted_long: Свако може да види, али није излистано на јавним временским линијама unlisted_long: Свако може да види, али није излистано на јавним временским линијама
statuses_cleanup:
enabled: Аутоматски избриши старе објаве
enabled_hint: Аутоматски брише ваше објаве када достигну одређени старосни праг, осим ако се не подударају са једним од изузетака у наставку
exceptions: Изузеци
explanation: Пошто је брисање објава скупа операција, ово се ради полако током времена када сервер иначе није заузет. Из тог разлога, ваше објаве могу бити избрисане неко време након што достигну старосни праг.
ignore_favs: Игнориши омиљене
ignore_reblogs: Игнориши подржавања
interaction_exceptions: Изузеци засновани на интеракцијама
interaction_exceptions_explanation: Имајте на уму да не постоји гаранција да ће објаве бити избрисане ако број означавања као омиљених или број подржавања падне испод прага након што га премаше.
keep_direct: Задржи директне поруке
keep_direct_hint: Не брише ниједну од ваших директних порука
keep_media: Задржи објаве са медијским прилозима
keep_media_hint: Не брише ниједну од ваших објава које имају медијске прилоге
keep_pinned: Задржи закачене објаве
keep_pinned_hint: Не брише ниједну од ваших закачених објава
keep_polls: Задржи анкете
keep_polls_hint: Не брише ниједну од ваших анкета
keep_self_bookmark: Задржи објаве које сте додали у обележиваче
keep_self_bookmark_hint: Не брише ваше сопствене објаве ако сте их додлаи у обележиваче
keep_self_fav: Задржи омиљене објаве
keep_self_fav_hint: Не брише ваше сопствене објаве ако сте их означили као омиљене
min_age:
'1209600': 2 седмице
'15778476': 6 месеци
'2629746': 1 месец
'31556952': 1 година
'5259492': 2 месеца
'604800': 1 седмица
'63113904': 2 годинe
'7889238': 3 месеца
min_age_label: Старосни праг
min_favs: Задржи објаве означене као омиљене најмање
min_favs_hint: Не брише ниједну вашу објаву која је добила најмање овај број омиљених. Оставите празно за брисање објава без обзира на њихов број омиљених
min_reblogs_hint: Не брише ниједну вашу објаву која је била подржана најмање оволико пута. Оставите празно за брисање објава без обзира на њихов број подржавања
stream_entries: stream_entries:
pinned: Закачена објава pinned: Закачена објава
reblogged: подржано reblogged: подржано

@ -91,6 +91,7 @@ sv:
moderation: moderation:
active: Aktiv active: Aktiv
all: Alla all: Alla
disabled: Inaktiverad
pending: Väntande pending: Väntande
silenced: Begränsad silenced: Begränsad
suspended: Avstängda suspended: Avstängda
@ -133,6 +134,7 @@ sv:
search: Sök search: Sök
search_same_email_domain: Andra användare med samma e-postdomän search_same_email_domain: Andra användare med samma e-postdomän
search_same_ip: Annan användare med samma IP-adress search_same_ip: Annan användare med samma IP-adress
security: Säkerhet
security_measures: security_measures:
only_password: Endast lösenord only_password: Endast lösenord
password_and_2fa: Lösenord och 2FA password_and_2fa: Lösenord och 2FA
@ -427,6 +429,7 @@ sv:
resolve: Slå upp domän resolve: Slå upp domän
title: Blockera ny e-postdomän title: Blockera ny e-postdomän
no_email_domain_block_selected: Inga blockeringar av e-postdomäner ändrades eftersom inga valdes no_email_domain_block_selected: Inga blockeringar av e-postdomäner ändrades eftersom inga valdes
not_permitted: Ej tillåtet
resolved_dns_records_hint_html: Domännamnet ger uppslag till följande MX-domäner, vilka är ytterst ansvariga för att e-post tas emot. Att blockera en MX-domän blockerar även registreringar från alla e-postadresser som använder samma MX-domän, även om det synliga domännamnet är annorlunda. <strong>Var noga med att inte blockera stora e-postleverantörer.</strong> resolved_dns_records_hint_html: Domännamnet ger uppslag till följande MX-domäner, vilka är ytterst ansvariga för att e-post tas emot. Att blockera en MX-domän blockerar även registreringar från alla e-postadresser som använder samma MX-domän, även om det synliga domännamnet är annorlunda. <strong>Var noga med att inte blockera stora e-postleverantörer.</strong>
resolved_through_html: Uppslagen genom %{domain} resolved_through_html: Uppslagen genom %{domain}
title: Blockerade e-postdomäner title: Blockerade e-postdomäner
@ -473,6 +476,7 @@ sv:
content_policies: content_policies:
comment: Intern anteckning comment: Intern anteckning
description_html: Du kan definiera innehållspolicyer som kommer tillämpas på alla konton från denna domän samt alla dess underdomäner. description_html: Du kan definiera innehållspolicyer som kommer tillämpas på alla konton från denna domän samt alla dess underdomäner.
limited_federation_mode_description_html: Du kan välja om du vill tillåta federering med den här domänen.
policies: policies:
reject_media: Avvisa media reject_media: Avvisa media
reject_reports: Avvisa rapporter reject_reports: Avvisa rapporter
@ -585,11 +589,13 @@ sv:
assign_to_self: Tilldela till mig assign_to_self: Tilldela till mig
assigned: Tilldelad moderator assigned: Tilldelad moderator
by_target_domain: Domän för rapporterat konto by_target_domain: Domän för rapporterat konto
cancel: Avbryt
category: Kategori category: Kategori
category_description_html: Anledningen till att kontot och/eller innehållet rapporterades kommer att visas i kommunikation med det rapporterade kontot category_description_html: Anledningen till att kontot och/eller innehållet rapporterades kommer att visas i kommunikation med det rapporterade kontot
comment: comment:
none: Ingen none: Ingen
comment_description_html: 'För att ge mer information, skrev %{name}:' comment_description_html: 'För att ge mer information, skrev %{name}:'
confirm: Bekräfta
confirm_action: Bekräfta modereringsåtgärd mot @%{acct} confirm_action: Bekräfta modereringsåtgärd mot @%{acct}
created_at: Anmäld created_at: Anmäld
delete_and_resolve: Ta bort inlägg delete_and_resolve: Ta bort inlägg
@ -628,9 +634,20 @@ sv:
suspend_html: 'Du håller på att <strong>stänga av</strong> <strong>@%{acct}</strong>s konto. Detta kommer:' suspend_html: 'Du håller på att <strong>stänga av</strong> <strong>@%{acct}</strong>s konto. Detta kommer:'
actions: actions:
delete_html: Ta bort kränkande inlägg delete_html: Ta bort kränkande inlägg
mark_as_sensitive_html: Markera de anmälda inläggens media som känslig
silence_html: Begränsa kraftigt <strong>@%{acct}</strong> räckvidd genom att göra deras profil och innehåll bara synligt till folk som redan följer dom eller som manuellt söker upp deras profil
suspend_html: Stäng av <strong>@%{acct}</strong>, vilket gör deras profil och innehåll oåtkomligt och omöjligt att interagera med
close_report: 'Markera anmälningen #%{id} som löst'
close_reports_html: Markera <strong>alla</strong> anmälningar mot <strong>@%{acct}</strong> som lösta
delete_data_html: Ta bort <strong>@%{acct}</strong>s profil och innehåll om 30 dagar ifall deras avstängning inte tagits bort under tiden
preview_preamble_html: "<strong>@%{acct}</strong> kommer få en varning med följande innehåll:"
record_strike_html: Registrera en varning mot <strong>@%{acct}</strong> för att hjälpa dig eskalera vid framtida överträdelser från detta konto
send_email_html: Skicka <strong>@%{acct}</strong> ett varningsmejl
warning_placeholder: Valfri ytterligare resonemang för modereringsåtgärd.
target_origin: Ursprung för anmält konto target_origin: Ursprung för anmält konto
title: Anmälningar title: Anmälningar
unassign: Otilldela unassign: Otilldela
unknown_action_msg: 'Okänd åtgärd: %{action}'
unresolved: Olösta unresolved: Olösta
updated_at: Uppdaterad updated_at: Uppdaterad
view_profile: Visa profil view_profile: Visa profil
@ -781,6 +798,7 @@ sv:
suspend: "%{name} stängde av %{target}s konto" suspend: "%{name} stängde av %{target}s konto"
appeal_approved: Överklagad appeal_approved: Överklagad
appeal_pending: Överklagande väntar appeal_pending: Överklagande väntar
appeal_rejected: Överklagan avslagen
system_checks: system_checks:
database_schema_check: database_schema_check:
message_html: Det finns väntande databasmigreringar. Vänligen kör dem för att säkerställa att programmet beter sig som förväntat message_html: Det finns väntande databasmigreringar. Vänligen kör dem för att säkerställa att programmet beter sig som förväntat
@ -816,6 +834,7 @@ sv:
other: Delad av %{count} personer under den senaste veckan other: Delad av %{count} personer under den senaste veckan
title: Trendande länkar title: Trendande länkar
usage_comparison: Delade %{today} gånger idag, jämfört med %{yesterday} igår usage_comparison: Delade %{today} gånger idag, jämfört med %{yesterday} igår
not_allowed_to_trend: Inte tillåtet att trenda
only_allowed: Endast tillåtna only_allowed: Endast tillåtna
pending_review: Väntar på granskning pending_review: Väntar på granskning
preview_card_providers: preview_card_providers:
@ -947,6 +966,7 @@ sv:
applications: applications:
created: Ansökan är framgångsrikt skapad created: Ansökan är framgångsrikt skapad
destroyed: Ansökan är framgångsrikt borttagen destroyed: Ansökan är framgångsrikt borttagen
logout: Logga ut
regenerate_token: Regenerera access token regenerate_token: Regenerera access token
token_regenerated: Access token lyckades regenereras token_regenerated: Access token lyckades regenereras
warning: Var mycket försiktig med denna data. Dela aldrig den med någon! warning: Var mycket försiktig med denna data. Dela aldrig den med någon!
@ -954,6 +974,8 @@ sv:
auth: auth:
apply_for_account: Ansök om konto apply_for_account: Ansök om konto
change_password: Lösenord change_password: Lösenord
confirmations:
wrong_email_hint: Om e-postadressen inte är rätt, kan du ändra den i kontoinställningarna.
delete_account: Radera konto delete_account: Radera konto
delete_account_html: Om du vill radera ditt konto kan du <a href="%{path}">fortsätta här</a>. Du kommer att bli ombedd att bekräfta. delete_account_html: Om du vill radera ditt konto kan du <a href="%{path}">fortsätta här</a>. Du kommer att bli ombedd att bekräfta.
description: description:
@ -981,6 +1003,8 @@ sv:
resend_confirmation: Skicka instruktionerna om bekräftelse igen resend_confirmation: Skicka instruktionerna om bekräftelse igen
reset_password: Återställ lösenord reset_password: Återställ lösenord
rules: rules:
accept: Godkänn
back: Tillbaka
preamble: Dessa bestäms och upprätthålls av moderatorerna för %{domain}. preamble: Dessa bestäms och upprätthålls av moderatorerna för %{domain}.
title: Några grundregler. title: Några grundregler.
security: Säkerhet security: Säkerhet
@ -1127,6 +1151,8 @@ sv:
storage: Medialagring storage: Medialagring
featured_tags: featured_tags:
add_new: Lägg till ny add_new: Lägg till ny
errors:
limit: Du har redan fäst det maximala antalet hashtags
hint_html: "<strong>Vad är utvalda hashtaggar?</strong> De visas tydligt på din offentliga profil och låter andra bläddra bland dina offentliga inlägg specifikt under dessa hashtaggar. De är ett bra verktyg för att hålla reda på kreativa arbeten eller långsiktiga projekt." hint_html: "<strong>Vad är utvalda hashtaggar?</strong> De visas tydligt på din offentliga profil och låter andra bläddra bland dina offentliga inlägg specifikt under dessa hashtaggar. De är ett bra verktyg för att hålla reda på kreativa arbeten eller långsiktiga projekt."
filters: filters:
contexts: contexts:
@ -1234,6 +1260,9 @@ sv:
expires_at: Utgår expires_at: Utgår
uses: Användningar uses: Användningar
title: Bjud in andra title: Bjud in andra
lists:
errors:
limit: Du har nått det maximala antalet listor
login_activities: login_activities:
authentication_methods: authentication_methods:
otp: tvåfaktorsautentiseringsapp otp: tvåfaktorsautentiseringsapp
@ -1374,6 +1403,9 @@ sv:
unrecognized_emoji: är inte en igenkänd emoji unrecognized_emoji: är inte en igenkänd emoji
relationships: relationships:
activity: Kontoaktivitet activity: Kontoaktivitet
confirm_follow_selected_followers: Är du säker på att du vill följa valda följare?
confirm_remove_selected_followers: Är du säker på att du vill ta bort valda följare?
confirm_remove_selected_follows: Är du säker på att du vill ta bort valda följare?
dormant: Vilande dormant: Vilande
follow_selected_followers: Följ valda personer follow_selected_followers: Följ valda personer
followers: Följare followers: Följare
@ -1550,6 +1582,7 @@ sv:
'7889238': 3 månader '7889238': 3 månader
min_age_label: Åldersgräns min_age_label: Åldersgräns
min_favs: Behåll favoritmarkerade inlägg i minst min_favs: Behåll favoritmarkerade inlägg i minst
min_favs_hint: Raderar inte några av dina inlägg som har fått minst detta antalet av favoritmarkeringar. Lämna tomt för att ta bort inlägg oavsett hur många favoritmarkeringar de har fått
min_reblogs: Behåll boostade inlägg i minst min_reblogs: Behåll boostade inlägg i minst
min_reblogs_hint: Raderar inte något av dina inlägg som har blivit boostat minst detta antal gånger. Lämna tomt för att radera inlägg oavsett antal boostar min_reblogs_hint: Raderar inte något av dina inlägg som har blivit boostat minst detta antal gånger. Lämna tomt för att radera inlägg oavsett antal boostar
stream_entries: stream_entries:

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

Loading…
Cancel
Save