Merge pull request #1825 from ClearlyClaire/glitch-soc/merge-upstream

Merge upstream changes
main
Claire 2 years ago committed by GitHub
commit aba0032f54
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,254 +0,0 @@
# Service dependencies
# You may set REDIS_URL instead for more advanced options
REDIS_HOST=$DATA_REDIS_HOST
REDIS_PORT=6379
# REDIS_DB=0
# You may set DATABASE_URL instead for more advanced options
DB_HOST=$DATA_DB_HOST
DB_USER=$DATA_DB_USER
DB_NAME=gonano
DB_PASS=$DATA_DB_PASS
DB_PORT=5432
# DATABASE_URL=postgresql://$DATA_DB_USER:$DATA_DB_PASS@$DATA_DB_HOST/gonano
# Optional Elasticsearch configuration
ES_ENABLED=true
ES_HOST=$DATA_ELASTIC_HOST
ES_PORT=9200
BIND=0.0.0.0
# Federation
# Note: Changing LOCAL_DOMAIN at a later time will cause unwanted side effects, including breaking all existing federation.
# LOCAL_DOMAIN should *NOT* contain the protocol part of the domain e.g https://example.com.
LOCAL_DOMAIN=${APP_NAME}.nanoapp.io
# Changing LOCAL_HTTPS in production is no longer supported. (Mastodon will always serve https:// links)
# Use this only if you need to run mastodon on a different domain than the one used for federation.
# You can read more about this option on https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Serving_a_different_domain.md
# DO *NOT* USE THIS UNLESS YOU KNOW *EXACTLY* WHAT YOU ARE DOING.
# WEB_DOMAIN=mastodon.example.com
# Use this if you want to have several aliases handler@example1.com
# handler@example2.com etc. for the same user. LOCAL_DOMAIN should not
# be added. Comma separated values
# ALTERNATE_DOMAINS=example1.com,example2.com
# Application secrets
# Generate each with the `rake secret` task (`nanobox run bundle exec rake secret`)
SECRET_KEY_BASE=$SECRET_KEY_BASE
OTP_SECRET=$OTP_SECRET
# VAPID keys (used for push notifications)
# You can generate the keys using the following command (first is the private key, second is the public one)
# You should only generate this once per instance. If you later decide to change it, all push subscription will
# be invalidated, requiring the users to access the website again to resubscribe.
#
# Generate with `rake mastodon:webpush:generate_vapid_key` task (`nanobox run bundle exec rake mastodon:webpush:generate_vapid_key`)
#
# For more information visit https://rossta.net/blog/using-the-web-push-api-with-vapid.html
VAPID_PRIVATE_KEY=$VAPID_PRIVATE_KEY
VAPID_PUBLIC_KEY=$VAPID_PUBLIC_KEY
# Registrations
# Single user mode will disable registrations and redirect frontpage to the first profile
# SINGLE_USER_MODE=true
# Prevent registrations with following e-mail domains
# EMAIL_DOMAIN_BLACKLIST=example1.com|example2.de|etc
# Only allow registrations with the following e-mail domains
# EMAIL_DOMAIN_WHITELIST=example1.com|example2.de|etc
# Optionally change default language
# DEFAULT_LOCALE=de
# E-mail configuration
# Note: Mailgun and SparkPost (https://sparkpo.st/smtp) each have good free tiers
# If you want to use an SMTP server without authentication (e.g local Postfix relay)
# then set SMTP_AUTH_METHOD and SMTP_OPENSSL_VERIFY_MODE to 'none' and
# *comment* SMTP_LOGIN and SMTP_PASSWORD (leaving them blank is not enough).
SMTP_SERVER=$SMTP_SERVER
SMTP_PORT=587
SMTP_LOGIN=$SMTP_LOGIN
SMTP_PASSWORD=$SMTP_PASSWORD
SMTP_FROM_ADDRESS=notifications@${APP_NAME}.nanoapp.io
#SMTP_REPLY_TO=
#SMTP_DOMAIN= # defaults to LOCAL_DOMAIN
#SMTP_DELIVERY_METHOD=smtp # delivery method can also be sendmail
#SMTP_AUTH_METHOD=plain
#SMTP_CA_FILE=/etc/ssl/certs/ca-certificates.crt
#SMTP_OPENSSL_VERIFY_MODE=peer
#SMTP_ENABLE_STARTTLS_AUTO=true
#SMTP_TLS=true
# Optional user upload path and URL (images, avatars). Default is :rails_root/public/system. If you set this variable, you are responsible for making your HTTP server (eg. nginx) serve these files.
# PAPERCLIP_ROOT_PATH=/var/lib/mastodon/public-system
# PAPERCLIP_ROOT_URL=/system
# Optional asset host for multi-server setups
# The asset host must allow cross origin request from WEB_DOMAIN or LOCAL_DOMAIN
# if WEB_DOMAIN is not set. For example, the server may have the
# following header field:
# Access-Control-Allow-Origin: https://example.com/
# CDN_HOST=https://assets.example.com
# S3 (optional)
# The attachment host must allow cross origin request from WEB_DOMAIN or
# LOCAL_DOMAIN if WEB_DOMAIN is not set. For example, the server may have the
# following header field:
# Access-Control-Allow-Origin: https://192.168.1.123:9000/
# S3_ENABLED=true
# S3_BUCKET=
# AWS_ACCESS_KEY_ID=
# AWS_SECRET_ACCESS_KEY=
# S3_REGION=
# S3_PROTOCOL=http
# S3_HOSTNAME=192.168.1.123:9000
# S3 (Minio Config (optional) Please check Minio instance for details)
# The attachment host must allow cross origin request - see the description
# above.
# S3_ENABLED=true
# S3_BUCKET=
# AWS_ACCESS_KEY_ID=
# AWS_SECRET_ACCESS_KEY=
# S3_REGION=
# S3_PROTOCOL=https
# S3_HOSTNAME=
# S3_ENDPOINT=
# S3_SIGNATURE_VERSION=
# Google Cloud Storage (optional)
# Use S3 compatible API. Since GCS does not support Multipart Upload,
# increase the value of S3_MULTIPART_THRESHOLD to disable Multipart Upload.
# The attachment host must allow cross origin request - see the description
# above.
# S3_ENABLED=true
# AWS_ACCESS_KEY_ID=
# AWS_SECRET_ACCESS_KEY=
# S3_REGION=
# S3_PROTOCOL=https
# S3_HOSTNAME=storage.googleapis.com
# S3_ENDPOINT=https://storage.googleapis.com
# S3_MULTIPART_THRESHOLD=52428801 # 50.megabytes
# Swift (optional)
# The attachment host must allow cross origin request - see the description
# above.
# SWIFT_ENABLED=true
# SWIFT_USERNAME=
# For Keystone V3, the value for SWIFT_TENANT should be the project name
# SWIFT_TENANT=
# SWIFT_PASSWORD=
# Some OpenStack V3 providers require PROJECT_ID (optional)
# SWIFT_PROJECT_ID=
# Keystone V2 and V3 URLs are supported. Use a V3 URL if possible to avoid
# issues with token rate-limiting during high load.
# SWIFT_AUTH_URL=
# SWIFT_CONTAINER=
# SWIFT_OBJECT_URL=
# SWIFT_REGION=
# Defaults to 'default'
# SWIFT_DOMAIN_NAME=
# Defaults to 60 seconds. Set to 0 to disable
# SWIFT_CACHE_TTL=
# Optional alias for S3 (e.g. to serve files on a custom domain, possibly using Cloudfront or Cloudflare)
# S3_ALIAS_HOST=
# Streaming API integration
# STREAMING_API_BASE_URL=
# Advanced settings
# If you need to use pgBouncer, you need to disable prepared statements:
# PREPARED_STATEMENTS=false
# Cluster number setting for streaming API server.
# If you comment out following line, cluster number will be `numOfCpuCores - 1`.
# STREAMING_CLUSTER_NUM=1
# Docker mastodon user
# If you use Docker, you may want to assign UID/GID manually.
# UID=1000
# GID=1000
# LDAP authentication (optional)
# LDAP_ENABLED=true
# LDAP_HOST=localhost
# LDAP_PORT=389
# LDAP_METHOD=simple_tls
# LDAP_BASE=
# LDAP_BIND_DN=
# LDAP_PASSWORD=
# LDAP_UID=cn
# LDAP_MAIL=mail
# LDAP_SEARCH_FILTER=(|(%{uid}=%{email})(%{mail}=%{email}))
# LDAP_UID_CONVERSION_ENABLED=true
# LDAP_UID_CONVERSION_SEARCH=., -
# LDAP_UID_CONVERSION_REPLACE=_
# PAM authentication (optional)
# PAM authentication uses for the email generation the "email" pam variable
# and optional as fallback PAM_DEFAULT_SUFFIX
# The pam environment variable "email" is provided by:
# https://github.com/devkral/pam_email_extractor
# PAM_ENABLED=true
# Fallback email domain for email address generation (LOCAL_DOMAIN by default)
# PAM_EMAIL_DOMAIN=example.com
# Name of the pam service (pam "auth" section is evaluated)
# PAM_DEFAULT_SERVICE=rpam
# Name of the pam service used for checking if an user can register (pam "account" section is evaluated) (nil (disabled) by default)
# PAM_CONTROLLED_SERVICE=rpam
# Optional CAS authentication (cf. omniauth-cas) :
# CAS_ENABLED=true
# CAS_URL=https://sso.myserver.com/
# CAS_HOST=sso.myserver.com/
# CAS_PORT=443
# CAS_SSL=true
# CAS_VALIDATE_URL=
# CAS_CALLBACK_URL=
# CAS_LOGOUT_URL=
# CAS_LOGIN_URL=
# CAS_UID_FIELD='user'
# CAS_CA_PATH=
# CAS_DISABLE_SSL_VERIFICATION=false
# CAS_UID_KEY='user'
# CAS_NAME_KEY='name'
# CAS_EMAIL_KEY='email'
# CAS_NICKNAME_KEY='nickname'
# CAS_FIRST_NAME_KEY='firstname'
# CAS_LAST_NAME_KEY='lastname'
# CAS_LOCATION_KEY='location'
# CAS_IMAGE_KEY='image'
# CAS_PHONE_KEY='phone'
# CAS_SECURITY_ASSUME_EMAIL_IS_VERIFIED=true
# Optional SAML authentication (cf. omniauth-saml)
# SAML_ENABLED=true
# SAML_ACS_URL=http://localhost:3000/auth/auth/saml/callback
# SAML_ISSUER=https://example.com
# SAML_IDP_SSO_TARGET_URL=https://idp.testshib.org/idp/profile/SAML2/Redirect/SSO
# SAML_IDP_CERT=
# SAML_IDP_CERT_FINGERPRINT=
# SAML_NAME_IDENTIFIER_FORMAT=
# SAML_CERT=
# SAML_PRIVATE_KEY=
# SAML_SECURITY_WANT_ASSERTION_SIGNED=true
# SAML_SECURITY_WANT_ASSERTION_ENCRYPTED=true
# SAML_SECURITY_ASSUME_EMAIL_IS_VERIFIED=true
# SAML_ATTRIBUTES_STATEMENTS_UID="urn:oid:0.9.2342.19200300.100.1.1"
# SAML_ATTRIBUTES_STATEMENTS_EMAIL="urn:oid:1.3.6.1.4.1.5923.1.1.1.6"
# SAML_ATTRIBUTES_STATEMENTS_FULL_NAME="urn:oid:2.16.840.1.113730.3.1.241"
# SAML_ATTRIBUTES_STATEMENTS_FIRST_NAME="urn:oid:2.5.4.42"
# SAML_ATTRIBUTES_STATEMENTS_LAST_NAME="urn:oid:2.5.4.4"
# SAML_UID_ATTRIBUTE="urn:oid:0.9.2342.19200300.100.1.1"
# SAML_ATTRIBUTES_STATEMENTS_VERIFIED=
# SAML_ATTRIBUTES_STATEMENTS_VERIFIED_EMAIL=
# Use HTTP proxy for outgoing request (optional)
# http_proxy=http://gateway.local:8118
# Access control for hidden service.
# ALLOW_ACCESS_TO_HIDDEN_SERVICE=true

@ -0,0 +1 @@
mastodon

@ -1 +1 @@
3.0.3
3.0.4

@ -5,7 +5,7 @@ SHELL ["/bin/bash", "-c"]
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
# Install Node v16 (LTS)
ENV NODE_VER="16.15.1"
ENV NODE_VER="16.16.0"
RUN ARCH= && \
dpkgArch="$(dpkg --print-architecture)" && \
case "${dpkgArch##*-}" in \
@ -27,7 +27,7 @@ RUN ARCH= && \
mv node-v$NODE_VER-linux-$ARCH /opt/node
# Install Ruby 3.0
ENV RUBY_VER="3.0.3"
ENV RUBY_VER="3.0.4"
RUN apt-get update && \
apt-get install -y --no-install-recommends build-essential \
bison libyaml-dev libgdbm-dev libreadline-dev libjemalloc-dev \

@ -121,7 +121,7 @@ group :test do
gem 'rails-controller-testing', '~> 1.0'
gem 'rspec-sidekiq', '~> 3.1'
gem 'simplecov', '~> 0.21', require: false
gem 'webmock', '~> 3.14'
gem 'webmock', '~> 3.17'
gem 'rspec_junit_formatter', '~> 0.5'
end

@ -69,7 +69,7 @@ GEM
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
aes_key_wrap (1.1.0)
airbrussh (1.4.0)
airbrussh (1.4.1)
sshkit (>= 1.6.1, != 1.7.0)
android_key_attestation (0.3.0)
annotate (3.2.0)
@ -129,7 +129,7 @@ GEM
bundler (>= 1.2.0, < 3)
thor (~> 1.0)
byebug (11.1.3)
capistrano (3.17.0)
capistrano (3.17.1)
airbrussh (>= 1.0.0)
i18n
rake (>= 10.0.0)
@ -329,13 +329,13 @@ GEM
activesupport (>= 4.2)
aes_key_wrap
bindata
json-ld (3.2.0)
json-ld (3.2.3)
htmlentities (~> 4.3)
json-canonicalization (~> 0.3)
link_header (~> 0.0, >= 0.0.8)
multi_json (~> 1.15)
rack (~> 2.2)
rdf (~> 3.2)
rdf (~> 3.2, >= 3.2.9)
json-ld-preloaded (3.2.0)
json-ld (~> 3.2)
rdf (~> 3.2)
@ -403,9 +403,9 @@ GEM
multi_json (1.15.0)
multipart-post (2.1.1)
net-ldap (0.17.1)
net-scp (3.0.0)
net-ssh (>= 2.6.5, < 7.0.0)
net-ssh (6.1.0)
net-scp (4.0.0.rc1)
net-ssh (>= 2.6.5, < 8.0.0)
net-ssh (7.0.1)
nio4r (2.5.8)
nokogiri (1.13.8)
mini_portile2 (~> 2.8.0)
@ -415,7 +415,7 @@ GEM
concurrent-ruby (~> 1.0, >= 1.0.2)
sidekiq (>= 3.5)
statsd-ruby (~> 1.4, >= 1.4.0)
oj (3.13.18)
oj (3.13.20)
omniauth (1.9.1)
hashie (>= 3.4.6)
rack (>= 1.6.2, < 3)
@ -452,7 +452,7 @@ GEM
pg (1.4.2)
pghero (2.8.3)
activerecord (>= 5)
pkg-config (1.4.7)
pkg-config (1.4.9)
posix-spawn (0.3.15)
premailer (1.14.2)
addressable
@ -529,7 +529,7 @@ GEM
thor (~> 1.0)
rainbow (3.1.1)
rake (13.0.6)
rdf (3.2.3)
rdf (3.2.9)
link_header (~> 0.0, >= 0.0.8)
rdf-normalize (0.5.0)
rdf (~> 3.2)
@ -604,10 +604,10 @@ GEM
railties (>= 4.0.0)
securecompare (1.0.0)
semantic_range (3.0.0)
sidekiq (6.5.1)
sidekiq (6.5.3)
connection_pool (>= 2.2.2)
rack (~> 2.0)
redis (>= 4.2.0)
redis (>= 4.5.0)
sidekiq-bulk (0.2.0)
sidekiq
sidekiq-scheduler (4.0.2)
@ -615,7 +615,7 @@ GEM
rufus-scheduler (~> 3.2)
sidekiq (>= 4)
tilt (>= 1.4.0)
sidekiq-unique-jobs (7.1.26)
sidekiq-unique-jobs (7.1.27)
brpoplpush-redis_script (> 0.1.1, <= 2.0.0)
concurrent-ruby (~> 1.0, >= 1.0.5)
sidekiq (>= 5.0, < 8.0)
@ -704,7 +704,7 @@ GEM
webfinger (1.2.0)
activesupport
httpclient (>= 2.4)
webmock (3.14.0)
webmock (3.17.0)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
@ -720,7 +720,7 @@ GEM
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
wisper (2.0.1)
xorcist (1.1.2)
xorcist (1.1.3)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.6.0)
@ -849,7 +849,7 @@ DEPENDENCIES
twitter-text (~> 3.1.0)
tzinfo-data (~> 1.2022)
webauthn (~> 3.0.0.alpha1)
webmock (~> 3.14)
webmock (~> 3.17)
webpacker (~> 5.4)
webpush (~> 0.3)
xorcist (~> 1.1)

@ -625,6 +625,10 @@ class Status extends ImmutablePureComponent {
height={110}
cacheWidth={this.props.cacheMediaWidth}
deployPictureInPicture={this.handleDeployPictureInPicture}
sensitive={status.get('sensitive')}
blurhash={attachment.get('blurhash')}
visible={this.state.showMedia}
onToggleVisibility={this.handleToggleMediaVisibility}
/>
)}
</Bundle>,

@ -1,6 +1,6 @@
import React from 'react';
import PropTypes from 'prop-types';
import { defineMessages, injectIntl } from 'react-intl';
import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
import { formatTime } from 'flavours/glitch/features/video';
import Icon from 'flavours/glitch/components/icon';
import classNames from 'classnames';
@ -8,6 +8,9 @@ import { throttle } from 'lodash';
import { getPointerPosition, fileNameFromURL } from 'flavours/glitch/features/video';
import { debounce } from 'lodash';
import Visualizer from './visualizer';
import { displayMedia, useBlurhash } from 'flavours/glitch/util/initial_state';
import Blurhash from 'flavours/glitch/components/blurhash';
import { is } from 'immutable';
const messages = defineMessages({
play: { id: 'video.play', defaultMessage: 'Play' },
@ -15,6 +18,7 @@ const messages = defineMessages({
mute: { id: 'video.mute', defaultMessage: 'Mute sound' },
unmute: { id: 'video.unmute', defaultMessage: 'Unmute sound' },
download: { id: 'video.download', defaultMessage: 'Download file' },
hide: { id: 'audio.hide', defaultMessage: 'Hide audio' },
});
const TICK_SIZE = 10;
@ -30,10 +34,14 @@ class Audio extends React.PureComponent {
duration: PropTypes.number,
width: PropTypes.number,
height: PropTypes.number,
sensitive: PropTypes.bool,
editable: PropTypes.bool,
fullscreen: PropTypes.bool,
intl: PropTypes.object.isRequired,
blurhash: PropTypes.string,
cacheWidth: PropTypes.func,
visible: PropTypes.bool,
onToggleVisibility: PropTypes.func,
backgroundColor: PropTypes.string,
foregroundColor: PropTypes.string,
accentColor: PropTypes.string,
@ -53,6 +61,7 @@ class Audio extends React.PureComponent {
muted: false,
volume: 0.5,
dragging: false,
revealed: this.props.visible !== undefined ? this.props.visible : (displayMedia !== 'hide_all' && !this.props.sensitive || displayMedia === 'show_all'),
};
constructor (props) {
@ -78,6 +87,8 @@ class Audio extends React.PureComponent {
backgroundColor: this.props.backgroundColor,
foregroundColor: this.props.foregroundColor,
accentColor: this.props.accentColor,
sensitive: this.props.sensitive,
visible: this.props.visible,
};
}
@ -132,6 +143,12 @@ class Audio extends React.PureComponent {
}
}
componentWillReceiveProps (nextProps) {
if (!is(nextProps.visible, this.props.visible) && nextProps.visible !== undefined) {
this.setState({ revealed: nextProps.visible });
}
}
componentWillUnmount () {
window.removeEventListener('scroll', this.handleScroll);
window.removeEventListener('resize', this.handleResize);
@ -195,6 +212,14 @@ class Audio extends React.PureComponent {
});
}
toggleReveal = () => {
if (this.props.onToggleVisibility) {
this.props.onToggleVisibility();
} else {
this.setState({ revealed: !this.state.revealed });
}
}
handleVolumeMouseDown = e => {
document.addEventListener('mousemove', this.handleMouseVolSlide, true);
document.addEventListener('mouseup', this.handleVolumeMouseUp, true);
@ -439,13 +464,29 @@ class Audio extends React.PureComponent {
}
render () {
const { src, intl, alt, editable, autoPlay } = this.props;
const { paused, muted, volume, currentTime, duration, buffer, dragging } = this.state;
const { src, intl, alt, editable, autoPlay, sensitive, blurhash } = this.props;
const { paused, muted, volume, currentTime, duration, buffer, dragging, revealed } = this.state;
const progress = Math.min((currentTime / duration) * 100, 100);
let warning;
if (sensitive) {
warning = <FormattedMessage id='status.sensitive_warning' defaultMessage='Sensitive content' />;
} else {
warning = <FormattedMessage id='status.media_hidden' defaultMessage='Media hidden' />;
}
return (
<div className={classNames('audio-player', { editable })} ref={this.setPlayerRef} style={{ backgroundColor: this._getBackgroundColor(), color: this._getForegroundColor(), width: '100%', height: this.props.fullscreen ? '100%' : (this.state.height || this.props.height) }} onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave} tabIndex='0' onKeyDown={this.handleKeyDown}>
<audio
<div className={classNames('audio-player', { editable, inactive: !revealed })} ref={this.setPlayerRef} style={{ backgroundColor: this._getBackgroundColor(), color: this._getForegroundColor(), width: '100%', height: this.props.fullscreen ? '100%' : (this.state.height || this.props.height) }} onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave} tabIndex='0' onKeyDown={this.handleKeyDown}>
<Blurhash
hash={blurhash}
className={classNames('media-gallery__preview', {
'media-gallery__preview--hidden': revealed,
})}
dummy={!useBlurhash}
/>
{(revealed || editable) && <audio
src={src}
ref={this.setAudioRef}
preload={autoPlay ? 'auto' : 'none'}
@ -454,7 +495,7 @@ class Audio extends React.PureComponent {
onProgress={this.handleProgress}
onLoadedData={this.handleLoadedData}
crossOrigin='anonymous'
/>
/>}
<canvas
role='button'
@ -470,13 +511,19 @@ class Audio extends React.PureComponent {
aria-label={alt}
/>
<img
<div className={classNames('spoiler-button', { 'spoiler-button--hidden': revealed || editable })}>
<button type='button' className='spoiler-button__overlay' onClick={this.toggleReveal}>
<span className='spoiler-button__overlay__label'>{warning}</span>
</button>
</div>
{(revealed || editable) && <img
src={this.props.poster}
alt=''
width={(this._getRadius() - TICK_SIZE) * 2}
height={(this._getRadius() - TICK_SIZE) * 2}
style={{ position: 'absolute', left: this._getCX(), top: this._getCY(), transform: 'translate(-50%, -50%)', borderRadius: '50%', pointerEvents: 'none' }}
/>
/>}
<div className='video-player__seek' onMouseDown={this.handleMouseDown} ref={this.setSeekRef}>
<div className='video-player__seek__buffer' style={{ width: `${buffer}%` }} />
@ -514,6 +561,7 @@ class Audio extends React.PureComponent {
</div>
<div className='video-player__buttons right'>
{!editable && <button type='button' title={intl.formatMessage(messages.hide)} aria-label={intl.formatMessage(messages.hide)} className='player-button' onClick={this.toggleReveal}><Icon id='eye-slash' fixedWidth /></button>}
<a title={intl.formatMessage(messages.download)} aria-label={intl.formatMessage(messages.download)} className='video-player__download__icon player-button' href={this.props.src} download>
<Icon id={'download'} fixedWidth />
</a>

@ -165,7 +165,11 @@ class DetailedStatus extends ImmutablePureComponent {
backgroundColor={attachment.getIn(['meta', 'colors', 'background'])}
foregroundColor={attachment.getIn(['meta', 'colors', 'foreground'])}
accentColor={attachment.getIn(['meta', 'colors', 'accent'])}
sensitive={status.get('sensitive')}
visible={this.props.showMedia}
blurhash={attachment.get('blurhash')}
height={150}
onToggleVisibility={this.props.onToggleMediaVisibility}
/>,
);
mediaIcons.push('music');

@ -389,6 +389,13 @@
height: 100%;
}
&.inactive {
audio,
.video-player__controls {
visibility: hidden;
}
}
.video-player__volume::before,
.video-player__seek::before {
background: currentColor;

@ -409,6 +409,10 @@ class Status extends ImmutablePureComponent {
height={110}
cacheWidth={this.props.cacheMediaWidth}
deployPictureInPicture={pictureInPicture.get('available') ? this.handleDeployPictureInPicture : undefined}
sensitive={status.get('sensitive')}
blurhash={attachment.get('blurhash')}
visible={this.state.showMedia}
onToggleVisibility={this.handleToggleMediaVisibility}
/>
)}
</Bundle>

@ -1,6 +1,6 @@
import React from 'react';
import PropTypes from 'prop-types';
import { defineMessages, injectIntl } from 'react-intl';
import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
import { formatTime } from 'mastodon/features/video';
import Icon from 'mastodon/components/icon';
import classNames from 'classnames';
@ -8,6 +8,9 @@ import { throttle } from 'lodash';
import { getPointerPosition, fileNameFromURL } from 'mastodon/features/video';
import { debounce } from 'lodash';
import Visualizer from './visualizer';
import { displayMedia, useBlurhash } from '../../initial_state';
import Blurhash from '../../components/blurhash';
import { is } from 'immutable';
const messages = defineMessages({
play: { id: 'video.play', defaultMessage: 'Play' },
@ -15,6 +18,7 @@ const messages = defineMessages({
mute: { id: 'video.mute', defaultMessage: 'Mute sound' },
unmute: { id: 'video.unmute', defaultMessage: 'Unmute sound' },
download: { id: 'video.download', defaultMessage: 'Download file' },
hide: { id: 'audio.hide', defaultMessage: 'Hide audio' },
});
const TICK_SIZE = 10;
@ -30,10 +34,14 @@ class Audio extends React.PureComponent {
duration: PropTypes.number,
width: PropTypes.number,
height: PropTypes.number,
sensitive: PropTypes.bool,
editable: PropTypes.bool,
fullscreen: PropTypes.bool,
intl: PropTypes.object.isRequired,
blurhash: PropTypes.string,
cacheWidth: PropTypes.func,
visible: PropTypes.bool,
onToggleVisibility: PropTypes.func,
backgroundColor: PropTypes.string,
foregroundColor: PropTypes.string,
accentColor: PropTypes.string,
@ -53,6 +61,7 @@ class Audio extends React.PureComponent {
muted: false,
volume: 0.5,
dragging: false,
revealed: this.props.visible !== undefined ? this.props.visible : (displayMedia !== 'hide_all' && !this.props.sensitive || displayMedia === 'show_all'),
};
constructor (props) {
@ -78,6 +87,8 @@ class Audio extends React.PureComponent {
backgroundColor: this.props.backgroundColor,
foregroundColor: this.props.foregroundColor,
accentColor: this.props.accentColor,
sensitive: this.props.sensitive,
visible: this.props.visible,
};
}
@ -126,6 +137,12 @@ class Audio extends React.PureComponent {
}
}
componentWillReceiveProps (nextProps) {
if (!is(nextProps.visible, this.props.visible) && nextProps.visible !== undefined) {
this.setState({ revealed: nextProps.visible });
}
}
componentWillUnmount () {
window.removeEventListener('scroll', this.handleScroll);
window.removeEventListener('resize', this.handleResize);
@ -189,6 +206,14 @@ class Audio extends React.PureComponent {
});
}
toggleReveal = () => {
if (this.props.onToggleVisibility) {
this.props.onToggleVisibility();
} else {
this.setState({ revealed: !this.state.revealed });
}
}
handleVolumeMouseDown = e => {
document.addEventListener('mousemove', this.handleMouseVolSlide, true);
document.addEventListener('mouseup', this.handleVolumeMouseUp, true);
@ -433,13 +458,29 @@ class Audio extends React.PureComponent {
}
render () {
const { src, intl, alt, editable, autoPlay } = this.props;
const { paused, muted, volume, currentTime, duration, buffer, dragging } = this.state;
const { src, intl, alt, editable, autoPlay, sensitive, blurhash } = this.props;
const { paused, muted, volume, currentTime, duration, buffer, dragging, revealed } = this.state;
const progress = Math.min((currentTime / duration) * 100, 100);
let warning;
if (sensitive) {
warning = <FormattedMessage id='status.sensitive_warning' defaultMessage='Sensitive content' />;
} else {
warning = <FormattedMessage id='status.media_hidden' defaultMessage='Media hidden' />;
}
return (
<div className={classNames('audio-player', { editable })} ref={this.setPlayerRef} style={{ backgroundColor: this._getBackgroundColor(), color: this._getForegroundColor(), width: '100%', height: this.props.fullscreen ? '100%' : (this.state.height || this.props.height) }} onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave} tabIndex='0' onKeyDown={this.handleKeyDown}>
<audio
<div className={classNames('audio-player', { editable, inactive: !revealed })} ref={this.setPlayerRef} style={{ backgroundColor: this._getBackgroundColor(), color: this._getForegroundColor(), width: '100%', height: this.props.fullscreen ? '100%' : (this.state.height || this.props.height) }} onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave} tabIndex='0' onKeyDown={this.handleKeyDown}>
<Blurhash
hash={blurhash}
className={classNames('media-gallery__preview', {
'media-gallery__preview--hidden': revealed,
})}
dummy={!useBlurhash}
/>
{(revealed || editable) && <audio
src={src}
ref={this.setAudioRef}
preload={autoPlay ? 'auto' : 'none'}
@ -448,7 +489,7 @@ class Audio extends React.PureComponent {
onProgress={this.handleProgress}
onLoadedData={this.handleLoadedData}
crossOrigin='anonymous'
/>
/>}
<canvas
role='button'
@ -464,13 +505,19 @@ class Audio extends React.PureComponent {
aria-label={alt}
/>
<img
<div className={classNames('spoiler-button', { 'spoiler-button--hidden': revealed || editable })}>
<button type='button' className='spoiler-button__overlay' onClick={this.toggleReveal}>
<span className='spoiler-button__overlay__label'>{warning}</span>
</button>
</div>
{(revealed || editable) && <img
src={this.props.poster}
alt=''
width={(this._getRadius() - TICK_SIZE) * 2}
height={(this._getRadius() - TICK_SIZE) * 2}
style={{ position: 'absolute', left: this._getCX(), top: this._getCY(), transform: 'translate(-50%, -50%)', borderRadius: '50%', pointerEvents: 'none' }}
/>
/>}
<div className='video-player__seek' onMouseDown={this.handleMouseDown} ref={this.setSeekRef}>
<div className='video-player__seek__buffer' style={{ width: `${buffer}%` }} />
@ -508,6 +555,7 @@ class Audio extends React.PureComponent {
</div>
<div className='video-player__buttons right'>
{!editable && <button type='button' title={intl.formatMessage(messages.hide)} aria-label={intl.formatMessage(messages.hide)} className='player-button' onClick={this.toggleReveal}><Icon id='eye-slash' fixedWidth /></button>}
<a title={intl.formatMessage(messages.download)} aria-label={intl.formatMessage(messages.download)} className='video-player__download__icon player-button' href={this.props.src} download>
<Icon id={'download'} fixedWidth />
</a>

@ -138,7 +138,11 @@ class DetailedStatus extends ImmutablePureComponent {
backgroundColor={attachment.getIn(['meta', 'colors', 'background'])}
foregroundColor={attachment.getIn(['meta', 'colors', 'foreground'])}
accentColor={attachment.getIn(['meta', 'colors', 'accent'])}
sensitive={status.get('sensitive')}
visible={this.props.showMedia}
blurhash={attachment.get('blurhash')}
height={150}
onToggleVisibility={this.props.onToggleMediaVisibility}
/>
);
} else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oops!",
"announcement.announcement": "Aankondiging",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "المعذرة!",
"announcement.announcement": "إعلان",
"attachments_list.unprocessed": "(غير معالَج)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} في الأسبوع",
"boost_modal.combo": "يُمكنك الضّغط على {combo} لتخطي هذا في المرة المُقبلة",
"bundle_column_error.body": "لقد حدث خطأ ما أثناء تحميل هذا العنصر.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "¡Meca!",
"announcement.announcement": "Anunciu",
"attachments_list.unprocessed": "(ensin procesar)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per selmana",
"boost_modal.combo": "Pues primir {combo} pa saltar esto la próxima vegada",
"bundle_column_error.body": "Asocedió daqué malo mentanto se cargaba esti componente.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Опаа!",
"announcement.announcement": "Оповестяване",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} на седмица",
"boost_modal.combo": "Можете да натиснете {combo}, за да пропуснете това следващия път",
"bundle_column_error.body": "Нещо се обърка при зареждането на този компонент.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "ওহো!",
"announcement.announcement": "ঘোষণা",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "প্রতি সপ্তাহে {count}",
"boost_modal.combo": "পরেরবার আপনি {combo} টিপলে এটি আর আসবে না",
"bundle_column_error.body": "এই অংশটি দেখতে যেয়ে কোনো সমস্যা হয়েছে।.",

@ -18,7 +18,7 @@
"account.followers": "Heulier·ezed·ien",
"account.followers.empty": "Den na heul an implijer-mañ c'hoazh.",
"account.followers_counter": "{count, plural, other{{counter} Heulier}}",
"account.following": "Following",
"account.following": "O heuliañ",
"account.following_counter": "{count, plural, other {{counter} Heuliañ}}",
"account.follows.empty": "An implijer·ez-mañ na heul den ebet.",
"account.follows_you": "Ho heul",
@ -59,6 +59,7 @@
"alert.unexpected.title": "Hopala!",
"announcement.announcement": "Kemenn",
"attachments_list.unprocessed": "(ket meret)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} bep sizhun",
"boost_modal.combo": "Ar wezh kentañ e c'halliot gwaskañ war {combo} evit tremen hebiou",
"bundle_column_error.body": "Degouezhet ez eus bet ur fazi en ur gargañ an elfenn-mañ.",
@ -108,7 +109,7 @@
"compose_form.poll.switch_to_single": "Kemmañ ar sontadeg evit aotren un dibab hepken",
"compose_form.publish": "Embann",
"compose_form.publish_loud": "{publish} !",
"compose_form.save_changes": "Save changes",
"compose_form.save_changes": "Enrollañ ar cheñchamantoù",
"compose_form.sensitive.hide": "Merkañ ar media evel kizidik",
"compose_form.sensitive.marked": "Merket eo ar media evel kizidik",
"compose_form.sensitive.unmarked": "N'eo ket merket ar media evel kizidik",
@ -149,7 +150,7 @@
"embed.instructions": "Enkorfit ar statud war ho lec'hienn en ur eilañ ar c'hod dindan.",
"embed.preview": "Setu penaos e vo diskouezet:",
"emoji_button.activity": "Obererezh",
"emoji_button.clear": "Clear",
"emoji_button.clear": "Diverkañ",
"emoji_button.custom": "Kempennet",
"emoji_button.flags": "Bannieloù",
"emoji_button.food": "Boued hag Evaj",
@ -169,7 +170,7 @@
"empty_column.blocks": "N'eus ket bet berzet implijer·ez ganeoc'h c'hoazh.",
"empty_column.bookmarked_statuses": "N'ho peus toud ebet enrollet en ho sinedoù c'hoazh. Pa vo ouzhpennet unan ganeoc'h e teuio war wel amañ.",
"empty_column.community": "Goulo eo ar red-amzer lec'hel. Skrivit'ta un dra evit lakaat tan dezhi !",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
"empty_column.direct": "N'ho peus kemennad prevez ebet c'hoazh. Pa vo resevet pe kaset unan ganeoc'h e teuio war wel amañ.",
"empty_column.domain_blocks": "N'eus domani kuzh ebet c'hoazh.",
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
"empty_column.favourited_statuses": "N'ho peus toud muiañ-karet ebet c'hoazh. Pa vo lakaet unan ganeoc'h e vo diskouezet amañ.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Unan e mesk anezho",
"hashtag.column_settings.tag_mode.none": "Hini ebet anezho",
"hashtag.column_settings.tag_toggle": "Endelc'her gerioù-alc'hwez ouzhpenn evit ar bannad-mañ",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Heuliañ ar ger-klik",
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Paouez heuliañ ar ger-klik",
"home.column_settings.basic": "Diazez",
"home.column_settings.show_reblogs": "Diskouez ar skignadennoù",
"home.column_settings.show_replies": "Diskouez ar respontoù",
@ -270,8 +271,8 @@
"lightbox.expand": "Ledanaat boest hewel ar skeudenn",
"lightbox.next": "Da-heul",
"lightbox.previous": "A-raok",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"limited_account_hint.action": "Diskouez an aelad memes tra",
"limited_account_hint.title": "Kuzhet eo bet an aelad-mañ gant habaskerien·ezed ho servijer.",
"lists.account.add": "Ouzhpennañ d'al listenn",
"lists.account.remove": "Lemel kuit eus al listenn",
"lists.delete": "Dilemel al listenn",
@ -317,8 +318,8 @@
"navigation_bar.preferences": "Gwellvezioù",
"navigation_bar.public_timeline": "Red-amzer kevreet",
"navigation_bar.security": "Diogelroez",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up",
"notification.admin.report": "Disklêriet eo bet {target} gant {name}",
"notification.admin.sign_up": "{name} en·he deus lakaet e·hec'h anv",
"notification.favourite": "{name} en/he deus lakaet ho toud en e/he muiañ-karet",
"notification.follow": "heuliañ a ra {name} ac'hanoc'h",
"notification.follow_request": "{name} en/he deus goulennet da heuliañ ac'hanoc'h",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Vaja!",
"announcement.announcement": "Anunci",
"attachments_list.unprocessed": "(sense processar)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per setmana",
"boost_modal.combo": "Pots prémer {combo} per evitar-ho el pròxim cop",
"bundle_column_error.body": "S'ha produït un error en carregar aquest component.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Qualsevol daquests",
"hashtag.column_settings.tag_mode.none": "Cap daquests",
"hashtag.column_settings.tag_toggle": "Inclou etiquetes addicionals per a aquesta columna",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Segueix etiqueta",
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Deixa de seguir etiqueta",
"home.column_settings.basic": "Bàsic",
"home.column_settings.show_reblogs": "Mostra els impulsos",
"home.column_settings.show_replies": "Mostra les respostes",

@ -59,6 +59,7 @@
"alert.unexpected.title": "تەححح!",
"announcement.announcement": "بانگەواز",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} هەرهەفتە",
"boost_modal.combo": "دەتوانیت دەست بنێی بە سەر {combo} بۆ بازدان لە جاری داهاتوو",
"bundle_column_error.body": "هەڵەیەک ڕوویدا لەکاتی بارکردنی ئەم پێکهاتەیە.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Uups!",
"announcement.announcement": "Annunziu",
"attachments_list.unprocessed": "(micca trattata)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per settimana",
"boost_modal.combo": "Pudete appughjà nant'à {combo} per saltà quessa a prussima volta",
"bundle_column_error.body": "C'hè statu un prublemu caricandu st'elementu.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Jejda!",
"announcement.announcement": "Oznámení",
"attachments_list.unprocessed": "(nezpracováno)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} za týden",
"boost_modal.combo": "Příště můžete pro přeskočení stisknout {combo}",
"bundle_column_error.body": "Při načítání této komponenty se něco pokazilo.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Wps!",
"announcement.announcement": "Cyhoeddiad",
"attachments_list.unprocessed": "(heb eu prosesu)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} yr wythnos",
"boost_modal.combo": "Mae modd gwasgu {combo} er mwyn sgipio hyn tro nesa",
"bundle_column_error.body": "Aeth rhywbeth o'i le tra'n llwytho'r elfen hon.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Ups!",
"announcement.announcement": "Bekendtgørelse",
"attachments_list.unprocessed": "(ubehandlet)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} pr. uge",
"boost_modal.combo": "Du kan trykke på {combo} for at overspringe dette næste gang",
"bundle_column_error.body": "Noget gik galt under indlæsningen af denne komponent.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Nogle af disse",
"hashtag.column_settings.tag_mode.none": "Ingen af disse",
"hashtag.column_settings.tag_toggle": "Inkludér ekstra tags for denne kolonne",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Følg hashtag",
"hashtag.total_volume": "Samlet volumen {days, plural, one {den seneste dag} other {de seneste {days} dage}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Stop med at følge hashtag",
"home.column_settings.basic": "Grundlæggende",
"home.column_settings.show_reblogs": "Vis boosts",
"home.column_settings.show_replies": "Vis svar",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Hoppla!",
"announcement.announcement": "Ankündigung",
"attachments_list.unprocessed": "(ausstehend)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} pro Woche",
"boost_modal.combo": "Drücke {combo}, um dieses Fenster zu überspringen",
"bundle_column_error.body": "Etwas ist beim Laden schiefgelaufen.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Eins von diesen",
"hashtag.column_settings.tag_mode.none": "Keins von diesen",
"hashtag.column_settings.tag_toggle": "Zusätzliche Hashtags für diese Spalte einfügen",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Hashtag folgen",
"hashtag.total_volume": "Gesamtes Aufkommen {days, plural, one {am letzten Tag} other {in den letzten {days} Tagen}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Hashtag entfolgen",
"home.column_settings.basic": "Einfach",
"home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen",
"home.column_settings.show_replies": "Antworten anzeigen",

@ -1078,6 +1078,18 @@
{
"defaultMessage": "Download file",
"id": "video.download"
},
{
"defaultMessage": "Hide audio",
"id": "audio.hide"
},
{
"defaultMessage": "Sensitive content",
"id": "status.sensitive_warning"
},
{
"defaultMessage": "Media hidden",
"id": "status.media_hidden"
}
],
"path": "app/javascript/mastodon/features/audio/index.json"

@ -59,6 +59,7 @@
"alert.unexpected.title": "Εεπ!",
"announcement.announcement": "Ανακοίνωση",
"attachments_list.unprocessed": "(μη επεξεργασμένο)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} ανα εβδομάδα",
"boost_modal.combo": "Μπορείς να πατήσεις {combo} για να το προσπεράσεις αυτό την επόμενη φορά",
"bundle_column_error.body": "Κάτι πήγε στραβά ενώ φορτωνόταν αυτό το στοιχείο.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Οποιοδήποτε από αυτά",
"hashtag.column_settings.tag_mode.none": "Κανένα από αυτά",
"hashtag.column_settings.tag_toggle": "Προσθήκη επιπλέον ταμπελών για την κολώνα",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Παρακολούθηση ετικέτας",
"hashtag.total_volume": "Συνολικός όγκος κατά την τελευταία {days, plural, one {ημέρα} other {{days} ημέρες}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Διακοπή παρακολούθησης ετικέτας",
"home.column_settings.basic": "Βασικές ρυθμίσεις",
"home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων",
"home.column_settings.show_replies": "Εμφάνιση απαντήσεων",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Aj!",
"announcement.announcement": "Anonco",
"attachments_list.unprocessed": "(neprilaborita)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} semajne",
"boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje",
"bundle_column_error.body": "Io misfunkciis en la ŝargado de ĉi tiu elemento.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Iu ajn",
"hashtag.column_settings.tag_mode.none": "Neniu",
"hashtag.column_settings.tag_toggle": "Aldoni pliajn etikedojn por ĉi tiu kolumno",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Sekvi la kradvorton",
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Ne plu sekvi la kradvorton",
"home.column_settings.basic": "Bazaj agordoj",
"home.column_settings.show_reblogs": "Montri plusendojn",
"home.column_settings.show_replies": "Montri respondojn",

@ -59,6 +59,7 @@
"alert.unexpected.title": "¡Epa!",
"announcement.announcement": "Anuncio",
"attachments_list.unprocessed": "[sin procesar]",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Podés hacer clic en {combo} para saltar esto la próxima vez",
"bundle_column_error.body": "Algo salió mal al cargar este componente.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Cualquiera de estas",
"hashtag.column_settings.tag_mode.none": "Ninguna de estas",
"hashtag.column_settings.tag_toggle": "Incluir etiquetas adicionales para esta columna",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Seguir etiqueta",
"hashtag.total_volume": "Volumen total en el/los último/s {days, plural, one {día} other {{days} días}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Dejar de seguir etiqueta",
"home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar adhesiones",
"home.column_settings.show_replies": "Mostrar respuestas",

@ -59,6 +59,7 @@
"alert.unexpected.title": "¡Ups!",
"announcement.announcement": "Anuncio",
"attachments_list.unprocessed": "(sin procesar)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
"bundle_column_error.body": "Algo salió mal al cargar este componente.",
@ -221,7 +222,7 @@
"hashtag.column_settings.tag_mode.none": "Ninguno de estos",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"hashtag.follow": "Follow hashtag",
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
"hashtag.total_volume": "Volumen total en los últimos {days, plural, one {día} other {{days} días}}",
"hashtag.unfollow": "Unfollow hashtag",
"home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar retoots",
@ -520,7 +521,7 @@
"timeline_hint.resources.followers": "Seguidores",
"timeline_hint.resources.follows": "Seguidos",
"timeline_hint.resources.statuses": "Toots más antiguos",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
"trends.counter_by_accounts": "{count, plural, one {{counter} persona} other {{counter} personas}} en los últimos {days, plural, one {días} other {{days} días}}",
"trends.trending_now": "Tendencia ahora",
"ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.",
"units.short.billion": "{count} MM",

@ -59,6 +59,7 @@
"alert.unexpected.title": "¡Ups!",
"announcement.announcement": "Anuncio",
"attachments_list.unprocessed": "(sin procesar)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
"bundle_column_error.body": "Algo salió mal al cargar este componente.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Cualquiera de estos",
"hashtag.column_settings.tag_mode.none": "Ninguno de estos",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Seguir etiqueta",
"hashtag.total_volume": "Volumen total en los últimos {days, plural, one {día} other {{days} días}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Dejar de seguir etiqueta",
"home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar retoots",
"home.column_settings.show_replies": "Mostrar respuestas",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oih!",
"announcement.announcement": "Teadaanne",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} nädalas",
"boost_modal.combo": "Võite vajutada {combo}, et see järgmine kord vahele jätta",
"bundle_column_error.body": "Midagi läks valesti selle komponendi laadimisel.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Ene!",
"announcement.announcement": "Iragarpena",
"attachments_list.unprocessed": "(prozesatu gabe)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} asteko",
"boost_modal.combo": "{combo} sakatu dezakezu hurrengoan hau saltatzeko",
"bundle_column_error.body": "Zerbait okerra gertatu da osagai hau kargatzean.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "ای وای!",
"announcement.announcement": "اعلامیه",
"attachments_list.unprocessed": "(پردازش نشده)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} در هفته",
"boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید",
"bundle_column_error.body": "هنگام بار کردن این مولفه، اشتباهی رخ داد.",

@ -18,7 +18,7 @@
"account.followers": "Seuraajat",
"account.followers.empty": "Kukaan ei seuraa tätä käyttäjää vielä.",
"account.followers_counter": "{count, plural, one {{counter} seuraaja} other {{counter} seuraajat}}",
"account.following": "Following",
"account.following": "Seurataan",
"account.following_counter": "{count, plural, one {{counter} seuraa} other {{counter} seuraa}}",
"account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.",
"account.follows_you": "Seuraa sinua",
@ -41,12 +41,12 @@
"account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
"account.unblock": "Salli @{name}",
"account.unblock_domain": "Salli {domain}",
"account.unblock_short": "Unblock",
"account.unblock_short": "Poista esto",
"account.unendorse": "Poista suosittelu profiilistasi",
"account.unfollow": "Lopeta seuraaminen",
"account.unmute": "Poista käyttäjän @{name} mykistys",
"account.unmute_notifications": "Poista mykistys käyttäjän @{name} ilmoituksilta",
"account.unmute_short": "Unmute",
"account.unmute_short": "Poista mykistys",
"account_note.placeholder": "Lisää muistiinpano napsauttamalla",
"admin.dashboard.daily_retention": "Käyttäjän säilyminen rekisteröitymisen jälkeiseen päivään mennessä",
"admin.dashboard.monthly_retention": "Käyttäjän säilyminen rekisteröitymisen jälkeiseen kuukauteen mennessä",
@ -59,6 +59,7 @@
"alert.unexpected.title": "Hups!",
"announcement.announcement": "Ilmoitus",
"attachments_list.unprocessed": "(käsittelemätön)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} viikossa",
"boost_modal.combo": "Ensi kerralla voit ohittaa tämän painamalla {combo}",
"bundle_column_error.body": "Jokin meni vikaan komponenttia ladattaessa.",
@ -70,7 +71,7 @@
"column.blocks": "Estetyt käyttäjät",
"column.bookmarks": "Kirjanmerkit",
"column.community": "Paikallinen aikajana",
"column.direct": "Direct messages",
"column.direct": "Yksityisviestit",
"column.directory": "Selaa profiileja",
"column.domain_blocks": "Piilotetut verkkotunnukset",
"column.favourites": "Suosikit",
@ -92,10 +93,10 @@
"community.column_settings.local_only": "Vain paikalliset",
"community.column_settings.media_only": "Vain media",
"community.column_settings.remote_only": "Vain etäkäyttö",
"compose.language.change": "Change language",
"compose.language.search": "Search languages...",
"compose.language.change": "Vaihda kieli",
"compose.language.search": "Hae kieliä...",
"compose_form.direct_message_warning_learn_more": "Lisätietoja",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.encryption_warning": "Mastodonin viestit eivät ole päästä päähän salattuja. Älä jaa arkaluonteisia tietoja Mastodonissa.",
"compose_form.hashtag_warning": "Tätä julkaisua listata minkään hastagin alle, koska se on listaamaton. Ainoastaan julkisia julkaisuja etsiä hastageilla.",
"compose_form.lock_disclaimer": "Tilisi ei ole {locked}. Kuka tahansa voi seurata tiliäsi ja nähdä vain seuraajille rajaamasi julkaisut.",
"compose_form.lock_disclaimer.lock": "lukittu",
@ -106,7 +107,7 @@
"compose_form.poll.remove_option": "Poista tämä valinta",
"compose_form.poll.switch_to_multiple": "Muuta kysely monivalinnaksi",
"compose_form.poll.switch_to_single": "Muuta kysely sallimaan vain yksi valinta",
"compose_form.publish": "Publish",
"compose_form.publish": "Julkaise",
"compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Tallenna muutokset",
"compose_form.sensitive.hide": "{count, plural, one {Merkitse media arkaluontoiseksi} other {Merkitse media arkaluontoiseksi}}",
@ -149,7 +150,7 @@
"embed.instructions": "Upota julkaisu verkkosivullesi kopioimalla alla oleva koodi.",
"embed.preview": "Se tulee näyttämään tältä:",
"emoji_button.activity": "Aktiviteetit",
"emoji_button.clear": "Clear",
"emoji_button.clear": "Tyhjennä",
"emoji_button.custom": "Mukautetut",
"emoji_button.flags": "Liput",
"emoji_button.food": "Ruoka ja juoma",
@ -169,7 +170,7 @@
"empty_column.blocks": "Et ole vielä estänyt yhtään käyttäjää.",
"empty_column.bookmarked_statuses": "Et ole vielä lisännyt viestejä kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.",
"empty_column.community": "Paikallinen aikajana on tyhjä. Kirjoita jotain julkista, niin homma lähtee käyntiin!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
"empty_column.direct": "Sinulla ei ole vielä yksityisviestejä. Kun lähetät tai vastaanotat sellaisen, se näkyy tässä.",
"empty_column.domain_blocks": "Yhtään verkko-osoitetta ei ole vielä estetty.",
"empty_column.explore_statuses": "Mikään ei ole nyt trendi. Tarkista myöhemmin!",
"empty_column.favourited_statuses": "Et ole vielä lisännyt viestejä kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Mikä tahansa näistä",
"hashtag.column_settings.tag_mode.none": "Ei mitään näistä",
"hashtag.column_settings.tag_toggle": "Sisällytä lisätunnisteet tähän sarakkeeseen",
"hashtag.follow": "Follow hashtag",
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.follow": "Seuraa hashtagia",
"hashtag.total_volume": "Kokonaismäärä viimeiset {days, plural, one {päivä} other {{days} päivää}}",
"hashtag.unfollow": "Lopeta seuraaminen hashtagilla",
"home.column_settings.basic": "Perusasetukset",
"home.column_settings.show_reblogs": "Näytä buustaukset",
"home.column_settings.show_replies": "Näytä vastaukset",
@ -237,7 +238,7 @@
"keyboard_shortcuts.column": "Kohdista sarakkeeseen",
"keyboard_shortcuts.compose": "siirry tekstinsyöttöön",
"keyboard_shortcuts.description": "Kuvaus",
"keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.direct": "avaa yksityisviesti sarake",
"keyboard_shortcuts.down": "Siirry listassa alaspäin",
"keyboard_shortcuts.enter": "Avaa julkaisu",
"keyboard_shortcuts.favourite": "Lisää suosikkeihin",
@ -270,8 +271,8 @@
"lightbox.expand": "Laajenna kuvan näkymälaatikko",
"lightbox.next": "Seuraava",
"lightbox.previous": "Edellinen",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"limited_account_hint.action": "Näytä profiili joka tapauksessa",
"limited_account_hint.title": "Tämä profiili on piilotettu serverisi valvojien toimesta.",
"lists.account.add": "Lisää listaan",
"lists.account.remove": "Poista listasta",
"lists.delete": "Poista lista",
@ -298,11 +299,11 @@
"navigation_bar.bookmarks": "Kirjanmerkit",
"navigation_bar.community_timeline": "Paikallinen aikajana",
"navigation_bar.compose": "Luo uusi viesti",
"navigation_bar.direct": "Direct messages",
"navigation_bar.direct": "Yksityisviestit",
"navigation_bar.discover": "Löydä uutta",
"navigation_bar.domain_blocks": "Estetyt verkkotunnukset",
"navigation_bar.edit_profile": "Muokkaa profiilia",
"navigation_bar.explore": "Explore",
"navigation_bar.explore": "Selaa",
"navigation_bar.favourites": "Suosikit",
"navigation_bar.filters": "Mykistetyt sanat",
"navigation_bar.follow_requests": "Seuraamispyynnöt",
@ -317,7 +318,7 @@
"navigation_bar.preferences": "Asetukset",
"navigation_bar.public_timeline": "Yleinen aikajana",
"navigation_bar.security": "Turvallisuus",
"notification.admin.report": "{name} reported {target}",
"notification.admin.report": "{name} ilmoitti {target}",
"notification.admin.sign_up": "{name} rekisteröitynyt",
"notification.favourite": "{name} tykkäsi viestistäsi",
"notification.follow": "{name} seurasi sinua",
@ -330,7 +331,7 @@
"notification.update": "{name} muokkasi viestiä",
"notifications.clear": "Tyhjennä ilmoitukset",
"notifications.clear_confirmation": "Haluatko varmasti poistaa kaikki ilmoitukset pysyvästi?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.report": "Uudet raportit:",
"notifications.column_settings.admin.sign_up": "Uudet kirjautumiset:",
"notifications.column_settings.alert": "Työpöytäilmoitukset",
"notifications.column_settings.favourite": "Tykkäykset:",
@ -377,12 +378,12 @@
"poll_button.remove_poll": "Poista kysely",
"privacy.change": "Muuta julkaisun näkyvyyttä",
"privacy.direct.long": "Julkaise vain mainituille käyttäjille",
"privacy.direct.short": "Direct",
"privacy.direct.short": "Vain mainitut henkilöt",
"privacy.private.long": "Julkaise vain seuraajille",
"privacy.private.short": "Followers-only",
"privacy.public.long": "Visible for all",
"privacy.private.short": "Vain seuraajat",
"privacy.public.long": "Näkyvissä kaikille",
"privacy.public.short": "Julkinen",
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.long": "Näkyvissä kaikille, mutta jättäen pois hakemisen mahdollisuus",
"privacy.unlisted.short": "Listaamaton julkinen",
"refresh": "Päivitä",
"regeneration_indicator.label": "Ladataan…",
@ -436,11 +437,11 @@
"report.thanks.title_actionable": "Kiitos raportista, tutkimme asiaa.",
"report.unfollow": "Lopeta seuraaminen @{name}",
"report.unfollow_explanation": "Seuraat tätä tiliä. Jotta et enää näkisi heidän kirjoituksiaan, lopeta niiden seuraaminen.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} viestiä}} liitteenä",
"report_notification.categories.other": "Muu",
"report_notification.categories.spam": "Roskaposti",
"report_notification.categories.violation": "Sääntöjen rikkominen",
"report_notification.open": "Avaa raportti",
"search.placeholder": "Hae",
"search_popout.search_format": "Tarkennettu haku",
"search_popout.tips.full_text": "Tekstihaku listaa tilapäivitykset, jotka olet kirjoittanut, lisännyt suosikkeihisi, boostannut tai joissa sinut mainitaan, sekä tekstin sisältävät käyttäjänimet, nimimerkit ja hastagit.",
@ -471,7 +472,7 @@
"status.embed": "Upota",
"status.favourite": "Tykkää",
"status.filtered": "Suodatettu",
"status.hide": "Hide toot",
"status.hide": "Piilota toot",
"status.history.created": "{name} luotu {date}",
"status.history.edited": "{name} muokkasi {date}",
"status.load_more": "Lataa lisää",
@ -495,7 +496,7 @@
"status.report": "Raportoi @{name}",
"status.sensitive_warning": "Arkaluontoista sisältöä",
"status.share": "Jaa",
"status.show_filter_reason": "Show anyway",
"status.show_filter_reason": "Näytä joka tapauksessa",
"status.show_less": "Näytä vähemmän",
"status.show_less_all": "Näytä vähemmän kaikista",
"status.show_more": "Näytä lisää",
@ -520,7 +521,7 @@
"timeline_hint.resources.followers": "Seuraajat",
"timeline_hint.resources.follows": "Seuraa",
"timeline_hint.resources.statuses": "Vanhemmat julkaisut",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
"trends.counter_by_accounts": "{count, plural, one {{counter} henkilö} other {{counter} henkilöä}} viimeinen {days, plural, one {päivä} other {{days} päivää}}",
"trends.trending_now": "Suosittua nyt",
"ui.beforeunload": "Luonnos häviää, jos poistut Mastodonista.",
"units.short.billion": "{count} mrd.",
@ -532,7 +533,7 @@
"upload_error.poll": "Tiedon lataaminen ei ole sallittua kyselyissä.",
"upload_form.audio_description": "Kuvaile kuulovammaisille",
"upload_form.description": "Anna kuvaus näkörajoitteisia varten",
"upload_form.description_missing": "No description added",
"upload_form.description_missing": "Kuvausta ei ole lisätty",
"upload_form.edit": "Muokkaa",
"upload_form.thumbnail": "Vaihda pikkukuva",
"upload_form.undo": "Peru",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oups!",
"announcement.announcement": "Annonce",
"attachments_list.unprocessed": "(non traité)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} par semaine",
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci la prochaine fois",
"bundle_column_error.body": "Une erreur sest produite lors du chargement de ce composant.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Au moins un de ces éléments",
"hashtag.column_settings.tag_mode.none": "Aucun de ces éléments",
"hashtag.column_settings.tag_toggle": "Inclure des hashtags additionnels pour cette colonne",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Suivre le hashtag",
"hashtag.total_volume": "Volume total {days, plural, one {des dernières 24h} other {des {days} derniers jours}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Ne plus suivre le hashtag",
"home.column_settings.basic": "Basique",
"home.column_settings.show_reblogs": "Afficher les partages",
"home.column_settings.show_replies": "Afficher les réponses",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(net ferwurke)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Hiúps!",
"announcement.announcement": "Fógra",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Is féidir leat brúigh {combo} chun é seo a scipeáil an chéad uair eile",
"bundle_column_error.body": "Something went wrong while loading this component.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oich!",
"announcement.announcement": "Brath-fios",
"attachments_list.unprocessed": "(gun phròiseasadh)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} san t-seachdain",
"boost_modal.combo": "Brùth air {combo} nam b fheàrr leat leum a ghearradh thar seo an ath-thuras",
"bundle_column_error.body": "Chaidh rudeigin cearr nuair a dhfheuch sinn ris a cho-phàirt seo a luchdadh.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Gin sam bith dhiubh",
"hashtag.column_settings.tag_mode.none": "Às aonais gin sam bith dhiubh",
"hashtag.column_settings.tag_toggle": "Gabh a-steach barrachd tagaichean sa cholbh seo",
"hashtag.follow": "Follow hashtag",
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.follow": "Lean air an taga hais",
"hashtag.total_volume": "An t-iomlan sna {days, plural, one {{days} latha} two {{days} latha} few {{days} làithean} other {{days} latha}} seo chaidh",
"hashtag.unfollow": "Na lean air an taga hais tuilleadh",
"home.column_settings.basic": "Bunasach",
"home.column_settings.show_reblogs": "Seall na brosnachaidhean",
"home.column_settings.show_replies": "Seall na freagairtean",
@ -317,7 +318,7 @@
"navigation_bar.preferences": "Roghainnean",
"navigation_bar.public_timeline": "Loidhne-ama cho-naisgte",
"navigation_bar.security": "Tèarainteachd",
"notification.admin.report": "{name} reported {target}",
"notification.admin.report": "Rinn {name} mu {target}",
"notification.admin.sign_up": "Chlàraich {name}",
"notification.favourite": "Is annsa le {name} am post agad",
"notification.follow": "Tha {name} a leantainn ort a-nis",
@ -330,7 +331,7 @@
"notification.update": "Dheasaich {name} post",
"notifications.clear": "Falamhaich na brathan",
"notifications.clear_confirmation": "A bheil thu cinnteach gu bheil thu airson na brathan uile agad fhalamhachadh gu buan?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.report": "Gearanan ùra:",
"notifications.column_settings.admin.sign_up": "Clàraidhean ùra:",
"notifications.column_settings.alert": "Brathan deasga",
"notifications.column_settings.favourite": "Na h-annsachdan:",
@ -388,11 +389,11 @@
"regeneration_indicator.label": "Ga luchdadh…",
"regeneration_indicator.sublabel": "Tha inbhir na dachaigh agad ga ullachadh!",
"relative_time.days": "{number}l",
"relative_time.full.days": "{count, plural, one {# latha} two {# latha} few {# làithean} other {# latha}} air ais",
"relative_time.full.hours": "{count, plural, one {# uair a thìde} two {# uair a thìde} few {# uairean a thìde} other {# uair a thìde}} air ais",
"relative_time.full.days": "{number, plural, one {# latha} two {# latha} few {# làithean} other {# latha}} air ais",
"relative_time.full.hours": "{number, plural, one {# uair a thìde} two {# uair a thìde} few {# uairean a thìde} other {# uair a thìde}} air ais",
"relative_time.full.just_now": "an-dràsta fhèin",
"relative_time.full.minutes": "{count, plural, one {# mhionaid} two {# mhionaid} few {# mionaidean} other {# mionaid}} air ais",
"relative_time.full.seconds": "{count, plural, one {# diog} two {# dhiog} few {# diogan} other {# diog}} air ais",
"relative_time.full.minutes": "{number, plural, one {# mhionaid} two {# mhionaid} few {# mionaidean} other {# mionaid}} air ais",
"relative_time.full.seconds": "{number, plural, one {# diog} two {# dhiog} few {# diogan} other {# diog}} air ais",
"relative_time.hours": "{number}u",
"relative_time.just_now": "an-dràsta",
"relative_time.minutes": "{number}m",
@ -436,11 +437,11 @@
"report.thanks.title_actionable": "Mòran taing airson a ghearain, bheir sinn sùil air.",
"report.unfollow": "Na lean air @{name} tuilleadh",
"report.unfollow_explanation": "Tha thu a leantainn air a chunntas seo. Sgur de leantainn orra ach nach fhaic thu na puist aca air inbhir na dachaigh agad.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"report_notification.attached_statuses": "Tha {count, plural, one {{counter} phost} two {{counter} phost} few {{counter} postaichean} other {{counter} post}} ceangailte ris",
"report_notification.categories.other": "Eile",
"report_notification.categories.spam": "Spama",
"report_notification.categories.violation": "Briseadh riaghailte",
"report_notification.open": "Fosgail an gearan",
"search.placeholder": "Lorg",
"search_popout.search_format": "Fòrmat adhartach an luirg",
"search_popout.tips.full_text": "Bheir teacsa sìmplidh dhut na postaichean a sgrìobh thu, a tha nan annsachdan dhut, a bhrosnaich thu no san deach iomradh a thoirt ort cho math ri ainmean-cleachdaiche, ainmean taisbeanaidh agus tagaichean hais a mhaidsicheas.",
@ -471,7 +472,7 @@
"status.embed": "Leabaich",
"status.favourite": "Cuir ris na h-annsachdan",
"status.filtered": "Criathraichte",
"status.hide": "Hide toot",
"status.hide": "Falaich am post",
"status.history.created": "Chruthaich {name} {date} e",
"status.history.edited": "Dheasaich {name} {date} e",
"status.load_more": "Luchdaich barrachd dheth",
@ -495,7 +496,7 @@
"status.report": "Dèan gearan mu @{name}",
"status.sensitive_warning": "Susbaint fhrionasach",
"status.share": "Co-roinn",
"status.show_filter_reason": "Show anyway",
"status.show_filter_reason": "Seall e co-dhiù",
"status.show_less": "Seall nas lugha dheth",
"status.show_less_all": "Seall nas lugha dhen a h-uile",
"status.show_more": "Seall barrachd dheth",
@ -520,7 +521,7 @@
"timeline_hint.resources.followers": "Luchd-leantainn",
"timeline_hint.resources.follows": "A leantainn air",
"timeline_hint.resources.statuses": "Postaichean nas sine",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
"trends.counter_by_accounts": "{count, plural, one {{counter} neach} two {{counter} neach} few {{counter} daoine} other {{counter} duine}} sna {days, plural, one {{days} latha} two {{days} latha} few {{days} làithean} other {{days} latha}} seo chaidh",
"trends.trending_now": "A treandadh an-dràsta",
"ui.beforeunload": "Caillidh tu an dreachd agad ma dhfhàgas tu Mastodon an-dràsta.",
"units.short.billion": "{count}B",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Vaites!",
"announcement.announcement": "Anuncio",
"attachments_list.unprocessed": "(sen procesar)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Preme {combo} para ignorar isto na seguinte vez",
"bundle_column_error.body": "Ocorreu un erro ó cargar este compoñente.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Calquera destes",
"hashtag.column_settings.tag_mode.none": "Ningún destes",
"hashtag.column_settings.tag_toggle": "Incluír cancelos adicionais para esta columna",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Seguir cancelo",
"hashtag.total_volume": "Cantidade total {days, plural, one {no último día} other {nos {days} últimos días}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Deixar de seguir cancelo",
"home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Amosar compartidos",
"home.column_settings.show_replies": "Amosar respostas",

@ -59,6 +59,7 @@
"alert.unexpected.title": "אופס!",
"announcement.announcement": "הכרזה",
"attachments_list.unprocessed": "(לא מעובד)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} לשבוע",
"boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה",
"bundle_column_error.body": "משהו השתבש בעת טעינת הרכיב הזה.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "כל אלה",
"hashtag.column_settings.tag_mode.none": "אף אחד מאלה",
"hashtag.column_settings.tag_toggle": "כלול תגיות נוספות בטור זה",
"hashtag.follow": "Follow hashtag",
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.follow": "מעקב אחר תגית",
"hashtag.total_volume": "נפח כולל ב {days, plural, one {יום} other {{days} ימים}} האחרונים",
"hashtag.unfollow": "ביטול מעקב אחר תגית",
"home.column_settings.basic": "למתחילים",
"home.column_settings.show_reblogs": "הצגת הדהודים",
"home.column_settings.show_replies": "הצגת תגובות",

@ -59,6 +59,7 @@
"alert.unexpected.title": "उफ़!",
"announcement.announcement": "घोषणा",
"attachments_list.unprocessed": "(असंसाधित)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} हर सप्ताह",
"boost_modal.combo": "अगली बार स्किप करने के लिए आप {combo} दबा सकते है",
"bundle_column_error.body": "इस कॉम्पोनेन्ट को लोड करते वक्त कुछ गलत हो गया",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Ups!",
"announcement.announcement": "Najava",
"attachments_list.unprocessed": "(neobrađeno)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} tjedno",
"boost_modal.combo": "Možete pritisnuti {combo} kako biste preskočili ovo sljedeći put",
"bundle_column_error.body": "Nešto je pošlo po zlu tijekom učitavanja ove komponente.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Hoppá!",
"announcement.announcement": "Közlemény",
"attachments_list.unprocessed": "(feldolgozatlan)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} hetente",
"boost_modal.combo": "Hogy átugord ezt következő alkalommal, használd {combo}",
"bundle_column_error.body": "Valami hiba történt a komponens betöltése közben.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Bármelyik",
"hashtag.column_settings.tag_mode.none": "Egyik sem",
"hashtag.column_settings.tag_toggle": "Új címkék felvétele ehhez az oszlophoz",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Hashtag követése",
"hashtag.total_volume": "Teljes mennyiség az elmúlt {days, plural, one {napban} other {{days} napban}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Hashtag követésének megszüntetése",
"home.column_settings.basic": "Alapvető",
"home.column_settings.show_reblogs": "Megtolások mutatása",
"home.column_settings.show_replies": "Válaszok megjelenítése",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Վա՜յ",
"announcement.announcement": "Յայտարարութիւններ",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "շաբաթը՝ {count}",
"boost_modal.combo": "Կարող ես սեղմել {combo}՝ սա յաջորդ անգամ բաց թողնելու համար",
"bundle_column_error.body": "Այս բաղադրիչը բեռնելու ընթացքում ինչ֊որ բան խափանուեց։",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Ups!",
"announcement.announcement": "Pengumuman",
"attachments_list.unprocessed": "(tidak diproses)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per minggu",
"boost_modal.combo": "Anda dapat menekan {combo} untuk melewati ini",
"bundle_column_error.body": "Kesalahan terjadi saat memuat komponen ini.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Problemo!",
"announcement.announcement": "Anunco",
"attachments_list.unprocessed": "(neprocedita)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} dum singla semano",
"boost_modal.combo": "Tu povas presar sur {combo} por omisar co en la venonta foyo",
"bundle_column_error.body": "Nulo ne functionis dum chargar ca kompozaj.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Irga co",
"hashtag.column_settings.tag_mode.none": "Nula co",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Sequez hashtago",
"hashtag.total_volume": "Sumo en antea {days, plural,one {dio} other {{days} dii}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Desequez hashtago",
"home.column_settings.basic": "Simpla",
"home.column_settings.show_reblogs": "Montrar repeti",
"home.column_settings.show_replies": "Montrar respondi",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Úbbs!",
"announcement.announcement": "Auglýsing",
"attachments_list.unprocessed": "(óunnið)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} á viku",
"boost_modal.combo": "Þú getur ýtt á {combo} til að sleppa þessu næst",
"bundle_column_error.body": "Eitthvað fór úrskeiðis við að hlaða inn þessari einingu.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Hvað sem er af þessu",
"hashtag.column_settings.tag_mode.none": "Ekkert af þessu",
"hashtag.column_settings.tag_toggle": "Taka með viðbótarmerki fyrir þennan dálk",
"hashtag.follow": "Follow hashtag",
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.follow": "Fylgjast með myllumerki",
"hashtag.total_volume": "Heildarmagn {days, plural, one {síðasta {days} sólarhring} other {síðustu {days} daga}}",
"hashtag.unfollow": "Hætta að fylgjast með myllumerki",
"home.column_settings.basic": "Einfalt",
"home.column_settings.show_reblogs": "Sýna endurbirtingar",
"home.column_settings.show_replies": "Birta svör",
@ -520,7 +521,7 @@
"timeline_hint.resources.followers": "Fylgjendur",
"timeline_hint.resources.follows": "Fylgist með",
"timeline_hint.resources.statuses": "Eldri færslur",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
"trends.counter_by_accounts": "{count, plural, one {{counter} aðili} other {{counter} manns}} {days, plural, one {síðasta sólarhringinn} other {síðustu {days} daga}}",
"trends.trending_now": "Í umræðunni núna",
"ui.beforeunload": "Drögin tapast ef þú ferð út úr Mastodon.",
"units.short.billion": "{count}B",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oops!",
"announcement.announcement": "Annuncio",
"attachments_list.unprocessed": "(non elaborato)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per settimana",
"boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio la prossima volta",
"bundle_column_error.body": "E' avvenuto un errore durante il caricamento di questo componente.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Uno o più di questi",
"hashtag.column_settings.tag_mode.none": "Nessuno di questi",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Segui l'hashtag",
"hashtag.total_volume": "Volume totale {days, plural, one {nell'ultimo giorno} other {negli ultimi {days} giorni}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Cessa di seguire l'hashtag",
"home.column_settings.basic": "Semplice",
"home.column_settings.show_reblogs": "Mostra condivisioni",
"home.column_settings.show_replies": "Mostra risposte",

@ -59,6 +59,7 @@
"alert.unexpected.title": "エラー!",
"announcement.announcement": "お知らせ",
"attachments_list.unprocessed": "(未処理)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} 回 / 週",
"boost_modal.combo": "次からは{combo}を押せばスキップできます",
"bundle_column_error.body": "コンポーネントの読み込み中に問題が発生しました。",
@ -224,9 +225,9 @@
"hashtag.column_settings.tag_mode.any": "いずれかを含む",
"hashtag.column_settings.tag_mode.none": "これらを除く",
"hashtag.column_settings.tag_toggle": "このカラムに追加のタグを含める",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "ハッシュタグをフォローする",
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "ハッシュタグのフォローを解除",
"home.column_settings.basic": "基本設定",
"home.column_settings.show_reblogs": "ブースト表示",
"home.column_settings.show_replies": "返信表示",

@ -59,6 +59,7 @@
"alert.unexpected.title": "უპს!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "კვირაში {count}",
"boost_modal.combo": "შეგიძლიათ დააჭიროთ {combo}-ს რათა შემდეგ ჯერზე გამოტოვოთ ეს",
"bundle_column_error.body": "ამ კომპონენტის ჩატვირთვისას რაღაც აირია.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Ayhuh!",
"announcement.announcement": "Ulɣu",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} i yimalas",
"boost_modal.combo": "Tzemreḍ ad tetekkiḍ ɣef {combo} akken ad tessurfeḍ aya tikelt-nniḍen",
"bundle_column_error.body": "Tella-d kra n tuccḍa mi d-yettali ugbur-agi.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Өй!",
"announcement.announcement": "Хабарландыру",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} аптасына",
"boost_modal.combo": "Келесіде өткізіп жіберу үшін басыңыз {combo}",
"bundle_column_error.body": "Бұл компонентті жүктеген кезде бір қате пайда болды.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "ಅಯ್ಯೋ!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "앗!",
"announcement.announcement": "공지사항",
"attachments_list.unprocessed": "(처리 안 됨)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "주간 {count}회",
"boost_modal.combo": "다음엔 {combo}를 눌러서 이 과정을 건너뛸 수 있습니다",
"bundle_column_error.body": "컴포넌트를 불러오는 과정에서 문제가 발생했습니다.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "아무것이든",
"hashtag.column_settings.tag_mode.none": "이것들을 제외하고",
"hashtag.column_settings.tag_toggle": "추가 해시태그를 이 컬럼에 추가합니다",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "해시태그 팔로우",
"hashtag.total_volume": "최근 {days}일 동안의 총 사용량",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "해시태그 팔로우 해제",
"home.column_settings.basic": "기본",
"home.column_settings.show_reblogs": "부스트 표시",
"home.column_settings.show_replies": "답글 표시",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Wey li min!",
"announcement.announcement": "Daxuyanî",
"attachments_list.unprocessed": "(bêpêvajo)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "Her hefte {count}",
"boost_modal.combo": "Ji bo derbas bî carekî din de pêlê {combo} bike",
"bundle_column_error.body": "Di dema barkirina vê hêmanê de tiştek çewt çê bû.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Yek ji van",
"hashtag.column_settings.tag_mode.none": "Ne yek ji van",
"hashtag.column_settings.tag_toggle": "Ji bo vê stûnê hin pêvekan tevlî bike",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Hashtagê bişopîne",
"hashtag.total_volume": "Tevahiya giraniyê dawîn di {days, plural, one {roj} other {{days} roj}} de",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Hashtagê neşopîne",
"home.column_settings.basic": "Bingehîn",
"home.column_settings.show_reblogs": "Bilindkirinan nîşan bike",
"home.column_settings.show_replies": "Bersivan nîşan bide",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oups!",
"announcement.announcement": "Deklaryans",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} an seythen",
"boost_modal.combo": "Hwi a yll gwaska {combo} dhe woheles hemma an nessa tro",
"bundle_column_error.body": "Neppyth eth yn kamm ow karga'n elven ma.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oi!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Ups!",
"announcement.announcement": "Paziņojums",
"attachments_list.unprocessed": "(neapstrādāti)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} nedēļā",
"boost_modal.combo": "Nospied {combo} lai izlaistu šo nākamreiz",
"bundle_column_error.body": "Kaut kas nogāja greizi ielādējot šo komponenti.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Kāds no šiem",
"hashtag.column_settings.tag_mode.none": "Neviens no šiem",
"hashtag.column_settings.tag_toggle": "Iekļaut šai kolonnai papildu tagus",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Seko mirkļbirkai",
"hashtag.total_volume": "Kopējais apjoms par {days, plural, one {dienu} other {{days} dienām}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Pārstāj sekot mirkļbirkai",
"home.column_settings.basic": "Pamata",
"home.column_settings.show_reblogs": "Rādīt palielinājumus",
"home.column_settings.show_replies": "Rādīt atbildes",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Упс!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} неделно",
"boost_modal.combo": "Кликни {combo} за да го прескокниш ова нареден пат",
"bundle_column_error.body": "Се случи проблем при вчитувањето.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "ശ്ശോ!",
"announcement.announcement": "അറിയിപ്പ്",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "ആഴ്ച തോറും {count}",
"boost_modal.combo": "അടുത്ത തവണ ഇത് ഒഴിവാക്കുവാൻ {combo} ഞെക്കാവുന്നതാണ്",
"bundle_column_error.body": "ഈ ഘടകം പ്രദശിപ്പിക്കുമ്പോൾ എന്തോ കുഴപ്പം സംഭവിച്ചു.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "अरेरे!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} प्रतिसप्ताह",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "हा घटक लोड करतांना काहीतरी चुकले आहे.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Alamak!",
"announcement.announcement": "Pengumuman",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} seminggu",
"boost_modal.combo": "Anda boleh tekan {combo} untuk melangkauinya pada waktu lain",
"bundle_column_error.body": "Terdapat kesilapan ketika memuatkan komponen ini.",

@ -51,7 +51,7 @@
"admin.dashboard.daily_retention": "Retentiegraad van gebruikers per dag, vanaf registratie",
"admin.dashboard.monthly_retention": "Retentiegraad van gebruikers per maand, vanaf registratie",
"admin.dashboard.retention.average": "Gemiddelde",
"admin.dashboard.retention.cohort": "Aanmeldingsmaand",
"admin.dashboard.retention.cohort": "Maand van registratie",
"admin.dashboard.retention.cohort_size": "Nieuwe gebruikers",
"alert.rate_limited.message": "Probeer het nog een keer na {retry_time, time, medium}.",
"alert.rate_limited.title": "Beperkt te gebruiken",
@ -59,6 +59,7 @@
"alert.unexpected.title": "Oeps!",
"announcement.announcement": "Mededeling",
"attachments_list.unprocessed": "(niet verwerkt)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan",
"bundle_column_error.body": "Tijdens het laden van dit onderdeel is er iets fout gegaan.",
@ -172,8 +173,8 @@
"empty_column.direct": "Je hebt nog geen directe berichten. Wanneer je er een verzend of ontvangt, komt deze hier te staan.",
"empty_column.domain_blocks": "Er zijn nog geen geblokkeerde domeinen.",
"empty_column.explore_statuses": "Momenteel zijn er geen trends. Kom later terug!",
"empty_column.favourited_statuses": "Jij hebt nog geen favoriete berichten. Wanneer je er een aan jouw favorieten toevoegt, valt deze hier te zien.",
"empty_column.favourites": "Niemand heeft dit bericht nog aan diens favorieten toegevoegd. Wanneer iemand dit doet, valt dat hier te zien.",
"empty_column.favourited_statuses": "Jij hebt nog geen favoriete berichten. Wanneer je een bericht als favoriet markeert, valt deze hier te zien.",
"empty_column.favourites": "Niemand heeft dit bericht nog als favoriet gemarkeerd. Wanneer iemand dit doet, valt dat hier te zien.",
"empty_column.follow_recommendations": "Het lijkt er op dat er geen aanbevelingen voor jou aangemaakt kunnen worden. Je kunt proberen te zoeken naar mensen die je wellicht kent, zoeken op hashtags, de lokale en globale tijdlijnen bekijken of de gebruikersgids doorbladeren.",
"empty_column.follow_requests": "Jij hebt nog enkel volgverzoek ontvangen. Wanneer je er eentje ontvangt, valt dat hier te zien.",
"empty_column.hashtag": "Er is nog niks te vinden onder deze hashtag.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Een van deze",
"hashtag.column_settings.tag_mode.none": "Geen van deze",
"hashtag.column_settings.tag_toggle": "Additionele tags aan deze kolom toevoegen",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Hashtag volgen",
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Hashtag ontvolgen",
"home.column_settings.basic": "Algemeen",
"home.column_settings.show_reblogs": "Boosts tonen",
"home.column_settings.show_replies": "Reacties tonen",
@ -240,7 +241,7 @@
"keyboard_shortcuts.direct": "Directe berichten tonen",
"keyboard_shortcuts.down": "Naar beneden in de lijst bewegen",
"keyboard_shortcuts.enter": "Volledig bericht tonen",
"keyboard_shortcuts.favourite": "Aan jouw favorieten toevoegen",
"keyboard_shortcuts.favourite": "Als favoriet markeren",
"keyboard_shortcuts.favourites": "Favorieten tonen",
"keyboard_shortcuts.federated": "Globale tijdlijn tonen",
"keyboard_shortcuts.heading": "Sneltoetsen",
@ -318,8 +319,8 @@
"navigation_bar.public_timeline": "Globale tijdlijn",
"navigation_bar.security": "Beveiliging",
"notification.admin.report": "{name} heeft {target} geapporteerd",
"notification.admin.sign_up": "{name} heeft zich aangemeld",
"notification.favourite": "{name} voegde jouw bericht als favoriet toe",
"notification.admin.sign_up": "{name} heeft zich geregistreerd",
"notification.favourite": "{name} markeerde jouw bericht als favoriet",
"notification.follow": "{name} volgt jou nu",
"notification.follow_request": "{name} wil jou graag volgen",
"notification.mention": "{name} vermeldde jou",
@ -331,7 +332,7 @@
"notifications.clear": "Meldingen verwijderen",
"notifications.clear_confirmation": "Weet je het zeker dat je al jouw meldingen wilt verwijderen?",
"notifications.column_settings.admin.report": "Nieuwe rapportages:",
"notifications.column_settings.admin.sign_up": "Nieuwe aanmeldingen:",
"notifications.column_settings.admin.sign_up": "Nieuwe registraties:",
"notifications.column_settings.alert": "Desktopmeldingen",
"notifications.column_settings.favourite": "Favorieten:",
"notifications.column_settings.filter_bar.advanced": "Alle categorieën tonen",

@ -41,24 +41,25 @@
"account.statuses_counter": "{count, plural, one {{counter} tut} other {{counter} tut}}",
"account.unblock": "Slutt å blokera @{name}",
"account.unblock_domain": "Vis {domain}",
"account.unblock_short": "Opphev blokkering",
"account.unblock_short": "Avblokker",
"account.unendorse": "Ikkje framhev på profil",
"account.unfollow": "Slutt å fylgja",
"account.unmute": "Av-demp @{name}",
"account.unmute": "Opphev målbinding av @{name}",
"account.unmute_notifications": "Vis varsel frå @{name}",
"account.unmute_short": "Opphev demping",
"account.unmute_short": "Opphev målbinding",
"account_note.placeholder": "Klikk for å leggja til merknad",
"admin.dashboard.daily_retention": "User retention rate by day after sign-up",
"admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
"admin.dashboard.retention.average": "Gjennomsnitt",
"admin.dashboard.retention.cohort": "Sign-up month",
"admin.dashboard.retention.cohort_size": "Nye brukere",
"admin.dashboard.retention.cohort_size": "Nye brukarar",
"alert.rate_limited.message": "Ver venleg å prøva igjen etter {retry_time, time, medium}.",
"alert.rate_limited.title": "Begrensa rate",
"alert.unexpected.message": "Eit uventa problem oppstod.",
"alert.unexpected.title": "Oi sann!",
"announcement.announcement": "Kunngjering",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per veke",
"boost_modal.combo": "Du kan trykkja {combo} for å hoppa over dette neste gong",
"bundle_column_error.body": "Noko gjekk gale mens denne komponenten vart lasta ned.",
@ -70,7 +71,7 @@
"column.blocks": "Blokkerte brukarar",
"column.bookmarks": "Bokmerke",
"column.community": "Lokal tidsline",
"column.direct": "Direct messages",
"column.direct": "Direktemeldingar",
"column.directory": "Sjå gjennom profilar",
"column.domain_blocks": "Gøymde domene",
"column.favourites": "Favorittar",
@ -92,10 +93,10 @@
"community.column_settings.local_only": "Berre lokalt",
"community.column_settings.media_only": "Berre media",
"community.column_settings.remote_only": "Berre eksternt",
"compose.language.change": "Change language",
"compose.language.change": "Byt språk",
"compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Lær meir",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.encryption_warning": "Innlegg på Mastodon er ikkje ende-til-ende-krypterte. Ikkje del eventuell sensitiv informasjon via Mastodon.",
"compose_form.hashtag_warning": "Dette tutet vert ikkje oppført under nokon emneknagg sidan det ikkje er oppført. Berre offentlege tut kan verta søkt etter med emneknagg.",
"compose_form.lock_disclaimer": "Kontoen din er ikkje {locked}. Kven som helst kan fylgja deg for å sjå innlegga dine som berre visast til fylgjarar.",
"compose_form.lock_disclaimer.lock": "låst",
@ -108,7 +109,7 @@
"compose_form.poll.switch_to_single": "Endra avstemninga til tillate berre eitt val",
"compose_form.publish": "Publish",
"compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Save changes",
"compose_form.save_changes": "Lagre endringar",
"compose_form.sensitive.hide": "Merk medium som sensitivt",
"compose_form.sensitive.marked": "Medium er markert som sensitivt",
"compose_form.sensitive.unmarked": "Medium er ikkje merka som sensitivt",
@ -124,7 +125,7 @@
"confirmations.delete_list.confirm": "Slett",
"confirmations.delete_list.message": "Er du sikker på at du vil sletta denne lista for alltid?",
"confirmations.discard_edit_media.confirm": "Forkast",
"confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
"confirmations.discard_edit_media.message": "Du har ulagra endringar i mediabeskrivinga eller førehandsvisinga. Vil du forkaste dei likevel?",
"confirmations.domain_block.confirm": "Gøym heile domenet",
"confirmations.domain_block.message": "Er du heilt, heilt sikker på at du vil blokkera heile {domain}? I dei fleste tilfelle er det godt nok og føretrekt med nokre få målretta blokkeringar eller målbindingar. Du kjem ikkje til å sjå innhald frå det domenet i nokon fødererte tidsliner eller i varsla dine. Fylgjarane dine frå det domenet vert fjerna.",
"confirmations.logout.confirm": "Logg ut",
@ -178,7 +179,7 @@
"empty_column.follow_requests": "Du har ingen følgjeførespurnadar ennå. Når du får ein, så vil den dukke opp her.",
"empty_column.hashtag": "Det er ingenting i denne emneknaggen ennå.",
"empty_column.home": "Heime-tidslinja di er tom! Besøk {public} eller søk for å starte og å møte andre brukarar.",
"empty_column.home.suggestions": "Se noen forslag",
"empty_column.home.suggestions": "Sjå nokre forslag",
"empty_column.list": "Det er ingenting i denne lista enno. Når medlemer av denne lista legg ut nye statusar, så dukkar dei opp her.",
"empty_column.lists": "Du har ingen lister enno. Når du lagar ei, så dukkar ho opp her.",
"empty_column.mutes": "Du har ikkje målbunde nokon brukarar enno.",
@ -190,14 +191,14 @@
"error.unexpected_crash.next_steps_addons": "Prøv å deaktivere dem og laste siden på nytt. Hvis det ikke hjelper, kan du fremdeles bruke Mastodon via en annen nettleser eller en annen app.",
"errors.unexpected_crash.copy_stacktrace": "Kopier stacktrace til utklippstavla",
"errors.unexpected_crash.report_issue": "Rapporter problem",
"explore.search_results": "Søkeresultater",
"explore.search_results": "Søkeresultat",
"explore.suggested_follows": "For deg",
"explore.title": "Utforsk",
"explore.trending_links": "Nyheter",
"explore.trending_links": "Nyheiter",
"explore.trending_statuses": "Innlegg",
"explore.trending_tags": "Hashtags",
"explore.trending_tags": "Emneknaggar",
"follow_recommendations.done": "Ferdig",
"follow_recommendations.heading": "Følg folk du ønsker å se innlegg fra! Her er noen forslag.",
"follow_recommendations.heading": "Fylg folk du ønsker å sjå innlegg frå! Her er nokre forslag.",
"follow_recommendations.lead": "Innlegg fra mennesker du følger vil vises i kronologisk rekkefølge på hjemmefeed. Ikke vær redd for å gjøre feil, du kan slutte å følge folk like enkelt som alt!",
"follow_request.authorize": "Autoriser",
"follow_request.reject": "Avvis",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Kva som helst av desse",
"hashtag.column_settings.tag_mode.none": "Ikkje nokon av disse",
"hashtag.column_settings.tag_toggle": "Inkluder ekstra emneknaggar for denne kolonna",
"hashtag.follow": "Follow hashtag",
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.follow": "Fylg emneknagg",
"hashtag.total_volume": "Totalt volum siste {days, plural, one {dag} other {{days} dagar}}",
"hashtag.unfollow": "Slutt å fylgje emneknaggen",
"home.column_settings.basic": "Enkelt",
"home.column_settings.show_reblogs": "Vis framhevingar",
"home.column_settings.show_replies": "Vis svar",
@ -270,8 +271,8 @@
"lightbox.expand": "Ekspander bildevisning boks",
"lightbox.next": "Neste",
"lightbox.previous": "Førre",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"limited_account_hint.action": "Vis profilen likevel",
"limited_account_hint.title": "Denne profilen har vorte skjult av moderatorane på tenaren din.",
"lists.account.add": "Legg til i liste",
"lists.account.remove": "Fjern frå liste",
"lists.delete": "Slett liste",
@ -280,7 +281,7 @@
"lists.new.create": "Legg til liste",
"lists.new.title_placeholder": "Ny listetittel",
"lists.replies_policy.followed": "Enhver fulgt bruker",
"lists.replies_policy.list": "Medlemmer i listen",
"lists.replies_policy.list": "Medlem i lista",
"lists.replies_policy.none": "Ikkje nokon",
"lists.replies_policy.title": "Vis svar på:",
"lists.search": "Søk gjennom folk du følgjer",
@ -298,7 +299,7 @@
"navigation_bar.bookmarks": "Bokmerke",
"navigation_bar.community_timeline": "Lokal tidsline",
"navigation_bar.compose": "Lag eit nytt tut",
"navigation_bar.direct": "Direct messages",
"navigation_bar.direct": "Direktemeldingar",
"navigation_bar.discover": "Oppdag",
"navigation_bar.domain_blocks": "Skjulte domene",
"navigation_bar.edit_profile": "Rediger profil",
@ -317,7 +318,7 @@
"navigation_bar.preferences": "Innstillingar",
"navigation_bar.public_timeline": "Føderert tidsline",
"navigation_bar.security": "Tryggleik",
"notification.admin.report": "{name} reported {target}",
"notification.admin.report": "{name} rapporterte {target}",
"notification.admin.sign_up": "{name} signed up",
"notification.favourite": "{name} merkte statusen din som favoritt",
"notification.follow": "{name} fylgde deg",
@ -327,10 +328,10 @@
"notification.poll": "Ei rundspørjing du har røysta i er ferdig",
"notification.reblog": "{name} framheva statusen din",
"notification.status": "{name} la nettopp ut",
"notification.update": "{name} edited a post",
"notification.update": "{name} redigerte eit innlegg",
"notifications.clear": "Tøm varsel",
"notifications.clear_confirmation": "Er du sikker på at du vil fjerna alle varsla dine for alltid?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.report": "Nye rapportar:",
"notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Skrivebordsvarsel",
"notifications.column_settings.favourite": "Favorittar:",
@ -346,9 +347,9 @@
"notifications.column_settings.show": "Vis i kolonne",
"notifications.column_settings.sound": "Spel av lyd",
"notifications.column_settings.status": "Nye tuter:",
"notifications.column_settings.unread_notifications.category": "Unread notifications",
"notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
"notifications.column_settings.update": "Redigeringer:",
"notifications.column_settings.unread_notifications.category": "Uleste varsel",
"notifications.column_settings.unread_notifications.highlight": "Marker uleste varsel",
"notifications.column_settings.update": "Redigeringar:",
"notifications.filter.all": "Alle",
"notifications.filter.boosts": "Framhevingar",
"notifications.filter.favourites": "Favorittar",
@ -372,15 +373,15 @@
"poll.total_votes": "{count, plural, one {# røyst} other {# røyster}}",
"poll.vote": "Røyst",
"poll.voted": "Du røysta på dette svaret",
"poll.votes": "{votes, plural, one {# vote} other {# votes}}",
"poll.votes": "{votes, plural, one {# stemme} other {# stemmer}}",
"poll_button.add_poll": "Start ei meiningsmåling",
"poll_button.remove_poll": "Fjern røyst",
"privacy.change": "Juster status-synlegheit",
"privacy.direct.long": "Legg berre ut for nemnde brukarar",
"privacy.direct.short": "Direct",
"privacy.direct.short": "Kun nemnde personar",
"privacy.private.long": "Post kun til følgjarar",
"privacy.private.short": "Followers-only",
"privacy.public.long": "Visible for all",
"privacy.private.short": "Kun fylgjarar",
"privacy.public.long": "Synleg for alle",
"privacy.public.short": "Offentleg",
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Uoppført",
@ -388,11 +389,11 @@
"regeneration_indicator.label": "Lastar…",
"regeneration_indicator.sublabel": "Heimetidslinja di vert førebudd!",
"relative_time.days": "{number}dg",
"relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
"relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago",
"relative_time.full.just_now": "just now",
"relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
"relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
"relative_time.full.days": "{number, plural, one {# dag} other {# dagar}} sidan",
"relative_time.full.hours": "{number, plural, one {# time} other {# timar}} sidan",
"relative_time.full.just_now": "nettopp nå",
"relative_time.full.minutes": "{number, plural, one {# minutt} other {# minutt}} sidan",
"relative_time.full.seconds": "{number, plural, one {# sekund} other {# sekund}} sidan",
"relative_time.hours": "{number}t",
"relative_time.just_now": "nå",
"relative_time.minutes": "{number}min",
@ -400,46 +401,46 @@
"relative_time.today": "i dag",
"reply_indicator.cancel": "Avbryt",
"report.block": "Blokker",
"report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
"report.categories.other": "Other",
"report.block_explanation": "Du vil ikkje kunne sjå innlegga deira. Dei vil ikkje kunne sjå innlegga dine eller fylgje deg. Dei kan sjå at dei er blokkert.",
"report.categories.other": "Anna",
"report.categories.spam": "Søppelpost",
"report.categories.violation": "Content violates one or more server rules",
"report.category.subtitle": "Choose the best match",
"report.category.title": "Tell us what's going on with this {type}",
"report.categories.violation": "Innhaldet bryt ei eller fleire regler for tenaren",
"report.category.subtitle": "Vel det som passar best",
"report.category.title": "Fortel oss kva som skjer med denne {type}",
"report.category.title_account": "profil",
"report.category.title_status": "innlegg",
"report.close": "Utført",
"report.comment.title": "Is there anything else you think we should know?",
"report.close": "Ferdig",
"report.comment.title": "Er det noko anna du meiner me bør vite?",
"report.forward": "Vidaresend til {target}",
"report.forward_hint": "Kontoen er frå ein annan tenar. Vil du senda ein anonymisert kopi av rapporten dit òg?",
"report.mute": "Demp",
"report.mute": "Målbind",
"report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.",
"report.next": "Neste",
"report.placeholder": "Tilleggskommentarar",
"report.reasons.dislike": "Jeg liker det ikke",
"report.reasons.dislike_description": "It is not something you want to see",
"report.reasons.other": "It's something else",
"report.reasons.other_description": "The issue does not fit into other categories",
"report.reasons.spam": "Det er spam",
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
"report.reasons.violation": "It violates server rules",
"report.reasons.violation_description": "You are aware that it breaks specific rules",
"report.reasons.dislike": "Eg likar det ikkje",
"report.reasons.dislike_description": "Det er ikkje noko du ønsker å sjå",
"report.reasons.other": "Det er noko anna",
"report.reasons.other_description": "Problemet passar ikkje inn i dei andre kategoriane",
"report.reasons.spam": "Det er søppelpost",
"report.reasons.spam_description": "Skadelege lenker, falskt engasjement og gjentakande svar",
"report.reasons.violation": "Det bryt tenaren sine reglar",
"report.reasons.violation_description": "Du veit at den bryt spesifikke reglar",
"report.rules.subtitle": "Select all that apply",
"report.rules.title": "Which rules are being violated?",
"report.rules.title": "Kva reglar vert brotne?",
"report.statuses.subtitle": "Select all that apply",
"report.statuses.title": "Are there any posts that back up this report?",
"report.submit": "Send inn",
"report.target": "Rapporterer {target}",
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
"report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
"report.thanks.title": "Don't want to see this?",
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.thanks.title": "Vil du ikkje sjå dette?",
"report.thanks.title_actionable": "Takk for at du rapporterer, me skal sjå på dette.",
"report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.attached_statuses": "{count, plural, one {{count} innlegg} other {{count} innlegg}} lagt ved",
"report_notification.categories.other": "Anna",
"report_notification.categories.spam": "Søppelpost",
"report_notification.categories.violation": "Regelbrot",
"report_notification.open": "Open report",
"search.placeholder": "Søk",
"search_popout.search_format": "Avansert søkeformat",
@ -451,7 +452,7 @@
"search_results.accounts": "Folk",
"search_results.all": "All",
"search_results.hashtags": "Emneknaggar",
"search_results.nothing_found": "Could not find anything for these search terms",
"search_results.nothing_found": "Kunne ikkje finne noko for desse søkeorda",
"search_results.statuses": "Tut",
"search_results.statuses_fts_disabled": "På denne Matsodon-tenaren kan du ikkje søkja på tut etter innhaldet deira.",
"search_results.total": "{count, number} {count, plural, one {treff} other {treff}}",
@ -465,15 +466,15 @@
"status.delete": "Slett",
"status.detailed_status": "Detaljert samtalevisning",
"status.direct": "Send melding til @{name}",
"status.edit": "Edit",
"status.edited": "Edited {date}",
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
"status.edit": "Rediger",
"status.edited": "Redigert {date}",
"status.edited_x_times": "Redigert {count, plural, one {{count} gong} other {{count} gonger}}",
"status.embed": "Bygg inn",
"status.favourite": "Favoritt",
"status.filtered": "Filtrert",
"status.hide": "Hide toot",
"status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}",
"status.hide": "Gøym innlegg",
"status.history.created": "{name} oppretta {date}",
"status.history.edited": "{name} redigerte {date}",
"status.load_more": "Last inn meir",
"status.media_hidden": "Medium gøymd",
"status.mention": "Nemn @{name}",
@ -495,7 +496,7 @@
"status.report": "Rapporter @{name}",
"status.sensitive_warning": "Sensitivt innhald",
"status.share": "Del",
"status.show_filter_reason": "Show anyway",
"status.show_filter_reason": "Vis likevel",
"status.show_less": "Vis mindre",
"status.show_less_all": "Vis mindre for alle",
"status.show_more": "Vis meir",
@ -532,7 +533,7 @@
"upload_error.poll": "Filopplasting ikkje tillate med meiningsmålingar.",
"upload_form.audio_description": "Grei ut for folk med nedsett høyrsel",
"upload_form.description": "Skildr for synshemja",
"upload_form.description_missing": "Ingen beskrivelse lagt til",
"upload_form.description_missing": "Inga beskriving er lagt til",
"upload_form.edit": "Rediger",
"upload_form.thumbnail": "Bytt miniatyrbilete",
"upload_form.undo": "Slett",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oi!",
"announcement.announcement": "Kunngjøring",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per uke",
"boost_modal.combo": "You kan trykke {combo} for å hoppe over dette neste gang",
"bundle_column_error.body": "Noe gikk galt mens denne komponenten lastet.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Ops!",
"announcement.announcement": "Anóncia",
"attachments_list.unprocessed": "(pas tractat)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per setmana",
"boost_modal.combo": "Podètz botar {combo} per passar aquò lo còp que ven",
"bundle_column_error.body": "Quicòm a fach mèuca pendent lo cargament daqueste compausant.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "O nie!",
"announcement.announcement": "Ogłoszenie",
"attachments_list.unprocessed": "(nieprzetworzone)",
"audio.hide": "Hide audio",
"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.",
@ -224,9 +225,9 @@
"hashtag.column_settings.tag_mode.any": "Dowolne",
"hashtag.column_settings.tag_mode.none": "Żadne",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Obserwuj hasztag",
"hashtag.total_volume": "Całkowity wolumen w ciągu {days, plural, one {ostatniego dnia} other {ostatnich {days} dni}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Przestań obserwować hashtag",
"home.column_settings.basic": "Podstawowe",
"home.column_settings.show_reblogs": "Pokazuj podbicia",
"home.column_settings.show_replies": "Pokazuj odpowiedzi",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Eita!",
"announcement.announcement": "Comunicados",
"attachments_list.unprocessed": "(não processado)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Pressione {combo} para pular isso na próxima vez",
"bundle_column_error.body": "Erro ao carregar este componente.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Bolas!",
"announcement.announcement": "Anúncio",
"attachments_list.unprocessed": "(não processado)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Pode clicar {combo} para não voltar a ver",
"bundle_column_error.body": "Algo de errado aconteceu enquanto este componente era carregado.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Qualquer destes",
"hashtag.column_settings.tag_mode.none": "Nenhum destes",
"hashtag.column_settings.tag_toggle": "Incluir etiquetas adicionais para esta coluna",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Seguir hashtag",
"hashtag.total_volume": "Volume total {days, plural, one {no último dia} other {nos últimos {days} dias}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Parar de seguir hashtag",
"home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar boosts",
"home.column_settings.show_replies": "Mostrar respostas",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Ups!",
"announcement.announcement": "Anunț",
"attachments_list.unprocessed": "(neprocesate)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} pe săptămână",
"boost_modal.combo": "Poți apăsa {combo} pentru a sări peste asta data viitoare",
"bundle_column_error.body": "A apărut o eroare la încărcarea acestui element.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Упс!",
"announcement.announcement": "Объявление",
"attachments_list.unprocessed": "(не обработан)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} / неделю",
"boost_modal.combo": "{combo}, чтобы пропустить это в следующий раз",
"bundle_column_error.body": "Что-то пошло не так при загрузке этого компонента.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Любой из списка",
"hashtag.column_settings.tag_mode.none": "Ни один из списка",
"hashtag.column_settings.tag_toggle": "Включить дополнительные теги для этой колонки",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Подписаться на новые посты",
"hashtag.total_volume": "Общий объем за {days, plural, =1 {последний день} one {последний {days} день} few {последних {days} дня} many {последних {days} дней} other {последних {days} дней}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Отписаться",
"home.column_settings.basic": "Основные",
"home.column_settings.show_reblogs": "Показывать продвижения",
"home.column_settings.show_replies": "Показывать ответы",

@ -59,6 +59,7 @@
"alert.unexpected.title": "अरे !",
"announcement.announcement": "उद्घोषणा",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} प्रतिसप्ताहे",
"boost_modal.combo": "{combo} अत्र स्प्रष्टुं शक्यते, त्यक्तुमेतमन्यस्मिन् समये",
"bundle_column_error.body": "विषयस्याऽऽरोपणे कश्चिद्दोषो जातः",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oh!",
"announcement.announcement": "Annùntziu",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} a sa chida",
"boost_modal.combo": "Podes incarcare {combo} pro brincare custu sa borta chi benit",
"bundle_column_error.body": "Faddina in su carrigamentu de custu cumponente.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "අපොයි!",
"announcement.announcement": "නිවේදනය",
"attachments_list.unprocessed": "(සැකසුම් නොකළ)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "සතියකට {count}",
"boost_modal.combo": "ඊළඟ වතාවේ මෙය මඟ හැරීමට ඔබට {combo} එබිය හැක",
"bundle_column_error.body": "මෙම සංරචකය පූරණය කිරීමේදී යම් දෙයක් වැරදී ඇත.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Ups!",
"announcement.announcement": "Oboznámenie",
"attachments_list.unprocessed": "(nespracované)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} týždenne",
"boost_modal.combo": "Nabudúce môžeš kliknúť {combo} pre preskočenie",
"bundle_column_error.body": "Pri načítaní tohto prvku nastala nejaká chyba.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Hociktorý z týchto",
"hashtag.column_settings.tag_mode.none": "Žiaden z týchto",
"hashtag.column_settings.tag_toggle": "Vlož dodatočné haštagy pre tento stĺpec",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Nasleduj haštag",
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Nesleduj haštag",
"home.column_settings.basic": "Základné",
"home.column_settings.show_reblogs": "Ukáž vyzdvihnuté",
"home.column_settings.show_replies": "Ukáž odpovede",
@ -401,7 +402,7 @@
"reply_indicator.cancel": "Zrušiť",
"report.block": "Blokuj",
"report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
"report.categories.other": "Other",
"report.categories.other": "Ostatné",
"report.categories.spam": "Spam",
"report.categories.violation": "Content violates one or more server rules",
"report.category.subtitle": "Choose the best match",
@ -437,7 +438,7 @@
"report.unfollow": "Nesleduj @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.other": "Ostatné",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
@ -471,7 +472,7 @@
"status.embed": "Vložiť",
"status.favourite": "Páči sa mi",
"status.filtered": "Filtrované",
"status.hide": "Hide toot",
"status.hide": "Skry príspevok",
"status.history.created": "{name} vytvoril/a {date}",
"status.history.edited": "{name} upravil/a {date}",
"status.load_more": "Ukáž viac",
@ -495,7 +496,7 @@
"status.report": "Nahlás @{name}",
"status.sensitive_warning": "Chúlostivý obsah",
"status.share": "Zdieľaj",
"status.show_filter_reason": "Show anyway",
"status.show_filter_reason": "Ukáž aj tak",
"status.show_less": "Zobraz menej",
"status.show_less_all": "Všetkým ukáž menej",
"status.show_more": "Ukáž viac",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Uups!",
"announcement.announcement": "Objava",
"attachments_list.unprocessed": "(neobdelano)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} na teden",
"boost_modal.combo": "Če želite preskočiti to, lahko pritisnete {combo}",
"bundle_column_error.body": "Med nalaganjem te komponente je prišlo do napake.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Karkoli od naštetega",
"hashtag.column_settings.tag_mode.none": "Nič od naštetega",
"hashtag.column_settings.tag_toggle": "Za ta stolpec vključi dodatne oznake",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Sledi ključniku",
"hashtag.total_volume": "Skupen obseg v {days, plural, one {zadnjem {day} dnevu} two {zadnjih {days} dneh} few {zadnjih {days} dneh} other {zadnjih {days} dneh}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Nehaj slediti ključniku",
"home.column_settings.basic": "Osnovno",
"home.column_settings.show_reblogs": "Pokaži izpostavitve",
"home.column_settings.show_replies": "Pokaži odgovore",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Hëm!",
"announcement.announcement": "Lajmërim",
"attachments_list.unprocessed": "(e papërpunuar)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} për javë",
"boost_modal.combo": "Që kjo të anashkalohet herës tjetër, mund të shtypni {combo}",
"bundle_column_error.body": "Diç shkoi ters teksa ngarkohej ky përbërës.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Cilindo prej këtyre",
"hashtag.column_settings.tag_mode.none": "Asnjë prej këtyre",
"hashtag.column_settings.tag_toggle": "Përfshi etiketa shtesë për këtë shtyllë",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Ndiqe hashtag-un",
"hashtag.total_volume": "Vëllim gjithsej {days, plural, një {day} other {{days} ditët}} e fundit",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Hiqe ndjekjen e hashtag-ut",
"home.column_settings.basic": "Bazë",
"home.column_settings.show_reblogs": "Shfaq përforcime",
"home.column_settings.show_replies": "Shfaq përgjigje",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Možete pritisnuti {combo} da preskočite ovo sledeći put",
"bundle_column_error.body": "Nešto je pošlo po zlu prilikom učitavanja ove komponente.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Упс!",
"announcement.announcement": "Најава",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} недељно",
"boost_modal.combo": "Можете притиснути {combo} да прескочите ово следећи пут",
"bundle_column_error.body": "Нешто је пошло по злу приликом учитавања ове компоненте.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Hoppsan!",
"announcement.announcement": "Meddelande",
"attachments_list.unprocessed": "(obearbetad)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per vecka",
"boost_modal.combo": "Du kan trycka {combo} för att slippa detta nästa gång",
"bundle_column_error.body": "Något gick fel medan denna komponent laddades.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "அச்சச்சோ!",
"announcement.announcement": "அறிவிப்பு",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "ஒவ்வொரு வாரம் {count}",
"boost_modal.combo": "நீங்கள் இதை அடுத்தமுறை தவிர்க்க {combo} வை அழுத்தவும்",
"bundle_column_error.body": "இக்கூற்றை ஏற்றம் செய்யும்பொழுது ஏதோ தவறு ஏற்பட்டுள்ளது.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "అయ్యో!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "మీరు తదుపరిసారి దీనిని దాటవేయడానికి {combo} నొక్కవచ్చు",
"bundle_column_error.body": "ఈ భాగం లోడ్ అవుతున్నప్పుడు ఏదో తప్పు జరిగింది.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "อุปส์!",
"announcement.announcement": "ประกาศ",
"attachments_list.unprocessed": "(ยังไม่ได้ประมวลผล)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} ต่อสัปดาห์",
"boost_modal.combo": "คุณสามารถกด {combo} เพื่อข้ามสิ่งนี้ในครั้งถัดไป",
"bundle_column_error.body": "มีบางอย่างผิดพลาดขณะโหลดส่วนประกอบนี้",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "ใดก็ตามนี้",
"hashtag.column_settings.tag_mode.none": "ไม่ใช่ทั้งหมดนี้",
"hashtag.column_settings.tag_toggle": "รวมแท็กเพิ่มเติมสำหรับคอลัมน์นี้",
"hashtag.follow": "Follow hashtag",
"hashtag.total_volume": "Total volume in the last {days, plural, one {day} other {{days} days}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.follow": "ติดตามแฮชแท็ก",
"hashtag.total_volume": "ปริมาณรวมใน {days, plural, other {{days} วัน}}ที่ผ่านมา",
"hashtag.unfollow": "เลิกติดตามแฮชแท็ก",
"home.column_settings.basic": "พื้นฐาน",
"home.column_settings.show_reblogs": "แสดงการดัน",
"home.column_settings.show_replies": "แสดงการตอบกลับ",
@ -520,7 +521,7 @@
"timeline_hint.resources.followers": "ผู้ติดตาม",
"timeline_hint.resources.follows": "การติดตาม",
"timeline_hint.resources.statuses": "โพสต์ที่เก่ากว่า",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
"trends.counter_by_accounts": "{count, plural, other {{counter} คน}}ใน {days, plural, other {{days} วัน}}ที่ผ่านมา",
"trends.trending_now": "กำลังนิยม",
"ui.beforeunload": "แบบร่างของคุณจะหายไปหากคุณออกจาก Mastodon",
"units.short.billion": "{count} พันล้าน",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Hay aksi!",
"announcement.announcement": "Duyuru",
"attachments_list.unprocessed": "(işlenmemiş)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "Haftada {count}",
"boost_modal.combo": "Bir daha ki sefere {combo} tuşuna basabilirsin",
"bundle_column_error.body": "Bu bileşen yüklenirken bir şeyler ters gitti.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Herhangi biri",
"hashtag.column_settings.tag_mode.none": "Bunların hiçbiri",
"hashtag.column_settings.tag_toggle": "Bu sütundaki ek etiketleri içer",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Etiketi takip et",
"hashtag.total_volume": "Son {days, plural, one {gündeki} other {{days} gündeki}} toplam hacim",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Etiketi takibi bırak",
"home.column_settings.basic": "Temel",
"home.column_settings.show_reblogs": "Boostları göster",
"home.column_settings.show_replies": "Yanıtları göster",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Ой!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Ой!",
"announcement.announcement": "Оголошення",
"attachments_list.unprocessed": "(не оброблено)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} в тиждень",
"boost_modal.combo": "Ви можете натиснути {combo}, щоб пропустити це наступного разу",
"bundle_column_error.body": "Щось пішло не так під час завантаження цього компоненту.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Який-небудь зі списку",
"hashtag.column_settings.tag_mode.none": "Жоден зі списку",
"hashtag.column_settings.tag_toggle": "Додати додаткові теґи до цього стовпчика",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Стежити за хештегом",
"hashtag.total_volume": "Загальний обсяг за останні(й) {days, plural, one {день} few {{days} дні} other {{days} днів}}",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Не стежити за хештегом",
"home.column_settings.basic": "Основні",
"home.column_settings.show_reblogs": "Показувати поширення",
"home.column_settings.show_replies": "Показувати відповіді",

@ -59,6 +59,7 @@
"alert.unexpected.title": "ا رے!",
"announcement.announcement": "اعلان",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} فی ہفتہ",
"boost_modal.combo": "آئیندہ یہ نہ دیکھنے کیلئے آپ {combo} دبا سکتے ہیں",
"bundle_column_error.body": "اس عنصر کو برآمد کرتے وقت کچھ خرابی پیش آئی ہے.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Ốiii!",
"announcement.announcement": "Có gì mới?",
"attachments_list.unprocessed": "(chưa xử lí)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} mỗi tuần",
"boost_modal.combo": "Nhấn {combo} để bỏ qua bước này",
"bundle_column_error.body": "Đã có lỗi xảy ra trong khi tải nội dung này.",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "Một phần",
"hashtag.column_settings.tag_mode.none": "Không chọn",
"hashtag.column_settings.tag_toggle": "Bao gồm thêm hashtag cho cột này",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "Theo dõi hashtag",
"hashtag.total_volume": "Tổng số lần sử dụng {days, plural, other {{days} ngày}} qua",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "Ngưng theo dõi hashtag",
"home.column_settings.basic": "Tùy chỉnh",
"home.column_settings.show_reblogs": "Hiện những lượt đăng lại",
"home.column_settings.show_replies": "Hiện những tút dạng trả lời",

@ -59,6 +59,7 @@
"alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} ⵙ ⵉⵎⴰⵍⴰⵙⵙ",
"boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.",

@ -59,6 +59,7 @@
"alert.unexpected.title": "哎呀!",
"announcement.announcement": "公告",
"attachments_list.unprocessed": "(未处理)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "每星期 {count} 条",
"boost_modal.combo": "下次按住 {combo} 即可跳过此提示",
"bundle_column_error.body": "载入这个组件时发生了错误。",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "任一",
"hashtag.column_settings.tag_mode.none": "无一",
"hashtag.column_settings.tag_toggle": "在此栏加入额外的标签",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "关注哈希标签",
"hashtag.total_volume": "在过去的{days, plural,one {day}other {{days}days}}的总数量",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "取消关注哈希标签",
"home.column_settings.basic": "基本设置",
"home.column_settings.show_reblogs": "显示转嘟",
"home.column_settings.show_replies": "显示回复",
@ -520,7 +521,7 @@
"timeline_hint.resources.followers": "关注者",
"timeline_hint.resources.follows": "关注",
"timeline_hint.resources.statuses": "更早的嘟文",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
"trends.counter_by_accounts": "过去{day}天有{counter}人讨论",
"trends.trending_now": "现在流行",
"ui.beforeunload": "如果你现在离开 Mastodon你的草稿内容将会丢失。",
"units.short.billion": "{count} B",

@ -59,6 +59,7 @@
"alert.unexpected.title": "噢!",
"announcement.announcement": "公告",
"attachments_list.unprocessed": "(unprocessed)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} / 週",
"boost_modal.combo": "如你想在下次路過這顯示,請按{combo}",
"bundle_column_error.body": "加載本組件出錯。",

@ -59,6 +59,7 @@
"alert.unexpected.title": "哎呀!",
"announcement.announcement": "公告",
"attachments_list.unprocessed": "(未經處理)",
"audio.hide": "Hide audio",
"autosuggest_hashtag.per_week": "{count} / 週",
"boost_modal.combo": "下次您可以按 {combo} 跳過",
"bundle_column_error.body": "載入此元件時發生錯誤。",
@ -220,9 +221,9 @@
"hashtag.column_settings.tag_mode.any": "任一",
"hashtag.column_settings.tag_mode.none": "全不",
"hashtag.column_settings.tag_toggle": "將額外標籤加入到這個欄位",
"hashtag.follow": "Follow hashtag",
"hashtag.follow": "追蹤主題標籤",
"hashtag.total_volume": "過去 {days, plural, one {日} other {{days} 日}} 之總量",
"hashtag.unfollow": "Unfollow hashtag",
"hashtag.unfollow": "取消追蹤主題標籤",
"home.column_settings.basic": "基本",
"home.column_settings.show_reblogs": "顯示轉嘟",
"home.column_settings.show_replies": "顯示回覆",

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

Loading…
Cancel
Save