Merge tag 'v3.0.1' into hometown-dev
This commit is contained in:
commit
4f18400f90
668
AUTHORS.md
668
AUTHORS.md
File diff suppressed because it is too large
Load Diff
33
CHANGELOG.md
33
CHANGELOG.md
|
@ -3,6 +3,39 @@ Changelog
|
|||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [3.0.1] - 2019-10-10
|
||||
### Added
|
||||
|
||||
- Add `tootctl media usage` command ([Gargron](https://github.com/tootsuite/mastodon/pull/12115))
|
||||
- Add admin setting to auto-approve trending hashtags ([Gargron](https://github.com/tootsuite/mastodon/pull/12122), [Gargron](https://github.com/tootsuite/mastodon/pull/12130))
|
||||
|
||||
### Changed
|
||||
|
||||
- Change `tootctl media refresh` to skip already downloaded attachments ([Gargron](https://github.com/tootsuite/mastodon/pull/12118))
|
||||
|
||||
### Removed
|
||||
|
||||
- Remove auto-silence behaviour from spam check ([Gargron](https://github.com/tootsuite/mastodon/pull/12117))
|
||||
- Remove HTML `lang` attribute from individual statuses in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/12124))
|
||||
- Remove fallback to long description on sidebar and meta description ([Gargron](https://github.com/tootsuite/mastodon/pull/12119))
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix preloaded JSON-LD context for identity not being used ([Gargron](https://github.com/tootsuite/mastodon/pull/12138))
|
||||
- Fix media editing modal changing dimensions once the image loads ([Gargron](https://github.com/tootsuite/mastodon/pull/12131))
|
||||
- Fix not showing whether a custom emoji has a local counterpart in admin UI ([Gargron](https://github.com/tootsuite/mastodon/pull/12135))
|
||||
- Fix attachment not being re-downloaded even if file is not stored ([Gargron](https://github.com/tootsuite/mastodon/pull/12125))
|
||||
- Fix old migration trying to use new column due to default status scope ([Gargron](https://github.com/tootsuite/mastodon/pull/12095))
|
||||
- Fix column back button missing for not found accounts ([trwnh](https://github.com/tootsuite/mastodon/pull/12094))
|
||||
- Fix issues with tootctl's parallelization and progress reporting ([Gargron](https://github.com/tootsuite/mastodon/pull/12093), [Gargron](https://github.com/tootsuite/mastodon/pull/12097))
|
||||
- Fix existing user records with now-renamed `pt` locale ([Gargron](https://github.com/tootsuite/mastodon/pull/12092))
|
||||
- Fix hashtag timeline REST API accepting too many hashtags ([Gargron](https://github.com/tootsuite/mastodon/pull/12091))
|
||||
- Fix `GET /api/v1/instance` REST APIs being unavailable in secure mode ([Gargron](https://github.com/tootsuite/mastodon/pull/12089))
|
||||
- Fix performance of home feed regeneration and merging ([Gargron](https://github.com/tootsuite/mastodon/pull/12084))
|
||||
- Fix ffmpeg performance issues due to stdout buffer overflow ([hugogameiro](https://github.com/tootsuite/mastodon/pull/12088))
|
||||
- Fix S3 adapter retrying failing uploads with exponential backoff ([Gargron](https://github.com/tootsuite/mastodon/pull/12085))
|
||||
- Fix `tootctl accounts cull` advertising unused option flag ([Kjwon15](https://github.com/tootsuite/mastodon/pull/12074))
|
||||
|
||||
## [3.0.0] - 2019-10-03
|
||||
### Added
|
||||
|
||||
|
|
4
Gemfile
4
Gemfile
|
@ -89,7 +89,7 @@ gem 'simple_form', '~> 4.1'
|
|||
gem 'sprockets-rails', '~> 3.2', require: 'sprockets/railtie'
|
||||
gem 'stoplight', '~> 2.1.3'
|
||||
gem 'strong_migrations', '~> 0.4'
|
||||
gem 'tty-command', '~> 0.8', require: false
|
||||
gem 'tty-command', '~> 0.9', require: false
|
||||
gem 'tty-prompt', '~> 0.19', require: false
|
||||
gem 'twitter-text', '~> 1.14'
|
||||
gem 'tzinfo-data', '~> 1.2019'
|
||||
|
@ -116,7 +116,7 @@ end
|
|||
group :test do
|
||||
gem 'capybara', '~> 3.29'
|
||||
gem 'climate_control', '~> 0.2'
|
||||
gem 'faker', '~> 2.4'
|
||||
gem 'faker', '~> 2.5'
|
||||
gem 'microformats', '~> 4.1'
|
||||
gem 'rails-controller-testing', '~> 1.0'
|
||||
gem 'rspec-sidekiq', '~> 3.0'
|
||||
|
|
33
Gemfile.lock
33
Gemfile.lock
|
@ -93,7 +93,7 @@ GEM
|
|||
tzinfo (~> 1.1)
|
||||
addressable (2.7.0)
|
||||
public_suffix (>= 2.0.2, < 5.0)
|
||||
airbrussh (1.3.3)
|
||||
airbrussh (1.3.4)
|
||||
sshkit (>= 1.6.1, != 1.7.0)
|
||||
annotate (2.7.5)
|
||||
activerecord (>= 3.2, < 7.0)
|
||||
|
@ -142,7 +142,7 @@ GEM
|
|||
bundler (>= 1.2.0, < 3)
|
||||
thor (~> 0.18)
|
||||
byebug (11.0.0)
|
||||
capistrano (3.11.1)
|
||||
capistrano (3.11.2)
|
||||
airbrussh (>= 1.0.0)
|
||||
i18n
|
||||
rake (>= 10.0.0)
|
||||
|
@ -188,13 +188,14 @@ GEM
|
|||
css_parser (1.7.0)
|
||||
addressable
|
||||
debug_inspector (0.0.3)
|
||||
derailed_benchmarks (1.3.6)
|
||||
derailed_benchmarks (1.4.0)
|
||||
benchmark-ips (~> 2)
|
||||
get_process_mem (~> 0)
|
||||
heapy (~> 0)
|
||||
memory_profiler (~> 0)
|
||||
rack (>= 1)
|
||||
rake (> 10, < 13)
|
||||
ruby-statistics (>= 2.1)
|
||||
thor (~> 0.19)
|
||||
devise (4.7.1)
|
||||
bcrypt (~> 3.0)
|
||||
|
@ -233,13 +234,13 @@ GEM
|
|||
faraday
|
||||
multi_json
|
||||
encryptor (3.0.0)
|
||||
equatable (0.5.0)
|
||||
equatable (0.6.1)
|
||||
erubi (1.8.0)
|
||||
et-orbi (1.1.6)
|
||||
tzinfo
|
||||
excon (0.62.0)
|
||||
fabrication (2.20.2)
|
||||
faker (2.4.0)
|
||||
faker (2.5.0)
|
||||
i18n (~> 1.6.0)
|
||||
faraday (0.15.4)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
|
@ -265,7 +266,8 @@ GEM
|
|||
fuubar (2.4.1)
|
||||
rspec-core (~> 3.0)
|
||||
ruby-progressbar (~> 1.4)
|
||||
get_process_mem (0.2.3)
|
||||
get_process_mem (0.2.4)
|
||||
ffi (~> 1.0)
|
||||
globalid (0.4.2)
|
||||
activesupport (>= 4.2.0)
|
||||
goldfinger (2.1.0)
|
||||
|
@ -427,13 +429,13 @@ GEM
|
|||
parser (2.6.4.0)
|
||||
ast (~> 2.4.0)
|
||||
parslet (1.8.2)
|
||||
pastel (0.7.2)
|
||||
equatable (~> 0.5.0)
|
||||
tty-color (~> 0.4.0)
|
||||
pastel (0.7.3)
|
||||
equatable (~> 0.6)
|
||||
tty-color (~> 0.5)
|
||||
pg (1.1.4)
|
||||
pghero (2.3.0)
|
||||
activerecord (>= 5)
|
||||
pkg-config (1.3.8)
|
||||
pkg-config (1.3.9)
|
||||
premailer (1.11.1)
|
||||
addressable
|
||||
css_parser (>= 1.6.0)
|
||||
|
@ -568,6 +570,7 @@ GEM
|
|||
ruby-progressbar (1.10.1)
|
||||
ruby-saml (1.9.0)
|
||||
nokogiri (>= 1.5.10)
|
||||
ruby-statistics (2.1.1)
|
||||
rufus-scheduler (3.5.2)
|
||||
fugit (~> 1.1, >= 1.1.5)
|
||||
safe_yaml (1.0.5)
|
||||
|
@ -626,8 +629,8 @@ GEM
|
|||
thor (0.20.3)
|
||||
thread_safe (0.3.6)
|
||||
tilt (2.0.9)
|
||||
tty-color (0.4.3)
|
||||
tty-command (0.8.2)
|
||||
tty-color (0.5.0)
|
||||
tty-command (0.9.0)
|
||||
pastel (~> 0.7.0)
|
||||
tty-cursor (0.7.0)
|
||||
tty-prompt (0.19.0)
|
||||
|
@ -652,7 +655,7 @@ GEM
|
|||
uniform_notifier (1.12.1)
|
||||
warden (1.2.8)
|
||||
rack (>= 2.0.6)
|
||||
webmock (3.7.5)
|
||||
webmock (3.7.6)
|
||||
addressable (>= 2.3.6)
|
||||
crack (>= 0.3.2)
|
||||
hashdiff (>= 0.4.0, < 2.0.0)
|
||||
|
@ -706,7 +709,7 @@ DEPENDENCIES
|
|||
doorkeeper (~> 5.2)
|
||||
dotenv-rails (~> 2.7)
|
||||
fabrication (~> 2.20)
|
||||
faker (~> 2.4)
|
||||
faker (~> 2.5)
|
||||
fast_blank (~> 1.0)
|
||||
fastimage
|
||||
fog-core (<= 2.1.0)
|
||||
|
@ -791,7 +794,7 @@ DEPENDENCIES
|
|||
streamio-ffmpeg (~> 3.0)
|
||||
strong_migrations (~> 0.4)
|
||||
thor (~> 0.20)
|
||||
tty-command (~> 0.8)
|
||||
tty-command (~> 0.9)
|
||||
tty-prompt (~> 0.19)
|
||||
twitter-text (~> 1.14)
|
||||
tzinfo-data (~> 1.2019)
|
||||
|
|
|
@ -4,6 +4,7 @@ class Api::V1::Instances::ActivityController < Api::BaseController
|
|||
before_action :require_enabled_api!
|
||||
|
||||
skip_before_action :set_cache_headers
|
||||
skip_before_action :require_authenticated_user!, unless: :whitelist_mode?
|
||||
|
||||
respond_to :json
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ class Api::V1::Instances::PeersController < Api::BaseController
|
|||
before_action :require_enabled_api!
|
||||
|
||||
skip_before_action :set_cache_headers
|
||||
skip_before_action :require_authenticated_user!, unless: :whitelist_mode?
|
||||
|
||||
respond_to :json
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ class Api::V1::InstancesController < Api::BaseController
|
|||
respond_to :json
|
||||
|
||||
skip_before_action :set_cache_headers
|
||||
skip_before_action :require_authenticated_user!, unless: :whitelist_mode?
|
||||
|
||||
def show
|
||||
expires_in 3.minutes, public: true
|
||||
|
|
|
@ -5,11 +5,17 @@ class Api::V1::StreamingController < Api::BaseController
|
|||
|
||||
def index
|
||||
if Rails.configuration.x.streaming_api_base_url != request.host
|
||||
uri = URI.parse(request.url)
|
||||
uri.host = URI.parse(Rails.configuration.x.streaming_api_base_url).host
|
||||
redirect_to uri.to_s, status: 301
|
||||
redirect_to streaming_api_url, status: 301
|
||||
else
|
||||
raise ActiveRecord::RecordNotFound
|
||||
not_found
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def streaming_api_url
|
||||
Addressable::URI.parse(request.url).tap do |uri|
|
||||
uri.host = Addressable::URI.parse(Rails.configuration.x.streaming_api_base_url).host
|
||||
end.to_s
|
||||
end
|
||||
end
|
||||
|
|
|
@ -13,7 +13,7 @@ class Api::V1::Timelines::HomeController < Api::BaseController
|
|||
render json: @statuses,
|
||||
each_serializer: REST::StatusSerializer,
|
||||
relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id),
|
||||
status: regeneration_in_progress? ? 206 : 200
|
||||
status: account_home_feed.regenerating? ? 206 : 200
|
||||
end
|
||||
|
||||
private
|
||||
|
@ -62,8 +62,4 @@ class Api::V1::Timelines::HomeController < Api::BaseController
|
|||
def pagination_since_id
|
||||
@statuses.first.id
|
||||
end
|
||||
|
||||
def regeneration_in_progress?
|
||||
Redis.current.exists("account:#{current_account.id}:regeneration")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -97,7 +97,7 @@ export function expandTimeline(timelineId, path, params = {}, done = noOp) {
|
|||
api(getState).get(path, { params }).then(response => {
|
||||
const next = getLinks(response).refs.find(link => link.rel === 'next');
|
||||
dispatch(importFetchedStatuses(response.data));
|
||||
dispatch(expandTimelineSuccess(timelineId, response.data, next ? next.uri : null, response.code === 206, isLoadingRecent, isLoadingMore, isLoadingRecent && preferPendingItems));
|
||||
dispatch(expandTimelineSuccess(timelineId, response.data, next ? next.uri : null, response.status === 206, isLoadingRecent, isLoadingMore, isLoadingRecent && preferPendingItems));
|
||||
done();
|
||||
}).catch(error => {
|
||||
dispatch(expandTimelineFail(timelineId, error, isLoadingMore));
|
||||
|
|
|
@ -1,63 +0,0 @@
|
|||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
export default class ExtendedVideoPlayer extends React.PureComponent {
|
||||
|
||||
static propTypes = {
|
||||
src: PropTypes.string.isRequired,
|
||||
alt: PropTypes.string,
|
||||
width: PropTypes.number,
|
||||
height: PropTypes.number,
|
||||
time: PropTypes.number,
|
||||
controls: PropTypes.bool.isRequired,
|
||||
muted: PropTypes.bool.isRequired,
|
||||
onClick: PropTypes.func,
|
||||
};
|
||||
|
||||
handleLoadedData = () => {
|
||||
if (this.props.time) {
|
||||
this.video.currentTime = this.props.time;
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount () {
|
||||
this.video.addEventListener('loadeddata', this.handleLoadedData);
|
||||
}
|
||||
|
||||
componentWillUnmount () {
|
||||
this.video.removeEventListener('loadeddata', this.handleLoadedData);
|
||||
}
|
||||
|
||||
setRef = (c) => {
|
||||
this.video = c;
|
||||
}
|
||||
|
||||
handleClick = e => {
|
||||
e.stopPropagation();
|
||||
const handler = this.props.onClick;
|
||||
if (handler) handler();
|
||||
}
|
||||
|
||||
render () {
|
||||
const { src, muted, controls, alt } = this.props;
|
||||
|
||||
return (
|
||||
<div className='extended-video-player'>
|
||||
<video
|
||||
ref={this.setRef}
|
||||
src={src}
|
||||
autoPlay
|
||||
role='button'
|
||||
tabIndex='0'
|
||||
aria-label={alt}
|
||||
title={alt}
|
||||
muted={muted}
|
||||
controls={controls}
|
||||
loop={!controls}
|
||||
onClick={this.handleClick}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
export default class GIFV extends React.PureComponent {
|
||||
|
||||
static propTypes = {
|
||||
src: PropTypes.string.isRequired,
|
||||
alt: PropTypes.string,
|
||||
width: PropTypes.number,
|
||||
height: PropTypes.number,
|
||||
onClick: PropTypes.func,
|
||||
};
|
||||
|
||||
state = {
|
||||
loading: true,
|
||||
};
|
||||
|
||||
handleLoadedData = () => {
|
||||
this.setState({ loading: false });
|
||||
}
|
||||
|
||||
componentWillReceiveProps (nextProps) {
|
||||
if (nextProps.src !== this.props.src) {
|
||||
this.setState({ loading: true });
|
||||
}
|
||||
}
|
||||
|
||||
handleClick = e => {
|
||||
const { onClick } = this.props;
|
||||
|
||||
if (onClick) {
|
||||
e.stopPropagation();
|
||||
onClick();
|
||||
}
|
||||
}
|
||||
|
||||
render () {
|
||||
const { src, width, height, alt } = this.props;
|
||||
const { loading } = this.state;
|
||||
|
||||
return (
|
||||
<div className='gifv' style={{ position: 'relative' }}>
|
||||
{loading && (
|
||||
<canvas
|
||||
width={width}
|
||||
height={height}
|
||||
role='button'
|
||||
tabIndex='0'
|
||||
aria-label={alt}
|
||||
title={alt}
|
||||
onClick={this.handleClick}
|
||||
/>
|
||||
)}
|
||||
|
||||
<video
|
||||
src={src}
|
||||
width={width}
|
||||
height={height}
|
||||
role='button'
|
||||
tabIndex='0'
|
||||
aria-label={alt}
|
||||
title={alt}
|
||||
muted
|
||||
loop
|
||||
autoPlay
|
||||
playsInline
|
||||
onClick={this.handleClick}
|
||||
onLoadedData={this.handleLoadedData}
|
||||
style={{ position: loading ? 'absolute' : 'static', top: 0, left: 0 }}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,17 +1,24 @@
|
|||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
import illustration from 'mastodon/../images/elephant_ui_disappointed.svg';
|
||||
import classNames from 'classnames';
|
||||
|
||||
const MissingIndicator = () => (
|
||||
<div className='regeneration-indicator missing-indicator'>
|
||||
<div>
|
||||
<div className='regeneration-indicator__figure' />
|
||||
const MissingIndicator = ({ fullPage }) => (
|
||||
<div className={classNames('regeneration-indicator', { 'regeneration-indicator--without-header': fullPage })}>
|
||||
<div className='regeneration-indicator__figure'>
|
||||
<img src={illustration} alt='' />
|
||||
</div>
|
||||
|
||||
<div className='regeneration-indicator__label'>
|
||||
<FormattedMessage id='missing_indicator.label' tagName='strong' defaultMessage='Not found' />
|
||||
<FormattedMessage id='missing_indicator.sublabel' defaultMessage='This resource could not be found' />
|
||||
</div>
|
||||
<div className='regeneration-indicator__label'>
|
||||
<FormattedMessage id='missing_indicator.label' tagName='strong' defaultMessage='Not found' />
|
||||
<FormattedMessage id='missing_indicator.sublabel' defaultMessage='This resource could not be found' />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
MissingIndicator.propTypes = {
|
||||
fullPage: PropTypes.bool,
|
||||
};
|
||||
|
||||
export default MissingIndicator;
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
import React from 'react';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
import illustration from 'mastodon/../images/elephant_ui_working.svg';
|
||||
|
||||
const MissingIndicator = () => (
|
||||
<div className='regeneration-indicator'>
|
||||
<div className='regeneration-indicator__figure'>
|
||||
<img src={illustration} alt='' />
|
||||
</div>
|
||||
|
||||
<div className='regeneration-indicator__label'>
|
||||
<FormattedMessage id='regeneration_indicator.label' tagName='strong' defaultMessage='Loading…' />
|
||||
<FormattedMessage id='regeneration_indicator.sublabel' defaultMessage='Your home feed is being prepared!' />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
export default MissingIndicator;
|
|
@ -222,14 +222,15 @@ export default class StatusContent extends React.PureComponent {
|
|||
const output = [
|
||||
<div className={classNames} ref={this.setRef} tabIndex='0' style={directionStyle} onMouseDown={this.handleMouseDown} onMouseUp={this.handleMouseUp}>
|
||||
<p style={{ marginBottom: hidden && status.get('mentions').isEmpty() ? '0px' : null }}>
|
||||
<span dangerouslySetInnerHTML={spoilerContent} lang={status.get('language')} />
|
||||
<span dangerouslySetInnerHTML={spoilerContent} />
|
||||
{' '}
|
||||
{status.get('activity_pub_type') === 'Article' ? '' : <span class="show_more_button"><button tabIndex='0' className={`status__content__spoiler-link ${hidden ? 'status__content__spoiler-link--show-more' : 'status__content__spoiler-link--show-less'}`} onClick={this.handleSpoilerClick}>{toggleText}</button></span>}
|
||||
</p>
|
||||
|
||||
{mentionsPlaceholder}
|
||||
|
||||
<div tabIndex={!hidden ? 0 : null} className={`status__content__text ${!hidden ? 'status__content__text--visible' : ''}`} style={directionStyle} dangerouslySetInnerHTML={content} lang={status.get('language')} />
|
||||
<div tabIndex={!hidden ? 0 : null} className={`status__content__text ${!hidden ? 'status__content__text--visible' : ''}`} style={directionStyle} dangerouslySetInnerHTML={content} />
|
||||
|
||||
{!hidden && !!status.get('poll') && <PollContainer pollId={status.get('poll')} />}
|
||||
</div>,
|
||||
];
|
||||
|
@ -242,7 +243,7 @@ export default class StatusContent extends React.PureComponent {
|
|||
} else if (this.props.onClick) {
|
||||
const output = [
|
||||
<div className={classNames} ref={this.setRef} tabIndex='0' style={directionStyle} onMouseDown={this.handleMouseDown} onMouseUp={this.handleMouseUp} key='status-content'>
|
||||
<div className='status__content__text status__content__text--visible' style={directionStyle} dangerouslySetInnerHTML={content} lang={status.get('language')} />
|
||||
<div className='status__content__text status__content__text--visible' style={directionStyle} dangerouslySetInnerHTML={content} />
|
||||
|
||||
{!!status.get('poll') && <PollContainer pollId={status.get('poll')} />}
|
||||
</div>,
|
||||
|
@ -256,7 +257,7 @@ export default class StatusContent extends React.PureComponent {
|
|||
} else {
|
||||
return (
|
||||
<div className={classNames} ref={this.setRef} tabIndex='0' style={directionStyle}>
|
||||
<div className='status__content__text status__content__text--visible' style={directionStyle} dangerouslySetInnerHTML={content} lang={status.get('language')} />
|
||||
<div className='status__content__text status__content__text--visible' style={directionStyle} dangerouslySetInnerHTML={content} />
|
||||
|
||||
{!!status.get('poll') && <PollContainer pollId={status.get('poll')} />}
|
||||
</div>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
import { debounce } from 'lodash';
|
||||
import React from 'react';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
import PropTypes from 'prop-types';
|
||||
import StatusContainer from '../containers/status_container';
|
||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||
import LoadGap from './load_gap';
|
||||
import ScrollableList from './scrollable_list';
|
||||
import RegenerationIndicator from 'mastodon/components/regeneration_indicator';
|
||||
|
||||
export default class StatusList extends ImmutablePureComponent {
|
||||
|
||||
|
@ -81,18 +81,7 @@ export default class StatusList extends ImmutablePureComponent {
|
|||
const { isLoading, isPartial } = other;
|
||||
|
||||
if (isPartial) {
|
||||
return (
|
||||
<div className='regeneration-indicator'>
|
||||
<div>
|
||||
<div className='regeneration-indicator__figure' />
|
||||
|
||||
<div className='regeneration-indicator__label'>
|
||||
<FormattedMessage id='regeneration_indicator.label' tagName='strong' defaultMessage='Loading…' />
|
||||
<FormattedMessage id='regeneration_indicator.sublabel' defaultMessage='Your home feed is being prepared!' />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
return <RegenerationIndicator />;
|
||||
}
|
||||
|
||||
let scrollableContent = (isLoading || statusIds.size > 0) ? (
|
||||
|
|
|
@ -83,6 +83,7 @@ class AccountTimeline extends ImmutablePureComponent {
|
|||
if (!isAccount) {
|
||||
return (
|
||||
<Column>
|
||||
<ColumnBackButton multiColumn={multiColumn} />
|
||||
<MissingIndicator />
|
||||
</Column>
|
||||
);
|
||||
|
|
|
@ -4,7 +4,7 @@ import MissingIndicator from '../../components/missing_indicator';
|
|||
|
||||
const GenericNotFound = () => (
|
||||
<Column>
|
||||
<MissingIndicator />
|
||||
<MissingIndicator fullPage />
|
||||
</Column>
|
||||
);
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ import UploadProgress from 'mastodon/features/compose/components/upload_progress
|
|||
import CharacterCounter from 'mastodon/features/compose/components/character_counter';
|
||||
import { length } from 'stringz';
|
||||
import { Tesseract as fetchTesseract } from 'mastodon/features/ui/util/async-components';
|
||||
import GIFV from 'mastodon/components/gifv';
|
||||
|
||||
const messages = defineMessages({
|
||||
close: { id: 'lightbox.close', defaultMessage: 'Close' },
|
||||
|
@ -41,6 +42,36 @@ const removeExtraLineBreaks = str => str.replace(/\n\n/g, '******')
|
|||
|
||||
const assetHost = process.env.CDN_HOST || '';
|
||||
|
||||
class ImageLoader extends React.PureComponent {
|
||||
|
||||
static propTypes = {
|
||||
src: PropTypes.string.isRequired,
|
||||
width: PropTypes.number,
|
||||
height: PropTypes.number,
|
||||
};
|
||||
|
||||
state = {
|
||||
loading: true,
|
||||
};
|
||||
|
||||
componentDidMount() {
|
||||
const image = new Image();
|
||||
image.addEventListener('load', () => this.setState({ loading: false }));
|
||||
image.src = this.props.src;
|
||||
}
|
||||
|
||||
render () {
|
||||
const { loading } = this.state;
|
||||
|
||||
if (loading) {
|
||||
return <canvas width={this.props.width} height={this.props.height} />;
|
||||
} else {
|
||||
return <img {...this.props} alt='' />;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default @connect(mapStateToProps, mapDispatchToProps)
|
||||
@injectIntl
|
||||
class FocalPointModal extends ImmutablePureComponent {
|
||||
|
@ -60,6 +91,7 @@ class FocalPointModal extends ImmutablePureComponent {
|
|||
description: '',
|
||||
dirty: false,
|
||||
progress: 0,
|
||||
loading: true,
|
||||
};
|
||||
|
||||
componentWillMount () {
|
||||
|
@ -242,8 +274,8 @@ class FocalPointModal extends ImmutablePureComponent {
|
|||
<div className='focal-point-modal__content'>
|
||||
{focals && (
|
||||
<div className={classNames('focal-point', { dragging })} ref={this.setRef} onMouseDown={this.handleMouseDown} onTouchStart={this.handleTouchStart}>
|
||||
{media.get('type') === 'image' && <img src={media.get('url')} width={width} height={height} alt='' />}
|
||||
{media.get('type') === 'gifv' && <video src={media.get('url')} width={width} height={height} loop muted autoPlay />}
|
||||
{media.get('type') === 'image' && <ImageLoader src={media.get('url')} width={width} height={height} alt='' />}
|
||||
{media.get('type') === 'gifv' && <GIFV src={media.get('url')} width={width} height={height} />}
|
||||
|
||||
<div className='focal-point__preview'>
|
||||
<strong><FormattedMessage id='upload_modal.preview_label' defaultMessage='Preview ({ratio})' values={{ ratio: '16:9' }} /></strong>
|
||||
|
|
|
@ -3,13 +3,13 @@ import ReactSwipeableViews from 'react-swipeable-views';
|
|||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
import PropTypes from 'prop-types';
|
||||
import Video from 'mastodon/features/video';
|
||||
import ExtendedVideoPlayer from 'mastodon/components/extended_video_player';
|
||||
import classNames from 'classnames';
|
||||
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
|
||||
import IconButton from 'mastodon/components/icon_button';
|
||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||
import ImageLoader from './image_loader';
|
||||
import Icon from 'mastodon/components/icon';
|
||||
import GIFV from 'mastodon/components/gifv';
|
||||
|
||||
const messages = defineMessages({
|
||||
close: { id: 'lightbox.close', defaultMessage: 'Close' },
|
||||
|
@ -169,10 +169,8 @@ class MediaModal extends ImmutablePureComponent {
|
|||
);
|
||||
} else if (image.get('type') === 'gifv') {
|
||||
return (
|
||||
<ExtendedVideoPlayer
|
||||
<GIFV
|
||||
src={image.get('url')}
|
||||
muted
|
||||
controls={false}
|
||||
width={width}
|
||||
height={height}
|
||||
key={image.get('preview_url')}
|
||||
|
|
|
@ -115,7 +115,7 @@
|
|||
"conversation.mark_as_read": "اعتبرها كمقروءة",
|
||||
"conversation.open": "اعرض المحادثة",
|
||||
"conversation.with": "بـ {names}",
|
||||
"directory.federated": "From known fediverse",
|
||||
"directory.federated": "مِن الفديفرس المعروف",
|
||||
"directory.local": "مِن {domain} فقط",
|
||||
"directory.new_arrivals": "الوافدون الجُدد",
|
||||
"directory.recently_active": "نشط مؤخرا",
|
||||
|
@ -155,7 +155,7 @@
|
|||
"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.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.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
|
||||
"errors.unexpected_crash.report_issue": "Report issue",
|
||||
"errors.unexpected_crash.report_issue": "الإبلاغ عن خلل",
|
||||
"federation.change": "Adjust status federation",
|
||||
"federation.federated.long": "Allow toot to reach other instances",
|
||||
"federation.federated.short": "Federated",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "الأساسية",
|
||||
"home.column_settings.show_reblogs": "عرض الترقيات",
|
||||
"home.column_settings.show_replies": "اعرض الردود",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# يوم} other {# أيام}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ساعة} other {# ساعات}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# دقيقة} other {# دقائق}}",
|
||||
|
@ -249,7 +248,7 @@
|
|||
"lists.new.title_placeholder": "عنوان القائمة الجديدة",
|
||||
"lists.search": "إبحث في قائمة الحسابات التي تُتابِعها",
|
||||
"lists.subheading": "قوائمك",
|
||||
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
||||
"load_pending": "{count, plural, one {# عنصر جديد} other {# عناصر جديدة}}",
|
||||
"loading_indicator.label": "تحميل...",
|
||||
"media_gallery.toggle_visible": "عرض / إخفاء",
|
||||
"missing_indicator.label": "غير موجود",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "التفضيلات",
|
||||
"navigation_bar.public_timeline": "الخيط العام الموحد",
|
||||
"navigation_bar.security": "الأمان",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "أُعجِب {name} بمنشورك",
|
||||
"notification.follow": "{name} يتابعك",
|
||||
"notification.mention": "{name} ذكرك",
|
||||
|
@ -306,10 +304,10 @@
|
|||
"notifications.group": "{count} إشعارات",
|
||||
"poll.closed": "انتهى",
|
||||
"poll.refresh": "تحديث",
|
||||
"poll.total_people": "{count, plural, one {# person} other {# people}}",
|
||||
"poll.total_people": "{count, plural, one {# شخص} other {# أشخاص}}",
|
||||
"poll.total_votes": "{count, plural, one {# صوت} other {# أصوات}}",
|
||||
"poll.vote": "صَوّت",
|
||||
"poll.voted": "You voted for this answer",
|
||||
"poll.voted": "لقد صوّتت على هذه الإجابة",
|
||||
"poll_button.add_poll": "إضافة استطلاع للرأي",
|
||||
"poll_button.remove_poll": "إزالة استطلاع الرأي",
|
||||
"privacy.change": "اضبط خصوصية المنشور",
|
||||
|
@ -397,10 +395,10 @@
|
|||
"tabs_bar.notifications": "الإخطارات",
|
||||
"tabs_bar.search": "البحث",
|
||||
"time_remaining.days": "{number, plural, one {# يوم} other {# أيام}} متبقية",
|
||||
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
|
||||
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
|
||||
"time_remaining.hours": "{number, plural, one {# ساعة} other {# ساعات}} متبقية",
|
||||
"time_remaining.minutes": "{number, plural, one {# دقيقة} other {# دقائق}} متبقية",
|
||||
"time_remaining.moments": "لحظات متبقية",
|
||||
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
|
||||
"time_remaining.seconds": "{number, plural, one {# ثانية} other {# ثوانٍ}} متبقية",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} آخرون {people}} يتحدثون",
|
||||
"trends.trending_now": "المتداولة الآن",
|
||||
"ui.beforeunload": "سوف تفقد مسودتك إن تركت ماستدون.",
|
||||
|
@ -414,7 +412,7 @@
|
|||
"upload_modal.analyzing_picture": "جارٍ فحص الصورة…",
|
||||
"upload_modal.apply": "طبّق",
|
||||
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
|
||||
"upload_modal.detect_text": "Detect text from picture",
|
||||
"upload_modal.detect_text": "اكتشف النص مِن الصورة",
|
||||
"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.preview_label": "معاينة ({ratio})",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Amosar toots compartíos",
|
||||
"home.column_settings.show_replies": "Amosar rempuestes",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferencies",
|
||||
"navigation_bar.public_timeline": "Llinia temporal federada",
|
||||
"navigation_bar.security": "Seguranza",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} siguióte",
|
||||
"notification.mention": "{name} mentóte",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Предпочитания",
|
||||
"navigation_bar.public_timeline": "Публичен канал",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} хареса твоята публикация",
|
||||
"notification.follow": "{name} те последва",
|
||||
"notification.mention": "{name} те спомена",
|
||||
|
@ -418,7 +416,7 @@
|
|||
"upload_modal.edit_media": "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.preview_label": "Preview ({ratio})",
|
||||
"upload_progress.label": "Uploading...",
|
||||
"upload_progress.label": "Uploading…",
|
||||
"video.close": "Close video",
|
||||
"video.exit_fullscreen": "Exit full screen",
|
||||
"video.expand": "Expand video",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "সাধারণ",
|
||||
"home.column_settings.show_reblogs": "সমর্থনগুলো দেখান",
|
||||
"home.column_settings.show_replies": "মতামত দেখান",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ঘটা} other {# ঘটা}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "পছন্দসমূহ",
|
||||
"navigation_bar.public_timeline": "যুক্তবিশ্বের সময়রেখা",
|
||||
"navigation_bar.security": "নিরাপত্তা",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} আপনার কার্যক্রম পছন্দ করেছেন",
|
||||
"notification.follow": "{name} আপনাকে অনুসরণ করেছেন",
|
||||
"notification.mention": "{name} আপনাকে উল্লেখ করেছেন",
|
||||
|
|
|
@ -178,7 +178,6 @@
|
|||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -272,7 +271,6 @@
|
|||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
|
@ -412,7 +410,7 @@
|
|||
"upload_modal.edit_media": "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.preview_label": "Preview ({ratio})",
|
||||
"upload_progress.label": "Uploading...",
|
||||
"upload_progress.label": "Uploading…",
|
||||
"video.close": "Close video",
|
||||
"video.exit_fullscreen": "Exit full screen",
|
||||
"video.expand": "Expand video",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Bàsic",
|
||||
"home.column_settings.show_reblogs": "Mostrar impulsos",
|
||||
"home.column_settings.show_replies": "Mostrar respostes",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# dia} other {# dies}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hora} other {# hores}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minut} other {# minuts}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferències",
|
||||
"navigation_bar.public_timeline": "Línia de temps federada",
|
||||
"navigation_bar.security": "Seguretat",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} ha afavorit el teu estat",
|
||||
"notification.follow": "{name} et segueix",
|
||||
"notification.mention": "{name} t'ha esmentat",
|
||||
|
@ -401,7 +399,7 @@
|
|||
"time_remaining.minutes": "{number, plural, one {# minut} other {# minuts}} restants",
|
||||
"time_remaining.moments": "Moments restants",
|
||||
"time_remaining.seconds": "{number, plural, one {# segon} other {# segons}} restants",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {gent}} talking",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {persones}} parlant-hi",
|
||||
"trends.trending_now": "Ara en tendència",
|
||||
"ui.beforeunload": "El teu esborrany es perdrà si surts de Mastodon.",
|
||||
"upload_area.title": "Arrossega i deixa anar per a carregar",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Bàsichi",
|
||||
"home.column_settings.show_reblogs": "Vede e spartere",
|
||||
"home.column_settings.show_replies": "Vede e risposte",
|
||||
"home.column_settings.update_live": "Attualizà in tempu reale",
|
||||
"intervals.full.days": "{number, plural, one {# ghjornu} other {# ghjorni}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ora} other {# ore}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuta} other {# minute}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferenze",
|
||||
"navigation_bar.public_timeline": "Linea pubblica glubale",
|
||||
"navigation_bar.security": "Sicurità",
|
||||
"notification.and_n_others": "è {count, plural, one {# altru} other {# altri}}",
|
||||
"notification.favourite": "{name} hà aghjuntu u vostru statutu à i so favuriti",
|
||||
"notification.follow": "{name} v'hà seguitatu",
|
||||
"notification.mention": "{name} v'hà mintuvatu",
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
"alert.unexpected.message": "Objevila se neočekávaná chyba.",
|
||||
"alert.unexpected.title": "Jejda!",
|
||||
"autosuggest_hashtag.per_week": "{count} za týden",
|
||||
"boost_modal.combo": "Příště můžete pro přeskočení kliknout na {combo}",
|
||||
"boost_modal.combo": "Příště můžete pro přeskočení stisknout {combo}",
|
||||
"bundle_column_error.body": "Při načítání tohoto komponentu se něco pokazilo.",
|
||||
"bundle_column_error.retry": "Zkuste to znovu",
|
||||
"bundle_column_error.title": "Chyba sítě",
|
||||
|
@ -169,7 +169,7 @@
|
|||
"getting_started.heading": "Začínáme",
|
||||
"getting_started.invite": "Pozvat lidi",
|
||||
"getting_started.open_source_notice": "Mastodon je otevřený software. Na GitHubu k němu můžete přispět nebo nahlásit chyby: {github}.",
|
||||
"getting_started.security": "Zabezpečení",
|
||||
"getting_started.security": "Nastavení účtu",
|
||||
"getting_started.terms": "Podmínky používání",
|
||||
"hashtag.column_header.tag_mode.all": "a {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "nebo {additional}",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Základní",
|
||||
"home.column_settings.show_reblogs": "Zobrazit boosty",
|
||||
"home.column_settings.show_replies": "Zobrazit odpovědi",
|
||||
"home.column_settings.update_live": "Aktualizovat v reálném čase",
|
||||
"intervals.full.days": "{number, plural, one {# den} few {# dny} many {# dne} other {# dní}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hodina} few {# hodiny} many {# hodiny} other {# hodin}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minuty} other {# minut}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Předvolby",
|
||||
"navigation_bar.public_timeline": "Federovaná časová osa",
|
||||
"navigation_bar.security": "Zabezpečení",
|
||||
"notification.and_n_others": "a {count, plural, one {# další} few {# další} many {# dalších} other {# dalších}}",
|
||||
"notification.favourite": "{name} si oblíbil/a váš toot",
|
||||
"notification.follow": "{name} vás začal/a sledovat",
|
||||
"notification.mention": "{name} vás zmínil/a",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Syml",
|
||||
"home.column_settings.show_reblogs": "Dangos bŵstiau",
|
||||
"home.column_settings.show_replies": "Dangos ymatebion",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# ddydd} other {# o ddyddiau}}",
|
||||
"intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Dewisiadau",
|
||||
"navigation_bar.public_timeline": "Ffrwd y ffederasiwn",
|
||||
"navigation_bar.security": "Diogelwch",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "hoffodd {name} eich tŵt",
|
||||
"notification.follow": "dilynodd {name} chi",
|
||||
"notification.mention": "Soniodd {name} amdanoch chi",
|
||||
|
|
|
@ -111,10 +111,10 @@
|
|||
"confirmations.reply.message": "Hvis du svarer nu vil du overskrive den besked du er ved at skrive. Er du sikker på, du vil fortsætte?",
|
||||
"confirmations.unfollow.confirm": "Følg ikke længere",
|
||||
"confirmations.unfollow.message": "Er du sikker på, du ikke længere vil følge {name}?",
|
||||
"conversation.delete": "Delete conversation",
|
||||
"conversation.mark_as_read": "Mark as read",
|
||||
"conversation.open": "View conversation",
|
||||
"conversation.with": "With {names}",
|
||||
"conversation.delete": "Slet samtale",
|
||||
"conversation.mark_as_read": "Marker som læst",
|
||||
"conversation.open": "Vis samtale",
|
||||
"conversation.with": "Med {names}",
|
||||
"directory.federated": "Fra kendt fedivers",
|
||||
"directory.local": "Kun fra {domain}",
|
||||
"directory.new_arrivals": "Nye ankomster",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Grundlæggende",
|
||||
"home.column_settings.show_reblogs": "Vis fremhævelser",
|
||||
"home.column_settings.show_replies": "Vis svar",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# dag} other {# dage}}",
|
||||
"intervals.full.hours": "{number, plural, one {# time} other {# timer}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minut} other {# minutter}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Præferencer",
|
||||
"navigation_bar.public_timeline": "Fælles tidslinje",
|
||||
"navigation_bar.security": "Sikkerhed",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favoriserede din status",
|
||||
"notification.follow": "{name} fulgte dig",
|
||||
"notification.mention": "{name} nævnte dig",
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
"account.edit_profile": "Profil bearbeiten",
|
||||
"account.endorse": "Auf Profil hervorheben",
|
||||
"account.follow": "Folgen",
|
||||
"account.followers": "Folger_innen",
|
||||
"account.followers": "Folgende",
|
||||
"account.followers.empty": "Diesem Profil folgt noch niemand.",
|
||||
"account.follows": "Folgt",
|
||||
"account.follows.empty": "Dieses Profil folgt noch niemandem.",
|
||||
|
@ -99,7 +99,7 @@
|
|||
"confirmations.delete_list.confirm": "Löschen",
|
||||
"confirmations.delete_list.message": "Bist du dir sicher, dass du diese Liste permanent löschen möchtest?",
|
||||
"confirmations.domain_block.confirm": "Die ganze Domain verbergen",
|
||||
"confirmations.domain_block.message": "Bist du dir wirklich sicher, dass du die ganze Domain {domain} blockieren willst? In den meisten Fällen reichen ein paar gezielte Blockierungen oder Stummschaltungen aus. Nach der Blockierung wirst du nichts mehr von dieser Domain in öffentlichen Zeitleisten oder Benachrichtigungen sehen. Deine Folger_innen von dieser Domain werden auch entfernt.",
|
||||
"confirmations.domain_block.message": "Bist du dir wirklich sicher, dass du die ganze Domain {domain} blockieren willst? In den meisten Fällen reichen ein paar gezielte Blockierungen oder Stummschaltungen aus. Du wirst den Inhalt von dieser Domain nicht in irgendwelchen öffentlichen Timelines oder den Benachrichtigungen finden. Deine Folgenden von dieser Domain werden entfernt.",
|
||||
"confirmations.logout.confirm": "Abmelden",
|
||||
"confirmations.logout.message": "Bist du sicher, dass du dich abmelden möchtest?",
|
||||
"confirmations.mute.confirm": "Stummschalten",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Einfach",
|
||||
"home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen",
|
||||
"home.column_settings.show_replies": "Antworten anzeigen",
|
||||
"home.column_settings.update_live": "In Echtzeit aktualisieren",
|
||||
"intervals.full.days": "{number, plural, one {# Tag} other {# Tage}}",
|
||||
"intervals.full.hours": "{number, plural, one {# Stunde} other {# Stunden}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# Minute} other {# Minuten}}",
|
||||
|
@ -196,7 +195,7 @@
|
|||
"introduction.federation.local.text": "Öffentliche Beiträge von Leuten auf demselben Server wie du erscheinen in der lokalen Zeitleiste.",
|
||||
"introduction.interactions.action": "Tutorial beenden!",
|
||||
"introduction.interactions.favourite.headline": "Favorisieren",
|
||||
"introduction.interactions.favourite.text": "Du kannst Beitrage für später speichern und ihre Autor_innen wissen lassen, dass sie dir gefallen haben, indem du sie favorisierst.",
|
||||
"introduction.interactions.favourite.text": "Du kannst Beitrage für später speichern und ihre Autoren wissen lassen, dass sie dir gefallen haben, indem du sie favorisierst.",
|
||||
"introduction.interactions.reblog.headline": "Teilen",
|
||||
"introduction.interactions.reblog.text": "Du kannst Beiträge anderer mit deinen Followern teilen, indem du sie teilst.",
|
||||
"introduction.interactions.reply.headline": "Antworten",
|
||||
|
@ -266,7 +265,7 @@
|
|||
"navigation_bar.favourites": "Favoriten",
|
||||
"navigation_bar.filters": "Stummgeschaltene Wörter",
|
||||
"navigation_bar.follow_requests": "Folgeanfragen",
|
||||
"navigation_bar.follows_and_followers": "Folger_innen und Gefolgte",
|
||||
"navigation_bar.follows_and_followers": "Folgende und Gefolgte",
|
||||
"navigation_bar.info": "Über diesen Server",
|
||||
"navigation_bar.keyboard_shortcuts": "Tastenkombinationen",
|
||||
"navigation_bar.lists": "Listen",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Einstellungen",
|
||||
"navigation_bar.public_timeline": "Föderierte Zeitleiste",
|
||||
"navigation_bar.security": "Sicherheit",
|
||||
"notification.and_n_others": "und {count, plural, one {# andere Person} other {# andere Personen}}",
|
||||
"notification.favourite": "{name} hat deinen Beitrag favorisiert",
|
||||
"notification.follow": "{name} folgt dir",
|
||||
"notification.mention": "{name} hat dich erwähnt",
|
||||
|
@ -290,7 +288,7 @@
|
|||
"notifications.column_settings.filter_bar.advanced": "Zeige alle Kategorien an",
|
||||
"notifications.column_settings.filter_bar.category": "Schnellfilterleiste",
|
||||
"notifications.column_settings.filter_bar.show": "Anzeigen",
|
||||
"notifications.column_settings.follow": "Neue Folger_innen:",
|
||||
"notifications.column_settings.follow": "Neue Folgende:",
|
||||
"notifications.column_settings.mention": "Erwähnungen:",
|
||||
"notifications.column_settings.poll": "Ergebnisse von Umfragen:",
|
||||
"notifications.column_settings.push": "Push-Benachrichtigungen",
|
||||
|
@ -300,7 +298,7 @@
|
|||
"notifications.filter.all": "Alle",
|
||||
"notifications.filter.boosts": "Geteilte Beiträge",
|
||||
"notifications.filter.favourites": "Favorisierungen",
|
||||
"notifications.filter.follows": "Folger_innen",
|
||||
"notifications.filter.follows": "Folgt",
|
||||
"notifications.filter.mentions": "Erwähnungen",
|
||||
"notifications.filter.polls": "Ergebnisse der Umfrage",
|
||||
"notifications.group": "{count} Benachrichtigungen",
|
||||
|
@ -315,8 +313,8 @@
|
|||
"privacy.change": "Sichtbarkeit des Beitrags anpassen",
|
||||
"privacy.direct.long": "Wird an erwähnte Profile gesendet",
|
||||
"privacy.direct.short": "Direktnachricht",
|
||||
"privacy.private.long": "Wird nur für deine Folger_innen sichtbar sein",
|
||||
"privacy.private.short": "Nur für Folger_innen",
|
||||
"privacy.private.long": "Wird nur für deine Folgende sichtbar sein",
|
||||
"privacy.private.short": "Nur für Folgende",
|
||||
"privacy.public.long": "Wird in öffentlichen Zeitleisten erscheinen",
|
||||
"privacy.public.short": "Öffentlich",
|
||||
"privacy.unlisted.long": "Wird in öffentlichen Zeitleisten nicht gezeigt",
|
||||
|
|
|
@ -278,6 +278,19 @@
|
|||
],
|
||||
"path": "app/javascript/mastodon/components/poll.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "Loading…",
|
||||
"id": "regeneration_indicator.label"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Your home feed is being prepared!",
|
||||
"id": "regeneration_indicator.sublabel"
|
||||
}
|
||||
],
|
||||
"path": "app/javascript/mastodon/components/regeneration_indicator.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
|
@ -449,19 +462,6 @@
|
|||
],
|
||||
"path": "app/javascript/mastodon/components/status_content.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "Loading…",
|
||||
"id": "regeneration_indicator.label"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Your home feed is being prepared!",
|
||||
"id": "regeneration_indicator.sublabel"
|
||||
}
|
||||
],
|
||||
"path": "app/javascript/mastodon/components/status_list.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
|
@ -1164,15 +1164,6 @@
|
|||
],
|
||||
"path": "app/javascript/mastodon/features/compose/components/upload_form.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "Uploading...",
|
||||
"id": "upload_progress.label"
|
||||
}
|
||||
],
|
||||
"path": "app/javascript/mastodon/features/compose/components/upload_progress.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
|
@ -1465,7 +1456,11 @@
|
|||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "No one has favourited this post yet. When someone does, they will show up here.",
|
||||
"defaultMessage": "Refresh",
|
||||
"id": "refresh"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "No one has favourited this toot yet. When someone does, they will show up here.",
|
||||
"id": "empty_column.favourites"
|
||||
}
|
||||
],
|
||||
|
@ -1512,10 +1507,6 @@
|
|||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "Refresh",
|
||||
"id": "refresh"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Profile unavailable",
|
||||
"id": "empty_column.account_unavailable"
|
||||
|
@ -1669,6 +1660,10 @@
|
|||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "Basic",
|
||||
"id": "home.column_settings.basic"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Show boosts",
|
||||
"id": "home.column_settings.show_reblogs"
|
||||
|
@ -2050,14 +2045,6 @@
|
|||
"defaultMessage": "Push notifications",
|
||||
"id": "notifications.column_settings.push"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Basic",
|
||||
"id": "home.column_settings.basic"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Update in real-time",
|
||||
"id": "home.column_settings.update_live"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Quick filter bar",
|
||||
"id": "notifications.column_settings.filter_bar.category"
|
||||
|
@ -2116,10 +2103,6 @@
|
|||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "and {count, plural, one {# other} other {# others}}",
|
||||
"id": "notification.and_n_others"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "{name} followed you",
|
||||
"id": "notification.follow"
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
"confirmations.logout.confirm": "Αποσύνδεση",
|
||||
"confirmations.logout.message": "Σίγουρα θέλεις να αποσυνδεθείς;",
|
||||
"confirmations.mute.confirm": "Αποσιώπηση",
|
||||
"confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
|
||||
"confirmations.mute.explanation": "Αυτό θα κρύψει τις δημοσιεύσεις τους και τις δημοσιεύσεις που τους αναφέρουν, αλλά θα συνεχίσουν να μπορούν να βλέπουν τις δημοσιεύσεις σου και να σε ακολουθούν.",
|
||||
"confirmations.mute.message": "Σίγουρα θες να αποσιωπήσεις {name};",
|
||||
"confirmations.redraft.confirm": "Διαγραφή & ξαναγράψιμο",
|
||||
"confirmations.redraft.message": "Σίγουρα θέλεις να σβήσεις αυτή την κατάσταση και να την ξαναγράψεις; Οι αναφορές και τα αγαπημένα της θα χαθούν ενώ οι απαντήσεις προς αυτή θα μείνουν ορφανές.",
|
||||
|
@ -152,10 +152,10 @@
|
|||
"empty_column.mutes": "Δεν έχεις αποσιωπήσει κανένα χρήστη ακόμα.",
|
||||
"empty_column.notifications": "Δεν έχεις ειδοποιήσεις ακόμα. Αλληλεπίδρασε με άλλους χρήστες για να ξεκινήσεις την κουβέντα.",
|
||||
"empty_column.public": "Δεν υπάρχει τίποτα εδώ! Γράψε κάτι δημόσιο, ή ακολούθησε χειροκίνητα χρήστες από άλλους κόμβους για να τη γεμίσεις",
|
||||
"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.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.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
|
||||
"errors.unexpected_crash.report_issue": "Report issue",
|
||||
"error.unexpected_crash.explanation": "Είτε λόγω λάθους στον κώδικά μας ή λόγω ασυμβατότητας με τον browser, η σελίδα δε μπόρεσε να εμφανιστεί σωστά.",
|
||||
"error.unexpected_crash.next_steps": "Δοκίμασε να ανανεώσεις τη σελίδα. Αν αυτό δε βοηθήσει, ίσως να μπορέσεις να χρησιμοποιήσεις το Mastodon μέσω διαφορετικού browser ή κάποιας εφαρμογής.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Αντιγραφή μηνυμάτων κώδικα στο πρόχειρο",
|
||||
"errors.unexpected_crash.report_issue": "Αναφορά προβλήματος",
|
||||
"federation.change": "Adjust status federation",
|
||||
"federation.federated.long": "Allow toot to reach other instances",
|
||||
"federation.federated.short": "Federated",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Βασικές ρυθμίσεις",
|
||||
"home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων",
|
||||
"home.column_settings.show_replies": "Εμφάνιση απαντήσεων",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# μέρα} other {# μέρες}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ώρα} other {# ώρες}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# λεπτό} other {# λεπτά}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Προτιμήσεις",
|
||||
"navigation_bar.public_timeline": "Ομοσπονδιακή ροή",
|
||||
"navigation_bar.security": "Ασφάλεια",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "Ο/Η {name} σημείωσε ως αγαπημένη την κατάστασή σου",
|
||||
"notification.follow": "Ο/Η {name} σε ακολούθησε",
|
||||
"notification.mention": "Ο/Η {name} σε ανέφερε",
|
||||
|
@ -306,7 +304,7 @@
|
|||
"notifications.group": "{count} ειδοποιήσεις",
|
||||
"poll.closed": "Κλειστή",
|
||||
"poll.refresh": "Ανανέωση",
|
||||
"poll.total_people": "{count, plural, one {# person} other {# people}}",
|
||||
"poll.total_people": "{count, plural, one {# άτομο} other {# άτομα}}",
|
||||
"poll.total_votes": "{count, plural, one {# ψήφος} other {# ψήφοι}}",
|
||||
"poll.vote": "Ψήφισε",
|
||||
"poll.voted": "Ψηφίσατε αυτήν την απάντηση",
|
||||
|
@ -321,7 +319,7 @@
|
|||
"privacy.public.short": "Δημόσιο",
|
||||
"privacy.unlisted.long": "Μην δημοσιεύσεις στις δημόσιες ροές",
|
||||
"privacy.unlisted.short": "Μη καταχωρημένα",
|
||||
"refresh": "Refresh",
|
||||
"refresh": "Ανανέωση",
|
||||
"regeneration_indicator.label": "Φορτώνει…",
|
||||
"regeneration_indicator.sublabel": "Η αρχική σου ροή ετοιμάζεται!",
|
||||
"relative_time.days": "{number}η",
|
||||
|
|
|
@ -184,7 +184,6 @@
|
|||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -278,7 +277,6 @@
|
|||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Bazaj agordoj",
|
||||
"home.column_settings.show_reblogs": "Montri diskonigojn",
|
||||
"home.column_settings.show_replies": "Montri respondojn",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}",
|
||||
"intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferoj",
|
||||
"navigation_bar.public_timeline": "Fratara tempolinio",
|
||||
"navigation_bar.security": "Sekureco",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} stelumis vian mesaĝon",
|
||||
"notification.follow": "{name} eksekvis vin",
|
||||
"notification.mention": "{name} menciis vin",
|
||||
|
@ -306,7 +304,7 @@
|
|||
"notifications.group": "{count} sciigoj",
|
||||
"poll.closed": "Finita",
|
||||
"poll.refresh": "Aktualigi",
|
||||
"poll.total_people": "{count, plural, one {# person} other {# people}}",
|
||||
"poll.total_people": "{count, plural, one {# homo} other {# homoj}}",
|
||||
"poll.total_votes": "{count, plural, one {# voĉdono} other {# voĉdonoj}}",
|
||||
"poll.vote": "Voĉdoni",
|
||||
"poll.voted": "Vi elektis por ĉi tiu respondo",
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
"confirmations.mute.explanation": "Esto ocultará mensajes de ellos y mensajes que los mencionen, pero todavía les permitirá ver tus mensajes o seguirte.",
|
||||
"confirmations.mute.message": "¿Estás seguro que querés silenciar a {name}?",
|
||||
"confirmations.redraft.confirm": "Eliminar toot original y editarlo",
|
||||
"confirmations.redraft.message": "¿Estás seguro que querés eliminar este estado y volverlo a editarlo? Se perderán las veces marcadas como favoritos y los retoots, y las respuestas a la publicación original quedarán huérfanas.",
|
||||
"confirmations.redraft.message": "¿Estás seguro que querés eliminar este estado y volver a editarlo? Se perderán las veces marcadas como favoritos y los retoots, y las respuestas a la publicación original quedarán huérfanas.",
|
||||
"confirmations.reply.confirm": "Responder",
|
||||
"confirmations.reply.message": "Responder ahora sobreescribirá el mensaje que estás redactando actualmente. ¿Estás seguro que querés seguir?",
|
||||
"confirmations.unfollow.confirm": "Dejar de seguir",
|
||||
|
@ -178,7 +178,6 @@
|
|||
"home.column_settings.basic": "Básico",
|
||||
"home.column_settings.show_reblogs": "Mostrar retoots",
|
||||
"home.column_settings.show_replies": "Mostrar respuestas",
|
||||
"home.column_settings.update_live": "Actualizar en tiempo real",
|
||||
"intervals.full.days": "{number, plural, one {# día} other {# días}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
||||
|
@ -272,7 +271,6 @@
|
|||
"navigation_bar.preferences": "Configuración",
|
||||
"navigation_bar.public_timeline": "Línea temporal federada",
|
||||
"navigation_bar.security": "Seguridad",
|
||||
"notification.and_n_others": "y {count, plural, one {otro} other {otros #}}",
|
||||
"notification.favourite": "{name} marcó tu estado como favorito",
|
||||
"notification.follow": "{name} te empezó a seguir",
|
||||
"notification.mention": "{name} te mencionó",
|
||||
|
@ -308,13 +306,13 @@
|
|||
"poll_button.add_poll": "Agregar una encuesta",
|
||||
"poll_button.remove_poll": "Quitar encuesta",
|
||||
"privacy.change": "Configurar privacidad de estado",
|
||||
"privacy.direct.long": "Enviar entrada sólo a los usuarios mencionados",
|
||||
"privacy.direct.long": "Enviar toot sólo a los usuarios mencionados",
|
||||
"privacy.direct.short": "Directo",
|
||||
"privacy.private.long": "Enviar entrada sólo a los seguidores",
|
||||
"privacy.private.long": "Enviar toot sólo a los seguidores",
|
||||
"privacy.private.short": "Sólo a seguidores",
|
||||
"privacy.public.long": "Enviar entrada a las líneas temporales públicas",
|
||||
"privacy.public.long": "Enviar toot a las líneas temporales públicas",
|
||||
"privacy.public.short": "Público",
|
||||
"privacy.unlisted.long": "No enviar entrada a las líneas temporales públicas",
|
||||
"privacy.unlisted.long": "No enviar toot a las líneas temporales públicas",
|
||||
"privacy.unlisted.short": "No listado",
|
||||
"refresh": "Refrescar",
|
||||
"regeneration_indicator.label": "Cargando…",
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
"confirmations.logout.confirm": "Cerrar sesión",
|
||||
"confirmations.logout.message": "¿Estás seguro de querer cerrar la sesión?",
|
||||
"confirmations.mute.confirm": "Silenciar",
|
||||
"confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
|
||||
"confirmations.mute.explanation": "Esto esconderá las publicaciones de ellos y en las que los has mencionado, pero les permitirá ver tus mensajes y seguirte.",
|
||||
"confirmations.mute.message": "¿Estás seguro de que quieres silenciar a {name}?",
|
||||
"confirmations.redraft.confirm": "Borrar y volver a borrador",
|
||||
"confirmations.redraft.message": "Estás seguro de que quieres borrar este estado y volverlo a borrador? Perderás todas las respuestas, impulsos y favoritos asociados a él, y las respuestas a la publicación original quedarán huérfanos.",
|
||||
|
@ -152,10 +152,10 @@
|
|||
"empty_column.mutes": "Aún no has silenciado a ningún usuario.",
|
||||
"empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.",
|
||||
"empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo",
|
||||
"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.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.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
|
||||
"errors.unexpected_crash.report_issue": "Report issue",
|
||||
"error.unexpected_crash.explanation": "Debido a un error en nuestro código o a un problema de compatibilidad con el navegador, esta página no se ha podido mostrar correctamente.",
|
||||
"error.unexpected_crash.next_steps": "Intenta actualizar la página. Si eso no ayuda, es posible que puedas usar Mastodon a través de otro navegador o aplicación nativa.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copiar el seguimiento de pila en el portapapeles",
|
||||
"errors.unexpected_crash.report_issue": "Informar de un problema/error",
|
||||
"federation.change": "Adjust status federation",
|
||||
"federation.federated.long": "Allow toot to reach other instances",
|
||||
"federation.federated.short": "Federated",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Básico",
|
||||
"home.column_settings.show_reblogs": "Mostrar retoots",
|
||||
"home.column_settings.show_replies": "Mostrar respuestas",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# día} other {# días}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferencias",
|
||||
"navigation_bar.public_timeline": "Historia federada",
|
||||
"navigation_bar.security": "Seguridad",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} marcó tu estado como favorito",
|
||||
"notification.follow": "{name} te empezó a seguir",
|
||||
"notification.mention": "{name} te ha mencionado",
|
||||
|
@ -309,7 +307,7 @@
|
|||
"poll.total_people": "{count, plural, one {# person} other {# people}}",
|
||||
"poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
|
||||
"poll.vote": "Votar",
|
||||
"poll.voted": "You voted for this answer",
|
||||
"poll.voted": "Has votado a favor de esta respuesta",
|
||||
"poll_button.add_poll": "Añadir una encuesta",
|
||||
"poll_button.remove_poll": "Eliminar encuesta",
|
||||
"privacy.change": "Ajustar privacidad",
|
||||
|
@ -321,7 +319,7 @@
|
|||
"privacy.public.short": "Público",
|
||||
"privacy.unlisted.long": "No mostrar en la historia federada",
|
||||
"privacy.unlisted.short": "No listado",
|
||||
"refresh": "Refresh",
|
||||
"refresh": "Actualizar",
|
||||
"regeneration_indicator.label": "Cargando…",
|
||||
"regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!",
|
||||
"relative_time.days": "{number}d",
|
||||
|
|
|
@ -178,7 +178,6 @@
|
|||
"home.column_settings.basic": "Peamine",
|
||||
"home.column_settings.show_reblogs": "Näita upitusi",
|
||||
"home.column_settings.show_replies": "Näita vastuseid",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# päev} other {# päevad}}",
|
||||
"intervals.full.hours": "{number, plural, one {# tund} other {# tundi}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minut} other {# minutit}}",
|
||||
|
@ -272,7 +271,6 @@
|
|||
"navigation_bar.preferences": "Eelistused",
|
||||
"navigation_bar.public_timeline": "Föderatiivne ajajoon",
|
||||
"navigation_bar.security": "Turvalisus",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} märkis su staatuse lemmikuks",
|
||||
"notification.follow": "{name} jälgib sind",
|
||||
"notification.mention": "{name} mainis sind",
|
||||
|
|
|
@ -21,13 +21,13 @@
|
|||
"account.locked_info": "Kontu honen pribatutasun egoera blokeatuta gisa ezarri da. Jabeak eskuz erabakitzen du nork jarraitu diezaioken.",
|
||||
"account.media": "Multimedia",
|
||||
"account.mention": "Aipatu @{name}",
|
||||
"account.moved_to": "{name} hona lekualdatu da:",
|
||||
"account.moved_to": "{name} hona migratu da:",
|
||||
"account.mute": "Mututu @{name}",
|
||||
"account.mute_notifications": "Mututu @{name}(r)en jakinarazpenak",
|
||||
"account.muted": "Mutututa",
|
||||
"account.never_active": "Inoiz ez",
|
||||
"account.posts": "Toot",
|
||||
"account.posts_with_replies": "Toot eta erantzunak",
|
||||
"account.posts": "Tootak",
|
||||
"account.posts_with_replies": "Toot-ak eta erantzunak",
|
||||
"account.report": "Salatu @{name}",
|
||||
"account.requested": "Onarpenaren zain. Klikatu jarraitzeko eskaera ezeztatzeko",
|
||||
"account.share": "@{name}(e)ren profila elkarbanatu",
|
||||
|
@ -38,7 +38,7 @@
|
|||
"account.unfollow": "Utzi jarraitzeari",
|
||||
"account.unmute": "Desmututu @{name}",
|
||||
"account.unmute_notifications": "Desmututu @{name}(r)en jakinarazpenak",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.message": "Saiatu {retry_time, time, medium} barru.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Ustekabeko errore bat gertatu da.",
|
||||
"alert.unexpected.title": "Ene!",
|
||||
|
@ -61,7 +61,7 @@
|
|||
"column.lists": "Zerrendak",
|
||||
"column.mutes": "Mutututako erabiltzaileak",
|
||||
"column.notifications": "Jakinarazpenak",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.pins": "Finkatutako toot-ak",
|
||||
"column.public": "Federatutako denbora-lerroa",
|
||||
"column_back_button.label": "Atzera",
|
||||
"column_header.hide_settings": "Ezkutatu ezarpenak",
|
||||
|
@ -103,7 +103,7 @@
|
|||
"confirmations.logout.confirm": "Amaitu saioa",
|
||||
"confirmations.logout.message": "Ziur saioa amaitu nahi duzula?",
|
||||
"confirmations.mute.confirm": "Mututu",
|
||||
"confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
|
||||
"confirmations.mute.explanation": "Honek horko mezuak eta aipamena egiten dietenak ezkutatuko ditu, baina beraiek zure mezuak ikusi ahal izango dituzte eta zuri jarraitu.",
|
||||
"confirmations.mute.message": "Ziur {name} mututu nahi duzula?",
|
||||
"confirmations.redraft.confirm": "Ezabatu eta berridatzi",
|
||||
"confirmations.redraft.message": "Ziur mezu hau ezabatu eta berridatzi nahi duzula? Gogokoak eta bultzadak galduko dira eta jaso dituen erantzunak umezurtz geratuko dira.",
|
||||
|
@ -111,10 +111,10 @@
|
|||
"confirmations.reply.message": "Orain erantzuteak idazten ari zaren mezua gainidatziko du. Ziur jarraitu nahi duzula?",
|
||||
"confirmations.unfollow.confirm": "Utzi jarraitzeari",
|
||||
"confirmations.unfollow.message": "Ziur {name} jarraitzeari utzi nahi diozula?",
|
||||
"conversation.delete": "Delete conversation",
|
||||
"conversation.mark_as_read": "Mark as read",
|
||||
"conversation.open": "View conversation",
|
||||
"conversation.with": "With {names}",
|
||||
"conversation.delete": "Ezabatu elkarrizketa",
|
||||
"conversation.mark_as_read": "Markatu irakurrita bezala",
|
||||
"conversation.open": "Ikusi elkarrizketa",
|
||||
"conversation.with": "Hauekin: {names}",
|
||||
"directory.federated": "Fedibertso ezagunekoak",
|
||||
"directory.local": "{domain} domeinukoak soilik",
|
||||
"directory.new_arrivals": "Iritsi berriak",
|
||||
|
@ -152,10 +152,10 @@
|
|||
"empty_column.mutes": "Ez duzu erabiltzailerik mututu oraindik.",
|
||||
"empty_column.notifications": "Ez duzu jakinarazpenik oraindik. Jarri besteekin harremanetan elkarrizketa abiatzeko.",
|
||||
"empty_column.public": "Ez dago ezer hemen! Idatzi zerbait publikoki edo jarraitu eskuz beste zerbitzari batzuetako erabiltzaileak hau betetzen joateko",
|
||||
"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.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.explanation": "Gure kodean arazoren bat dela eta, edo nabigatzailearekin bateragarritasun arazoren bat dela eta, orri hau ezin izan da ongi bistaratu.",
|
||||
"error.unexpected_crash.next_steps": "Saiatu orria berritzen. Horrek ez badu laguntzen, agian Mastodon erabiltzeko aukera duzu oraindik ere beste nabigatzaile bat edo aplikazio natibo bat erabilita.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
|
||||
"errors.unexpected_crash.report_issue": "Report issue",
|
||||
"errors.unexpected_crash.report_issue": "Eman arazoaren berri",
|
||||
"federation.change": "Adjust status federation",
|
||||
"federation.federated.long": "Allow toot to reach other instances",
|
||||
"federation.federated.short": "Federated",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Oinarrizkoa",
|
||||
"home.column_settings.show_reblogs": "Erakutsi bultzadak",
|
||||
"home.column_settings.show_replies": "Erakutsi erantzunak",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {egun #} other {# egun}}",
|
||||
"intervals.full.hours": "{number, plural, one {ordu #} other {# ordu}}",
|
||||
"intervals.full.minutes": "{number, plural, one {minutu #} other {# minutu}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Hobespenak",
|
||||
"navigation_bar.public_timeline": "Federatutako denbora-lerroa",
|
||||
"navigation_bar.security": "Segurtasuna",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name}(e)k zure mezua gogoko du",
|
||||
"notification.follow": "{name}(e)k jarraitzen zaitu",
|
||||
"notification.mention": "{name}(e)k aipatu zaitu",
|
||||
|
@ -306,10 +304,10 @@
|
|||
"notifications.group": "{count} jakinarazpen",
|
||||
"poll.closed": "Itxita",
|
||||
"poll.refresh": "Berritu",
|
||||
"poll.total_people": "{count, plural, one {# person} other {# people}}",
|
||||
"poll.total_people": "{count, plural, one {pertsona #} other {# pertsona}}",
|
||||
"poll.total_votes": "{count, plural, one {boto #} other {# boto}}",
|
||||
"poll.vote": "Bozkatu",
|
||||
"poll.voted": "You voted for this answer",
|
||||
"poll.voted": "Erantzun honi eman diozu botoa",
|
||||
"poll_button.add_poll": "Gehitu inkesta bat",
|
||||
"poll_button.remove_poll": "Kendu inkesta",
|
||||
"privacy.change": "Doitu mezuaren pribatutasuna",
|
||||
|
@ -321,7 +319,7 @@
|
|||
"privacy.public.short": "Publikoa",
|
||||
"privacy.unlisted.long": "Do not show in public timelines",
|
||||
"privacy.unlisted.short": "Zerrendatu gabea",
|
||||
"refresh": "Refresh",
|
||||
"refresh": "Berritu",
|
||||
"regeneration_indicator.label": "Kargatzen…",
|
||||
"regeneration_indicator.sublabel": "Zure hasiera-jarioa prestatzen ari da!",
|
||||
"relative_time.days": "{number}e",
|
||||
|
@ -416,7 +414,7 @@
|
|||
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
|
||||
"upload_modal.detect_text": "Antzeman irudiko testua",
|
||||
"upload_modal.edit_media": "Editatu multimedia",
|
||||
"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": "Sakatu eta jaregin aurrebistako zirkulua iruditxoetan beti ikusgai egongo den puntu fokala hautatzeko.",
|
||||
"upload_modal.preview_label": "Aurreikusi({ratio})",
|
||||
"upload_progress.label": "Igotzen...",
|
||||
"video.close": "Itxi bideoa",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "اصلی",
|
||||
"home.column_settings.show_reblogs": "نمایش بازبوقها",
|
||||
"home.column_settings.show_replies": "نمایش پاسخها",
|
||||
"home.column_settings.update_live": "بهروزرسانی لحظهای",
|
||||
"intervals.full.days": "{number, plural, one {# روز} other {# روز}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ساعت} other {# ساعت}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "ترجیحات",
|
||||
"navigation_bar.public_timeline": "نوشتههای همهجا",
|
||||
"navigation_bar.security": "امنیت",
|
||||
"notification.and_n_others": "و {count, plural, one {# اعلان دیگر} other {# اعلان دیگر}}",
|
||||
"notification.favourite": "{name} نوشتهٔ شما را پسندید",
|
||||
"notification.follow": "{name} پیگیر شما شد",
|
||||
"notification.mention": "{name} از شما نام برد",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Perusasetukset",
|
||||
"home.column_settings.show_reblogs": "Näytä buustaukset",
|
||||
"home.column_settings.show_replies": "Näytä vastaukset",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "Päivä päiviä",
|
||||
"intervals.full.hours": "Tunti tunteja",
|
||||
"intervals.full.minutes": "Minuuti minuuteja",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Asetukset",
|
||||
"navigation_bar.public_timeline": "Yleinen aikajana",
|
||||
"navigation_bar.security": "Tunnukset",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} tykkäsi tilastasi",
|
||||
"notification.follow": "{name} seurasi sinua",
|
||||
"notification.mention": "{name} mainitsi sinut",
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"account.direct": "Envoyer un message direct à @{name}",
|
||||
"account.domain_blocked": "Domaine caché",
|
||||
"account.edit_profile": "Modifier le profil",
|
||||
"account.endorse": "Mettre en avant sur le profil",
|
||||
"account.endorse": "Recommander sur le profil",
|
||||
"account.follow": "Suivre",
|
||||
"account.followers": "Abonné⋅e⋅s",
|
||||
"account.followers.empty": "Personne ne suit cet utilisateur·rice pour l’instant.",
|
||||
|
@ -34,7 +34,7 @@
|
|||
"account.show_reblogs": "Afficher les partages de @{name}",
|
||||
"account.unblock": "Débloquer @{name}",
|
||||
"account.unblock_domain": "Ne plus masquer {domain}",
|
||||
"account.unendorse": "Ne pas mettre en avant sur le profil",
|
||||
"account.unendorse": "Ne plus recommander sur le profil",
|
||||
"account.unfollow": "Ne plus suivre",
|
||||
"account.unmute": "Ne plus masquer @{name}",
|
||||
"account.unmute_notifications": "Réactiver les notifications de @{name}",
|
||||
|
@ -73,8 +73,8 @@
|
|||
"column_subheading.settings": "Paramètres",
|
||||
"community.column_settings.media_only": "Média uniquement",
|
||||
"compose_form.direct_message_warning": "Ce pouet sera uniquement envoyé aux personnes mentionnées. Cependant, l’administration de votre instance et des instances réceptrices pourront inspecter ce message.",
|
||||
"compose_form.direct_message_warning_learn_more": "Plus d'informations",
|
||||
"compose_form.hashtag_warning": "Ce pouet ne sera pas listé dans les recherches par mot-clé car sa visibilité est réglée sur \"non listé\". Seuls les pouets avec une visibilité \"publique\" peuvent être recherchés par mot-clé.",
|
||||
"compose_form.direct_message_warning_learn_more": "Plus d’informations",
|
||||
"compose_form.hashtag_warning": "Ce pouet ne sera pas listé dans les recherches par hashtag car sa visibilité est réglée sur \"non listé\". Seuls les pouets avec une visibilité \"publique\" peuvent être recherchés par hashtag.",
|
||||
"compose_form.lock_disclaimer": "Votre compte n’est pas {locked}. Tout le monde peut vous suivre et voir vos pouets privés.",
|
||||
"compose_form.lock_disclaimer.lock": "verrouillé",
|
||||
"compose_form.placeholder": "Qu’avez-vous en tête ?",
|
||||
|
@ -86,7 +86,7 @@
|
|||
"compose_form.publish_loud": "{publish} !",
|
||||
"compose_form.sensitive.hide": "Marquer le média comme sensible",
|
||||
"compose_form.sensitive.marked": "Média marqué comme sensible",
|
||||
"compose_form.sensitive.unmarked": "Le média n'est pas marqué comme sensible",
|
||||
"compose_form.sensitive.unmarked": "Le média n’est pas marqué comme sensible",
|
||||
"compose_form.spoiler.marked": "Le texte est caché derrière un avertissement",
|
||||
"compose_form.spoiler.unmarked": "Le texte n’est pas caché",
|
||||
"compose_form.spoiler_placeholder": "Écrivez ici votre avertissement",
|
||||
|
@ -108,28 +108,28 @@
|
|||
"confirmations.redraft.confirm": "Effacer et ré-écrire",
|
||||
"confirmations.redraft.message": "Êtes-vous sûr·e de vouloir effacer ce statut pour le ré-écrire ? Ses partages ainsi que ses mises en favori seront perdu·e·s et ses réponses seront orphelines.",
|
||||
"confirmations.reply.confirm": "Répondre",
|
||||
"confirmations.reply.message": "Répondre maintenant écrasera le message que vous êtes en train de composer. Voulez-vous vraiment continuer ?",
|
||||
"confirmations.reply.message": "Répondre maintenant écrasera le message que vous composez actuellement. Êtes-vous sûr de vouloir continuer ?",
|
||||
"confirmations.unfollow.confirm": "Ne plus suivre",
|
||||
"confirmations.unfollow.message": "Voulez-vous arrêter de suivre {name} ?",
|
||||
"conversation.delete": "Supprimer la conversation",
|
||||
"conversation.mark_as_read": "Marquer comme lu",
|
||||
"conversation.open": "Afficher la conversation",
|
||||
"conversation.with": "Avec {names}",
|
||||
"directory.federated": "De la fédiverse connue",
|
||||
"directory.federated": "Du fédiverse connu",
|
||||
"directory.local": "De {domain} seulement",
|
||||
"directory.new_arrivals": "Nouveaux arrivants",
|
||||
"directory.recently_active": "Récemment actif",
|
||||
"embed.instructions": "Intégrez ce statut à votre site en copiant le code ci-dessous.",
|
||||
"embed.preview": "Il apparaîtra comme cela :",
|
||||
"emoji_button.activity": "Activités",
|
||||
"emoji_button.custom": "Personnalisés",
|
||||
"emoji_button.custom": "Personnalisé",
|
||||
"emoji_button.flags": "Drapeaux",
|
||||
"emoji_button.food": "Nourriture & Boisson",
|
||||
"emoji_button.label": "Insérer un émoji",
|
||||
"emoji_button.nature": "Nature",
|
||||
"emoji_button.not_found": "Pas d’émoji !! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "Objets",
|
||||
"emoji_button.people": "Personnages",
|
||||
"emoji_button.people": "Personnes",
|
||||
"emoji_button.recent": "Fréquemment utilisés",
|
||||
"emoji_button.search": "Recherche…",
|
||||
"emoji_button.search_results": "Résultats de la recherche",
|
||||
|
@ -149,12 +149,12 @@
|
|||
"empty_column.home.public_timeline": "le fil public",
|
||||
"empty_column.list": "Il n’y a rien dans cette liste pour l’instant. Dès que des personnes de cette liste publieront de nouveaux statuts, ils apparaîtront ici.",
|
||||
"empty_column.lists": "Vous n’avez pas encore de liste. Lorsque vous en créerez une, elle apparaîtra ici.",
|
||||
"empty_column.mutes": "Vous n’avez pas encore mis d'utilisateur·rice·s en silence.",
|
||||
"empty_column.mutes": "Vous n’avez pas encore mis d’utilisateur·rice·s en silence.",
|
||||
"empty_column.notifications": "Vous n’avez pas encore de notification. Interagissez avec d’autres personnes pour débuter la conversation.",
|
||||
"empty_column.public": "Il n’y a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des personnes d’autres instances pour le remplir",
|
||||
"error.unexpected_crash.explanation": "En raison d’un bug dans notre code ou d’un problème de compatibilité avec le navigateur, cette page n’a pas pu être affichée correctement.",
|
||||
"error.unexpected_crash.next_steps": "Essayez de rafraîchir la page. Si cela n’aide pas, vous pouvez toujours utiliser Mastodon via un autre navigateur ou une application native.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copier la trace de pile dans le presse-papier",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copier la trace-pile dans le presse-papier",
|
||||
"errors.unexpected_crash.report_issue": "Signaler un bogue",
|
||||
"federation.change": "Adjust status federation",
|
||||
"federation.federated.long": "Allow toot to reach other instances",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Base",
|
||||
"home.column_settings.show_reblogs": "Afficher les partages",
|
||||
"home.column_settings.show_replies": "Afficher les réponses",
|
||||
"home.column_settings.update_live": "Mise à jour en temps réel",
|
||||
"intervals.full.days": "{number, plural, one {# jour} other {# jours}}",
|
||||
"intervals.full.hours": "{number, plural, one {# heure} other {# heures}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -249,7 +248,7 @@
|
|||
"lists.new.title_placeholder": "Titre de la nouvelle liste",
|
||||
"lists.search": "Rechercher parmi les gens que vous suivez",
|
||||
"lists.subheading": "Vos listes",
|
||||
"load_pending": "{count, plural, one {# nouvel item} other {# nouveaux items}}",
|
||||
"load_pending": "{count, plural, one {# nouvel élément} other {# nouveaux éléments}}",
|
||||
"loading_indicator.label": "Chargement…",
|
||||
"media_gallery.toggle_visible": "Modifier la visibilité",
|
||||
"missing_indicator.label": "Non trouvé",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Préférences",
|
||||
"navigation_bar.public_timeline": "Fil public global",
|
||||
"navigation_bar.security": "Sécurité",
|
||||
"notification.and_n_others": "et {count, plural, one {# autre} other {# autres}}",
|
||||
"notification.favourite": "{name} a ajouté à ses favoris :",
|
||||
"notification.follow": "{name} vous suit",
|
||||
"notification.mention": "{name} vous a mentionné :",
|
||||
|
|
|
@ -178,7 +178,6 @@
|
|||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -272,7 +271,6 @@
|
|||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
"confirmations.logout.confirm": "Desconectar",
|
||||
"confirmations.logout.message": "Seguro que desexa desconectar?",
|
||||
"confirmations.mute.confirm": "Acalar",
|
||||
"confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
|
||||
"confirmations.mute.explanation": "Esto ocultará as publicacións delas e as que as mencionen, pero poderán seguir lendo as túas publicacións e seguirte.",
|
||||
"confirmations.mute.message": "Está segura de que quere acalar a {name}?",
|
||||
"confirmations.redraft.confirm": "Eliminar e reescribir",
|
||||
"confirmations.redraft.message": "Está segura de querer eliminar este estado e voltalo a escribir? Perderá réplicas e favoritas, e as respostas ao orixinal quedarán orfas.",
|
||||
|
@ -152,10 +152,10 @@
|
|||
"empty_column.mutes": "Non acalou ningunha usuaria polo de agora.",
|
||||
"empty_column.notifications": "Aínda non ten notificacións. Interactúe con outras para iniciar unha conversa.",
|
||||
"empty_column.public": "Nada por aquí! Escriba algo de xeito público, ou siga manualmente usuarias de outros servidores para ir enchéndoa",
|
||||
"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.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.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
|
||||
"errors.unexpected_crash.report_issue": "Report issue",
|
||||
"error.unexpected_crash.explanation": "Non se mostra correctamente a páxina debido a un fallo no código ou problema de compatibilidade do navegador.",
|
||||
"error.unexpected_crash.next_steps": "Intenta actualizar a páxina. Se esto non axuda podes tamén utilizar Mastodon en outro navegador ou app nativa.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copiar trazas ao portaretallos",
|
||||
"errors.unexpected_crash.report_issue": "Informar de problema",
|
||||
"federation.change": "Adjust status federation",
|
||||
"federation.federated.long": "Allow toot to reach other instances",
|
||||
"federation.federated.short": "Federated",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Básico",
|
||||
"home.column_settings.show_reblogs": "Mostrar repeticións",
|
||||
"home.column_settings.show_replies": "Mostrar respostas",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural,one {# día} other {# días}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferencias",
|
||||
"navigation_bar.public_timeline": "Liña temporal federada",
|
||||
"navigation_bar.security": "Seguridade",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} marcou como favorito o seu estado",
|
||||
"notification.follow": "{name} está a seguila",
|
||||
"notification.mention": "{name} mencionoute",
|
||||
|
@ -306,7 +304,7 @@
|
|||
"notifications.group": "{count} notificacións",
|
||||
"poll.closed": "Pechado",
|
||||
"poll.refresh": "Actualizar",
|
||||
"poll.total_people": "{count, plural, one {# person} other {# people}}",
|
||||
"poll.total_people": "{count, plural,one {# persoa}other {# persoas}}",
|
||||
"poll.total_votes": "{count, plural, one {# voto} outros {# votos}}",
|
||||
"poll.vote": "Votar",
|
||||
"poll.voted": "Votou por esta opción",
|
||||
|
@ -321,7 +319,7 @@
|
|||
"privacy.public.short": "Pública",
|
||||
"privacy.unlisted.long": "Non publicar en liñas temporais públicas",
|
||||
"privacy.unlisted.short": "Non listada",
|
||||
"refresh": "Refresh",
|
||||
"refresh": "Actualizar",
|
||||
"regeneration_indicator.label": "Cargando…",
|
||||
"regeneration_indicator.sublabel": "Estase a preparar a súa liña temporal de inicio!",
|
||||
"relative_time.days": "{number}d",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "למתחילים",
|
||||
"home.column_settings.show_reblogs": "הצגת הדהודים",
|
||||
"home.column_settings.show_replies": "הצגת תגובות",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "העדפות",
|
||||
"navigation_bar.public_timeline": "ציר זמן בין-קהילתי",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "חצרוצך חובב על ידי {name}",
|
||||
"notification.follow": "{name} במעקב אחרייך",
|
||||
"notification.mention": "אוזכרת על ידי {name}",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Osnovno",
|
||||
"home.column_settings.show_reblogs": "Pokaži boostove",
|
||||
"home.column_settings.show_replies": "Pokaži odgovore",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Postavke",
|
||||
"navigation_bar.public_timeline": "Federalni timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} je lajkao tvoj status",
|
||||
"notification.follow": "{name} te sada slijedi",
|
||||
"notification.mention": "{name} te je spomenuo",
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
"confirmations.logout.confirm": "Kijelentkezés",
|
||||
"confirmations.logout.message": "Biztosan ki akar jelentkezni?",
|
||||
"confirmations.mute.confirm": "Némítás",
|
||||
"confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
|
||||
"confirmations.mute.explanation": "Ez elrejti a tőlük érkező posztokat, valamint az őket megemlítőket, de ők továbbra is láthatják a te posztjaidat és követhetnek is téged.",
|
||||
"confirmations.mute.message": "Biztos, hogy némítani szeretnéd {name}?",
|
||||
"confirmations.redraft.confirm": "Törlés és újraírás",
|
||||
"confirmations.redraft.message": "Biztos, hogy ezt a tülköt szeretnéd törölni és újraírni? Minden megtolást és kedvencnek jelölést elvesztesz, az eredetire adott válaszok pedig elárvulnak.",
|
||||
|
@ -152,10 +152,10 @@
|
|||
"empty_column.mutes": "Még egy felhasználót sem némítottál le.",
|
||||
"empty_column.notifications": "Jelenleg nincsenek értesítéseid. Lépj kapcsolatba másokkal, hogy elindítsd a beszélgetést.",
|
||||
"empty_column.public": "Jelenleg itt nincs semmi! Írj valamit nyilvánosan vagy kövess más szervereken levő felhasználókat, hogy megtöltsd",
|
||||
"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.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.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
|
||||
"errors.unexpected_crash.report_issue": "Report issue",
|
||||
"error.unexpected_crash.explanation": "Egy hiba vagy böngésző inkompatibilitás miatt ez az oldal nem jeleníthető meg rendesen.",
|
||||
"error.unexpected_crash.next_steps": "Próbáld frissíteni az oldalt. Ha ez nem segít, egy másik böngészőn vagy appon keresztül még mindig használhatod a Mastodont.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Stacktrace vágólapra másolása",
|
||||
"errors.unexpected_crash.report_issue": "Probléma bejelentése",
|
||||
"federation.change": "Adjust status federation",
|
||||
"federation.federated.long": "Allow toot to reach other instances",
|
||||
"federation.federated.short": "Federated",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Alapértelmezések",
|
||||
"home.column_settings.show_reblogs": "Megtolások mutatása",
|
||||
"home.column_settings.show_replies": "Válaszok mutatása",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# nap} other {# nap}}",
|
||||
"intervals.full.hours": "{number, plural, one {# óra} other {# óra}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# perc} other {# perc}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Beállítások",
|
||||
"navigation_bar.public_timeline": "Föderációs idővonal",
|
||||
"navigation_bar.security": "Biztonság",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} kedvencnek jelölte egy tülködet",
|
||||
"notification.follow": "{name} követ téged",
|
||||
"notification.mention": "{name} megemlített",
|
||||
|
@ -306,10 +304,10 @@
|
|||
"notifications.group": "{count} értesítés",
|
||||
"poll.closed": "Lezárva",
|
||||
"poll.refresh": "Frissítés",
|
||||
"poll.total_people": "{count, plural, one {# person} other {# people}}",
|
||||
"poll.total_people": "{count, plural, one {# személy} other {# személy}}",
|
||||
"poll.total_votes": "{count, plural, one {# szavazat} other {# szavazat}}",
|
||||
"poll.vote": "Szavazás",
|
||||
"poll.voted": "You voted for this answer",
|
||||
"poll.voted": "Erre a válaszra szavaztál",
|
||||
"poll_button.add_poll": "Új szavazás",
|
||||
"poll_button.remove_poll": "Szavazás törlése",
|
||||
"privacy.change": "Tülk láthatóságának módosítása",
|
||||
|
@ -321,7 +319,7 @@
|
|||
"privacy.public.short": "Nyilvános",
|
||||
"privacy.unlisted.long": "Ne mutassuk nyilvános idővonalon",
|
||||
"privacy.unlisted.short": "Listázatlan",
|
||||
"refresh": "Refresh",
|
||||
"refresh": "Frissítés",
|
||||
"regeneration_indicator.label": "Töltődik…",
|
||||
"regeneration_indicator.sublabel": "A saját idővonalad épp készül!",
|
||||
"relative_time.days": "{number}nap",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Հիմնական",
|
||||
"home.column_settings.show_reblogs": "Ցուցադրել տարածածները",
|
||||
"home.column_settings.show_replies": "Ցուցադրել պատասխանները",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Նախապատվություններ",
|
||||
"navigation_bar.public_timeline": "Դաշնային հոսք",
|
||||
"navigation_bar.security": "Անվտանգություն",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} հավանեց թութդ",
|
||||
"notification.follow": "{name} սկսեց հետեւել քեզ",
|
||||
"notification.mention": "{name} նշեց քեզ",
|
||||
|
|
|
@ -117,7 +117,7 @@
|
|||
"conversation.with": "Dengan {names}",
|
||||
"directory.federated": "Dari fediverse yang dikenal",
|
||||
"directory.local": "Dari {domain} saja",
|
||||
"directory.new_arrivals": "New arrivals",
|
||||
"directory.new_arrivals": "Yang baru datang",
|
||||
"directory.recently_active": "Baru-baru ini aktif",
|
||||
"embed.instructions": "Sematkan status ini di website anda dengan menyalin kode di bawah ini.",
|
||||
"embed.preview": "Seperti ini nantinya:",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Dasar",
|
||||
"home.column_settings.show_reblogs": "Tampilkan boost",
|
||||
"home.column_settings.show_replies": "Tampilkan balasan",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, other {# hari}}",
|
||||
"intervals.full.hours": "{number, plural, other {# jam}}",
|
||||
"intervals.full.minutes": "{number, plural, other {# menit}}",
|
||||
|
@ -237,75 +236,74 @@
|
|||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "to move up in the list",
|
||||
"lightbox.close": "Tutup",
|
||||
"lightbox.next": "Next",
|
||||
"lightbox.previous": "Previous",
|
||||
"lightbox.view_context": "View context",
|
||||
"lists.account.add": "Add to list",
|
||||
"lists.account.remove": "Remove from list",
|
||||
"lists.delete": "Delete list",
|
||||
"lists.edit": "Edit list",
|
||||
"lists.edit.submit": "Change title",
|
||||
"lists.new.create": "Add list",
|
||||
"lists.new.title_placeholder": "New list title",
|
||||
"lists.search": "Search among people you follow",
|
||||
"lists.subheading": "Your lists",
|
||||
"lightbox.next": "Selanjutnya",
|
||||
"lightbox.previous": "Sebelumnya",
|
||||
"lightbox.view_context": "Lihat konteks",
|
||||
"lists.account.add": "Tambah ke daftar",
|
||||
"lists.account.remove": "Hapus dari daftar",
|
||||
"lists.delete": "Hapus daftar",
|
||||
"lists.edit": "Sunting daftar",
|
||||
"lists.edit.submit": "Ubah judul",
|
||||
"lists.new.create": "Tambah daftar",
|
||||
"lists.new.title_placeholder": "Judul daftar baru",
|
||||
"lists.search": "Cari di antara orang yang Anda ikuti",
|
||||
"lists.subheading": "Daftar Anda",
|
||||
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
||||
"loading_indicator.label": "Tunggu sebentar...",
|
||||
"media_gallery.toggle_visible": "Tampil/Sembunyikan",
|
||||
"missing_indicator.label": "Tidak ditemukan",
|
||||
"missing_indicator.sublabel": "This resource could not be found",
|
||||
"mute_modal.hide_notifications": "Hide notifications from this user?",
|
||||
"navigation_bar.apps": "Mobile apps",
|
||||
"missing_indicator.sublabel": "Sumber daya tak bisa ditemukan",
|
||||
"mute_modal.hide_notifications": "Sembunyikan notifikasi dari pengguna ini?",
|
||||
"navigation_bar.apps": "Aplikasi mobile",
|
||||
"navigation_bar.blocks": "Pengguna diblokir",
|
||||
"navigation_bar.community_timeline": "Linimasa lokal",
|
||||
"navigation_bar.compose": "Compose new toot",
|
||||
"navigation_bar.direct": "Direct messages",
|
||||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.compose": "Tulis toot baru",
|
||||
"navigation_bar.direct": "Pesan langsung",
|
||||
"navigation_bar.discover": "Temukan",
|
||||
"navigation_bar.domain_blocks": "Domain tersembunyi",
|
||||
"navigation_bar.edit_profile": "Ubah profil",
|
||||
"navigation_bar.favourites": "Favorit",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.filters": "Kata yang dibisukan",
|
||||
"navigation_bar.follow_requests": "Permintaan mengikuti",
|
||||
"navigation_bar.follows_and_followers": "Follows and followers",
|
||||
"navigation_bar.info": "Informasi selengkapnya",
|
||||
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
|
||||
"navigation_bar.lists": "Lists",
|
||||
"navigation_bar.lists": "Daftar",
|
||||
"navigation_bar.logout": "Keluar",
|
||||
"navigation_bar.mutes": "Pengguna dibisukan",
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.pins": "Toot tersemat",
|
||||
"navigation_bar.preferences": "Pengaturan",
|
||||
"navigation_bar.public_timeline": "Linimasa gabungan",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"navigation_bar.security": "Keamanan",
|
||||
"notification.favourite": "{name} menyukai status anda",
|
||||
"notification.follow": "{name} mengikuti anda",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
"notification.poll": "A poll you have voted in has ended",
|
||||
"notification.mention": "{name} menyebut Anda",
|
||||
"notification.poll": "Japat yang Anda ikuti telah berakhir",
|
||||
"notification.reblog": "{name} mem-boost status anda",
|
||||
"notifications.clear": "Hapus notifikasi",
|
||||
"notifications.clear_confirmation": "Apa anda yakin hendak menghapus semua notifikasi anda?",
|
||||
"notifications.column_settings.alert": "Notifikasi desktop",
|
||||
"notifications.column_settings.favourite": "Favorit:",
|
||||
"notifications.column_settings.filter_bar.advanced": "Display all categories",
|
||||
"notifications.column_settings.filter_bar.category": "Quick filter bar",
|
||||
"notifications.column_settings.filter_bar.show": "Show",
|
||||
"notifications.column_settings.filter_bar.advanced": "Tampilkan semua kategori",
|
||||
"notifications.column_settings.filter_bar.category": "Bilah penyaring cepat",
|
||||
"notifications.column_settings.filter_bar.show": "Tampilkan",
|
||||
"notifications.column_settings.follow": "Pengikut baru:",
|
||||
"notifications.column_settings.mention": "Balasan:",
|
||||
"notifications.column_settings.poll": "Poll results:",
|
||||
"notifications.column_settings.push": "Push notifications",
|
||||
"notifications.column_settings.poll": "Hasil japat:",
|
||||
"notifications.column_settings.push": "Notifikasi dorong",
|
||||
"notifications.column_settings.reblog": "Boost:",
|
||||
"notifications.column_settings.show": "Tampilkan dalam kolom",
|
||||
"notifications.column_settings.sound": "Mainkan suara",
|
||||
"notifications.filter.all": "All",
|
||||
"notifications.filter.boosts": "Boosts",
|
||||
"notifications.filter.favourites": "Favourites",
|
||||
"notifications.filter.follows": "Follows",
|
||||
"notifications.filter.mentions": "Mentions",
|
||||
"notifications.filter.polls": "Poll results",
|
||||
"notifications.group": "{count} notifications",
|
||||
"poll.closed": "Closed",
|
||||
"poll.refresh": "Refresh",
|
||||
"notifications.filter.all": "Semua",
|
||||
"notifications.filter.boosts": "Boost",
|
||||
"notifications.filter.favourites": "Favorit",
|
||||
"notifications.filter.follows": "Diikuti",
|
||||
"notifications.filter.mentions": "Sebutan",
|
||||
"notifications.filter.polls": "Hasil japat",
|
||||
"notifications.group": "{count} notifikasi",
|
||||
"poll.closed": "Ditutup",
|
||||
"poll.refresh": "Segarkan",
|
||||
"poll.total_people": "{count, plural, one {# person} other {# people}}",
|
||||
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
|
||||
"poll.vote": "Vote",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Simpla",
|
||||
"home.column_settings.show_reblogs": "Montrar repeti",
|
||||
"home.column_settings.show_replies": "Montrar respondi",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferi",
|
||||
"navigation_bar.public_timeline": "Federata tempolineo",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favorizis tua mesajo",
|
||||
"notification.follow": "{name} sequeskis tu",
|
||||
"notification.mention": "{name} mencionis tu",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Semplice",
|
||||
"home.column_settings.show_reblogs": "Mostra post condivisi",
|
||||
"home.column_settings.show_replies": "Mostra risposte",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# giorno} other {# giorni}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ora} other {# ore}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minuti}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Impostazioni",
|
||||
"navigation_bar.public_timeline": "Timeline federata",
|
||||
"navigation_bar.security": "Sicurezza",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} ha apprezzato il tuo post",
|
||||
"notification.follow": "{name} ha iniziato a seguirti",
|
||||
"notification.mention": "{name} ti ha menzionato",
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
"confirmations.reply.message": "今返信すると現在作成中のメッセージが上書きされます。本当に実行しますか?",
|
||||
"confirmations.unfollow.confirm": "フォロー解除",
|
||||
"confirmations.unfollow.message": "本当に{name}さんのフォローを解除しますか?",
|
||||
"conversation.delete": "この会話を削除",
|
||||
"conversation.delete": "会話を削除",
|
||||
"conversation.mark_as_read": "既読にする",
|
||||
"conversation.open": "会話を表示",
|
||||
"conversation.with": "{names}",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "基本設定",
|
||||
"home.column_settings.show_reblogs": "ブースト表示",
|
||||
"home.column_settings.show_replies": "返信表示",
|
||||
"home.column_settings.update_live": "リアルタイム更新",
|
||||
"intervals.full.days": "{number}日",
|
||||
"intervals.full.hours": "{number}時間",
|
||||
"intervals.full.minutes": "{number}分",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "ユーザー設定",
|
||||
"navigation_bar.public_timeline": "連合タイムライン",
|
||||
"navigation_bar.security": "セキュリティ",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name}さんがあなたのトゥートをお気に入りに登録しました",
|
||||
"notification.follow": "{name}さんにフォローされました",
|
||||
"notification.mention": "{name}さんがあなたに返信しました",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "ძირითადი",
|
||||
"home.column_settings.show_reblogs": "ბუსტების ჩვენება",
|
||||
"home.column_settings.show_replies": "პასუხების ჩვენება",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "პრეფერენსიები",
|
||||
"navigation_bar.public_timeline": "ფედერალური თაიმლაინი",
|
||||
"navigation_bar.security": "უსაფრთხოება",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name}-მა თქვენი სტატუსი აქცია ფავორიტად",
|
||||
"notification.follow": "{name} გამოგყვათ",
|
||||
"notification.mention": "{name}-მა გასახელათ",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Негізгі",
|
||||
"home.column_settings.show_reblogs": "Бөлісулерді көрсету",
|
||||
"home.column_settings.show_replies": "Жауаптарды көрсету",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# күн} other {# күн}}",
|
||||
"intervals.full.hours": "{number, plural, one {# сағат} other {# сағат}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Басымдықтар",
|
||||
"navigation_bar.public_timeline": "Жаһандық желі",
|
||||
"navigation_bar.security": "Қауіпсіздік",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} жазбаңызды таңдаулыға қосты",
|
||||
"notification.follow": "{name} сізге жазылды",
|
||||
"notification.mention": "{name} сізді атап өтті",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "기본 설정",
|
||||
"home.column_settings.show_reblogs": "부스트 표시",
|
||||
"home.column_settings.show_replies": "답글 표시",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number} 일",
|
||||
"intervals.full.hours": "{number} 시간",
|
||||
"intervals.full.minutes": "{number} 분",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "사용자 설정",
|
||||
"navigation_bar.public_timeline": "연합 타임라인",
|
||||
"navigation_bar.security": "보안",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name}님이 즐겨찾기 했습니다",
|
||||
"notification.follow": "{name}님이 나를 팔로우 했습니다",
|
||||
"notification.mention": "{name}님이 답글을 보냈습니다",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
|
@ -418,7 +416,7 @@
|
|||
"upload_modal.edit_media": "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.preview_label": "Preview ({ratio})",
|
||||
"upload_progress.label": "Uploading...",
|
||||
"upload_progress.label": "Uploading…",
|
||||
"video.close": "Close video",
|
||||
"video.exit_fullscreen": "Exit full screen",
|
||||
"video.expand": "Expand video",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
|
@ -418,7 +416,7 @@
|
|||
"upload_modal.edit_media": "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.preview_label": "Preview ({ratio})",
|
||||
"upload_progress.label": "Uploading...",
|
||||
"upload_progress.label": "Uploading…",
|
||||
"video.close": "Close video",
|
||||
"video.exit_fullscreen": "Exit full screen",
|
||||
"video.expand": "Expand video",
|
||||
|
|
|
@ -178,7 +178,6 @@
|
|||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -272,7 +271,6 @@
|
|||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
|
@ -412,7 +410,7 @@
|
|||
"upload_modal.edit_media": "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.preview_label": "Preview ({ratio})",
|
||||
"upload_progress.label": "Uploading...",
|
||||
"upload_progress.label": "Uploading…",
|
||||
"video.close": "Close video",
|
||||
"video.exit_fullscreen": "Exit full screen",
|
||||
"video.expand": "Expand video",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
|
@ -418,7 +416,7 @@
|
|||
"upload_modal.edit_media": "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.preview_label": "Preview ({ratio})",
|
||||
"upload_progress.label": "Uploading...",
|
||||
"upload_progress.label": "Uploading…",
|
||||
"video.close": "Close video",
|
||||
"video.exit_fullscreen": "Exit full screen",
|
||||
"video.expand": "Expand video",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Algemeen",
|
||||
"home.column_settings.show_reblogs": "Boosts tonen",
|
||||
"home.column_settings.show_replies": "Reacties tonen",
|
||||
"home.column_settings.update_live": "In realtime bijwerken",
|
||||
"intervals.full.days": "{number, plural, one {# dag} other {# dagen}}",
|
||||
"intervals.full.hours": "{number, plural, one {# uur} other {# uur}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuut} other {# minuten}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Instellingen",
|
||||
"navigation_bar.public_timeline": "Globale tijdlijn",
|
||||
"navigation_bar.security": "Beveiliging",
|
||||
"notification.and_n_others": "en {count, plural, one {# meer} other {# meer}}",
|
||||
"notification.favourite": "{name} voegde jouw toot als favoriet toe",
|
||||
"notification.follow": "{name} volgt jou nu",
|
||||
"notification.mention": "{name} vermeldde jou",
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
"account.follows": "Føljingar",
|
||||
"account.follows.empty": "Denne brukaren foljer ikkje nokon ennå.",
|
||||
"account.follows_you": "Føljar deg",
|
||||
"account.hide_reblogs": "Gøym robotar for @{name}",
|
||||
"account.hide_reblogs": "Gøym fremhevingar for @{name}",
|
||||
"account.last_status": "Sist aktiv",
|
||||
"account.link_verified_on": "Eigerskap for denne linken er sist sjekket den {date}",
|
||||
"account.locked_info": "Brukarens privat-status er satt til lukka. Eigaren må manuelt døme kvem som kan følje honom.",
|
||||
|
@ -23,7 +23,7 @@
|
|||
"account.mention": "Nemne @{name}",
|
||||
"account.moved_to": "{name} har flytta til:",
|
||||
"account.mute": "Målbind @{name}",
|
||||
"account.mute_notifications": "Målbind notifikasjoner ifrå @{name}",
|
||||
"account.mute_notifications": "Målbind varslingar ifrå @{name}",
|
||||
"account.muted": "Målbindt",
|
||||
"account.never_active": "Aldri",
|
||||
"account.posts": "Tutar",
|
||||
|
@ -60,7 +60,7 @@
|
|||
"column.home": "Heim",
|
||||
"column.lists": "Lister",
|
||||
"column.mutes": "Målbindte brukare",
|
||||
"column.notifications": "Varslinger",
|
||||
"column.notifications": "Varslingar",
|
||||
"column.pins": "Festa tuter",
|
||||
"column.public": "Federert samtid",
|
||||
"column_back_button.label": "Tilbake",
|
||||
|
@ -74,31 +74,31 @@
|
|||
"community.column_settings.media_only": "Kun medie",
|
||||
"compose_form.direct_message_warning": "Denne tuten vil kun verte synleg for nemnde brukarar.",
|
||||
"compose_form.direct_message_warning_learn_more": "Lær meir",
|
||||
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
|
||||
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
|
||||
"compose_form.hashtag_warning": "Denne tuten vill ikkje bli lista under nokon knagg ettersom den ikkje er opplista. Berre offentlege tutar kan ble søkt på ved emneknagg.",
|
||||
"compose_form.lock_disclaimer": "Din brukar er ikkje {locked}. Alle kan følje deg for å sjå føljar-modus poster.",
|
||||
"compose_form.lock_disclaimer.lock": "låst",
|
||||
"compose_form.placeholder": "Kva har du på hjartet?",
|
||||
"compose_form.poll.add_option": "Legg til eit punkt",
|
||||
"compose_form.poll.duration": "Varigheit for spørring",
|
||||
"compose_form.poll.option_placeholder": "Val {number}",
|
||||
"compose_form.poll.remove_option": "Remove this choice",
|
||||
"compose_form.publish": "Toot",
|
||||
"compose_form.poll.remove_option": "Ta burt dette valet",
|
||||
"compose_form.publish": "Tut",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive.hide": "Mark media as sensitive",
|
||||
"compose_form.sensitive.marked": "Media is marked as sensitive",
|
||||
"compose_form.sensitive.unmarked": "Media is not marked as sensitive",
|
||||
"compose_form.spoiler.marked": "Text is hidden behind warning",
|
||||
"compose_form.spoiler.unmarked": "Text is not hidden",
|
||||
"compose_form.spoiler_placeholder": "Write your warning here",
|
||||
"confirmation_modal.cancel": "Cancel",
|
||||
"confirmations.block.block_and_report": "Block & Report",
|
||||
"confirmations.block.confirm": "Block",
|
||||
"confirmations.block.message": "Are you sure you want to block {name}?",
|
||||
"confirmations.delete.confirm": "Delete",
|
||||
"confirmations.delete.message": "Are you sure you want to delete this status?",
|
||||
"confirmations.delete_list.confirm": "Delete",
|
||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||
"confirmations.domain_block.confirm": "Hide entire domain",
|
||||
"compose_form.sensitive.hide": "Merk media som sensitivt",
|
||||
"compose_form.sensitive.marked": "Media er markert som sensitivt",
|
||||
"compose_form.sensitive.unmarked": "Media er ikkje merka som sensitivt",
|
||||
"compose_form.spoiler.marked": "Tekst er gøymt bak ein advarsel",
|
||||
"compose_form.spoiler.unmarked": "Tekst er ikkje gøymt",
|
||||
"compose_form.spoiler_placeholder": "Skriv varselen din her",
|
||||
"confirmation_modal.cancel": "Avbrot",
|
||||
"confirmations.block.block_and_report": "Blokk & rapportér",
|
||||
"confirmations.block.confirm": "Blokkér",
|
||||
"confirmations.block.message": "Er du sikker på at du vill blokke {name}?",
|
||||
"confirmations.delete.confirm": "Slett",
|
||||
"confirmations.delete.message": "Er du sikker på at du vill slette denne statusen?",
|
||||
"confirmations.delete_list.confirm": "Slett",
|
||||
"confirmations.delete_list.message": "Er du sikker på at du vill slette denne listen for alltid?",
|
||||
"confirmations.domain_block.confirm": "Gøym heile domenet",
|
||||
"confirmations.domain_block.message": "Er du ordentleg, ordentleg sikker på at du vill blokkere heile {domain}? I dei tilfeller er det bedre med ein målretta blokkering eller demping av individuelle brukare.",
|
||||
"confirmations.logout.confirm": "Logg ut",
|
||||
"confirmations.logout.message": "Er du sikker på at du vill logge ut?",
|
||||
|
@ -108,96 +108,95 @@
|
|||
"confirmations.redraft.confirm": "Slett & gjennopprett",
|
||||
"confirmations.redraft.message": "Er du sikker på at du vill slette statusen og gjennoprette den? Favoritter og framhevinger vill bli borte, og svar til den originale posten vill bli einstøing.",
|
||||
"confirmations.reply.confirm": "Svar",
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Unfollow",
|
||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
|
||||
"conversation.delete": "Delete conversation",
|
||||
"conversation.mark_as_read": "Mark as read",
|
||||
"conversation.open": "View conversation",
|
||||
"conversation.with": "With {names}",
|
||||
"directory.federated": "From known fediverse",
|
||||
"directory.local": "From {domain} only",
|
||||
"directory.new_arrivals": "New arrivals",
|
||||
"directory.recently_active": "Recently active",
|
||||
"confirmations.reply.message": "Å svare nå vill overskrive meldingen du er i ferd med å skrive. Er du sikker på at du vill gå fram?",
|
||||
"confirmations.unfollow.confirm": "Avfølj",
|
||||
"confirmations.unfollow.message": "Er du sikker på at du vill avfølje {name}?",
|
||||
"conversation.delete": "Slett samtale",
|
||||
"conversation.mark_as_read": "Merk som lest",
|
||||
"conversation.open": "Sjå samtale",
|
||||
"conversation.with": "Med {names}",
|
||||
"directory.federated": "Fra kjent fedivers",
|
||||
"directory.local": "Fra berre {domain} domenet",
|
||||
"directory.new_arrivals": "Nyankommne",
|
||||
"directory.recently_active": "Nylig aktiv",
|
||||
"embed.instructions": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Here is what it will look like:",
|
||||
"emoji_button.activity": "Activity",
|
||||
"embed.preview": "Dette er korleis den vil sjå ut:",
|
||||
"emoji_button.activity": "Aktivitet",
|
||||
"emoji_button.custom": "Custom",
|
||||
"emoji_button.flags": "Flags",
|
||||
"emoji_button.food": "Food & Drink",
|
||||
"emoji_button.label": "Insert emoji",
|
||||
"emoji_button.nature": "Nature",
|
||||
"emoji_button.flags": "Flagg",
|
||||
"emoji_button.food": "Mat & drikke",
|
||||
"emoji_button.label": "Legg til smilefjes",
|
||||
"emoji_button.nature": "Natur",
|
||||
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "Objects",
|
||||
"emoji_button.people": "People",
|
||||
"emoji_button.recent": "Frequently used",
|
||||
"emoji_button.search": "Search...",
|
||||
"emoji_button.search_results": "Search results",
|
||||
"emoji_button.symbols": "Symbols",
|
||||
"emoji_button.travel": "Travel & Places",
|
||||
"empty_column.account_timeline": "No toots here!",
|
||||
"empty_column.account_unavailable": "Profile unavailable",
|
||||
"empty_column.blocks": "You haven't blocked any users yet.",
|
||||
"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.domain_blocks": "There are no hidden domains yet.",
|
||||
"empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
|
||||
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
|
||||
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
|
||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
||||
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home.public_timeline": "the public timeline",
|
||||
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
|
||||
"empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
|
||||
"empty_column.mutes": "You haven't muted any users yet.",
|
||||
"emoji_button.objects": "Objektar",
|
||||
"emoji_button.people": "Folk",
|
||||
"emoji_button.recent": "Ofte brukt",
|
||||
"emoji_button.search": "Søk...",
|
||||
"emoji_button.search_results": "Søke resultater",
|
||||
"emoji_button.symbols": "Symbolar",
|
||||
"emoji_button.travel": "Reise & steder",
|
||||
"empty_column.account_timeline": "Ikkje nokon tutar her!",
|
||||
"empty_column.account_unavailable": "Profil ikkje tilgjengelig",
|
||||
"empty_column.blocks": "Du har ikkje blokkért nokon brukarar ennå.",
|
||||
"empty_column.community": "Den lokale samtiden er tom. Skriv noko offentleg å få ballen til å rulle!",
|
||||
"empty_column.direct": "Du har ikkje nokon direkte meldingar ennå. Når du sendar eller får ein, så vill den ende opp her.",
|
||||
"empty_column.domain_blocks": "Der er ikkje nokon gøymte domener enno.",
|
||||
"empty_column.favourited_statuses": "Du har ikkje favorisert nokon tutar enno. Når du favoriserer noko, så vill det ende opp her.",
|
||||
"empty_column.favourites": "Ikkje nokon har favorisert denne tuten enno. Når nokon gjer det, så vill den ende opp her.",
|
||||
"empty_column.follow_requests": "Du har ikkje nokon føljar førespurnad enno. Når du får ein, så vill den sjåast her.",
|
||||
"empty_column.hashtag": "Det er ikkje noko i denne emneknaggen her enno.",
|
||||
"empty_column.home": "Din heime-tidslinja er tom! Dra til {public} eller søk for å starte å møte andre brukare.",
|
||||
"empty_column.home.public_timeline": "Den offentlege tidslinja",
|
||||
"empty_column.list": "Det er ikkje noko i denne lista enno. Når medlemmar av denne lista poster statuser, så vill dei sjåast her.",
|
||||
"empty_column.lists": "Du har ikkje nokon liste enno. Når du lagar ein, så vill den ende up her.",
|
||||
"empty_column.mutes": "Du har ikkje dempet nokon brukare enno.",
|
||||
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
|
||||
"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.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.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
|
||||
"errors.unexpected_crash.report_issue": "Report issue",
|
||||
"follow_request.authorize": "Authorize",
|
||||
"errors.unexpected_crash.report_issue": "Rapportér problem",
|
||||
"follow_request.authorize": "Autoriser",
|
||||
"follow_request.reject": "Reject",
|
||||
"getting_started.developers": "Developers",
|
||||
"getting_started.developers": "Utviklare",
|
||||
"getting_started.directory": "Profile directory",
|
||||
"getting_started.documentation": "Documentation",
|
||||
"getting_started.heading": "Getting started",
|
||||
"getting_started.invite": "Invite people",
|
||||
"getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.",
|
||||
"getting_started.security": "Security",
|
||||
"getting_started.terms": "Terms of service",
|
||||
"hashtag.column_header.tag_mode.all": "and {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "or {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "without {additional}",
|
||||
"getting_started.documentation": "Dokumentasjon",
|
||||
"getting_started.heading": "Komme i gong",
|
||||
"getting_started.invite": "Inviter folk",
|
||||
"getting_started.open_source_notice": "Mastodon har åpen kilde kode. Du kan hjelpe til med problemar på GitHub gjennom {github}.",
|
||||
"getting_started.security": "Brukar instillingar",
|
||||
"getting_started.terms": "Brukarvillkår",
|
||||
"hashtag.column_header.tag_mode.all": "og {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "eller {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "uten {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "No suggestions found",
|
||||
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
|
||||
"hashtag.column_settings.tag_mode.all": "All of these",
|
||||
"hashtag.column_settings.tag_mode.all": "Alle disse",
|
||||
"hashtag.column_settings.tag_mode.any": "Any of these",
|
||||
"hashtag.column_settings.tag_mode.none": "None of these",
|
||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
||||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"home.column_settings.show_reblogs": "Vis fremhevingar",
|
||||
"home.column_settings.show_replies": "Vis svar",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
"introduction.federation.action": "Next",
|
||||
"introduction.federation.federated.headline": "Federated",
|
||||
"introduction.federation.action": "Neste",
|
||||
"introduction.federation.federated.headline": "Federert",
|
||||
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
|
||||
"introduction.federation.home.headline": "Home",
|
||||
"introduction.federation.home.headline": "Heim",
|
||||
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
|
||||
"introduction.federation.local.headline": "Local",
|
||||
"introduction.federation.local.headline": "Lokal",
|
||||
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
|
||||
"introduction.interactions.action": "Finish toot-orial!",
|
||||
"introduction.interactions.favourite.headline": "Favourite",
|
||||
"introduction.interactions.action": "Fullfør omvisning!",
|
||||
"introduction.interactions.favourite.headline": "Lik",
|
||||
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
|
||||
"introduction.interactions.reblog.headline": "Boost",
|
||||
"introduction.interactions.reblog.headline": "Fremhev",
|
||||
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
|
||||
"introduction.interactions.reply.headline": "Reply",
|
||||
"introduction.interactions.reply.headline": "Svar",
|
||||
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
|
||||
"introduction.welcome.action": "Let's go!",
|
||||
"introduction.welcome.headline": "First steps",
|
||||
"introduction.welcome.headline": "Første steg",
|
||||
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
|
||||
"keyboard_shortcuts.back": "to navigate back",
|
||||
"keyboard_shortcuts.blocked": "to open blocked users list",
|
||||
|
@ -228,27 +227,27 @@
|
|||
"keyboard_shortcuts.start": "to open \"get started\" column",
|
||||
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
|
||||
"keyboard_shortcuts.toot": "to start a brand new toot",
|
||||
"keyboard_shortcuts.toot": "Start ein heilt ny tut",
|
||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "to move up in the list",
|
||||
"lightbox.close": "Close",
|
||||
"lightbox.next": "Next",
|
||||
"lightbox.previous": "Previous",
|
||||
"lightbox.view_context": "View context",
|
||||
"lists.account.add": "Add to list",
|
||||
"lists.account.remove": "Remove from list",
|
||||
"lists.delete": "Delete list",
|
||||
"lists.edit": "Edit list",
|
||||
"lists.edit.submit": "Change title",
|
||||
"lists.new.create": "Add list",
|
||||
"lists.new.title_placeholder": "New list title",
|
||||
"lists.search": "Search among people you follow",
|
||||
"lists.subheading": "Your lists",
|
||||
"lightbox.close": "Lukk",
|
||||
"lightbox.next": "Neste",
|
||||
"lightbox.previous": "Forrige",
|
||||
"lightbox.view_context": "Sjå kontekst",
|
||||
"lists.account.add": "Legg til i liste",
|
||||
"lists.account.remove": "Ta burt fra liste",
|
||||
"lists.delete": "Slett liste",
|
||||
"lists.edit": "Rediger liste",
|
||||
"lists.edit.submit": "Bytt tittel",
|
||||
"lists.new.create": "Legg til liste",
|
||||
"lists.new.title_placeholder": "Ny liste tittel",
|
||||
"lists.search": "Søk gjennom folk du føljar",
|
||||
"lists.subheading": "Dine lister",
|
||||
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
||||
"loading_indicator.label": "Loading...",
|
||||
"loading_indicator.label": "Laster...",
|
||||
"media_gallery.toggle_visible": "Toggle visibility",
|
||||
"missing_indicator.label": "Not found",
|
||||
"missing_indicator.sublabel": "This resource could not be found",
|
||||
"missing_indicator.label": "Ikkje funne",
|
||||
"missing_indicator.sublabel": "Denne ressursen ble ikkje funne",
|
||||
"mute_modal.hide_notifications": "Hide notifications from this user?",
|
||||
"navigation_bar.apps": "Mobile apps",
|
||||
"navigation_bar.blocks": "Blocked users",
|
||||
|
@ -264,38 +263,37 @@
|
|||
"navigation_bar.follows_and_followers": "Follows and followers",
|
||||
"navigation_bar.info": "About this server",
|
||||
"navigation_bar.keyboard_shortcuts": "Hotkeys",
|
||||
"navigation_bar.lists": "Lists",
|
||||
"navigation_bar.logout": "Logout",
|
||||
"navigation_bar.mutes": "Muted users",
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
"navigation_bar.lists": "Lister",
|
||||
"navigation_bar.logout": "Logg ut",
|
||||
"navigation_bar.mutes": "Dempa brukare",
|
||||
"navigation_bar.personal": "Personlig",
|
||||
"navigation_bar.pins": "Festa tuter",
|
||||
"navigation_bar.preferences": "Preferanser",
|
||||
"navigation_bar.public_timeline": "Federert tidslinje",
|
||||
"navigation_bar.security": "Sikkerheit",
|
||||
"notification.favourite": "{name} likte din status",
|
||||
"notification.follow": "{name} fulgte deg",
|
||||
"notification.mention": "{name} nevnte deg",
|
||||
"notification.poll": "A poll you have voted in has ended",
|
||||
"notification.reblog": "{name} boosted your status",
|
||||
"notifications.clear": "Clear notifications",
|
||||
"notifications.clear": "Klarer notifikasjoner",
|
||||
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
|
||||
"notifications.column_settings.alert": "Desktop notifications",
|
||||
"notifications.column_settings.favourite": "Favourites:",
|
||||
"notifications.column_settings.filter_bar.advanced": "Display all categories",
|
||||
"notifications.column_settings.filter_bar.category": "Quick filter bar",
|
||||
"notifications.column_settings.filter_bar.show": "Show",
|
||||
"notifications.column_settings.follow": "New followers:",
|
||||
"notifications.column_settings.follow": "Nye føljare:",
|
||||
"notifications.column_settings.mention": "Mentions:",
|
||||
"notifications.column_settings.poll": "Poll results:",
|
||||
"notifications.column_settings.push": "Push notifications",
|
||||
"notifications.column_settings.reblog": "Boosts:",
|
||||
"notifications.column_settings.reblog": "Framhevinger:",
|
||||
"notifications.column_settings.show": "Show in column",
|
||||
"notifications.column_settings.sound": "Play sound",
|
||||
"notifications.filter.all": "All",
|
||||
"notifications.filter.boosts": "Boosts",
|
||||
"notifications.filter.favourites": "Favourites",
|
||||
"notifications.filter.follows": "Follows",
|
||||
"notifications.filter.boosts": "Framhevinger",
|
||||
"notifications.filter.favourites": "Favoritter",
|
||||
"notifications.filter.follows": "Føljare",
|
||||
"notifications.filter.mentions": "Mentions",
|
||||
"notifications.filter.polls": "Poll results",
|
||||
"notifications.group": "{count} notifications",
|
||||
|
@ -412,7 +410,7 @@
|
|||
"upload_modal.edit_media": "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.preview_label": "Preview ({ratio})",
|
||||
"upload_progress.label": "Uploading...",
|
||||
"upload_progress.label": "Uploading…",
|
||||
"video.close": "Close video",
|
||||
"video.exit_fullscreen": "Exit full screen",
|
||||
"video.expand": "Expand video",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Enkel",
|
||||
"home.column_settings.show_reblogs": "Vis fremhevinger",
|
||||
"home.column_settings.show_replies": "Vis svar",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferanser",
|
||||
"navigation_bar.public_timeline": "Felles tidslinje",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} likte din status",
|
||||
"notification.follow": "{name} fulgte deg",
|
||||
"notification.mention": "{name} nevnte deg",
|
||||
|
|
|
@ -155,7 +155,7 @@
|
|||
"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.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.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
|
||||
"errors.unexpected_crash.report_issue": "Report issue",
|
||||
"errors.unexpected_crash.report_issue": "Senhalar un problèma",
|
||||
"federation.change": "Adjust status federation",
|
||||
"federation.federated.long": "Allow toot to reach other instances",
|
||||
"federation.federated.short": "Federated",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Mostrar los partatges",
|
||||
"home.column_settings.show_replies": "Mostrar las responsas",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# jorn} other {# jorns}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ora} other {# oras}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuta} other {# minutas}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferéncias",
|
||||
"navigation_bar.public_timeline": "Flux public global",
|
||||
"navigation_bar.security": "Seguretat",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} a ajustat a sos favorits",
|
||||
"notification.follow": "{name} vos sèc",
|
||||
"notification.mention": "{name} vos a mencionat",
|
||||
|
@ -306,7 +304,7 @@
|
|||
"notifications.group": "{count} notificacions",
|
||||
"poll.closed": "Tampat",
|
||||
"poll.refresh": "Actualizar",
|
||||
"poll.total_people": "{count, plural, one {# person} other {# people}}",
|
||||
"poll.total_people": "{count, plural, one {# persona} other {# personas}}",
|
||||
"poll.total_votes": "{count, plural, one {# vòte} other {# vòtes}}",
|
||||
"poll.vote": "Votar",
|
||||
"poll.voted": "You voted for this answer",
|
||||
|
@ -321,7 +319,7 @@
|
|||
"privacy.public.short": "Public",
|
||||
"privacy.unlisted.long": "Mostrar pas dins los fluxes publics",
|
||||
"privacy.unlisted.short": "Pas-listat",
|
||||
"refresh": "Refresh",
|
||||
"refresh": "Actualizar",
|
||||
"regeneration_indicator.label": "Cargament…",
|
||||
"regeneration_indicator.sublabel": "Sèm a preparar vòstre flux d’acuèlh !",
|
||||
"relative_time.days": "fa {number}d",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"account.block": "Blokuj @{name}",
|
||||
"account.block_domain": "Blokuj wszystko z {domain}",
|
||||
"account.blocked": "Zablokowany(-a)",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "Zrezygnuj z prośby o możliwość śledzenia",
|
||||
"account.direct": "Wyślij wiadomość bezpośrednią do @{name}",
|
||||
"account.domain_blocked": "Ukryto domenę",
|
||||
"account.edit_profile": "Edytuj profil",
|
||||
|
@ -16,7 +16,7 @@
|
|||
"account.follows.empty": "Ten użytkownik nie śledzi jeszcze nikogo.",
|
||||
"account.follows_you": "Śledzi Cię",
|
||||
"account.hide_reblogs": "Ukryj podbicia od @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.last_status": "Ostatnia aktywność",
|
||||
"account.link_verified_on": "Własność tego odnośnika została potwierdzona {date}",
|
||||
"account.locked_info": "To konto jest prywatne. Właściciel ręcznie wybiera kto może go śledzić.",
|
||||
"account.media": "Zawartość multimedialna",
|
||||
|
@ -25,7 +25,7 @@
|
|||
"account.mute": "Wycisz @{name}",
|
||||
"account.mute_notifications": "Wycisz powiadomienia o @{name}",
|
||||
"account.muted": "Wyciszony",
|
||||
"account.never_active": "Never",
|
||||
"account.never_active": "Nigdy",
|
||||
"account.posts": "Wpisy",
|
||||
"account.posts_with_replies": "Wpisy i odpowiedzi",
|
||||
"account.report": "Zgłoś @{name}",
|
||||
|
@ -38,11 +38,11 @@
|
|||
"account.unfollow": "Przestań śledzić",
|
||||
"account.unmute": "Cofnij wyciszenie @{name}",
|
||||
"account.unmute_notifications": "Cofnij wyciszenie powiadomień od @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.message": "Spróbuj ponownie po {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Wystąpił nieoczekiwany błąd.",
|
||||
"alert.unexpected.title": "O nie!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"autosuggest_hashtag.per_week": "{count} co tydzień",
|
||||
"boost_modal.combo": "Naciśnij {combo}, aby pominąć to następnym razem",
|
||||
"bundle_column_error.body": "Coś poszło nie tak podczas ładowania tego składnika.",
|
||||
"bundle_column_error.retry": "Spróbuj ponownie",
|
||||
|
@ -53,7 +53,7 @@
|
|||
"column.blocks": "Zablokowani użytkownicy",
|
||||
"column.community": "Lokalna oś czasu",
|
||||
"column.direct": "Wiadomości bezpośrednie",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.directory": "Przeglądaj profile",
|
||||
"column.domain_blocks": "Ukryte domeny",
|
||||
"column.favourites": "Ulubione",
|
||||
"column.follow_requests": "Prośby o śledzenie",
|
||||
|
@ -103,7 +103,7 @@
|
|||
"confirmations.logout.confirm": "Wyloguj",
|
||||
"confirmations.logout.message": "Czy na pewno chcesz się wylogować?",
|
||||
"confirmations.mute.confirm": "Wycisz",
|
||||
"confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
|
||||
"confirmations.mute.explanation": "To schowa ich i wspominające ich posty, ale wciąż pozwoli im widzieć twoje posty i śledzić cię.",
|
||||
"confirmations.mute.message": "Czy na pewno chcesz wyciszyć {name}?",
|
||||
"confirmations.redraft.confirm": "Usuń i przeredaguj",
|
||||
"confirmations.redraft.message": "Czy na pewno chcesz usunąć i przeredagować ten wpis? Polubienia i podbicia zostaną utracone, a odpowiedzi do oryginalnego wpisu zostaną osierocone.",
|
||||
|
@ -115,10 +115,10 @@
|
|||
"conversation.mark_as_read": "Oznacz jako przeczytane",
|
||||
"conversation.open": "Zobacz rozmowę",
|
||||
"conversation.with": "Z {names}",
|
||||
"directory.federated": "From known fediverse",
|
||||
"directory.local": "From {domain} only",
|
||||
"directory.new_arrivals": "New arrivals",
|
||||
"directory.recently_active": "Recently active",
|
||||
"directory.federated": "Ze znanego fediwersum",
|
||||
"directory.local": "Tylko z {domain}",
|
||||
"directory.new_arrivals": "Nowości",
|
||||
"directory.recently_active": "Ostatnio aktywne",
|
||||
"embed.instructions": "Osadź ten wpis na swojej stronie wklejając poniższy kod.",
|
||||
"embed.preview": "Tak będzie to wyglądać:",
|
||||
"emoji_button.activity": "Aktywność",
|
||||
|
@ -152,10 +152,10 @@
|
|||
"empty_column.mutes": "Nie wyciszyłeś(-aś) jeszcze żadnego użytkownika.",
|
||||
"empty_column.notifications": "Nie masz żadnych powiadomień. Rozpocznij interakcje z innymi użytkownikami.",
|
||||
"empty_column.public": "Tu nic nie ma! Napisz coś publicznie, lub dodaj ludzi z innych serwerów, aby to wyświetlić",
|
||||
"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.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.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
|
||||
"errors.unexpected_crash.report_issue": "Report issue",
|
||||
"error.unexpected_crash.explanation": "W związku z błędem w naszym kodzie lub braku kompatybilności przeglądarki, ta strona nie może być poprawnie wyświetlona.",
|
||||
"error.unexpected_crash.next_steps": "Spróbuj odświeżyć stronę. Jeśli to nie pomoże, wciąż jesteś w stanie używać Mastodona przez inną przeglądarkę lub natywną aplikację.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Skopiuj ślad stosu do schowka",
|
||||
"errors.unexpected_crash.report_issue": "Zgłoś problem",
|
||||
"federation.change": "Adjust status federation",
|
||||
"federation.federated.long": "Allow toot to reach other instances",
|
||||
"federation.federated.short": "Federated",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Podstawowe",
|
||||
"home.column_settings.show_reblogs": "Pokazuj podbicia",
|
||||
"home.column_settings.show_replies": "Pokazuj odpowiedzi",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# dzień} few {# dni} many {# dni} other {# dni}}",
|
||||
"intervals.full.hours": "{number, plural, one {# godzina} few {# godziny} many {# godzin} other {# godzin}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minut} other {# minut}}",
|
||||
|
@ -249,7 +248,7 @@
|
|||
"lists.new.title_placeholder": "Wprowadź tytuł listy",
|
||||
"lists.search": "Szukaj wśród osób które śledzisz",
|
||||
"lists.subheading": "Twoje listy",
|
||||
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
||||
"load_pending": "{count, plural, one {# nowy przedmiot} other {nowe przedmioty}}",
|
||||
"loading_indicator.label": "Ładowanie…",
|
||||
"media_gallery.toggle_visible": "Przełącz widoczność",
|
||||
"missing_indicator.label": "Nie znaleziono",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferencje",
|
||||
"navigation_bar.public_timeline": "Globalna oś czasu",
|
||||
"navigation_bar.security": "Bezpieczeństwo",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} dodał(a) Twój wpis do ulubionych",
|
||||
"notification.follow": "{name} zaczął(-ęła) Cię śledzić",
|
||||
"notification.mention": "{name} wspomniał(a) o tobie",
|
||||
|
@ -306,7 +304,7 @@
|
|||
"notifications.group": "{count, number} {count, plural, one {powiadomienie} few {powiadomienia} many {powiadomień} more {powiadomień}}",
|
||||
"poll.closed": "Zamknięte",
|
||||
"poll.refresh": "Odśwież",
|
||||
"poll.total_people": "{count, plural, one {# person} other {# people}}",
|
||||
"poll.total_people": "{count, plural, one {# osoba} few {# osoby} many {# osób} other {# osób}}",
|
||||
"poll.total_votes": "{count, plural, one {# głos} few {# głosy} many {# głosów} other {# głosów}}",
|
||||
"poll.vote": "Zagłosuj",
|
||||
"poll.voted": "You voted for this answer",
|
||||
|
@ -321,7 +319,7 @@
|
|||
"privacy.public.short": "Publiczny",
|
||||
"privacy.unlisted.long": "Niewidoczny na publicznych osiach czasu",
|
||||
"privacy.unlisted.short": "Niewidoczny",
|
||||
"refresh": "Refresh",
|
||||
"refresh": "Odśwież",
|
||||
"regeneration_indicator.label": "Ładuję…",
|
||||
"regeneration_indicator.sublabel": "Twoja oś czasu jest przygotowywana!",
|
||||
"relative_time.days": "{number} dni",
|
||||
|
@ -346,7 +344,7 @@
|
|||
"search_results.accounts": "Ludzie",
|
||||
"search_results.hashtags": "Hashtagi",
|
||||
"search_results.statuses": "Wpisy",
|
||||
"search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
|
||||
"search_results.statuses_fts_disabled": "Szukanie wpisów przy pomocy ich zawartości nie jest włączone na tym serwerze Mastodona.",
|
||||
"search_results.total": "{count, number} {count, plural, one {wynik} few {wyniki} many {wyników} more {wyników}}",
|
||||
"status.admin_account": "Otwórz interfejs moderacyjny dla @{name}",
|
||||
"status.admin_status": "Otwórz ten wpis w interfejsie moderacyjnym",
|
||||
|
@ -386,7 +384,7 @@
|
|||
"status.show_more": "Rozwiń",
|
||||
"status.show_more_all": "Rozwiń wszystkie",
|
||||
"status.show_thread": "Pokaż wątek",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.uncached_media_warning": "Niedostępne",
|
||||
"status.unmute_conversation": "Cofnij wyciszenie konwersacji",
|
||||
"status.unpin": "Odepnij z profilu",
|
||||
"suggestions.dismiss": "Odrzuć sugestię",
|
||||
|
@ -402,7 +400,7 @@
|
|||
"time_remaining.moments": "Pozostała chwila",
|
||||
"time_remaining.seconds": "{number, plural, one {Pozostała # sekunda} few {Pozostały # sekundy} many {Pozostało # sekund} other {Pozostało # sekund}}",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {osoba rozmawia} few {osoby rozmawiają} other {osób rozmawia}} o tym",
|
||||
"trends.trending_now": "Trending now",
|
||||
"trends.trending_now": "Popularne teraz",
|
||||
"ui.beforeunload": "Utracisz tworzony wpis, jeżeli opuścisz Mastodona.",
|
||||
"upload_area.title": "Przeciągnij i upuść aby wysłać",
|
||||
"upload_button.label": "Dodaj zawartość multimedialną (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
|
@ -411,13 +409,13 @@
|
|||
"upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących",
|
||||
"upload_form.edit": "Edytuj",
|
||||
"upload_form.undo": "Usuń",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.analyzing_picture": "Analizowanie obrazu…",
|
||||
"upload_modal.apply": "Zastosuj",
|
||||
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
|
||||
"upload_modal.detect_text": "Detect text from picture",
|
||||
"upload_modal.edit_media": "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.preview_label": "Preview ({ratio})",
|
||||
"upload_modal.description_placeholder": "Pchnąć w tę łódź jeża lub ośm skrzyń fig",
|
||||
"upload_modal.detect_text": "Wykryj tekst ze obrazu",
|
||||
"upload_modal.edit_media": "Edytuj multimedia",
|
||||
"upload_modal.hint": "Kliknij lub przeciągnij kółko na podglądzie by wybrać centralny punkt, który zawsze będzie na widoku na miniaturce.",
|
||||
"upload_modal.preview_label": "Podgląd ({ratio})",
|
||||
"upload_progress.label": "Wysyłanie…",
|
||||
"video.close": "Zamknij film",
|
||||
"video.exit_fullscreen": "Opuść tryb pełnoekranowy",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Básico",
|
||||
"home.column_settings.show_reblogs": "Mostrar compartilhamentos",
|
||||
"home.column_settings.show_replies": "Mostrar as respostas",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# dia} other {# dias}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferências",
|
||||
"navigation_bar.public_timeline": "Global",
|
||||
"navigation_bar.security": "Segurança",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} adicionou a sua postagem aos favoritos",
|
||||
"notification.follow": "{name} te seguiu",
|
||||
"notification.mention": "{name} te mencionou",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Básico",
|
||||
"home.column_settings.show_reblogs": "Mostrar boosts",
|
||||
"home.column_settings.show_replies": "Mostrar respostas",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# dia} other {# dias}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferências",
|
||||
"navigation_bar.public_timeline": "Cronologia federada",
|
||||
"navigation_bar.security": "Segurança",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} adicionou o teu estado aos favoritos",
|
||||
"notification.follow": "{name} começou a seguir-te",
|
||||
"notification.mention": "{name} mencionou-te",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "De bază",
|
||||
"home.column_settings.show_reblogs": "Arată redistribuirile",
|
||||
"home.column_settings.show_replies": "Arată răspunsurile",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Preferințe",
|
||||
"navigation_bar.public_timeline": "Flux global",
|
||||
"navigation_bar.security": "Securitate",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} a adăugat statusul tău la favorite",
|
||||
"notification.follow": "{name} te urmărește",
|
||||
"notification.mention": "{name} te-a menționat",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Основные",
|
||||
"home.column_settings.show_reblogs": "Показывать продвижения",
|
||||
"home.column_settings.show_replies": "Показывать ответы",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# день} few {# дня} other {# дней}}",
|
||||
"intervals.full.hours": "{number, plural, one {# час} few {# часа} other {# часов}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# минута} few {# минуты} other {# минут}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Настройки",
|
||||
"navigation_bar.public_timeline": "Глобальная лента",
|
||||
"navigation_bar.security": "Безопасность",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} понравился Ваш статус",
|
||||
"notification.follow": "{name} подписался (-лась) на вас",
|
||||
"notification.mention": "{name} упомянул(а) вас",
|
||||
|
|
|
@ -154,7 +154,7 @@
|
|||
"empty_column.public": "Ešte tu nič nie je. Napíš niečo verejne, alebo začni sledovať užívateľov z iných serverov, aby tu niečo pribudlo",
|
||||
"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.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.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Skopíruj stacktrace do schránky",
|
||||
"errors.unexpected_crash.report_issue": "Nahlás problém",
|
||||
"federation.change": "Adjust status federation",
|
||||
"federation.federated.long": "Allow toot to reach other instances",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Základné",
|
||||
"home.column_settings.show_reblogs": "Zobraziť povýšené",
|
||||
"home.column_settings.show_replies": "Ukázať odpovede",
|
||||
"home.column_settings.update_live": "Aktualizuj v reálnom čase",
|
||||
"intervals.full.days": "{number, plural, one {# deň} few {# dní} many {# dní} other {# dní}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hodina} few {# hodín} many {# hodín} other {# hodín}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minúta} few {# minút} many {# minút} other {# minút}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Voľby",
|
||||
"navigation_bar.public_timeline": "Federovaná časová os",
|
||||
"navigation_bar.security": "Zabezbečenie",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} si obľúbil/a tvoj príspevok",
|
||||
"notification.follow": "{name} ťa začal/a následovať",
|
||||
"notification.mention": "{name} ťa spomenul/a",
|
||||
|
@ -306,7 +304,7 @@
|
|||
"notifications.group": "{count} oboznámení",
|
||||
"poll.closed": "Uzatvorená",
|
||||
"poll.refresh": "Občerstvi",
|
||||
"poll.total_people": "{count, plural, one {# person} other {# people}}",
|
||||
"poll.total_people": "{count, plural, one {# človek} few {# ľudia} other {# ľudí}}",
|
||||
"poll.total_votes": "{count, plural, one {# hlas} few {# hlasov} many {# hlasov} other {# hlasov}}",
|
||||
"poll.vote": "Hlasuj",
|
||||
"poll.voted": "Hlasoval/a si za túto voľbu",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Osnovno",
|
||||
"home.column_settings.show_reblogs": "Pokaži spodbude",
|
||||
"home.column_settings.show_replies": "Pokaži odgovore",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# dan} two {# dni} few {# dni} other {# dni}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ura} two {# uri} few {# ure} other {# ur}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuta} two {# minuti} few {# minute} other {# minut}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Nastavitve",
|
||||
"navigation_bar.public_timeline": "Združena časovnica",
|
||||
"navigation_bar.security": "Varnost",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} je vzljubil/a vaš status",
|
||||
"notification.follow": "{name} vam sledi",
|
||||
"notification.mention": "{name} vas je omenil/a",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Bazë",
|
||||
"home.column_settings.show_reblogs": "Shfaq përforcime",
|
||||
"home.column_settings.show_replies": "Shfaq përgjigje",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Parapëlqime",
|
||||
"navigation_bar.public_timeline": "Rrjedhë kohore të federuarish",
|
||||
"navigation_bar.security": "Siguri",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} parapëlqeu gjendjen tuaj",
|
||||
"notification.follow": "{name} zuri t’ju ndjekë",
|
||||
"notification.mention": "{name} ju ka përmendur",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Osnovno",
|
||||
"home.column_settings.show_reblogs": "Prikaži i podržavanja",
|
||||
"home.column_settings.show_replies": "Prikaži odgovore",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Podešavanja",
|
||||
"navigation_bar.public_timeline": "Federisana lajna",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} je stavio Vaš status kao omiljeni",
|
||||
"notification.follow": "{name} Vas je zapratio",
|
||||
"notification.mention": "{name} Vas je pomenuo",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Основно",
|
||||
"home.column_settings.show_reblogs": "Прикажи и подржавања",
|
||||
"home.column_settings.show_replies": "Прикажи одговоре",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Подешавања",
|
||||
"navigation_bar.public_timeline": "Здружена временска линија",
|
||||
"navigation_bar.security": "Безбедност",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} је ставио/ла Ваш статус као омиљени",
|
||||
"notification.follow": "{name} Вас је запратио/ла",
|
||||
"notification.mention": "{name} Вас је поменуо/ла",
|
||||
|
|
|
@ -183,24 +183,23 @@
|
|||
"home.column_settings.basic": "Grundläggande",
|
||||
"home.column_settings.show_reblogs": "Visa knuffar",
|
||||
"home.column_settings.show_replies": "Visa svar",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# dag} other {# dagar}}",
|
||||
"intervals.full.hours": "{hours, plural, one {# timme} other {# timmar}}",
|
||||
"intervals.full.minutes": "{minutes, plural, one {1 minut} other {# minuter}}",
|
||||
"introduction.federation.action": "Nästa",
|
||||
"introduction.federation.federated.headline": "Federerad",
|
||||
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
|
||||
"introduction.federation.federated.text": "Publika inlägg från andra servrar i servernätverket visas i den förenade tidslinjen.",
|
||||
"introduction.federation.home.headline": "Hem",
|
||||
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
|
||||
"introduction.federation.home.text": "Inlägg från personer du följer kommer att visas i din hemtidlinje. Du kan följa vem du vill på vald server!",
|
||||
"introduction.federation.local.headline": "Lokal",
|
||||
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
|
||||
"introduction.federation.local.text": "Publika inlägg från personer på samma server som du kommer att visas på den lokala tidslinjen.",
|
||||
"introduction.interactions.action": "Slutför introduktionsguide!",
|
||||
"introduction.interactions.favourite.headline": "Favorit",
|
||||
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
|
||||
"introduction.interactions.favourite.text": "Du kan spara en tut till senare, och visa författaren att du gillade den genom att göra den till favorit.",
|
||||
"introduction.interactions.reblog.headline": "Knuffa",
|
||||
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
|
||||
"introduction.interactions.reblog.text": "Du kan dela andra personers tutar med dina följare genom att knuffa dem.",
|
||||
"introduction.interactions.reply.headline": "Svara",
|
||||
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
|
||||
"introduction.interactions.reply.text": "Du kan besvara andra personers och dina egna tutar, vilket kommer att koppla ihop dem i en konversation.",
|
||||
"introduction.welcome.action": "Sätt igång!",
|
||||
"introduction.welcome.headline": "Första stegen",
|
||||
"introduction.welcome.text": "Välkommen till fediverse! Om några ögonblick kommer du kunna sända ut meddelanden och prata med dina vänner över en mängd servrar. Men den här servern, {domain}, är speciell — den är hem åt din profil, så kom ihåg vad den heter.",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Inställningar",
|
||||
"navigation_bar.public_timeline": "Förenad tidslinje",
|
||||
"navigation_bar.security": "Säkerhet",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favoriserade din status",
|
||||
"notification.follow": "{name} följer dig",
|
||||
"notification.mention": "{name} nämnde dig",
|
||||
|
@ -325,10 +323,10 @@
|
|||
"regeneration_indicator.label": "Laddar…",
|
||||
"regeneration_indicator.sublabel": "Ditt hemmaflöde förbereds!",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.hours": "{number}h",
|
||||
"relative_time.hours": "{number}tim",
|
||||
"relative_time.just_now": "nu",
|
||||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
"relative_time.minutes": "{number}min",
|
||||
"relative_time.seconds": "{number}sek",
|
||||
"reply_indicator.cancel": "Ångra",
|
||||
"report.forward": "Vidarebefordra till {target}",
|
||||
"report.forward_hint": "Kontot är från en annan server. Skicka även en anonymiserad kopia av anmälan dit?",
|
||||
|
@ -346,16 +344,16 @@
|
|||
"search_results.accounts": "Människor",
|
||||
"search_results.hashtags": "Hashtaggar",
|
||||
"search_results.statuses": "Toots",
|
||||
"search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
|
||||
"search_results.statuses_fts_disabled": "Att söka toots med deras innehåll är inte möjligt på denna Mastodon-server.",
|
||||
"search_results.total": "{count, number} {count, plural, ett {result} andra {results}}",
|
||||
"status.admin_account": "Open moderation interface for @{name}",
|
||||
"status.admin_status": "Open this status in the moderation interface",
|
||||
"status.admin_account": "Öppet modereringsgränssnitt för @{name}",
|
||||
"status.admin_status": "Öppna denna status i modereringsgränssnittet",
|
||||
"status.block": "Blockera @{name}",
|
||||
"status.cancel_reblog_private": "Ta bort knuff",
|
||||
"status.cannot_reblog": "Detta inlägg kan inte knuffas",
|
||||
"status.copy": "Kopiera länk till status",
|
||||
"status.delete": "Ta bort",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.detailed_status": "Detaljerad samtalsvy",
|
||||
"status.direct": "Direktmeddela @{name}",
|
||||
"status.embed": "Bädda in",
|
||||
"status.favourite": "Favorit",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "அடிப்படையான",
|
||||
"home.column_settings.show_reblogs": "காட்டு boosts",
|
||||
"home.column_settings.show_replies": "பதில்களைக் காண்பி",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} மற்ற {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} மற்ற {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} மற்ற {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "விருப்பங்கள்",
|
||||
"navigation_bar.public_timeline": "கூட்டாட்சி காலக்கெடு",
|
||||
"navigation_bar.security": "பத்திரம்",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} ஆர்வம் கொண்டவர், உங்கள் நிலை",
|
||||
"notification.follow": "{name} நீங்கள் தொடர்ந்து வந்தீர்கள்",
|
||||
"notification.mention": "{name} நீங்கள் குறிப்பிட்டுள்ளீர்கள்",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "ప్రాథమిక",
|
||||
"home.column_settings.show_reblogs": "బూస్ట్ లను చూపించు",
|
||||
"home.column_settings.show_replies": "ప్రత్యుత్తరాలను చూపించు",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "ప్రాధాన్యతలు",
|
||||
"navigation_bar.public_timeline": "సమాఖ్య కాలక్రమం",
|
||||
"navigation_bar.security": "భద్రత",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} మీ స్టేటస్ ను ఇష్టపడ్డారు",
|
||||
"notification.follow": "{name} మిమ్మల్ని అనుసరిస్తున్నారు",
|
||||
"notification.mention": "{name} మిమ్మల్ని ప్రస్తావించారు",
|
||||
|
|
|
@ -155,7 +155,7 @@
|
|||
"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.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.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
|
||||
"errors.unexpected_crash.report_issue": "Report issue",
|
||||
"errors.unexpected_crash.report_issue": "รายงานปัญหา",
|
||||
"federation.change": "Adjust status federation",
|
||||
"federation.federated.long": "Allow toot to reach other instances",
|
||||
"federation.federated.short": "Federated",
|
||||
|
@ -168,7 +168,7 @@
|
|||
"getting_started.documentation": "เอกสารประกอบ",
|
||||
"getting_started.heading": "เริ่มต้นใช้งาน",
|
||||
"getting_started.invite": "เชิญผู้คน",
|
||||
"getting_started.open_source_notice": "Mastodon เป็นซอฟต์แวร์เปิดต้นฉบับ คุณสามารถมีส่วนร่วมหรือรายงานปัญหาใน GitHub ที่ {github}",
|
||||
"getting_started.open_source_notice": "Mastodon เป็นซอฟต์แวร์เปิดต้นฉบับ คุณสามารถมีส่วนร่วมหรือรายงานปัญหาที่ GitHub ที่ {github}",
|
||||
"getting_started.security": "ความปลอดภัย",
|
||||
"getting_started.terms": "เงื่อนไขการให้บริการ",
|
||||
"hashtag.column_header.tag_mode.all": "และ {additional}",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "พื้นฐาน",
|
||||
"home.column_settings.show_reblogs": "แสดงการดัน",
|
||||
"home.column_settings.show_replies": "แสดงการตอบกลับ",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, other {# วัน}}",
|
||||
"intervals.full.hours": "{number, plural, other {# ชั่วโมง}}",
|
||||
"intervals.full.minutes": "{number, plural, other {# นาที}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "การกำหนดลักษณะ",
|
||||
"navigation_bar.public_timeline": "เส้นเวลาที่ติดต่อกับภายนอก",
|
||||
"navigation_bar.security": "ความปลอดภัย",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} ได้ชื่นชอบสถานะของคุณ",
|
||||
"notification.follow": "{name} ได้ติดตามคุณ",
|
||||
"notification.mention": "{name} ได้กล่าวถึงคุณ",
|
||||
|
@ -321,7 +319,7 @@
|
|||
"privacy.public.short": "สาธารณะ",
|
||||
"privacy.unlisted.long": "ไม่โพสต์ไปยังเส้นเวลาสาธารณะ",
|
||||
"privacy.unlisted.short": "ไม่อยู่ในรายการ",
|
||||
"refresh": "Refresh",
|
||||
"refresh": "รีเฟรช",
|
||||
"regeneration_indicator.label": "กำลังโหลด…",
|
||||
"regeneration_indicator.sublabel": "กำลังเตรียมฟีดหน้าแรกของคุณ!",
|
||||
"relative_time.days": "{number} วัน",
|
||||
|
@ -402,7 +400,7 @@
|
|||
"time_remaining.moments": "ช่วงเวลาที่เหลือ",
|
||||
"time_remaining.seconds": "เหลืออีก {number, plural, other {# วินาที}}",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, other {คน}}กำลังคุย",
|
||||
"trends.trending_now": "แนวโน้มตอนนี้",
|
||||
"trends.trending_now": "กำลังนิยม",
|
||||
"ui.beforeunload": "แบบร่างของคุณจะหายไปหากคุณออกจาก Mastodon",
|
||||
"upload_area.title": "ลากแล้วปล่อยเพื่ออัปโหลด",
|
||||
"upload_button.label": "เพิ่มสื่อ (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Temel",
|
||||
"home.column_settings.show_reblogs": "Boost edilenleri göster",
|
||||
"home.column_settings.show_replies": "Cevapları göster",
|
||||
"home.column_settings.update_live": "Gerçek zamanlı güncelle",
|
||||
"intervals.full.days": "{number, plural, one {# gün} other {# gün}}",
|
||||
"intervals.full.hours": "{number, plural, one {# saat} other {# saat}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# dakika} other {# dakika}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Tercihler",
|
||||
"navigation_bar.public_timeline": "Federe zaman tüneli",
|
||||
"navigation_bar.security": "Güvenlik",
|
||||
"notification.and_n_others": "ve {count, plural, one {# diğeri} other {# diğerleri}}",
|
||||
"notification.favourite": "{name} senin durumunu favorilere ekledi",
|
||||
"notification.follow": "{name} seni takip ediyor",
|
||||
"notification.mention": "{name} senden bahsetti",
|
||||
|
|
|
@ -111,9 +111,9 @@
|
|||
"confirmations.reply.message": "Поточна відповідь перезапише повідомлення, яке ви зараз пишете. Ви впевнені, що хочете продовжити?",
|
||||
"confirmations.unfollow.confirm": "Відписатися",
|
||||
"confirmations.unfollow.message": "Ви впевнені, що хочете відписатися від {name}?",
|
||||
"conversation.delete": "Delete conversation",
|
||||
"conversation.mark_as_read": "Mark as read",
|
||||
"conversation.open": "View conversation",
|
||||
"conversation.delete": "Видалити цю бесіду",
|
||||
"conversation.mark_as_read": "Позначити як прочитане",
|
||||
"conversation.open": "Переглянути бесіду",
|
||||
"conversation.with": "With {names}",
|
||||
"directory.federated": "З відомого федесвіту",
|
||||
"directory.local": "Тільки з домену {domain}",
|
||||
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "Основні",
|
||||
"home.column_settings.show_reblogs": "Показувати передмухи",
|
||||
"home.column_settings.show_replies": "Показувати відповіді",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# день} few {# дні} other {# днів}}",
|
||||
"intervals.full.hours": "{number, plural, one {# година} few {# години} other {# годин}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# хвилина} few {# хвилини} other {# хвилин}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "Налаштування",
|
||||
"navigation_bar.public_timeline": "Глобальна стрічка",
|
||||
"navigation_bar.security": "Безпека",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} вподобав(-ла) ваш допис",
|
||||
"notification.follow": "{name} підписався(-лась) на Вас",
|
||||
"notification.mention": "{name} згадав(-ла) Вас",
|
||||
|
@ -321,7 +319,7 @@
|
|||
"privacy.public.short": "Публічно",
|
||||
"privacy.unlisted.long": "Не показувати у публічних стрічках",
|
||||
"privacy.unlisted.short": "Прихований",
|
||||
"refresh": "Refresh",
|
||||
"refresh": "Оновити",
|
||||
"regeneration_indicator.label": "Завантаження…",
|
||||
"regeneration_indicator.sublabel": "Ваша домашня стрічка готується!",
|
||||
"relative_time.days": "{number}д",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "基本设置",
|
||||
"home.column_settings.show_reblogs": "显示转嘟",
|
||||
"home.column_settings.show_replies": "显示回复",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number} 天",
|
||||
"intervals.full.hours": "{number} 小时",
|
||||
"intervals.full.minutes": "{number} 分钟",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "首选项",
|
||||
"navigation_bar.public_timeline": "跨站公共时间轴",
|
||||
"navigation_bar.security": "安全",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} 收藏了你的嘟文",
|
||||
"notification.follow": "{name} 开始关注你",
|
||||
"notification.mention": "{name} 提及了你",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "基本",
|
||||
"home.column_settings.show_reblogs": "顯示被轉推的文章",
|
||||
"home.column_settings.show_replies": "顯示回應文章",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "偏好設定",
|
||||
"navigation_bar.public_timeline": "跨站時間軸",
|
||||
"navigation_bar.security": "安全",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} 收藏了你的文章",
|
||||
"notification.follow": "{name} 開始關注你",
|
||||
"notification.mention": "{name} 提及你",
|
||||
|
|
|
@ -183,7 +183,6 @@
|
|||
"home.column_settings.basic": "基本",
|
||||
"home.column_settings.show_reblogs": "顯示轉嘟",
|
||||
"home.column_settings.show_replies": "顯示回覆",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# 天} other {# 天}}",
|
||||
"intervals.full.hours": "{number, plural, one {# 小時} other {# 小時}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# 分鐘} other {# 分鐘}}",
|
||||
|
@ -277,7 +276,6 @@
|
|||
"navigation_bar.preferences": "偏好設定",
|
||||
"navigation_bar.public_timeline": "聯邦時間軸",
|
||||
"navigation_bar.security": "安全性",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} 把你的嘟文加入了最愛",
|
||||
"notification.follow": "{name} 關注了你",
|
||||
"notification.mention": "{name} 提到了你",
|
||||
|
|
|
@ -3216,27 +3216,22 @@ a.status-card.compact:hover {
|
|||
cursor: default;
|
||||
display: flex;
|
||||
flex: 1 1 auto;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 20px;
|
||||
|
||||
& > div {
|
||||
width: 100%;
|
||||
background: transparent;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
&__figure {
|
||||
width: 100%;
|
||||
height: 10px;
|
||||
background-size: contain;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
&,
|
||||
img {
|
||||
display: block;
|
||||
width: auto;
|
||||
height: 160px;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.missing-indicator {
|
||||
&--without-header {
|
||||
padding-top: 20px + 48px;
|
||||
}
|
||||
|
||||
|
@ -6186,7 +6181,8 @@ noscript {
|
|||
background: $base-shadow-color;
|
||||
|
||||
img,
|
||||
video {
|
||||
video,
|
||||
canvas {
|
||||
display: block;
|
||||
max-height: 80vh;
|
||||
width: 100%;
|
||||
|
|
|
@ -3,9 +3,10 @@
|
|||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
background: $ui-base-color;
|
||||
|
||||
@media screen and (max-width: 920px) {
|
||||
background: darken($ui-base-color, 8%);
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,11 +19,11 @@ class FeedManager
|
|||
|
||||
def filter?(timeline_type, status, receiver_id)
|
||||
if timeline_type == :home
|
||||
filter_from_home?(status, receiver_id)
|
||||
filter_from_home?(status, receiver_id, build_crutches(receiver_id, [status]), :home)
|
||||
elsif timeline_type == :mentions
|
||||
filter_from_mentions?(status, receiver_id)
|
||||
elsif timeline_type == :list
|
||||
filter_from_home?(status, receiver_id, :list)
|
||||
filter_from_home?(status, receiver_id, build_crutches(receiver_id, [status]), :list)
|
||||
else
|
||||
false
|
||||
end
|
||||
|
@ -31,6 +31,7 @@ class FeedManager
|
|||
|
||||
def push_to_home(account, status)
|
||||
return false unless add_to_feed(:home, account.id, status, account.user&.aggregates_reblogs?)
|
||||
|
||||
trim(:home, account.id)
|
||||
PushUpdateWorker.perform_async(account.id, status.id, "timeline:#{account.id}") if push_update_required?("timeline:#{account.id}")
|
||||
true
|
||||
|
@ -38,6 +39,7 @@ class FeedManager
|
|||
|
||||
def unpush_from_home(account, status)
|
||||
return false unless remove_from_feed(:home, account.id, status, account.user&.aggregates_reblogs?)
|
||||
|
||||
redis.publish("timeline:#{account.id}", Oj.dump(event: :delete, payload: status.id.to_s))
|
||||
true
|
||||
end
|
||||
|
@ -48,7 +50,9 @@ class FeedManager
|
|||
should_filter &&= !ListAccount.where(list_id: list.id, account_id: status.in_reply_to_account_id).exists?
|
||||
return false if should_filter
|
||||
end
|
||||
|
||||
return false unless add_to_feed(:list, list.id, status, list.account.user&.aggregates_reblogs?)
|
||||
|
||||
trim(:list, list.id)
|
||||
PushUpdateWorker.perform_async(list.account_id, status.id, "timeline:list:#{list.id}") if push_update_required?("timeline:list:#{list.id}")
|
||||
true
|
||||
|
@ -56,6 +60,7 @@ class FeedManager
|
|||
|
||||
def unpush_from_list(list, status)
|
||||
return false unless remove_from_feed(:list, list.id, status, list.account.user&.aggregates_reblogs?)
|
||||
|
||||
redis.publish("timeline:list:#{list.id}", Oj.dump(event: :delete, payload: status.id.to_s))
|
||||
true
|
||||
end
|
||||
|
@ -87,16 +92,21 @@ class FeedManager
|
|||
|
||||
def merge_into_timeline(from_account, into_account)
|
||||
timeline_key = key(:home, into_account.id)
|
||||
query = from_account.statuses.limit(FeedManager::MAX_ITEMS / 4)
|
||||
aggregate = into_account.user&.aggregates_reblogs?
|
||||
query = from_account.statuses.where(visibility: [:public, :unlisted, :private]).includes(:preloadable_poll, reblog: :account).limit(FeedManager::MAX_ITEMS / 4)
|
||||
|
||||
if redis.zcard(timeline_key) >= FeedManager::MAX_ITEMS / 4
|
||||
oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true)&.first&.last&.to_i || 0
|
||||
oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i
|
||||
query = query.where('id > ?', oldest_home_score)
|
||||
end
|
||||
|
||||
query.each do |status|
|
||||
next if status.direct_visibility? || status.limited_visibility? || filter?(:home, status, into_account)
|
||||
add_to_feed(:home, into_account.id, status, into_account.user&.aggregates_reblogs?)
|
||||
statuses = query.to_a
|
||||
crutches = build_crutches(into_account.id, statuses)
|
||||
|
||||
statuses.each do |status|
|
||||
next if filter_from_home?(status, into_account, crutches)
|
||||
|
||||
add_to_feed(:home, into_account.id, status, aggregate)
|
||||
end
|
||||
|
||||
trim(:home, into_account.id)
|
||||
|
@ -122,24 +132,35 @@ class FeedManager
|
|||
end
|
||||
|
||||
def populate_feed(account)
|
||||
added = 0
|
||||
limit = FeedManager::MAX_ITEMS / 2
|
||||
max_id = nil
|
||||
limit = FeedManager::MAX_ITEMS / 2
|
||||
aggregate = account.user&.aggregates_reblogs?
|
||||
timeline_key = key(:home, account.id)
|
||||
|
||||
loop do
|
||||
statuses = Status.as_home_timeline(account)
|
||||
.paginate_by_max_id(limit, max_id)
|
||||
account.statuses.where.not(visibility: :direct).limit(limit).each do |status|
|
||||
add_to_feed(:home, account.id, status, aggregate)
|
||||
end
|
||||
|
||||
break if statuses.empty?
|
||||
account.following.includes(:account_stat).find_each do |target_account|
|
||||
if redis.zcard(timeline_key) >= limit
|
||||
oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i
|
||||
last_status_score = Mastodon::Snowflake.id_at(account.last_status_at)
|
||||
|
||||
statuses.each do |status|
|
||||
next if filter_from_home?(status, account)
|
||||
added += 1 if add_to_feed(:home, account.id, status, account.user&.aggregates_reblogs?)
|
||||
# If the feed is full and this account has not posted more recently
|
||||
# than the last item on the feed, then we can skip the whole account
|
||||
# because none of its statuses would stay on the feed anyway
|
||||
next if last_status_score < oldest_home_score
|
||||
end
|
||||
|
||||
break unless added.zero?
|
||||
statuses = target_account.statuses.where(visibility: [:public, :unlisted, :private]).includes(:preloadable_poll, reblog: :account).limit(limit)
|
||||
crutches = build_crutches(account.id, statuses)
|
||||
|
||||
max_id = statuses.last.id
|
||||
statuses.each do |status|
|
||||
next if filter_from_home?(status, account, crutches)
|
||||
|
||||
add_to_feed(:home, account.id, status, aggregate)
|
||||
end
|
||||
|
||||
trim(:home, account.id)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -154,7 +175,7 @@ class FeedManager
|
|||
(context == :home ? Mute.where(account_id: receiver_id, target_account_id: account_ids).any? : Mute.where(account_id: receiver_id, target_account_id: account_ids, hide_notifications: true).any?)
|
||||
end
|
||||
|
||||
def filter_from_home?(status, receiver_id, timeline_type=:home)
|
||||
def filter_from_home?(status, receiver_id, crutches, timeline_type=:home)
|
||||
return false if receiver_id == status.account_id
|
||||
return true if status.reply? && (status.in_reply_to_id.nil? || status.in_reply_to_account_id.nil?)
|
||||
return true if phrase_filtered?(status, receiver_id, :home)
|
||||
|
@ -166,26 +187,28 @@ class FeedManager
|
|||
return true if ListAccount.where(list: @list, account_id: status.account_id).exists?
|
||||
end
|
||||
|
||||
check_for_blocks = status.active_mentions.pluck(:account_id)
|
||||
check_for_blocks = crutches[:active_mentions][status.id] || []
|
||||
check_for_blocks.concat([status.account_id])
|
||||
|
||||
if status.reblog?
|
||||
check_for_blocks.concat([status.reblog.account_id])
|
||||
check_for_blocks.concat(status.reblog.active_mentions.pluck(:account_id))
|
||||
check_for_blocks.concat(crutches[:active_mentions][status.reblog_of_id] || [])
|
||||
end
|
||||
|
||||
return true if blocks_or_mutes?(receiver_id, check_for_blocks, :home)
|
||||
return true if check_for_blocks.any? { |target_account_id| crutches[:blocking][target_account_id] || crutches[:muting][target_account_id] }
|
||||
|
||||
if status.reply? && !status.in_reply_to_account_id.nil? # Filter out if it's a reply
|
||||
should_filter = !Follow.where(account_id: receiver_id, target_account_id: status.in_reply_to_account_id).exists? # and I'm not following the person it's a reply to
|
||||
should_filter = !crutches[:following][status.in_reply_to_account_id] # and I'm not following the person it's a reply to
|
||||
should_filter &&= receiver_id != status.in_reply_to_account_id # and it's not a reply to me
|
||||
should_filter &&= status.account_id != status.in_reply_to_account_id # and it's not a self-reply
|
||||
return should_filter
|
||||
|
||||
return !!should_filter
|
||||
elsif status.reblog? # Filter out a reblog
|
||||
should_filter = Follow.where(account_id: receiver_id, target_account_id: status.account_id, show_reblogs: false).exists? # if the reblogger's reblogs are suppressed
|
||||
should_filter ||= Block.where(account_id: status.reblog.account_id, target_account_id: receiver_id).exists? # or if the author of the reblogged status is blocking me
|
||||
should_filter ||= AccountDomainBlock.where(account_id: receiver_id, domain: status.reblog.account.domain).exists? # or the author's domain is blocked
|
||||
return should_filter
|
||||
should_filter = crutches[:hiding_reblogs][status.account_id] # if the reblogger's reblogs are suppressed
|
||||
should_filter ||= crutches[:blocked_by][status.reblog.account_id] # or if the author of the reblogged status is blocking me
|
||||
should_filter ||= crutches[:domain_blocking][status.reblog.account.domain] # or the author's domain is blocked
|
||||
|
||||
return !!should_filter
|
||||
end
|
||||
|
||||
false
|
||||
|
@ -317,4 +340,31 @@ class FeedManager
|
|||
|
||||
redis.zrem(timeline_key, status.id)
|
||||
end
|
||||
|
||||
def build_crutches(receiver_id, statuses)
|
||||
crutches = {}
|
||||
|
||||
crutches[:active_mentions] = Mention.active.where(status_id: statuses.flat_map { |s| [s.id, s.reblog_of_id] }.compact).pluck(:status_id, :account_id).each_with_object({}) { |(id, account_id), mapping| (mapping[id] ||= []).push(account_id) }
|
||||
|
||||
check_for_blocks = statuses.flat_map do |s|
|
||||
arr = crutches[:active_mentions][s.id] || []
|
||||
arr.concat([s.account_id])
|
||||
|
||||
if s.reblog?
|
||||
arr.concat([s.reblog.account_id])
|
||||
arr.concat(crutches[:active_mentions][s.reblog_of_id] || [])
|
||||
end
|
||||
|
||||
arr
|
||||
end
|
||||
|
||||
crutches[:following] = Follow.where(account_id: receiver_id, target_account_id: statuses.map(&:in_reply_to_account_id).compact).pluck(:target_account_id).each_with_object({}) { |id, mapping| mapping[id] = true }
|
||||
crutches[:hiding_reblogs] = Follow.where(account_id: receiver_id, target_account_id: statuses.map { |s| s.account_id if s.reblog? }.compact, show_reblogs: false).pluck(:target_account_id).each_with_object({}) { |id, mapping| mapping[id] = true }
|
||||
crutches[:blocking] = Block.where(account_id: receiver_id, target_account_id: check_for_blocks).pluck(:target_account_id).each_with_object({}) { |id, mapping| mapping[id] = true }
|
||||
crutches[:muting] = Mute.where(account_id: receiver_id, target_account_id: check_for_blocks).pluck(:target_account_id).each_with_object({}) { |id, mapping| mapping[id] = true }
|
||||
crutches[:domain_blocking] = AccountDomainBlock.where(account_id: receiver_id, domain: statuses.map { |s| s.reblog&.account&.domain }.compact).pluck(:domain).each_with_object({}) { |domain, mapping| mapping[domain] = true }
|
||||
crutches[:blocked_by] = Block.where(target_account_id: receiver_id, account_id: statuses.map { |s| s.reblog&.account_id }.compact).pluck(:account_id).each_with_object({}) { |id, mapping| mapping[id] = true }
|
||||
|
||||
crutches
|
||||
end
|
||||
end
|
||||
|
|
|
@ -44,7 +44,6 @@ class SpamCheck
|
|||
end
|
||||
|
||||
def flag!
|
||||
auto_silence_account!
|
||||
auto_report_status!
|
||||
end
|
||||
|
||||
|
@ -134,17 +133,13 @@ class SpamCheck
|
|||
text.gsub(/\s+/, ' ').strip
|
||||
end
|
||||
|
||||
def auto_silence_account!
|
||||
@account.silence!
|
||||
end
|
||||
|
||||
def auto_report_status!
|
||||
status_ids = Status.where(visibility: %i(public unlisted)).where(id: matching_status_ids).pluck(:id) + [@status.id] if @status.distributable?
|
||||
ReportService.new.call(Account.representative, @account, status_ids: status_ids, comment: I18n.t('spam_check.spam_detected_and_silenced'))
|
||||
ReportService.new.call(Account.representative, @account, status_ids: status_ids, comment: I18n.t('spam_check.spam_detected'))
|
||||
end
|
||||
|
||||
def already_flagged?
|
||||
@account.silenced?
|
||||
@account.silenced? || @account.targeted_reports.unresolved.where(account_id: -99).exists?
|
||||
end
|
||||
|
||||
def trusted?
|
||||
|
|
|
@ -198,7 +198,7 @@ class Account < ApplicationRecord
|
|||
end
|
||||
|
||||
def unsilence!
|
||||
update!(silenced_at: nil, trust_level: trust_level == TRUST_LEVELS[:untrusted] ? TRUST_LEVELS[:trusted] : trust_level)
|
||||
update!(silenced_at: nil)
|
||||
end
|
||||
|
||||
def suspended?
|
||||
|
@ -310,10 +310,9 @@ class Account < ApplicationRecord
|
|||
def save_with_optional_media!
|
||||
save!
|
||||
rescue ActiveRecord::RecordInvalid
|
||||
self.avatar = nil
|
||||
self.header = nil
|
||||
self[:avatar_remote_url] = ''
|
||||
self[:header_remote_url] = ''
|
||||
self.avatar = nil
|
||||
self.header = nil
|
||||
|
||||
save!
|
||||
end
|
||||
|
||||
|
|
|
@ -62,6 +62,8 @@ class Admin::AccountAction
|
|||
|
||||
def process_action!
|
||||
case type
|
||||
when 'none'
|
||||
handle_resolve!
|
||||
when 'disable'
|
||||
handle_disable!
|
||||
when 'silence'
|
||||
|
@ -103,6 +105,16 @@ class Admin::AccountAction
|
|||
end
|
||||
end
|
||||
|
||||
def handle_resolve!
|
||||
if with_report? && report.account_id == -99 && target_account.trust_level == Account::TRUST_LEVELS[:untrusted]
|
||||
# This is an automated report and it is being dismissed, so it's
|
||||
# a false positive, in which case update the account's trust level
|
||||
# to prevent further spam checks
|
||||
|
||||
target_account.update(trust_level: Account::TRUST_LEVELS[:trusted])
|
||||
end
|
||||
end
|
||||
|
||||
def handle_disable!
|
||||
authorize(target_account.user, :disable?)
|
||||
log_action(:disable, target_account.user)
|
||||
|
|
|
@ -18,7 +18,7 @@ module Remotable
|
|||
return
|
||||
end
|
||||
|
||||
return if !%w(http https).include?(parsed_url.scheme) || parsed_url.host.blank? || self[attribute_name] == url
|
||||
return if !%w(http https).include?(parsed_url.scheme) || parsed_url.host.blank? || (self[attribute_name] == url && send("#{attachment_name}_file_name").present?)
|
||||
|
||||
begin
|
||||
Request.new(:get, url).perform do |response|
|
||||
|
|
|
@ -30,6 +30,7 @@ class Form::AdminSettings
|
|||
mascot
|
||||
spam_check_enabled
|
||||
trends
|
||||
trendable_by_default
|
||||
show_domain_blocks
|
||||
show_domain_blocks_rationale
|
||||
noindex
|
||||
|
@ -46,6 +47,7 @@ class Form::AdminSettings
|
|||
profile_directory
|
||||
spam_check_enabled
|
||||
trends
|
||||
trendable_by_default
|
||||
noindex
|
||||
).freeze
|
||||
|
||||
|
|
|
@ -7,19 +7,7 @@ class HomeFeed < Feed
|
|||
@account = account
|
||||
end
|
||||
|
||||
def get(limit, max_id = nil, since_id = nil, min_id = nil)
|
||||
if redis.exists("account:#{@account.id}:regeneration")
|
||||
from_database(limit, max_id, since_id, min_id)
|
||||
else
|
||||
super
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def from_database(limit, max_id, since_id, min_id)
|
||||
Status.as_home_timeline(@account)
|
||||
.paginate_by_id(limit, max_id: max_id, since_id: since_id, min_id: min_id)
|
||||
.reject { |status| FeedManager.instance.filter?(:home, status, @account.id) }
|
||||
def regenerating?
|
||||
redis.exists("account:#{@id}:regeneration")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -57,6 +57,7 @@ class MediaAttachment < ApplicationRecord
|
|||
small: {
|
||||
convert_options: {
|
||||
output: {
|
||||
'loglevel' => 'fatal',
|
||||
vf: 'scale=\'min(400\, iw):min(400\, ih)\':force_original_aspect_ratio=decrease',
|
||||
},
|
||||
},
|
||||
|
@ -70,6 +71,7 @@ class MediaAttachment < ApplicationRecord
|
|||
keep_same_format: true,
|
||||
convert_options: {
|
||||
output: {
|
||||
'loglevel' => 'fatal',
|
||||
'map_metadata' => '-1',
|
||||
'c:v' => 'copy',
|
||||
'c:a' => 'copy',
|
||||
|
@ -84,6 +86,7 @@ class MediaAttachment < ApplicationRecord
|
|||
content_type: 'audio/mpeg',
|
||||
convert_options: {
|
||||
output: {
|
||||
'loglevel' => 'fatal',
|
||||
'q:a' => 2,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -291,10 +291,6 @@ class Status < ApplicationRecord
|
|||
where(language: nil).or where(language: account.chosen_languages)
|
||||
end
|
||||
|
||||
def as_home_timeline(account)
|
||||
where(account: [account] + account.following).where(visibility: [:public, :unlisted, :private])
|
||||
end
|
||||
|
||||
def as_public_timeline(account = nil, local_only = false)
|
||||
query = timeline_scope(local_only).without_replies
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@ class Tag < ApplicationRecord
|
|||
scope :pending_review, -> { unreviewed.where.not(requested_review_at: nil) }
|
||||
scope :usable, -> { where(usable: [true, nil]) }
|
||||
scope :listable, -> { where(listable: [true, nil]) }
|
||||
scope :trendable, -> { Setting.trendable_by_default ? where(trendable: [true, nil]) : where(trendable: true) }
|
||||
scope :discoverable, -> { listable.joins(:account_tag_stat).where(AccountTagStat.arel_table[:accounts_count].gt(0)).order(Arel.sql('account_tag_stats.accounts_count desc')) }
|
||||
scope :most_used, ->(account) { joins(:statuses).where(statuses: { account: account }).group(:id).order(Arel.sql('count(*) desc')) }
|
||||
scope :matches_name, ->(value) { where(arel_table[:name].matches("#{value}%")) }
|
||||
|
@ -76,7 +77,7 @@ class Tag < ApplicationRecord
|
|||
alias listable? listable
|
||||
|
||||
def trendable
|
||||
boolean_with_default('trendable', false)
|
||||
boolean_with_default('trendable', Setting.trendable_by_default)
|
||||
end
|
||||
|
||||
alias trendable? trendable
|
||||
|
|
|
@ -90,7 +90,7 @@ class TrendingTags
|
|||
tag_ids = redis.zrevrange(KEY, 0, LIMIT - 1).map(&:to_i)
|
||||
|
||||
tags = Tag.where(id: tag_ids)
|
||||
tags = tags.where(trendable: true) if filtered
|
||||
tags = tags.trendable if filtered
|
||||
tags = tags.each_with_object({}) { |tag, h| h[tag.id] = tag }
|
||||
|
||||
tag_ids.map { |tag_id| tags[tag_id] }.compact.take(limit)
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class HashtagQueryService < BaseService
|
||||
LIMIT_PER_MODE = 4
|
||||
|
||||
def call(tag, params, account = nil, local = false)
|
||||
tags = tags_for(Array(tag.name) | Array(params[:any])).pluck(:id)
|
||||
all = tags_for(params[:all])
|
||||
|
@ -15,6 +17,6 @@ class HashtagQueryService < BaseService
|
|||
private
|
||||
|
||||
def tags_for(names)
|
||||
Tag.matching_name(names) if names.presence
|
||||
Tag.matching_name(Array(names).take(LIMIT_PER_MODE)) if names.present?
|
||||
end
|
||||
end
|
||||
|
|
|
@ -59,13 +59,12 @@
|
|||
= link_to root_url, class: 'brand' do
|
||||
= site_title
|
||||
|
||||
- if @instance_presenter.site_short_description.present?
|
||||
.hero-widget__text
|
||||
%p
|
||||
= @instance_presenter.site_short_description.html_safe.presence
|
||||
= link_to about_more_path do
|
||||
= t('about.learn_more')
|
||||
= fa_icon 'angle-double-right'
|
||||
.hero-widget__text
|
||||
%p
|
||||
= @instance_presenter.site_short_description.html_safe.presence || t('about.about_mastodon_html')
|
||||
= link_to about_more_path do
|
||||
= t('about.learn_more')
|
||||
= fa_icon 'angle-double-right'
|
||||
|
||||
.hero-widget__footer
|
||||
.hero-widget__footer__column
|
||||
|
|
|
@ -17,6 +17,10 @@
|
|||
- else
|
||||
= custom_emoji.domain
|
||||
|
||||
- if custom_emoji.local_counterpart.present?
|
||||
•
|
||||
= t('admin.accounts.location.local')
|
||||
|
||||
%br/
|
||||
|
||||
- if custom_emoji.disabled?
|
||||
|
|
|
@ -20,10 +20,10 @@
|
|||
= f.input :site_contact_email, wrapper: :with_label, label: t('admin.settings.contact_information.email')
|
||||
|
||||
.fields-group
|
||||
= f.input :site_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_description.title'), hint: t('admin.settings.site_description.desc_html'), input_html: { rows: 4 }
|
||||
= f.input :site_short_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_short_description.title'), hint: t('admin.settings.site_short_description.desc_html'), input_html: { rows: 2 }
|
||||
|
||||
.fields-group
|
||||
= f.input :site_short_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_short_description.title'), hint: t('admin.settings.site_short_description.desc_html'), input_html: { rows: 2 }
|
||||
= f.input :site_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_description.title'), hint: t('admin.settings.site_description.desc_html'), input_html: { rows: 2 }
|
||||
|
||||
.fields-row
|
||||
.fields-row__column.fields-row__column-6.fields-group
|
||||
|
@ -71,6 +71,9 @@
|
|||
.fields-group
|
||||
= f.input :trends, as: :boolean, wrapper: :with_label, label: t('admin.settings.trends.title'), hint: t('admin.settings.trends.desc_html')
|
||||
|
||||
.fields-group
|
||||
= f.input :trendable_by_default, as: :boolean, wrapper: :with_label, label: t('admin.settings.trendable_by_default.title'), hint: t('admin.settings.trendable_by_default.desc_html')
|
||||
|
||||
.fields-group
|
||||
= f.input :noindex, as: :boolean, wrapper: :with_label, label: t('admin.settings.default_noindex.title'), hint: t('admin.settings.default_noindex.desc_html')
|
||||
|
||||
|
@ -89,8 +92,8 @@
|
|||
= f.input :show_domain_blocks_rationale, wrapper: :with_label, collection: %i(disabled users all), label: t('admin.settings.domain_blocks_rationale.title'), label_method: lambda { |value| t("admin.settings.domain_blocks.#{value}") }, include_blank: false, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'
|
||||
|
||||
.fields-group
|
||||
= f.input :closed_registrations_message, as: :text, wrapper: :with_block_label, label: t('admin.settings.registrations.closed_message.title'), hint: t('admin.settings.registrations.closed_message.desc_html'), input_html: { rows: 8 }
|
||||
= f.input :site_extended_description, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_description_extended.title'), hint: t('admin.settings.site_description_extended.desc_html'), input_html: { rows: 8 } unless whitelist_mode?
|
||||
= f.input :closed_registrations_message, as: :text, wrapper: :with_block_label, label: t('admin.settings.registrations.closed_message.title'), hint: t('admin.settings.registrations.closed_message.desc_html'), input_html: { rows: 8 }
|
||||
= f.input :site_terms, wrapper: :with_block_label, as: :text, label: t('admin.settings.site_terms.title'), hint: t('admin.settings.site_terms.desc_html'), input_html: { rows: 8 }
|
||||
= f.input :custom_css, wrapper: :with_block_label, as: :text, input_html: { rows: 8 }, label: t('admin.settings.custom_css.title'), hint: t('admin.settings.custom_css.desc_html')
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue