Signed-off-by: Baptiste Lemoine <contact@cipherbliss.com>

# Conflicts:
#	app/javascript/mastodon/components/status_action_bar.js
#	app/javascript/mastodon/features/status/components/action_bar.js
This commit is contained in:
Baptiste Lemoine 2020-02-12 10:03:28 +01:00
parent b3c8105a52
commit b872c1c7c0
190 changed files with 2723 additions and 1068 deletions

View File

@ -3,7 +3,12 @@ Changelog
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## Unreleased ## [3.1.1] - 2020-02-10
### Fixed
- Fix yanked dependency preventing installation ([mayaeh](https://github.com/tootsuite/mastodon/pull/13059))
## [3.1.0] - 2020-02-09
### Added ### Added
- Add bookmarks ([ThibG](https://github.com/tootsuite/mastodon/pull/7107), [Gargron](https://github.com/tootsuite/mastodon/pull/12494), [Gomasy](https://github.com/tootsuite/mastodon/pull/12381)) - Add bookmarks ([ThibG](https://github.com/tootsuite/mastodon/pull/7107), [Gargron](https://github.com/tootsuite/mastodon/pull/12494), [Gomasy](https://github.com/tootsuite/mastodon/pull/12381))
@ -38,8 +43,9 @@ All notable changes to this project will be documented in this file.
- Add support for KaiOS arrow navigation to public pages ([nolanlawson](https://github.com/tootsuite/mastodon/pull/12251)) - Add support for KaiOS arrow navigation to public pages ([nolanlawson](https://github.com/tootsuite/mastodon/pull/12251))
- Add `discoverable` to accounts in REST API ([trwnh](https://github.com/tootsuite/mastodon/pull/12508)) - Add `discoverable` to accounts in REST API ([trwnh](https://github.com/tootsuite/mastodon/pull/12508))
- Add admin setting to disable default follows ([ArisuOngaku](https://github.com/tootsuite/mastodon/pull/12566)) - Add admin setting to disable default follows ([ArisuOngaku](https://github.com/tootsuite/mastodon/pull/12566))
- Add support for LDAP and PAM in the OAuth password grant strategy ([ntl-purism](https://github.com/tootsuite/mastodon/pull/12390)) - Add support for LDAP and PAM in the OAuth password grant strategy ([ntl-purism](https://github.com/tootsuite/mastodon/pull/12390), [Gargron](https://github.com/tootsuite/mastodon/pull/12743))
- Allow support for `Accept`/`Reject` activities with a non-embedded object ([puckipedia](https://github.com/tootsuite/mastodon/pull/12199)) - Allow support for `Accept`/`Reject` activities with a non-embedded object ([puckipedia](https://github.com/tootsuite/mastodon/pull/12199))
- Add "Show thread" button to public profiles ([Sasha-Sorokin](https://github.com/tootsuite/mastodon/pull/13000))
### Changed ### Changed
@ -65,6 +71,7 @@ All notable changes to this project will be documented in this file.
- Change to fallback to to `Create` audience when `object` has no defined audience ([ThibG](https://github.com/tootsuite/mastodon/pull/12249)) - Change to fallback to to `Create` audience when `object` has no defined audience ([ThibG](https://github.com/tootsuite/mastodon/pull/12249))
- Change Twemoji library to 12.1.3 in web UI ([koyuawsmbrtn](https://github.com/tootsuite/mastodon/pull/12342)) - Change Twemoji library to 12.1.3 in web UI ([koyuawsmbrtn](https://github.com/tootsuite/mastodon/pull/12342))
- Change blocked users to be hidden from following/followers lists ([ThibG](https://github.com/tootsuite/mastodon/pull/12733)) - Change blocked users to be hidden from following/followers lists ([ThibG](https://github.com/tootsuite/mastodon/pull/12733))
- Change signature verification to ignore signatures with invalid host ([Gargron](https://github.com/tootsuite/mastodon/pull/13033))
### Removed ### Removed
@ -92,14 +99,13 @@ All notable changes to this project will be documented in this file.
- Fix old migrations failing because of strong migrations update ([ThibG](https://github.com/tootsuite/mastodon/pull/12787), [ThibG](https://github.com/tootsuite/mastodon/pull/12692)) - Fix old migrations failing because of strong migrations update ([ThibG](https://github.com/tootsuite/mastodon/pull/12787), [ThibG](https://github.com/tootsuite/mastodon/pull/12692))
- Fix reuse of detailed status components in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/12792)) - Fix reuse of detailed status components in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/12792))
- Fix base64-encoded file uploads not being possible in REST API ([Gargron](https://github.com/tootsuite/mastodon/pull/12748), [Gargron](https://github.com/tootsuite/mastodon/pull/12857)) - Fix base64-encoded file uploads not being possible in REST API ([Gargron](https://github.com/tootsuite/mastodon/pull/12748), [Gargron](https://github.com/tootsuite/mastodon/pull/12857))
- Fix resource_owner_from_credentials in Doorkeeper initializer ([Gargron](https://github.com/tootsuite/mastodon/pull/12743))
- Fix error due to missing authentication call in filters controller ([Gargron](https://github.com/tootsuite/mastodon/pull/12746)) - Fix error due to missing authentication call in filters controller ([Gargron](https://github.com/tootsuite/mastodon/pull/12746))
- Fix uncaught unknown format error in host meta controller ([Gargron](https://github.com/tootsuite/mastodon/pull/12747)) - Fix uncaught unknown format error in host meta controller ([Gargron](https://github.com/tootsuite/mastodon/pull/12747))
- Fix URL search not returning private toots user has access to ([ThibG](https://github.com/tootsuite/mastodon/pull/12742), [ThibG](https://github.com/tootsuite/mastodon/pull/12336)) - Fix URL search not returning private toots user has access to ([ThibG](https://github.com/tootsuite/mastodon/pull/12742), [ThibG](https://github.com/tootsuite/mastodon/pull/12336))
- Fix cache digesting log noise on status embeds ([Gargron](https://github.com/tootsuite/mastodon/pull/12750)) - Fix cache digesting log noise on status embeds ([Gargron](https://github.com/tootsuite/mastodon/pull/12750))
- Fix slowness due to layout thrashing when reloading a large set of statuses in web UI ([panarom](https://github.com/tootsuite/mastodon/pull/12661), [panarom](https://github.com/tootsuite/mastodon/pull/12744), [Gargron](https://github.com/tootsuite/mastodon/pull/12712)) - Fix slowness due to layout thrashing when reloading a large set of statuses in web UI ([panarom](https://github.com/tootsuite/mastodon/pull/12661), [panarom](https://github.com/tootsuite/mastodon/pull/12744), [Gargron](https://github.com/tootsuite/mastodon/pull/12712))
- Fix error when fetching followers/following from REST API when user has network hidden ([Gargron](https://github.com/tootsuite/mastodon/pull/12716)) - Fix error when fetching followers/following from REST API when user has network hidden ([Gargron](https://github.com/tootsuite/mastodon/pull/12716))
- Fix IDN mentions not being processed, IDN domains not being rendered ([Gargron](https://github.com/tootsuite/mastodon/pull/12715)) - Fix IDN mentions not being processed, IDN domains not being rendered ([Gargron](https://github.com/tootsuite/mastodon/pull/12715), [Gargron](https://github.com/tootsuite/mastodon/pull/13035), [Gargron](https://github.com/tootsuite/mastodon/pull/13030))
- Fix error when searching for empty phrase ([Gargron](https://github.com/tootsuite/mastodon/pull/12711)) - Fix error when searching for empty phrase ([Gargron](https://github.com/tootsuite/mastodon/pull/12711))
- Fix backups stopping due to read timeouts ([chr-1x](https://github.com/tootsuite/mastodon/pull/12281)) - Fix backups stopping due to read timeouts ([chr-1x](https://github.com/tootsuite/mastodon/pull/12281))
- Fix batch actions on non-pending tags in admin UI ([ThibG](https://github.com/tootsuite/mastodon/pull/12537)) - Fix batch actions on non-pending tags in admin UI ([ThibG](https://github.com/tootsuite/mastodon/pull/12537))
@ -152,6 +158,13 @@ All notable changes to this project will be documented in this file.
- Fix voting issue with remote polls that contain trailing spaces ([ThibG](https://github.com/tootsuite/mastodon/pull/12515)) - Fix voting issue with remote polls that contain trailing spaces ([ThibG](https://github.com/tootsuite/mastodon/pull/12515))
- Fix dynamic elements not working in pgHero due to CSP rules ([ykzts](https://github.com/tootsuite/mastodon/pull/12489)) - Fix dynamic elements not working in pgHero due to CSP rules ([ykzts](https://github.com/tootsuite/mastodon/pull/12489))
- Fix overly verbose backtraces when delivering ActivityPub payloads ([zunda](https://github.com/tootsuite/mastodon/pull/12798)) - Fix overly verbose backtraces when delivering ActivityPub payloads ([zunda](https://github.com/tootsuite/mastodon/pull/12798))
- Fix rendering `<a>` without `href` when scheme unsupported ([Gargron](https://github.com/tootsuite/mastodon/pull/13040))
- Fix unfiltered params error when generating ActivityPub tag pagination ([Gargron](https://github.com/tootsuite/mastodon/pull/13049))
- Fix malformed HTML causing uncaught error ([Gargron](https://github.com/tootsuite/mastodon/pull/13042))
- Fix native share button not being displayed for unlisted toots ([ThibG](https://github.com/tootsuite/mastodon/pull/13045))
- Fix remote convertible media attachments (e.g. GIFs) not being saved ([Gargron](https://github.com/tootsuite/mastodon/pull/13032))
- Fix account query not using faster index ([abcang](https://github.com/tootsuite/mastodon/pull/13016))
- Fix error when sending moderation notification ([renatolond](https://github.com/tootsuite/mastodon/pull/13014))
### Security ### Security

12
Gemfile
View File

@ -60,7 +60,7 @@ gem 'htmlentities', '~> 4.3'
gem 'http', '~> 4.3' gem 'http', '~> 4.3'
gem 'http_accept_language', '~> 2.1' gem 'http_accept_language', '~> 2.1'
gem 'http_parser.rb', '~> 0.6', git: 'https://github.com/tmm1/http_parser.rb', ref: '54b17ba8c7d8d20a16dfc65d1775241833219cf2', submodules: true gem 'http_parser.rb', '~> 0.6', git: 'https://github.com/tmm1/http_parser.rb', ref: '54b17ba8c7d8d20a16dfc65d1775241833219cf2', submodules: true
gem 'httplog', '~> 1.4' gem 'httplog', '~> 1.4.2'
gem 'idn-ruby', require: 'idn' gem 'idn-ruby', require: 'idn'
gem 'kaminari', '~> 1.1' gem 'kaminari', '~> 1.1'
gem 'link_header', '~> 0.0' gem 'link_header', '~> 0.0'
@ -101,14 +101,14 @@ gem 'webpacker', '~> 4.2'
gem 'webpush' gem 'webpush'
gem 'json-ld' gem 'json-ld'
gem 'json-ld-preloaded', '~> 3.0' gem 'json-ld-preloaded', '~> 3.1'
gem 'rdf-normalize', '~> 0.4' gem 'rdf-normalize', '~> 0.4'
group :development, :test do group :development, :test do
gem 'fabrication', '~> 2.21' gem 'fabrication', '~> 2.21'
gem 'fuubar', '~> 2.5' gem 'fuubar', '~> 2.5'
gem 'i18n-tasks', '~> 0.9', require: false gem 'i18n-tasks', '~> 0.9', require: false
gem 'pry-byebug', '~> 3.7' gem 'pry-byebug', '~> 3.8'
gem 'pry-rails', '~> 0.3' gem 'pry-rails', '~> 0.3'
gem 'rspec-rails', '~> 3.9' gem 'rspec-rails', '~> 3.9'
end end
@ -118,13 +118,13 @@ group :production, :test do
end end
group :test do group :test do
gem 'capybara', '~> 3.30' gem 'capybara', '~> 3.31'
gem 'climate_control', '~> 0.2' gem 'climate_control', '~> 0.2'
gem 'faker', '~> 2.10' gem 'faker', '~> 2.10'
gem 'microformats', '~> 4.2' gem 'microformats', '~> 4.2'
gem 'rails-controller-testing', '~> 1.0' gem 'rails-controller-testing', '~> 1.0'
gem 'rspec-sidekiq', '~> 3.0' gem 'rspec-sidekiq', '~> 3.0'
gem 'simplecov', '~> 0.17', require: false gem 'simplecov', '~> 0.18', require: false
gem 'webmock', '~> 3.8' gem 'webmock', '~> 3.8'
gem 'parallel_tests', '~> 2.30' gem 'parallel_tests', '~> 2.30'
end end
@ -136,7 +136,7 @@ group :development do
gem 'binding_of_caller', '~> 0.7' gem 'binding_of_caller', '~> 0.7'
gem 'bullet', '~> 6.1' gem 'bullet', '~> 6.1'
gem 'letter_opener', '~> 1.7' gem 'letter_opener', '~> 1.7'
gem 'letter_opener_web', '~> 1.3' gem 'letter_opener_web', '~> 1.4'
gem 'memory_profiler' gem 'memory_profiler'
gem 'rubocop', '~> 0.79', require: false gem 'rubocop', '~> 0.79', require: false
gem 'rubocop-rails', '~> 2.4', require: false gem 'rubocop-rails', '~> 2.4', require: false

View File

@ -127,7 +127,7 @@ GEM
bundler-audit (0.6.1) bundler-audit (0.6.1)
bundler (>= 1.2.0, < 3) bundler (>= 1.2.0, < 3)
thor (~> 0.18) thor (~> 0.18)
byebug (11.0.0) byebug (11.1.1)
capistrano (3.11.2) capistrano (3.11.2)
airbrussh (>= 1.0.0) airbrussh (>= 1.0.0)
i18n i18n
@ -144,7 +144,7 @@ GEM
sshkit (~> 1.3) sshkit (~> 1.3)
capistrano-yarn (2.0.2) capistrano-yarn (2.0.2)
capistrano (~> 3.0) capistrano (~> 3.0)
capybara (3.30.0) capybara (3.31.0)
addressable addressable
mini_mime (>= 0.1.3) mini_mime (>= 0.1.3)
nokogiri (~> 1.8) nokogiri (~> 1.8)
@ -282,7 +282,7 @@ GEM
http-parser (1.2.1) http-parser (1.2.1)
ffi-compiler (>= 1.0, < 2.0) ffi-compiler (>= 1.0, < 2.0)
http_accept_language (2.1.1) http_accept_language (2.1.1)
httplog (1.4.0) httplog (1.4.2)
rack (>= 1.0) rack (>= 1.0)
rainbow (>= 2.0.0) rainbow (>= 2.0.0)
i18n (1.8.2) i18n (1.8.2)
@ -311,10 +311,9 @@ GEM
multi_json (~> 1.14) multi_json (~> 1.14)
rack (~> 2.0) rack (~> 2.0)
rdf (~> 3.1) rdf (~> 3.1)
json-ld-preloaded (3.0.6) json-ld-preloaded (3.1.0)
json-ld (~> 3.0) json-ld (~> 3.1)
multi_json (~> 1.12) rdf (~> 3.1)
rdf (~> 3.0)
jsonapi-renderer (0.2.2) jsonapi-renderer (0.2.2)
jwt (2.1.0) jwt (2.1.0)
kaminari (1.1.1) kaminari (1.1.1)
@ -333,7 +332,7 @@ GEM
addressable (~> 2.3) addressable (~> 2.3)
letter_opener (1.7.0) letter_opener (1.7.0)
launchy (~> 2.2) launchy (~> 2.2)
letter_opener_web (1.3.4) letter_opener_web (1.4.0)
actionmailer (>= 3.2) actionmailer (>= 3.2)
letter_opener (~> 1.0) letter_opener (~> 1.0)
railties (>= 3.2) railties (>= 3.2)
@ -430,7 +429,7 @@ GEM
pry (0.12.2) pry (0.12.2)
coderay (~> 1.1.0) coderay (~> 1.1.0)
method_source (~> 0.9.0) method_source (~> 0.9.0)
pry-byebug (3.7.0) pry-byebug (3.8.0)
byebug (~> 11.0) byebug (~> 11.0)
pry (~> 0.10) pry (~> 0.10)
pry-rails (0.3.9) pry-rails (0.3.9)
@ -550,7 +549,7 @@ GEM
rainbow (>= 2.2.2, < 4.0) rainbow (>= 2.2.2, < 4.0)
ruby-progressbar (~> 1.7) ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 1.7) unicode-display_width (>= 1.4.0, < 1.7)
rubocop-rails (2.4.1) rubocop-rails (2.4.2)
rack (>= 1.1) rack (>= 1.1)
rubocop (>= 0.72.0) rubocop (>= 0.72.0)
ruby-progressbar (1.10.1) ruby-progressbar (1.10.1)
@ -584,11 +583,10 @@ GEM
simple_form (5.0.1) simple_form (5.0.1)
actionpack (>= 5.0) actionpack (>= 5.0)
activemodel (>= 5.0) activemodel (>= 5.0)
simplecov (0.17.1) simplecov (0.18.1)
docile (~> 1.1) docile (~> 1.1)
json (>= 1.8, < 3) simplecov-html (~> 0.11.0)
simplecov-html (~> 0.10.0) simplecov-html (0.11.0)
simplecov-html (0.10.2)
sprockets (3.7.2) sprockets (3.7.2)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
rack (> 1, < 3) rack (> 1, < 3)
@ -680,7 +678,7 @@ DEPENDENCIES
capistrano-rails (~> 1.4) capistrano-rails (~> 1.4)
capistrano-rbenv (~> 2.1) capistrano-rbenv (~> 2.1)
capistrano-yarn (~> 2.0) capistrano-yarn (~> 2.0)
capybara (~> 3.30) capybara (~> 3.31)
charlock_holmes (~> 0.7.7) charlock_holmes (~> 0.7.7)
chewy (~> 5.1) chewy (~> 5.1)
cld3 (~> 3.2.6) cld3 (~> 3.2.6)
@ -709,15 +707,15 @@ DEPENDENCIES
http (~> 4.3) http (~> 4.3)
http_accept_language (~> 2.1) http_accept_language (~> 2.1)
http_parser.rb (~> 0.6)! http_parser.rb (~> 0.6)!
httplog (~> 1.4) httplog (~> 1.4.2)
i18n-tasks (~> 0.9) i18n-tasks (~> 0.9)
idn-ruby idn-ruby
iso-639 iso-639
json-ld json-ld
json-ld-preloaded (~> 3.0) json-ld-preloaded (~> 3.1)
kaminari (~> 1.1) kaminari (~> 1.1)
letter_opener (~> 1.7) letter_opener (~> 1.7)
letter_opener_web (~> 1.3) letter_opener_web (~> 1.4)
link_header (~> 0.0) link_header (~> 0.0)
lograge (~> 0.11) lograge (~> 0.11)
makara (~> 0.4) makara (~> 0.4)
@ -745,7 +743,7 @@ DEPENDENCIES
posix-spawn! posix-spawn!
premailer-rails premailer-rails
private_address_check (~> 0.5) private_address_check (~> 0.5)
pry-byebug (~> 3.7) pry-byebug (~> 3.8)
pry-rails (~> 0.3) pry-rails (~> 0.3)
puma (~> 4.3) puma (~> 4.3)
pundit (~> 2.1) pundit (~> 2.1)
@ -773,7 +771,7 @@ DEPENDENCIES
sidekiq-unique-jobs (~> 6.0) sidekiq-unique-jobs (~> 6.0)
simple-navigation (~> 4.1) simple-navigation (~> 4.1)
simple_form (~> 5.0) simple_form (~> 5.0)
simplecov (~> 0.17) simplecov (~> 0.18)
sprockets (~> 3.7.2) sprockets (~> 3.7.2)
sprockets-rails (~> 3.2) sprockets-rails (~> 3.2)
stackprof stackprof

View File

@ -19,11 +19,7 @@ class Api::V1::AnnouncementsController < Api::BaseController
def set_announcements def set_announcements
@announcements = begin @announcements = begin
scope = Announcement.published Announcement.published.chronological
scope.merge!(Announcement.without_muted(current_account)) unless truthy_param?(:with_dismissed)
scope.chronological
end end
end end

View File

@ -7,15 +7,21 @@ class Api::Web::EmbedsController < Api::Web::BaseController
def create def create
status = StatusFinder.new(params[:url]).status status = StatusFinder.new(params[:url]).status
return not_found if status.hidden?
render json: status, serializer: OEmbedSerializer, width: 400 render json: status, serializer: OEmbedSerializer, width: 400
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
oembed = FetchOEmbedService.new.call(params[:url]) oembed = FetchOEmbedService.new.call(params[:url])
oembed[:html] = Formatter.instance.sanitize(oembed[:html], Sanitize::Config::MASTODON_OEMBED) if oembed[:html].present?
if oembed return not_found if oembed.nil?
render json: oembed
else begin
render json: {}, status: :not_found oembed[:html] = Formatter.instance.sanitize(oembed[:html], Sanitize::Config::MASTODON_OEMBED)
rescue ArgumentError
return not_found
end end
render json: oembed
end end
end end

View File

@ -160,6 +160,8 @@ module SignatureVerification
account ||= stoplight_wrap_request { ActivityPub::FetchRemoteKeyService.new.call(key_id, id: false) } account ||= stoplight_wrap_request { ActivityPub::FetchRemoteKeyService.new.call(key_id, id: false) }
account account
end end
rescue Mastodon::HostValidationError
nil
end end
def stoplight_wrap_request(&block) def stoplight_wrap_request(&block)

View File

@ -24,7 +24,7 @@ class TagsController < ApplicationController
format.rss do format.rss do
expires_in 0, public: true expires_in 0, public: true
@statuses = HashtagQueryService.new.call(@tag, params.slice(:any, :all, :none)).limit(PAGE_SIZE) @statuses = HashtagQueryService.new.call(@tag, filter_params).limit(PAGE_SIZE)
@statuses = cache_collection(@statuses, Status) @statuses = cache_collection(@statuses, Status)
render xml: RSS::TagSerializer.render(@tag, @statuses) render xml: RSS::TagSerializer.render(@tag, @statuses)
@ -33,7 +33,7 @@ class TagsController < ApplicationController
format.json do format.json do
expires_in 3.minutes, public: public_fetch_mode? expires_in 3.minutes, public: public_fetch_mode?
@statuses = HashtagQueryService.new.call(@tag, params.slice(:any, :all, :none), current_account, params[:local]).paginate_by_max_id(PAGE_SIZE, params[:max_id]) @statuses = HashtagQueryService.new.call(@tag, filter_params, current_account, params[:local]).paginate_by_max_id(PAGE_SIZE, params[:max_id])
@statuses = cache_collection(@statuses, Status) @statuses = cache_collection(@statuses, Status)
render json: collection_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json' render json: collection_presenter, serializer: ActivityPub::CollectionSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
@ -57,10 +57,14 @@ class TagsController < ApplicationController
def collection_presenter def collection_presenter
ActivityPub::CollectionPresenter.new( ActivityPub::CollectionPresenter.new(
id: tag_url(@tag, params.slice(:any, :all, :none)), id: tag_url(@tag, filter_params),
type: :ordered, type: :ordered,
size: @tag.statuses.count, size: @tag.statuses.count,
items: @statuses.map { |s| ActivityPub::TagManager.instance.uri_for(s) } items: @statuses.map { |s| ActivityPub::TagManager.instance.uri_for(s) }
) )
end end
def filter_params
params.slice(:any, :all, :none).permit(:any, :all, :none)
end
end end

View File

@ -11,7 +11,7 @@ module AccountsHelper
def acct(account) def acct(account)
if account.local? if account.local?
"@#{account.acct}@#{Rails.configuration.x.local_domain}" "@#{account.acct}@#{site_hostname}"
else else
"@#{account.pretty_acct}" "@#{account.pretty_acct}"
end end

View File

@ -3,17 +3,21 @@ import { normalizeAnnouncement } from './importer/normalizer';
export const ANNOUNCEMENTS_FETCH_REQUEST = 'ANNOUNCEMENTS_FETCH_REQUEST'; export const ANNOUNCEMENTS_FETCH_REQUEST = 'ANNOUNCEMENTS_FETCH_REQUEST';
export const ANNOUNCEMENTS_FETCH_SUCCESS = 'ANNOUNCEMENTS_FETCH_SUCCESS'; export const ANNOUNCEMENTS_FETCH_SUCCESS = 'ANNOUNCEMENTS_FETCH_SUCCESS';
export const ANNOUNCEMENTS_FETCH_FAIL = 'ANNOUNCEMENTS_FETCH_FAIL'; export const ANNOUNCEMENTS_FETCH_FAIL = 'ANNOUNCEMENTS_FETCH_FAIL';
export const ANNOUNCEMENTS_UPDATE = 'ANNOUNCEMENTS_UPDATE'; export const ANNOUNCEMENTS_UPDATE = 'ANNOUNCEMENTS_UPDATE';
export const ANNOUNCEMENTS_DELETE = 'ANNOUNCEMENTS_DELETE'; export const ANNOUNCEMENTS_DELETE = 'ANNOUNCEMENTS_DELETE';
export const ANNOUNCEMENTS_DISMISS_REQUEST = 'ANNOUNCEMENTS_DISMISS_REQUEST';
export const ANNOUNCEMENTS_DISMISS_SUCCESS = 'ANNOUNCEMENTS_DISMISS_SUCCESS';
export const ANNOUNCEMENTS_DISMISS_FAIL = 'ANNOUNCEMENTS_DISMISS_FAIL';
export const ANNOUNCEMENTS_REACTION_ADD_REQUEST = 'ANNOUNCEMENTS_REACTION_ADD_REQUEST'; export const ANNOUNCEMENTS_REACTION_ADD_REQUEST = 'ANNOUNCEMENTS_REACTION_ADD_REQUEST';
export const ANNOUNCEMENTS_REACTION_ADD_SUCCESS = 'ANNOUNCEMENTS_REACTION_ADD_SUCCESS'; export const ANNOUNCEMENTS_REACTION_ADD_SUCCESS = 'ANNOUNCEMENTS_REACTION_ADD_SUCCESS';
export const ANNOUNCEMENTS_REACTION_ADD_FAIL = 'ANNOUNCEMENTS_REACTION_ADD_FAIL'; export const ANNOUNCEMENTS_REACTION_ADD_FAIL = 'ANNOUNCEMENTS_REACTION_ADD_FAIL';
export const ANNOUNCEMENTS_REACTION_REMOVE_REQUEST = 'ANNOUNCEMENTS_REACTION_REMOVE_REQUEST'; export const ANNOUNCEMENTS_REACTION_REMOVE_REQUEST = 'ANNOUNCEMENTS_REACTION_REMOVE_REQUEST';
export const ANNOUNCEMENTS_REACTION_REMOVE_SUCCESS = 'ANNOUNCEMENTS_REACTION_REMOVE_SUCCESS'; export const ANNOUNCEMENTS_REACTION_REMOVE_SUCCESS = 'ANNOUNCEMENTS_REACTION_REMOVE_SUCCESS';
export const ANNOUNCEMENTS_REACTION_REMOVE_FAIL = 'ANNOUNCEMENTS_REACTION_REMOVE_FAIL'; export const ANNOUNCEMENTS_REACTION_REMOVE_FAIL = 'ANNOUNCEMENTS_REACTION_REMOVE_FAIL';
export const ANNOUNCEMENTS_REACTION_UPDATE = 'ANNOUNCEMENTS_REACTION_UPDATE'; export const ANNOUNCEMENTS_REACTION_UPDATE = 'ANNOUNCEMENTS_REACTION_UPDATE';
@ -52,10 +56,36 @@ export const fetchAnnouncementsFail= error => ({
}); });
export const updateAnnouncements = announcement => ({ export const updateAnnouncements = announcement => ({
type: ANNOUNCEMENTS_UPDATE, type : ANNOUNCEMENTS_UPDATE,
announcement: normalizeAnnouncement(announcement), announcement: normalizeAnnouncement(announcement),
}); });
export const dismissAnnouncement = announcementId => (dispatch, getState) => {
dispatch(dismissAnnouncementRequest(announcementId));
api(getState).post(`/api/v1/announcements/${announcementId}/dismiss`).then(() => {
dispatch(dismissAnnouncementSuccess(announcementId));
}).catch(error => {
dispatch(dismissAnnouncementFail(announcementId, error));
});
};
export const dismissAnnouncementRequest = announcementId => ({
type: ANNOUNCEMENTS_DISMISS_REQUEST,
id : announcementId,
});
export const dismissAnnouncementSuccess = announcementId => ({
type: ANNOUNCEMENTS_DISMISS_SUCCESS,
id : announcementId,
});
export const dismissAnnouncementFail = (announcementId, error) => ({
type: ANNOUNCEMENTS_DISMISS_FAIL,
id : announcementId,
error,
});
export const addReaction = (announcementId, name) => (dispatch, getState) => { export const addReaction = (announcementId, name) => (dispatch, getState) => {
const announcement = getState().getIn(['announcements', 'items']).find(x => x.get('id') === announcementId); const announcement = getState().getIn(['announcements', 'items']).find(x => x.get('id') === announcementId);

View File

@ -5,10 +5,9 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import IconButton from 'mastodon/components/icon_button'; import IconButton from 'mastodon/components/icon_button';
import Icon from 'mastodon/components/icon'; import Icon from 'mastodon/components/icon';
import { defineMessages, injectIntl, FormattedMessage, FormattedDate } from 'react-intl'; import { defineMessages, FormattedDate, FormattedMessage, injectIntl } from 'react-intl';
import { autoPlayGif, reduceMotion } from 'mastodon/initial_state'; import { autoPlayGif, mascot, reduceMotion } from 'mastodon/initial_state';
import elephantUIPlane from 'mastodon/../images/elephant_ui_plane.svg'; import elephantUIPlane from 'mastodon/../images/elephant_ui_plane.svg';
import { mascot } from 'mastodon/initial_state';
import unicodeMapping from 'mastodon/features/emoji/emoji_unicode_mapping_light'; import unicodeMapping from 'mastodon/features/emoji/emoji_unicode_mapping_light';
import classNames from 'classnames'; import classNames from 'classnames';
import EmojiPickerDropdown from 'mastodon/features/compose/containers/emoji_picker_dropdown_container'; import EmojiPickerDropdown from 'mastodon/features/compose/containers/emoji_picker_dropdown_container';
@ -17,7 +16,7 @@ import TransitionMotion from 'react-motion/lib/TransitionMotion';
import spring from 'react-motion/lib/spring'; import spring from 'react-motion/lib/spring';
const messages = defineMessages({ const messages = defineMessages({
close: { id: 'lightbox.close', defaultMessage: 'Close' }, close : { id: 'lightbox.close', defaultMessage: 'Close' },
previous: { id: 'lightbox.previous', defaultMessage: 'Previous' }, previous: { id: 'lightbox.previous', defaultMessage: 'Previous' },
next: { id: 'lightbox.next', defaultMessage: 'Next' }, next: { id: 'lightbox.next', defaultMessage: 'Next' },
}); });
@ -34,7 +33,7 @@ class Content extends ImmutablePureComponent {
setRef = c => { setRef = c => {
this.node = c; this.node = c;
} };
componentDidMount () { componentDidMount () {
this._updateLinks(); this._updateLinks();
@ -109,7 +108,7 @@ class Content extends ImmutablePureComponent {
e.preventDefault(); e.preventDefault();
this.context.router.history.push(`/accounts/${mention.get('id')}`); this.context.router.history.push(`/accounts/${mention.get('id')}`);
} }
} };
onHashtagClick = (hashtag, e) => { onHashtagClick = (hashtag, e) => {
hashtag = hashtag.replace(/^#/, ''); hashtag = hashtag.replace(/^#/, '');
@ -118,15 +117,15 @@ class Content extends ImmutablePureComponent {
e.preventDefault(); e.preventDefault();
this.context.router.history.push(`/timelines/tag/${hashtag}`); this.context.router.history.push(`/timelines/tag/${hashtag}`);
} }
} };
handleEmojiMouseEnter = ({ target }) => { handleEmojiMouseEnter = ({ target }) => {
target.src = target.getAttribute('data-original'); target.src = target.getAttribute('data-original');
} };
handleEmojiMouseLeave = ({ target }) => { handleEmojiMouseLeave = ({ target }) => {
target.src = target.getAttribute('data-static'); target.src = target.getAttribute('data-static');
} };
render () { render () {
const { announcement } = this.props; const { announcement } = this.props;
@ -211,11 +210,11 @@ class Reaction extends ImmutablePureComponent {
} else { } else {
addReaction(announcementId, reaction.get('name')); addReaction(announcementId, reaction.get('name'));
} }
} };
handleMouseEnter = () => this.setState({ hovered: true }) handleMouseEnter = () => this.setState({ hovered: true });
handleMouseLeave = () => this.setState({ hovered: false }) handleMouseLeave = () => this.setState({ hovered: false });
render () { render () {
const { reaction } = this.props; const { reaction } = this.props;
@ -249,7 +248,7 @@ class ReactionsBar extends ImmutablePureComponent {
handleEmojiPick = data => { handleEmojiPick = data => {
const { addReaction, announcementId } = this.props; const { addReaction, announcementId } = this.props;
addReaction(announcementId, data.native.replace(/:/g, '')); addReaction(announcementId, data.native.replace(/:/g, ''));
} };
willEnter () { willEnter () {
return { scale: reduceMotion ? 1 : 0 }; return { scale: reduceMotion ? 1 : 0 };
@ -297,15 +296,28 @@ class ReactionsBar extends ImmutablePureComponent {
class Announcement extends ImmutablePureComponent { class Announcement extends ImmutablePureComponent {
static propTypes = { static propTypes = {
announcement: ImmutablePropTypes.map.isRequired, announcement : ImmutablePropTypes.map.isRequired,
emojiMap: ImmutablePropTypes.map.isRequired, emojiMap : ImmutablePropTypes.map.isRequired,
addReaction: PropTypes.func.isRequired, addReaction : PropTypes.func.isRequired,
removeReaction: PropTypes.func.isRequired, removeReaction: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired, intl : PropTypes.object.isRequired,
selected : PropTypes.bool,
}; };
render () { state = {
unread: !this.props.announcement.get('read'),
};
componentDidUpdate() {
const { selected, announcement } = this.props;
if (!selected && this.state.unread !== !announcement.get('read')) {
this.setState({ unread: !announcement.get('read') });
}
}
render() {
const { announcement } = this.props; const { announcement } = this.props;
const { unread } = this.state;
const startsAt = announcement.get('starts_at') && new Date(announcement.get('starts_at')); const startsAt = announcement.get('starts_at') && new Date(announcement.get('starts_at'));
const endsAt = announcement.get('ends_at') && new Date(announcement.get('ends_at')); const endsAt = announcement.get('ends_at') && new Date(announcement.get('ends_at'));
const now = new Date(); const now = new Date();
@ -330,7 +342,9 @@ class Announcement extends ImmutablePureComponent {
removeReaction={this.props.removeReaction} removeReaction={this.props.removeReaction}
emojiMap={this.props.emojiMap} emojiMap={this.props.emojiMap}
/> />
</div>
{unread && <span className='announcements__item__unread' />}
</div >
); );
} }
@ -340,28 +354,44 @@ export default @injectIntl
class Announcements extends ImmutablePureComponent { class Announcements extends ImmutablePureComponent {
static propTypes = { static propTypes = {
announcements: ImmutablePropTypes.list, announcements : ImmutablePropTypes.list,
emojiMap: ImmutablePropTypes.map.isRequired, emojiMap : ImmutablePropTypes.map.isRequired,
addReaction: PropTypes.func.isRequired, dismissAnnouncement: PropTypes.func.isRequired,
removeReaction: PropTypes.func.isRequired, addReaction : PropTypes.func.isRequired,
intl: PropTypes.object.isRequired, removeReaction : PropTypes.func.isRequired,
intl : PropTypes.object.isRequired,
}; };
state = { state = {
index: 0, index: 0,
}; };
componentDidMount() {
this._markAnnouncementAsRead();
}
componentDidUpdate() {
this._markAnnouncementAsRead();
}
_markAnnouncementAsRead() {
const { dismissAnnouncement, announcements } = this.props;
const { index } = this.state;
const announcement = announcements.get(index);
if (!announcement.get('read')) dismissAnnouncement(announcement.get('id'));
}
handleChangeIndex = index => { handleChangeIndex = index => {
this.setState({ index: index % this.props.announcements.size }); this.setState({ index: index % this.props.announcements.size });
} };
handleNextClick = () => { handleNextClick = () => {
this.setState({ index: (this.state.index + 1) % this.props.announcements.size }); this.setState({ index: (this.state.index + 1) % this.props.announcements.size });
} };
handlePrevClick = () => { handlePrevClick = () => {
this.setState({ index: (this.props.announcements.size + this.state.index - 1) % this.props.announcements.size }); this.setState({ index: (this.props.announcements.size + this.state.index - 1) % this.props.announcements.size });
} };
render () { render () {
const { announcements, intl } = this.props; const { announcements, intl } = this.props;
@ -377,7 +407,7 @@ class Announcements extends ImmutablePureComponent {
<div className='announcements__container'> <div className='announcements__container'>
<ReactSwipeableViews animateHeight={!reduceMotion} adjustHeight={reduceMotion} index={index} onChangeIndex={this.handleChangeIndex}> <ReactSwipeableViews animateHeight={!reduceMotion} adjustHeight={reduceMotion} index={index} onChangeIndex={this.handleChangeIndex}>
{announcements.map(announcement => ( {announcements.map((announcement, idx) => (
<Announcement <Announcement
key={announcement.get('id')} key={announcement.get('id')}
announcement={announcement} announcement={announcement}
@ -385,6 +415,7 @@ class Announcements extends ImmutablePureComponent {
addReaction={this.props.addReaction} addReaction={this.props.addReaction}
removeReaction={this.props.removeReaction} removeReaction={this.props.removeReaction}
intl={intl} intl={intl}
selected={index === idx}
/> />
))} ))}
</ReactSwipeableViews> </ReactSwipeableViews>

View File

@ -1,5 +1,5 @@
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { addReaction, removeReaction } from 'mastodon/actions/announcements'; import { addReaction, dismissAnnouncement, removeReaction } from 'mastodon/actions/announcements';
import Announcements from '../components/announcements'; import Announcements from '../components/announcements';
import { createSelector } from 'reselect'; import { createSelector } from 'reselect';
import { Map as ImmutableMap } from 'immutable'; import { Map as ImmutableMap } from 'immutable';
@ -12,8 +12,9 @@ const mapStateToProps = state => ({
}); });
const mapDispatchToProps = dispatch => ({ const mapDispatchToProps = dispatch => ({
addReaction: (id, name) => dispatch(addReaction(id, name)), dismissAnnouncement: id => dispatch(dismissAnnouncement(id)),
removeReaction: (id, name) => dispatch(removeReaction(id, name)), addReaction : (id, name) => dispatch(addReaction(id, name)),
removeReaction : (id, name) => dispatch(removeReaction(id, name)),
}); });
export default connect(mapStateToProps, mapDispatchToProps)(Announcements); export default connect(mapStateToProps, mapDispatchToProps)(Announcements);

View File

@ -5,8 +5,8 @@ import PropTypes from 'prop-types';
import StatusListContainer from '../ui/containers/status_list_container'; import StatusListContainer from '../ui/containers/status_list_container';
import Column from '../../components/column'; import Column from '../../components/column';
import ColumnHeader from '../../components/column_header'; import ColumnHeader from '../../components/column_header';
import { addColumn, removeColumn, moveColumn } from '../../actions/columns'; import { addColumn, moveColumn, removeColumn } from '../../actions/columns';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
import ColumnSettingsContainer from './containers/column_settings_container'; import ColumnSettingsContainer from './containers/column_settings_container';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import { fetchAnnouncements, toggleShowAnnouncements } from 'mastodon/actions/announcements'; import { fetchAnnouncements, toggleShowAnnouncements } from 'mastodon/actions/announcements';
@ -15,17 +15,17 @@ import classNames from 'classnames';
import IconWithBadge from 'mastodon/components/icon_with_badge'; import IconWithBadge from 'mastodon/components/icon_with_badge';
const messages = defineMessages({ const messages = defineMessages({
title: { id: 'column.home', defaultMessage: 'Home' }, title : { id: 'column.home', defaultMessage: 'Home' },
show_announcements: { id: 'home.show_announcements', defaultMessage: 'Show announcements' }, show_announcements: { id: 'home.show_announcements', defaultMessage: 'Show announcements' },
hide_announcements: { id: 'home.hide_announcements', defaultMessage: 'Hide announcements' }, hide_announcements: { id: 'home.hide_announcements', defaultMessage: 'Hide announcements' },
}); });
const mapStateToProps = state => ({ const mapStateToProps = state => ({
hasUnread: state.getIn(['timelines', 'home', 'unread']) > 0, hasUnread : state.getIn(['timelines', 'home', 'unread']) > 0,
isPartial: state.getIn(['timelines', 'home', 'isPartial']), isPartial : state.getIn(['timelines', 'home', 'isPartial']),
hasAnnouncements: !state.getIn(['announcements', 'items']).isEmpty(), hasAnnouncements : !state.getIn(['announcements', 'items']).isEmpty(),
unreadAnnouncements: state.getIn(['announcements', 'unread']).size, unreadAnnouncements: state.getIn(['announcements', 'items']).count(item => !item.get('read')),
showAnnouncements: state.getIn(['announcements', 'show']), showAnnouncements : state.getIn(['announcements', 'show']),
}); });
export default @connect(mapStateToProps) export default @connect(mapStateToProps)
@ -53,24 +53,24 @@ class HomeTimeline extends React.PureComponent {
} else { } else {
dispatch(addColumn('HOME', {})); dispatch(addColumn('HOME', {}));
} }
} };
handleMove = (dir) => { handleMove = (dir) => {
const { columnId, dispatch } = this.props; const { columnId, dispatch } = this.props;
dispatch(moveColumn(columnId, dir)); dispatch(moveColumn(columnId, dir));
} };
handleHeaderClick = () => { handleHeaderClick = () => {
this.column.scrollTop(); this.column.scrollTop();
} };
setRef = c => { setRef = c => {
this.column = c; this.column = c;
} };
handleLoadMore = maxId => { handleLoadMore = maxId => {
this.props.dispatch(expandHomeTimeline({ maxId })); this.props.dispatch(expandHomeTimeline({ maxId }));
} };
componentDidMount () { componentDidMount () {
this.props.dispatch(fetchAnnouncements()); this.props.dispatch(fetchAnnouncements());
@ -89,7 +89,7 @@ class HomeTimeline extends React.PureComponent {
const { dispatch } = this.props; const { dispatch } = this.props;
if (wasPartial === isPartial) { if (wasPartial === isPartial) {
return;
} else if (!wasPartial && isPartial) { } else if (!wasPartial && isPartial) {
this.polling = setInterval(() => { this.polling = setInterval(() => {
dispatch(expandHomeTimeline()); dispatch(expandHomeTimeline());
@ -109,7 +109,7 @@ class HomeTimeline extends React.PureComponent {
handleToggleAnnouncementsClick = (e) => { handleToggleAnnouncementsClick = (e) => {
e.stopPropagation(); e.stopPropagation();
this.props.dispatch(toggleShowAnnouncements()); this.props.dispatch(toggleShowAnnouncements());
} };
render () { render () {
const { intl, shouldUpdateScroll, hasUnread, columnId, multiColumn, hasAnnouncements, unreadAnnouncements, showAnnouncements } = this.props; const { intl, shouldUpdateScroll, hasUnread, columnId, multiColumn, hasAnnouncements, unreadAnnouncements, showAnnouncements } = this.props;

View File

@ -304,8 +304,6 @@ class ActionBar extends React.PureComponent {
if (status.get('visibility') === 'direct') reblogIcon = 'envelope'; if (status.get('visibility') === 'direct') reblogIcon = 'envelope';
else if (status.get('visibility') === 'private') reblogIcon = 'lock'; else if (status.get('visibility') === 'private') reblogIcon = 'lock';
let reblog_disabled = (status.get('visibility') === 'direct' || status.get('visibility') === 'private');
return ( return (
<div className='detailed-status__action-bar'> <div className='detailed-status__action-bar'>
<div className='detailed-status__button'><IconButton <div className='detailed-status__button'><IconButton

View File

@ -1,10 +1,10 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
import { fromJS, is } from 'immutable'; import { fromJS, is } from 'immutable';
import { throttle } from 'lodash'; import { throttle } from 'lodash';
import classNames from 'classnames'; import classNames from 'classnames';
import { isFullscreen, requestFullscreen, exitFullscreen } from '../ui/util/fullscreen'; import { exitFullscreen, isFullscreen, requestFullscreen } from '../ui/util/fullscreen';
import { displayMedia, useBlurhash } from '../../initial_state'; import { displayMedia, useBlurhash } from '../../initial_state';
import Icon from 'mastodon/components/icon'; import Icon from 'mastodon/components/icon';
import { decode } from 'blurhash'; import { decode } from 'blurhash';
@ -112,28 +112,41 @@ class Video extends React.PureComponent {
}; };
state = { state = {
currentTime: 0, currentTime : 0,
duration: 0, duration : 0,
volume: 0.5, volume : 0.5,
paused: true, paused : true,
dragging: false, dragging : false,
containerWidth: this.props.width, containerWidth: this.props.width,
fullscreen: false, fullscreen : false,
hovered: false, hovered : false,
muted: false, muted : false,
revealed: this.props.visible !== undefined ? this.props.visible : (displayMedia !== 'hide_all' && !this.props.sensitive || displayMedia === 'show_all'), revealed : this.props.visible !== undefined ? this.props.visible : (displayMedia !== 'hide_all' && !this.props.sensitive || displayMedia === 'show_all'),
}; };
// Hard-coded in components.scss // Hard-coded in components.scss
// Any way to get ::before values programatically? // Any way to get ::before values programatically?
volWidth = 50; volWidth = 50;
volOffset = 70; volOffset = 70;
handleScroll = throttle(() => {
if (!this.video) {
return;
}
const { top, height } = this.video.getBoundingClientRect();
const inView = (top <= (window.innerHeight || document.documentElement.clientHeight)) && (top + height >= 0);
if (!this.state.paused && !inView) {
this.setState({ paused: true }, () => this.video.pause());
}
}, 150, { trailing: true });
volHandleOffset = v => { volHandleOffset = v => {
const offset = v * this.volWidth + this.volOffset; const offset = v * this.volWidth + this.volOffset;
return (offset > 110) ? 110 : offset; return (offset > 110) ? 110 : offset;
} };
setPlayerRef = c => { setPlayerRef = c => {
this.player = c; this.player = c;
@ -145,7 +158,7 @@ class Video extends React.PureComponent {
containerWidth: c.offsetWidth, containerWidth: c.offsetWidth,
}); });
} }
} };
setVideoRef = c => { setVideoRef = c => {
this.video = c; this.video = c;
@ -153,36 +166,36 @@ class Video extends React.PureComponent {
if (this.video) { if (this.video) {
this.setState({ volume: this.video.volume, muted: this.video.muted }); this.setState({ volume: this.video.volume, muted: this.video.muted });
} }
} };
setSeekRef = c => { setSeekRef = c => {
this.seek = c; this.seek = c;
} };
setVolumeRef = c => { setVolumeRef = c => {
this.volume = c; this.volume = c;
} };
setCanvasRef = c => {
this.canvas = c;
}
handleClickRoot = e => e.stopPropagation(); handleClickRoot = e => e.stopPropagation();
setCanvasRef = c => {
this.canvas = c;
};
handlePlay = () => { handlePlay = () => {
this.setState({ paused: false }); this.setState({ paused: false });
} };
handlePause = () => { handlePause = () => {
this.setState({ paused: true }); this.setState({ paused: true });
} };
handleTimeUpdate = () => { handleTimeUpdate = () => {
this.setState({ this.setState({
currentTime: Math.floor(this.video.currentTime), currentTime: Math.floor(this.video.currentTime),
duration: Math.floor(this.video.duration), duration : Math.floor(this.video.duration),
}); });
} };
handleVolumeMouseDown = e => { handleVolumeMouseDown = e => {
document.addEventListener('mousemove', this.handleMouseVolSlide, true); document.addEventListener('mousemove', this.handleMouseVolSlide, true);
@ -194,14 +207,7 @@ class Video extends React.PureComponent {
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();
} };
handleVolumeMouseUp = () => {
document.removeEventListener('mousemove', this.handleMouseVolSlide, true);
document.removeEventListener('mouseup', this.handleVolumeMouseUp, true);
document.removeEventListener('touchmove', this.handleMouseVolSlide, true);
document.removeEventListener('touchend', this.handleVolumeMouseUp, true);
}
handleMouseVolSlide = throttle(e => { handleMouseVolSlide = throttle(e => {
const rect = this.volume.getBoundingClientRect(); const rect = this.volume.getBoundingClientRect();
@ -212,7 +218,7 @@ class Video extends React.PureComponent {
if(x > 1) { if(x > 1) {
slideamt = 1; slideamt = 1;
} else if(x < 0) { } else if (x < 0) {
slideamt = 0; slideamt = 0;
} }
@ -221,6 +227,13 @@ class Video extends React.PureComponent {
} }
}, 60); }, 60);
handleVolumeMouseUp = () => {
document.removeEventListener('mousemove', this.handleMouseVolSlide, true);
document.removeEventListener('mouseup', this.handleVolumeMouseUp, true);
document.removeEventListener('touchmove', this.handleMouseVolSlide, true);
document.removeEventListener('touchend', this.handleVolumeMouseUp, true);
};
handleMouseDown = e => { handleMouseDown = e => {
document.addEventListener('mousemove', this.handleMouseMove, true); document.addEventListener('mousemove', this.handleMouseMove, true);
document.addEventListener('mouseup', this.handleMouseUp, true); document.addEventListener('mouseup', this.handleMouseUp, true);
@ -233,17 +246,7 @@ class Video extends React.PureComponent {
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();
} };
handleMouseUp = () => {
document.removeEventListener('mousemove', this.handleMouseMove, true);
document.removeEventListener('mouseup', this.handleMouseUp, true);
document.removeEventListener('touchmove', this.handleMouseMove, true);
document.removeEventListener('touchend', this.handleMouseUp, true);
this.setState({ dragging: false });
this.video.play();
}
handleMouseMove = throttle(e => { handleMouseMove = throttle(e => {
const { x } = getPointerPosition(this.seek, e); const { x } = getPointerPosition(this.seek, e);
@ -255,23 +258,25 @@ class Video extends React.PureComponent {
} }
}, 60); }, 60);
handleMouseUp = () => {
document.removeEventListener('mousemove', this.handleMouseMove, true);
document.removeEventListener('mouseup', this.handleMouseUp, true);
document.removeEventListener('touchmove', this.handleMouseMove, true);
document.removeEventListener('touchend', this.handleMouseUp, true);
this.setState({ dragging: false });
this.video.play();
};
togglePlay = () => { togglePlay = () => {
if (this.state.paused) { if (this.state.paused) {
this.setState({ paused: false }, () => this.video.play()); this.setState({ paused: false }, () => this.video.play());
} else { } else {
this.setState({ paused: true }, () => this.video.pause()); this.setState({ paused: true }, () => this.video.pause());
} }
} };
toggleFullscreen = () => { componentDidMount() {
if (isFullscreen()) {
exitFullscreen();
} else {
requestFullscreen(this.player);
}
}
componentDidMount () {
document.addEventListener('fullscreenchange', this.handleFullscreenChange, true); document.addEventListener('fullscreenchange', this.handleFullscreenChange, true);
document.addEventListener('webkitfullscreenchange', this.handleFullscreenChange, true); document.addEventListener('webkitfullscreenchange', this.handleFullscreenChange, true);
document.addEventListener('mozfullscreenchange', this.handleFullscreenChange, true); document.addEventListener('mozfullscreenchange', this.handleFullscreenChange, true);
@ -316,37 +321,32 @@ class Video extends React.PureComponent {
const pixels = decode(hash, 32, 32); const pixels = decode(hash, 32, 32);
if (pixels) { if (pixels) {
const ctx = this.canvas.getContext('2d'); const ctx = this.canvas.getContext('2d');
const imageData = new ImageData(pixels, 32, 32); const imageData = new ImageData(pixels, 32, 32);
ctx.putImageData(imageData, 0, 0); ctx.putImageData(imageData, 0, 0);
} }
} }
handleScroll = throttle(() => { toggleFullscreen = () => {
if (!this.video) { if (isFullscreen()) {
return; exitFullscreen();
} else {
requestFullscreen(this.player);
} }
};
const { top, height } = this.video.getBoundingClientRect();
const inView = (top <= (window.innerHeight || document.documentElement.clientHeight)) && (top + height >= 0);
if (!this.state.paused && !inView) {
this.setState({ paused: true }, () => this.video.pause());
}
}, 150, { trailing: true })
handleFullscreenChange = () => { handleFullscreenChange = () => {
this.setState({ fullscreen: isFullscreen() }); this.setState({ fullscreen: isFullscreen() });
} };
handleMouseEnter = () => { handleMouseEnter = () => {
this.setState({ hovered: true }); this.setState({ hovered: true });
} };
handleMouseLeave = () => { handleMouseLeave = () => {
this.setState({ hovered: false }); this.setState({ hovered: false });
} };
toggleMute = () => { toggleMute = () => {
const muted = !this.video.muted; const muted = !this.video.muted;
@ -354,7 +354,7 @@ class Video extends React.PureComponent {
this.setState({ muted }, () => { this.setState({ muted }, () => {
this.video.muted = muted; this.video.muted = muted;
}); });
} };
toggleReveal = () => { toggleReveal = () => {
if (this.props.onToggleVisibility) { if (this.props.onToggleVisibility) {
@ -362,31 +362,31 @@ class Video extends React.PureComponent {
} else { } else {
this.setState({ revealed: !this.state.revealed }); this.setState({ revealed: !this.state.revealed });
} }
} };
handleLoadedData = () => { handleLoadedData = () => {
if (this.props.startTime) { if (this.props.startTime) {
this.video.currentTime = this.props.startTime; this.video.currentTime = this.props.startTime;
this.video.play(); this.video.play();
} }
} };
handleProgress = () => { handleProgress = () => {
if (this.video.buffered.length > 0) { if (this.video.buffered.length > 0) {
this.setState({ buffer: this.video.buffered.end(0) / this.video.duration * 100 }); this.setState({ buffer: this.video.buffered.end(0) / this.video.duration * 100 });
} }
} };
handleVolumeChange = () => { handleVolumeChange = () => {
this.setState({ volume: this.video.volume, muted: this.video.muted }); this.setState({ volume: this.video.volume, muted: this.video.muted });
} };
handleOpenVideo = () => { handleOpenVideo = () => {
const { src, preview, width, height, alt } = this.props; const { src, preview, width, height, alt } = this.props;
const media = fromJS({ const media = fromJS({
type: 'video', type : 'video',
url: src, url : src,
preview_url: preview, preview_url: preview,
description: alt, description: alt,
width, width,
@ -395,12 +395,12 @@ class Video extends React.PureComponent {
this.video.pause(); this.video.pause();
this.props.onOpenVideo(media, this.video.currentTime); this.props.onOpenVideo(media, this.video.currentTime);
} };
handleCloseVideo = () => { handleCloseVideo = () => {
this.video.pause(); this.video.pause();
this.props.onCloseVideo(); this.props.onCloseVideo();
} };
render () { render () {
const { preview, src, inline, startTime, onOpenVideo, onCloseVideo, intl, alt, detailed, sensitive, link, editable } = this.props; const { preview, src, inline, startTime, onOpenVideo, onCloseVideo, intl, alt, detailed, sensitive, link, editable } = this.props;
@ -517,8 +517,22 @@ class Video extends React.PureComponent {
</div> </div>
<div className='video-player__buttons right'> <div className='video-player__buttons right'>
{(!onCloseVideo && !editable) && <button type='button' aria-label={intl.formatMessage(messages.hide)} onClick={this.toggleReveal}><Icon id='eye-slash' fixedWidth /></button>} {(!onCloseVideo && !editable && !fullscreen) && <button
{(!fullscreen && onOpenVideo) && <button type='button' aria-label={intl.formatMessage(messages.expand)} onClick={this.handleOpenVideo}><Icon id='expand' fixedWidth /></button>} type='button'
aria-label={intl.formatMessage(messages.hide)}
onClick={this.toggleReveal}
><Icon
id='eye-slash'
fixedWidth
/></button >}
{(!fullscreen && onOpenVideo) && <button
type='button'
aria-label={intl.formatMessage(messages.expand)}
onClick={this.handleOpenVideo}
><Icon
id='expand'
fixedWidth
/></button >}
{onCloseVideo && <button type='button' aria-label={intl.formatMessage(messages.close)} onClick={this.handleCloseVideo}><Icon id='compress' fixedWidth /></button>} {onCloseVideo && <button type='button' aria-label={intl.formatMessage(messages.close)} onClick={this.handleCloseVideo}><Icon id='compress' fixedWidth /></button>}
<button type='button' aria-label={intl.formatMessage(messages.download)}><a className='video-player__download__icon' href={this.props.src} download><Icon id={'download'} fixedWidth /></a></button> <button type='button' aria-label={intl.formatMessage(messages.download)}><a className='video-player__download__icon' href={this.props.src} download><Icon id={'download'} fixedWidth /></a></button>
<button type='button' aria-label={intl.formatMessage(fullscreen ? messages.exit_fullscreen : messages.fullscreen)} onClick={this.toggleFullscreen}><Icon id={fullscreen ? 'compress' : 'arrows-alt'} fixedWidth /></button> <button type='button' aria-label={intl.formatMessage(fullscreen ? messages.exit_fullscreen : messages.fullscreen)} onClick={this.toggleFullscreen}><Icon id={fullscreen ? 'compress' : 'arrows-alt'} fixedWidth /></button>

View File

@ -1,9 +1,9 @@
{ {
"account.add_or_remove_from_list": "أضفه أو أزله من القائمة", "account.add_or_remove_from_list": "أضفه أو أزله من القائمة",
"account.badges.bot": "روبوت", "account.badges.bot": "روبوت",
"account.badges.group": "Group", "account.badges.group": "فريق",
"account.block": "حظر @{name}", "account.block": "حظر @{name}",
"account.block_domain": "إخفاء كل شيئ قادم من اسم النطاق {domain}", "account.block_domain": "إخفاء كل شيء قادم من اسم النطاق {domain}",
"account.blocked": "محظور", "account.blocked": "محظور",
"account.cancel_follow_request": "إلغاء طلب المتابَعة", "account.cancel_follow_request": "إلغاء طلب المتابَعة",
"account.direct": "رسالة خاصة إلى @{name}", "account.direct": "رسالة خاصة إلى @{name}",
@ -43,7 +43,7 @@
"alert.rate_limited.title": "المعدل محدود", "alert.rate_limited.title": "المعدل محدود",
"alert.unexpected.message": "لقد طرأ هناك خطأ غير متوقّع.", "alert.unexpected.message": "لقد طرأ هناك خطأ غير متوقّع.",
"alert.unexpected.title": "المعذرة!", "alert.unexpected.title": "المعذرة!",
"announcement.announcement": "Announcement", "announcement.announcement": "إعلان",
"autosuggest_hashtag.per_week": "{count} في الأسبوع", "autosuggest_hashtag.per_week": "{count} في الأسبوع",
"boost_modal.combo": "يمكنك/ي ضغط {combo} لتخطّي هذه في المرّة القادمة", "boost_modal.combo": "يمكنك/ي ضغط {combo} لتخطّي هذه في المرّة القادمة",
"bundle_column_error.body": "لقد وقع هناك خطأ أثناء عملية تحميل هذا العنصر.", "bundle_column_error.body": "لقد وقع هناك خطأ أثناء عملية تحميل هذا العنصر.",
@ -184,6 +184,8 @@
"home.column_settings.basic": "الأساسية", "home.column_settings.basic": "الأساسية",
"home.column_settings.show_reblogs": "اعرض الترقيات", "home.column_settings.show_reblogs": "اعرض الترقيات",
"home.column_settings.show_replies": "اعرض الردود", "home.column_settings.show_replies": "اعرض الردود",
"home.hide_announcements": "إخفاء الإعلانات",
"home.show_announcements": "إظهار الإعلانات",
"intervals.full.days": "{number, plural, one {# يوم} other {# أيام}}", "intervals.full.days": "{number, plural, one {# يوم} other {# أيام}}",
"intervals.full.hours": "{number, plural, one {# ساعة} other {# ساعات}}", "intervals.full.hours": "{number, plural, one {# ساعة} other {# ساعات}}",
"intervals.full.minutes": "{number, plural, one {# دقيقة} other {# دقائق}}", "intervals.full.minutes": "{number, plural, one {# دقيقة} other {# دقائق}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "الآن", "relative_time.just_now": "الآن",
"relative_time.minutes": "{number}د", "relative_time.minutes": "{number}د",
"relative_time.seconds": "{number}ثا", "relative_time.seconds": "{number}ثا",
"relative_time.today": "اليوم",
"reply_indicator.cancel": "إلغاء", "reply_indicator.cancel": "إلغاء",
"report.forward": "التحويل إلى {target}", "report.forward": "التحويل إلى {target}",
"report.forward_hint": "هذا الحساب ينتمي إلى خادوم آخَر. هل تودّ إرسال نسخة مجهولة مِن التقرير إلى هنالك أيضًا؟", "report.forward_hint": "هذا الحساب ينتمي إلى خادوم آخَر. هل تودّ إرسال نسخة مجهولة مِن التقرير إلى هنالك أيضًا؟",
@ -420,7 +423,7 @@
"upload_form.video_description": "وصف للمعاقين بصريا أو لِذي قِصر السمع", "upload_form.video_description": "وصف للمعاقين بصريا أو لِذي قِصر السمع",
"upload_modal.analyzing_picture": "جارٍ فحص الصورة…", "upload_modal.analyzing_picture": "جارٍ فحص الصورة…",
"upload_modal.apply": "طبّق", "upload_modal.apply": "طبّق",
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog", "upload_modal.description_placeholder": "نصٌّ حكيمٌ لهُ سِرٌّ قاطِعٌ وَذُو شَأنٍ عَظيمٍ مكتوبٌ على ثوبٍ أخضرَ ومُغلفٌ بجلدٍ أزرق",
"upload_modal.detect_text": "اكتشف النص مِن الصورة", "upload_modal.detect_text": "اكتشف النص مِن الصورة",
"upload_modal.edit_media": "تعديل الوسائط", "upload_modal.edit_media": "تعديل الوسائط",
"upload_modal.hint": "اضغط أو اسحب الدائرة على خانة المعاينة لاختيار نقطة التركيز التي ستُعرَض دائمًا على كل المصغرات.", "upload_modal.hint": "اضغط أو اسحب الدائرة على خانة المعاينة لاختيار نقطة التركيز التي ستُعرَض دائمًا على كل المصغرات.",

View File

@ -1,22 +1,22 @@
{ {
"account.add_or_remove_from_list": "Add or Remove from lists", "account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Robó", "account.badges.bot": "Robó",
"account.badges.group": "Group", "account.badges.group": "Grupu",
"account.block": "Bloquiar a @{name}", "account.block": "Bloquiar a @{name}",
"account.block_domain": "Anubrir tolo de {domain}", "account.block_domain": "Anubrir tolo de {domain}",
"account.blocked": "Blocked", "account.blocked": "Blocked",
"account.cancel_follow_request": "Cancel follow request", "account.cancel_follow_request": "Encaboxar la solicitú de siguimientu",
"account.direct": "Unviar un mensaxe direutu a @{name}", "account.direct": "Unviar un mensaxe direutu a @{name}",
"account.domain_blocked": "Dominiu anubríu", "account.domain_blocked": "Dominiu anubríu",
"account.edit_profile": "Editar el perfil", "account.edit_profile": "Editar el perfil",
"account.endorse": "Destacar nel perfil", "account.endorse": "Destacar nel perfil",
"account.follow": "Follow", "account.follow": "Siguir",
"account.followers": "Siguidores", "account.followers": "Siguidores",
"account.followers.empty": "Naide sigue a esti usuariu entá.", "account.followers.empty": "Naide sigue a esti usuariu entá.",
"account.follows": "Sigue a", "account.follows": "Follows",
"account.follows.empty": "Esti usuariu entá nun sigue a naide.", "account.follows.empty": "Esti usuariu entá nun sigue a naide.",
"account.follows_you": "Síguete", "account.follows_you": "Síguete",
"account.hide_reblogs": "Hide boosts from @{name}", "account.hide_reblogs": "Anubrir les comparticiones de @{name}",
"account.last_status": "Last active", "account.last_status": "Last active",
"account.link_verified_on": "Ownership of this link was checked on {date}", "account.link_verified_on": "Ownership of this link was checked on {date}",
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
@ -32,18 +32,18 @@
"account.report": "Report @{name}", "account.report": "Report @{name}",
"account.requested": "Esperando pola aprobación. Calca pa encaboxar la solicitú de siguimientu", "account.requested": "Esperando pola aprobación. Calca pa encaboxar la solicitú de siguimientu",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}", "account.show_reblogs": "Amosar les comparticiones de @{name}",
"account.unblock": "Desbloquiar a @{name}", "account.unblock": "Desbloquiar a @{name}",
"account.unblock_domain": "Amosar {domain}", "account.unblock_domain": "Amosar {domain}",
"account.unendorse": "Don't feature on profile", "account.unendorse": "Nun destacar nel perfil",
"account.unfollow": "Unfollow", "account.unfollow": "Dexar de siguir",
"account.unmute": "Unmute @{name}", "account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}", "account.unmute_notifications": "Unmute notifications from @{name}",
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.", "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
"alert.rate_limited.title": "Rate limited", "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "Asocedió un fallu inesperáu.", "alert.unexpected.message": "Asocedió un fallu inesperáu.",
"alert.unexpected.title": "¡Meca!", "alert.unexpected.title": "¡Meca!",
"announcement.announcement": "Announcement", "announcement.announcement": "Anunciu",
"autosuggest_hashtag.per_week": "{count} per selmana", "autosuggest_hashtag.per_week": "{count} per selmana",
"boost_modal.combo": "Pues primir {combo} pa saltar esto la próxima vegada", "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.", "bundle_column_error.body": "Asocedió daqué malo mentanto se cargaba esti componente.",
@ -71,7 +71,7 @@
"column_header.moveLeft_settings": "Mover la columna a la esquierda", "column_header.moveLeft_settings": "Mover la columna a la esquierda",
"column_header.moveRight_settings": "Mover la columna a la drecha", "column_header.moveRight_settings": "Mover la columna a la drecha",
"column_header.pin": "Fixar", "column_header.pin": "Fixar",
"column_header.show_settings": "Show settings", "column_header.show_settings": "Amosar axustes",
"column_header.unpin": "Desfixar", "column_header.unpin": "Desfixar",
"column_subheading.settings": "Axustes", "column_subheading.settings": "Axustes",
"community.column_settings.media_only": "Namái multimedia", "community.column_settings.media_only": "Namái multimedia",
@ -84,10 +84,10 @@
"compose_form.poll.add_option": "Amestar una escoyeta", "compose_form.poll.add_option": "Amestar una escoyeta",
"compose_form.poll.duration": "Poll duration", "compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Escoyeta {number}", "compose_form.poll.option_placeholder": "Escoyeta {number}",
"compose_form.poll.remove_option": "Remove this choice", "compose_form.poll.remove_option": "Desaniciar esta escoyeta",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices", "compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice", "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
"compose_form.publish": "Toot", "compose_form.publish": "Barritar",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Mark media as sensitive", "compose_form.sensitive.hide": "Mark media as sensitive",
"compose_form.sensitive.marked": "Media is marked as sensitive", "compose_form.sensitive.marked": "Media is marked as sensitive",
@ -96,30 +96,30 @@
"compose_form.spoiler.unmarked": "El testu nun va anubrise", "compose_form.spoiler.unmarked": "El testu nun va anubrise",
"compose_form.spoiler_placeholder": "Escribi equí l'alvertencia", "compose_form.spoiler_placeholder": "Escribi equí l'alvertencia",
"confirmation_modal.cancel": "Encaboxar", "confirmation_modal.cancel": "Encaboxar",
"confirmations.block.block_and_report": "Block & Report", "confirmations.block.block_and_report": "Bloquiar ya informar",
"confirmations.block.confirm": "Block", "confirmations.block.confirm": "Bloquiar",
"confirmations.block.message": "¿De xuru que quies bloquiar a {name}?", "confirmations.block.message": "¿De xuru que quies bloquiar a {name}?",
"confirmations.delete.confirm": "Delete", "confirmations.delete.confirm": "Desaniciar",
"confirmations.delete.message": "¿De xuru que quies desaniciar esti estáu?", "confirmations.delete.message": "¿De xuru que quies desaniciar esti estáu?",
"confirmations.delete_list.confirm": "Desaniciar", "confirmations.delete_list.confirm": "Desaniciar",
"confirmations.delete_list.message": "¿De xuru que quies desaniciar dafechu esta llista?", "confirmations.delete_list.message": "¿De xuru que quies desaniciar dafechu esta llista?",
"confirmations.domain_block.confirm": "Anubrir tol dominiu", "confirmations.domain_block.confirm": "Anubrir tol dominiu",
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.", "confirmations.domain_block.message": "¿De xuru xurísimu que quies bloquiar el dominiu {domain} enteru? Na mayoría de casos bloquiar o silenciar dalguna cuenta ye abondo y preferible. Nun vas ver el conteníu d'esi dominiu en nenguna llinia temporal pública o nos avisos, y van desanciase los tos siguidores d'esi dominiu.",
"confirmations.logout.confirm": "Log out", "confirmations.logout.confirm": "Zarrar sesión",
"confirmations.logout.message": "Are you sure you want to log out?", "confirmations.logout.message": "¿De xuru que quies zarrar la sesión?",
"confirmations.mute.confirm": "Mute", "confirmations.mute.confirm": "Silenciar",
"confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.", "confirmations.mute.explanation": "Esto va anubrir los espublizamientos y les sos menciones pero entá va permiti-yos ver los tos espublizamientos y siguite.",
"confirmations.mute.message": "¿De xuru que quies silenciar a {name}?", "confirmations.mute.message": "¿De xuru que quies silenciar a {name}?",
"confirmations.redraft.confirm": "Desaniciar y reeditar", "confirmations.redraft.confirm": "Desaniciar y reeditar",
"confirmations.redraft.message": "¿De xuru que quies desaniciar esti estáu y reeditalu? Van perdese los favoritos y comparticiones, y les rempuestes al toot orixinal van quedar güérfanes.", "confirmations.redraft.message": "¿De xuru que quies desaniciar esti estáu y reeditalu? Van perdese los favoritos y comparticiones, y les rempuestes al toot orixinal van quedar güérfanes.",
"confirmations.reply.confirm": "Reply", "confirmations.reply.confirm": "Responder",
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", "confirmations.reply.message": "Responder agora va sobrescribir el mensaxe que tas componiendo anguaño. ¿De xuru que quies siguir?",
"confirmations.unfollow.confirm": "Unfollow", "confirmations.unfollow.confirm": "Dexar de siguir",
"confirmations.unfollow.message": "¿De xuru que quies dexar de siguir a {name}?", "confirmations.unfollow.message": "¿De xuru que quies dexar de siguir a {name}?",
"conversation.delete": "Delete conversation", "conversation.delete": "Delete conversation",
"conversation.mark_as_read": "Mark as read", "conversation.mark_as_read": "Mark as read",
"conversation.open": "View conversation", "conversation.open": "View conversation",
"conversation.with": "With {names}", "conversation.with": "Con {names}",
"directory.federated": "Dende'l fediversu", "directory.federated": "Dende'l fediversu",
"directory.local": "Dende {domain} namái", "directory.local": "Dende {domain} namái",
"directory.new_arrivals": "Cuentes nueves", "directory.new_arrivals": "Cuentes nueves",
@ -142,21 +142,21 @@
"emoji_button.travel": "Viaxes y llugares", "emoji_button.travel": "Viaxes y llugares",
"empty_column.account_timeline": "¡Equí nun hai barritos!", "empty_column.account_timeline": "¡Equí nun hai barritos!",
"empty_column.account_unavailable": "Profile unavailable", "empty_column.account_unavailable": "Profile unavailable",
"empty_column.blocks": "Entá nun bloquiesti a dengún usuariu.", "empty_column.blocks": "Entá nun bloquiesti a nunengún usuariu.",
"empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.bookmarked_statuses": "Entá nun tienes nengún barritu en Marcadores. Cuando amiestes unu, va amosase equí.",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.direct": "Entá nun tienes dengún mensaxe direutu. Cuando unvies o recibas dalgún, va apaecer equí.", "empty_column.direct": "Entá nun tienes nunengún mensaxe direutu. Cuando unvies o recibas dalgún, va apaecer equí.",
"empty_column.domain_blocks": "Entá nun hai dominios anubríos.", "empty_column.domain_blocks": "Entá nun hai dominios anubríos.",
"empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourited_statuses": "Entá nun tienes nengún barritu en Favoritos. Cuando amiestes unu, va amosase equí.",
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
"empty_column.follow_requests": "Entá nun tienes denguna solicitú de siguimientu. Cuando recibas una, va amosase equí.", "empty_column.follow_requests": "Entá nun tienes nenguna solicitú de siguimientu. Cuando recibas una, va amosase equí.",
"empty_column.hashtag": "Entá nun hai nada nesta etiqueta.", "empty_column.hashtag": "Entá nun hai nada nesta etiqueta.",
"empty_column.home": "¡Tienes la llinia temporal balera! Visita {public} o usa la gueta pa entamar y conocer a otros usuarios.", "empty_column.home": "¡Tienes la llinia temporal balera! Visita {public} o usa la gueta pa entamar y conocer a otros usuarios.",
"empty_column.home.public_timeline": "la llinia temporal pública", "empty_column.home.public_timeline": "la llinia temporal pública",
"empty_column.list": "Entá nun hai nada nesta llista. Cuando los miembros d'esta llista espublicen estaos nuevos, van apaecer equí.", "empty_column.list": "Entá nun hai nada nesta llista. Cuando los miembros d'esta llista espublicen estaos nuevos, van apaecer equí.",
"empty_column.lists": "Entá nun tienes denguna llista. Cuando crees una, va amosase equí.", "empty_column.lists": "Entá nun tienes nunenguna llista. Cuando crees una, va amosase equí.",
"empty_column.mutes": "Entá nun silenciesti a dengún usuariu.", "empty_column.mutes": "Entá nun silenciesti a nunengún usuariu.",
"empty_column.notifications": "Entá nun tienes dengún avisu. Interactúa con otros p'aniciar la conversación.", "empty_column.notifications": "Entá nun tienes nunengún avisu. Interactúa con otros p'aniciar la conversación.",
"empty_column.public": "¡Equí nun hai nada! Escribi daqué público o sigui a usuarios d'otros sirvidores pa rellenar esto", "empty_column.public": "¡Equí nun hai nada! Escribi daqué público o sigui a usuarios d'otros sirvidores pa rellenar esto",
"error.unexpected_crash.explanation": "Pola mor d'un fallu nel códigu o un problema de compatibilidá del restolador, esta páxina nun pudo amosase correutamente.", "error.unexpected_crash.explanation": "Pola mor d'un fallu nel códigu o un problema de compatibilidá del restolador, esta páxina nun pudo amosase correutamente.",
"error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.", "error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
@ -175,19 +175,21 @@
"hashtag.column_header.tag_mode.all": "y {additional}", "hashtag.column_header.tag_mode.all": "y {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}", "hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "ensin {additional}", "hashtag.column_header.tag_mode.none": "ensin {additional}",
"hashtag.column_settings.select.no_options_message": "No suggestions found", "hashtag.column_settings.select.no_options_message": "Nun s'alcontraron suxerencies",
"hashtag.column_settings.select.placeholder": "Enter hashtags…", "hashtag.column_settings.select.placeholder": "Enter hashtags…",
"hashtag.column_settings.tag_mode.all": "All of these", "hashtag.column_settings.tag_mode.all": "Toes estes",
"hashtag.column_settings.tag_mode.any": "Any of these", "hashtag.column_settings.tag_mode.any": "Cualesquiera d'estes",
"hashtag.column_settings.tag_mode.none": "None of these", "hashtag.column_settings.tag_mode.none": "Nenguna d'estes",
"hashtag.column_settings.tag_toggle": "Incluyir les etiquetes adicionales d'esta columna", "hashtag.column_settings.tag_toggle": "Incluyir les etiquetes adicionales d'esta columna",
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Amosar toots compartíos", "home.column_settings.show_reblogs": "Amosar toots compartíos",
"home.column_settings.show_replies": "Amosar rempuestes", "home.column_settings.show_replies": "Amosar rempuestes",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# día} other {# díes}}", "intervals.full.days": "{number, plural, one {# día} other {# díes}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# hores}}", "intervals.full.hours": "{number, plural, one {# hora} other {# hores}}",
"intervals.full.minutes": "{number, plural, one {# minutu} other {# minutos}}", "intervals.full.minutes": "{number, plural, one {# minutu} other {# minutos}}",
"introduction.federation.action": "Next", "introduction.federation.action": "Siguiente",
"introduction.federation.federated.headline": "Federated", "introduction.federation.federated.headline": "Federated",
"introduction.federation.federated.text": "Los espublizamientos públicos de los demás sirvidores del fediversu van apaecer na llinia temporal federada.", "introduction.federation.federated.text": "Los espublizamientos públicos de los demás sirvidores del fediversu van apaecer na llinia temporal federada.",
"introduction.federation.home.headline": "Home", "introduction.federation.home.headline": "Home",
@ -196,12 +198,12 @@
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.", "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
"introduction.interactions.action": "¡Finar el tutorial!", "introduction.interactions.action": "¡Finar el tutorial!",
"introduction.interactions.favourite.headline": "Favourite", "introduction.interactions.favourite.headline": "Favourite",
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.", "introduction.interactions.favourite.text": "Pues guardar un barritu pa dempués y facer que l'autor sepa que te prestó marcándolu como favoritu.",
"introduction.interactions.reblog.headline": "Boost", "introduction.interactions.reblog.headline": "Boost",
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.", "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
"introduction.interactions.reply.headline": "Reply", "introduction.interactions.reply.headline": "Reply",
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.", "introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
"introduction.welcome.action": "Let's go!", "introduction.welcome.action": "¡Vamos!",
"introduction.welcome.headline": "Primeros pasos", "introduction.welcome.headline": "Primeros pasos",
"introduction.welcome.text": "¡Afáyate nel fediversu! Nun momentu vas ser a tresmitir mensaxes y falar colos collacios d'una montonera de sirvidores. Pero esti sirvidor, {domain}, ye especial: agospia'l to perfil, asina qu'alcuérdate de cómo se llama.", "introduction.welcome.text": "¡Afáyate nel fediversu! Nun momentu vas ser a tresmitir mensaxes y falar colos collacios d'una montonera de sirvidores. Pero esti sirvidor, {domain}, ye especial: agospia'l to perfil, asina qu'alcuérdate de cómo se llama.",
"keyboard_shortcuts.back": "pa dir p'atrás", "keyboard_shortcuts.back": "pa dir p'atrás",
@ -212,7 +214,7 @@
"keyboard_shortcuts.description": "Descripción", "keyboard_shortcuts.description": "Descripción",
"keyboard_shortcuts.direct": "p'abrir la columna de los mensaxes direutos", "keyboard_shortcuts.direct": "p'abrir la columna de los mensaxes direutos",
"keyboard_shortcuts.down": "pa baxar na llista", "keyboard_shortcuts.down": "pa baxar na llista",
"keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.enter": "p'abrir estaos",
"keyboard_shortcuts.favourite": "p'amestar a Favoritos", "keyboard_shortcuts.favourite": "p'amestar a Favoritos",
"keyboard_shortcuts.favourites": "p'abrir la llista de favoritos", "keyboard_shortcuts.favourites": "p'abrir la llista de favoritos",
"keyboard_shortcuts.federated": "p'abrir la llinia temporal federada", "keyboard_shortcuts.federated": "p'abrir la llinia temporal federada",
@ -252,13 +254,13 @@
"lists.subheading": "Les tos llistes", "lists.subheading": "Les tos llistes",
"load_pending": "{count, plural, one {# elementu nuevu} other {# elementos nuevos}}", "load_pending": "{count, plural, one {# elementu nuevu} other {# elementos nuevos}}",
"loading_indicator.label": "Cargando…", "loading_indicator.label": "Cargando…",
"media_gallery.toggle_visible": "Toggle visibility", "media_gallery.toggle_visible": "Alternar la visibilidá",
"missing_indicator.label": "Nun s'alcontró", "missing_indicator.label": "Nun s'alcontró",
"missing_indicator.sublabel": "Esti recursu nun pudo alcontrase", "missing_indicator.sublabel": "Esti recursu nun pudo alcontrase",
"mute_modal.hide_notifications": "Hide notifications from this user?", "mute_modal.hide_notifications": "¿Anubrir los avisos d'esti usuariu?",
"navigation_bar.apps": "Aplicaciones pa móviles", "navigation_bar.apps": "Aplicaciones pa móviles",
"navigation_bar.blocks": "Usuarios bloquiaos", "navigation_bar.blocks": "Usuarios bloquiaos",
"navigation_bar.bookmarks": "Bookmarks", "navigation_bar.bookmarks": "Marcadores",
"navigation_bar.community_timeline": "Llinia temporal llocal", "navigation_bar.community_timeline": "Llinia temporal llocal",
"navigation_bar.compose": "Compose new toot", "navigation_bar.compose": "Compose new toot",
"navigation_bar.direct": "Mensaxes direutos", "navigation_bar.direct": "Mensaxes direutos",
@ -281,41 +283,41 @@
"navigation_bar.security": "Seguranza", "navigation_bar.security": "Seguranza",
"notification.favourite": "{name} favourited your status", "notification.favourite": "{name} favourited your status",
"notification.follow": "{name} siguióte", "notification.follow": "{name} siguióte",
"notification.follow_request": "{name} has requested to follow you", "notification.follow_request": "{name} solicitó siguite",
"notification.mention": "{name} mentóte", "notification.mention": "{name} mentóte",
"notification.own_poll": "Your poll has ended", "notification.own_poll": "Your poll has ended",
"notification.poll": "A poll you have voted in has ended", "notification.poll": "Finó una encuesta na que votesti",
"notification.reblog": "{name} compartió'l to estáu", "notification.reblog": "{name} compartió'l to estáu",
"notifications.clear": "Llimpiar avisos", "notifications.clear": "Llimpiar avisos",
"notifications.clear_confirmation": "¿De xuru que quies llimpiar dafechu tolos avisos?", "notifications.clear_confirmation": "¿De xuru que quies llimpiar dafechu tolos avisos?",
"notifications.column_settings.alert": "Avisos d'escritoriu", "notifications.column_settings.alert": "Avisos d'escritoriu",
"notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.favourite": "Favoritos:",
"notifications.column_settings.filter_bar.advanced": "Display all categories", "notifications.column_settings.filter_bar.advanced": "Amosar toles estayes",
"notifications.column_settings.filter_bar.category": "Quick filter bar", "notifications.column_settings.filter_bar.category": "Barra de peñera rápida",
"notifications.column_settings.filter_bar.show": "Amosar", "notifications.column_settings.filter_bar.show": "Amosar",
"notifications.column_settings.follow": "Siguidores nuevos:", "notifications.column_settings.follow": "Siguidores nuevos:",
"notifications.column_settings.follow_request": "Solicitúes de siguimientu nueves:", "notifications.column_settings.follow_request": "Solicitúes de siguimientu nueves:",
"notifications.column_settings.mention": "Menciones:", "notifications.column_settings.mention": "Menciones:",
"notifications.column_settings.poll": "Poll results:", "notifications.column_settings.poll": "Resultaos d'encuestes:",
"notifications.column_settings.push": "Push notifications", "notifications.column_settings.push": "Push notifications",
"notifications.column_settings.reblog": "Barritos compartíos:", "notifications.column_settings.reblog": "Barritos compartíos:",
"notifications.column_settings.show": "Amosar en columna", "notifications.column_settings.show": "Amosar en columna",
"notifications.column_settings.sound": "Reproducir un soníu", "notifications.column_settings.sound": "Reproducir un soníu",
"notifications.filter.all": "All", "notifications.filter.all": "Too",
"notifications.filter.boosts": "Boosts", "notifications.filter.boosts": "Boosts",
"notifications.filter.favourites": "Favourites", "notifications.filter.favourites": "Favourites",
"notifications.filter.follows": "Follows", "notifications.filter.follows": "Follows",
"notifications.filter.mentions": "Menciones", "notifications.filter.mentions": "Menciones",
"notifications.filter.polls": "Poll results", "notifications.filter.polls": "Poll results",
"notifications.group": "{count} avisos", "notifications.group": "{count} avisos",
"poll.closed": "Closed", "poll.closed": "Acabó",
"poll.refresh": "Refresh", "poll.refresh": "Refresh",
"poll.total_people": "{count, plural, one {# person} other {# people}}", "poll.total_people": "{count, plural, one {# persona} other {# persones}}",
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}", "poll.total_votes": "{count, plural, one {# votu} other {# votos}}",
"poll.vote": "Vote", "poll.vote": "Vote",
"poll.voted": "You voted for this answer", "poll.voted": "You voted for this answer",
"poll_button.add_poll": "Add a poll", "poll_button.add_poll": "Amestar una encuesta",
"poll_button.remove_poll": "Remove poll", "poll_button.remove_poll": "Desaniciar la encuesta",
"privacy.change": "Adjust status privacy", "privacy.change": "Adjust status privacy",
"privacy.direct.long": "Post to mentioned users only", "privacy.direct.long": "Post to mentioned users only",
"privacy.direct.short": "Direct", "privacy.direct.short": "Direct",
@ -333,14 +335,15 @@
"relative_time.just_now": "agora", "relative_time.just_now": "agora",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "güei",
"reply_indicator.cancel": "Encaboxar", "reply_indicator.cancel": "Encaboxar",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
"report.hint": "L'informe va unviase a los llendadores del to sirvidor. Embaxo, pues desplicar por qué informes d'esta cuenta:", "report.hint": "L'informe va unviase a los llendadores del to sirvidor. Embaxo, pues desplicar por qué informes d'esta cuenta:",
"report.placeholder": "Comentarios adicionales", "report.placeholder": "Comentarios adicionales",
"report.submit": "Submit", "report.submit": "Unviar",
"report.target": "Report {target}", "report.target": "Report {target}",
"search.placeholder": "Search", "search.placeholder": "Guetar",
"search_popout.search_format": "Formatu de gueta avanzada", "search_popout.search_format": "Formatu de gueta avanzada",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
"search_popout.tips.hashtag": "etiqueta", "search_popout.tips.hashtag": "etiqueta",
@ -355,11 +358,11 @@
"status.admin_account": "Open moderation interface for @{name}", "status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface", "status.admin_status": "Open this status in the moderation interface",
"status.block": "Bloquiar a @{name}", "status.block": "Bloquiar a @{name}",
"status.bookmark": "Bookmark", "status.bookmark": "Amestar a Marcadores",
"status.cancel_reblog_private": "Dexar de compartir", "status.cancel_reblog_private": "Dexar de compartir",
"status.cannot_reblog": "Esti artículu nun pue compartise", "status.cannot_reblog": "Esti artículu nun pue compartise",
"status.copy": "Copy link to status", "status.copy": "Copiar l'enllaz al estáu",
"status.delete": "Delete", "status.delete": "Desaniciar",
"status.detailed_status": "Detailed conversation view", "status.detailed_status": "Detailed conversation view",
"status.direct": "Unviar un mensaxe direutu a @{name}", "status.direct": "Unviar un mensaxe direutu a @{name}",
"status.embed": "Empotrar", "status.embed": "Empotrar",
@ -380,50 +383,50 @@
"status.reblogged_by": "{name} compartió", "status.reblogged_by": "{name} compartió",
"status.reblogs.empty": "Naide nun compartió esti barritu entá. Cuando daquién lo faiga, va amosase equí.", "status.reblogs.empty": "Naide nun compartió esti barritu entá. Cuando daquién lo faiga, va amosase equí.",
"status.redraft": "Desaniciar y reeditar", "status.redraft": "Desaniciar y reeditar",
"status.remove_bookmark": "Remove bookmark", "status.remove_bookmark": "Desaniciar de Marcadores",
"status.reply": "Responder", "status.reply": "Responder",
"status.replyAll": "Reply to thread", "status.replyAll": "Reply to thread",
"status.report": "Report @{name}", "status.report": "Report @{name}",
"status.sensitive_warning": "Conteníu sensible", "status.sensitive_warning": "Conteníu sensible",
"status.share": "Share", "status.share": "Share",
"status.show_less": "Amosar menos", "status.show_less": "Amosar menos",
"status.show_less_all": "Show less for all", "status.show_less_all": "Amosar menos en too",
"status.show_more": "Amosar más", "status.show_more": "Amosar más",
"status.show_more_all": "Show more for all", "status.show_more_all": "Amosar más en too",
"status.show_thread": "Amosar el filu", "status.show_thread": "Amosar el filu",
"status.uncached_media_warning": "Not available", "status.uncached_media_warning": "Non disponible",
"status.unmute_conversation": "Unmute conversation", "status.unmute_conversation": "Unmute conversation",
"status.unpin": "Desfixar del perfil", "status.unpin": "Desfixar del perfil",
"suggestions.dismiss": "Dismiss suggestion", "suggestions.dismiss": "Dismiss suggestion",
"suggestions.header": "You might be interested in…", "suggestions.header": "Quiciabes t'interese…",
"tabs_bar.federated_timeline": "Federated", "tabs_bar.federated_timeline": "Fediversu",
"tabs_bar.home": "Aniciu", "tabs_bar.home": "Aniciu",
"tabs_bar.local_timeline": "Llocal", "tabs_bar.local_timeline": "Llocal",
"tabs_bar.notifications": "Avisos", "tabs_bar.notifications": "Avisos",
"tabs_bar.search": "Search", "tabs_bar.search": "Search",
"time_remaining.days": "{number, plural, one {# día} other {# díes}} que queden", "time_remaining.days": "{number, plural, one {Queda # día} other {Queden # díes}}",
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left", "time_remaining.hours": "{number, plural, one {# hora restante} other {# hores restantes}}",
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left", "time_remaining.minutes": "{number, plural, one {# minutu restante} other {# minutos restantes}}",
"time_remaining.moments": "Moments remaining", "time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left", "time_remaining.seconds": "{number, plural, one {# segundu restante} other {# segundos restantes}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {persones}} falando", "trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {persones}} falando",
"trends.trending_now": "Trending now", "trends.trending_now": "Trending now",
"ui.beforeunload": "El borrador va perdese si coles de Mastodon.", "ui.beforeunload": "El borrador va perdese si coles de Mastodon.",
"upload_area.title": "Drag & drop to upload", "upload_area.title": "Arrastra y suelta pa xubir",
"upload_button.label": "Add media ({formats})", "upload_button.label": "Add media ({formats})",
"upload_error.limit": "File upload limit exceeded.", "upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.", "upload_error.poll": "La xuba de ficheros nun ta permitida con encuestes.",
"upload_form.audio_description": "Describe for people with hearing loss", "upload_form.audio_description": "Descripción pa persones con perda auditiva",
"upload_form.description": "Descripción pa discapacitaos visuales", "upload_form.description": "Descripción pa discapacitaos visuales",
"upload_form.edit": "Editar", "upload_form.edit": "Editar",
"upload_form.undo": "Desaniciar", "upload_form.undo": "Desaniciar",
"upload_form.video_description": "Describe for people with hearing loss or visual impairment", "upload_form.video_description": "Descripción pa persones con perda auditiva o discapacidá visual",
"upload_modal.analyzing_picture": "Analizando la semeya…", "upload_modal.analyzing_picture": "Analizando la semeya…",
"upload_modal.apply": "Aplicar", "upload_modal.apply": "Aplicar",
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog", "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
"upload_modal.detect_text": "Detect text from picture", "upload_modal.detect_text": "Deteutar el testu de la semeya",
"upload_modal.edit_media": "Edición", "upload_modal.edit_media": "Edición",
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.", "upload_modal.hint": "Calca o arrastra'l círculu de la previsualización pa escoyer el puntu d'enfoque que va amosase siempres en toles miniatures.",
"upload_modal.preview_label": "Previsualización ({ratio})", "upload_modal.preview_label": "Previsualización ({ratio})",
"upload_progress.label": "Xubiendo…", "upload_progress.label": "Xubiendo…",
"video.close": "Zarrar el videu", "video.close": "Zarrar el videu",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "now", "relative_time.just_now": "now",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Отказ", "reply_indicator.cancel": "Отказ",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "সাধারণ", "home.column_settings.basic": "সাধারণ",
"home.column_settings.show_reblogs": "সমর্থনগুলো দেখান", "home.column_settings.show_reblogs": "সমর্থনগুলো দেখান",
"home.column_settings.show_replies": "মতামত দেখান", "home.column_settings.show_replies": "মতামত দেখান",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# ঘটা} other {# ঘটা}}", "intervals.full.hours": "{number, plural, one {# ঘটা} other {# ঘটা}}",
"intervals.full.minutes": "{number, plural, one {# মিনিট} other {# মিনিট}}", "intervals.full.minutes": "{number, plural, one {# মিনিট} other {# মিনিট}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "এখন", "relative_time.just_now": "এখন",
"relative_time.minutes": "{number}মিঃ", "relative_time.minutes": "{number}মিঃ",
"relative_time.seconds": "{number} সেকেন্ড", "relative_time.seconds": "{number} সেকেন্ড",
"relative_time.today": "today",
"reply_indicator.cancel": "বাতিল করতে", "reply_indicator.cancel": "বাতিল করতে",
"report.forward": "এটা আরো পাঠান {target} তে", "report.forward": "এটা আরো পাঠান {target} তে",
"report.forward_hint": "এই নিবন্ধনটি অন্য একটি সার্ভারে। অপ্রকাশিতনামাভাবে রিপোর্টের কপি সেখানেও কি পাঠাতে চান ?", "report.forward_hint": "এই নিবন্ধনটি অন্য একটি সার্ভারে। অপ্রকাশিতনামাভাবে রিপোর্টের কপি সেখানেও কি পাঠাতে চান ?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "now", "relative_time.just_now": "now",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Cancel", "reply_indicator.cancel": "Cancel",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -158,8 +158,8 @@
"empty_column.mutes": "Encara no has silenciat cap usuari.", "empty_column.mutes": "Encara no has silenciat cap usuari.",
"empty_column.notifications": "Encara no tens notificacions. Interactua amb altres per iniciar la conversa.", "empty_column.notifications": "Encara no tens notificacions. Interactua amb altres per iniciar la conversa.",
"empty_column.public": "No hi ha res aquí! Escriu públicament alguna cosa o manualment segueix usuaris d'altres servidors per omplir-ho", "empty_column.public": "No hi ha res aquí! Escriu públicament alguna cosa o manualment segueix usuaris d'altres servidors per omplir-ho",
"error.unexpected_crash.explanation": "A causa d'un bug en el nostre codi o un problema de compatibilitat del navegador, aquesta pàgina no podria ser mostrada correctament.", "error.unexpected_crash.explanation": "A causa d'un bug en el nostre codi o un problema de compatibilitat del navegador, aquesta pàgina podria no ser mostrada correctament.",
"error.unexpected_crash.next_steps": "Prova recarregant la pàgina. Si això no ajuda encara pots ser capaç d'utilitzar Mastodont a través d'un navegador diferent o app nativa.", "error.unexpected_crash.next_steps": "Prova recarregant la pàgina. Si això no ajuda, encara podries ser capaç d'utilitzar Mastodon a través d'un navegador diferent o amb una app nativa.",
"errors.unexpected_crash.copy_stacktrace": "Còpia stacktrace al porta-retalls", "errors.unexpected_crash.copy_stacktrace": "Còpia stacktrace al porta-retalls",
"errors.unexpected_crash.report_issue": "Informa d'un problema", "errors.unexpected_crash.report_issue": "Informa d'un problema",
"follow_request.authorize": "Autoritzar", "follow_request.authorize": "Autoritzar",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Bàsic", "home.column_settings.basic": "Bàsic",
"home.column_settings.show_reblogs": "Mostra els impulsos", "home.column_settings.show_reblogs": "Mostra els impulsos",
"home.column_settings.show_replies": "Mostra les respostes", "home.column_settings.show_replies": "Mostra les respostes",
"home.hide_announcements": "Amaga els anuncis",
"home.show_announcements": "Mostra els anuncis",
"intervals.full.days": "{number, plural, one {# dia} other {# dies}}", "intervals.full.days": "{number, plural, one {# dia} other {# dies}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# hores}}", "intervals.full.hours": "{number, plural, one {# hora} other {# hores}}",
"intervals.full.minutes": "{number, plural, one {# minut} other {# minuts}}", "intervals.full.minutes": "{number, plural, one {# minut} other {# minuts}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "ara", "relative_time.just_now": "ara",
"relative_time.minutes": "fa {number} minuts", "relative_time.minutes": "fa {number} minuts",
"relative_time.seconds": "fa {number} segons", "relative_time.seconds": "fa {number} segons",
"relative_time.today": "avui",
"reply_indicator.cancel": "Cancel·lar", "reply_indicator.cancel": "Cancel·lar",
"report.forward": "Reenvia a {target}", "report.forward": "Reenvia a {target}",
"report.forward_hint": "Aquest compte és d'un altre servidor. Enviar-hi també una copia anònima del informe?", "report.forward_hint": "Aquest compte és d'un altre servidor. Enviar-hi també una copia anònima del informe?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Bàsichi", "home.column_settings.basic": "Bàsichi",
"home.column_settings.show_reblogs": "Vede e spartere", "home.column_settings.show_reblogs": "Vede e spartere",
"home.column_settings.show_replies": "Vede e risposte", "home.column_settings.show_replies": "Vede e risposte",
"home.hide_announcements": "Piattà annunzii",
"home.show_announcements": "Vede annunzii",
"intervals.full.days": "{number, plural, one {# ghjornu} other {# ghjorni}}", "intervals.full.days": "{number, plural, one {# ghjornu} other {# ghjorni}}",
"intervals.full.hours": "{number, plural, one {# ora} other {# ore}}", "intervals.full.hours": "{number, plural, one {# ora} other {# ore}}",
"intervals.full.minutes": "{number, plural, one {# minuta} other {# minute}}", "intervals.full.minutes": "{number, plural, one {# minuta} other {# minute}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "avà", "relative_time.just_now": "avà",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "oghji",
"reply_indicator.cancel": "Annullà", "reply_indicator.cancel": "Annullà",
"report.forward": "Trasferisce à {target}", "report.forward": "Trasferisce à {target}",
"report.forward_hint": "U contu hè nant'à un'altru servore. Vulete ancu mandà una copia anonima di u signalamentu quallà?", "report.forward_hint": "U contu hè nant'à un'altru servore. Vulete ancu mandà una copia anonima di u signalamentu quallà?",

View File

@ -43,7 +43,7 @@
"alert.rate_limited.title": "Rychlost omezena", "alert.rate_limited.title": "Rychlost omezena",
"alert.unexpected.message": "Objevila se neočekávaná chyba.", "alert.unexpected.message": "Objevila se neočekávaná chyba.",
"alert.unexpected.title": "Jejda!", "alert.unexpected.title": "Jejda!",
"announcement.announcement": "Announcement", "announcement.announcement": "Oznámení",
"autosuggest_hashtag.per_week": "{count} za týden", "autosuggest_hashtag.per_week": "{count} za týden",
"boost_modal.combo": "Příště můžete pro přeskočení stisknout {combo}", "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.", "bundle_column_error.body": "Při načítání této komponenty se něco pokazilo.",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Základní", "home.column_settings.basic": "Základní",
"home.column_settings.show_reblogs": "Zobrazit boosty", "home.column_settings.show_reblogs": "Zobrazit boosty",
"home.column_settings.show_replies": "Zobrazit odpovědi", "home.column_settings.show_replies": "Zobrazit odpovědi",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# den} few {# dny} many {# dní} other {# dní}}", "intervals.full.days": "{number, plural, one {# den} few {# dny} many {# dní} other {# dní}}",
"intervals.full.hours": "{number, plural, one {# hodina} few {# hodiny} many {# hodin} other {# hodin}}", "intervals.full.hours": "{number, plural, one {# hodina} few {# hodiny} many {# hodin} other {# hodin}}",
"intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minut} other {# minut}}", "intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minut} other {# minut}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "teď", "relative_time.just_now": "teď",
"relative_time.minutes": "{number} m", "relative_time.minutes": "{number} m",
"relative_time.seconds": "{number} s", "relative_time.seconds": "{number} s",
"relative_time.today": "today",
"reply_indicator.cancel": "Zrušit", "reply_indicator.cancel": "Zrušit",
"report.forward": "Přeposlat na {target}", "report.forward": "Přeposlat na {target}",
"report.forward_hint": "Tento účet je z jiného serveru. Chcete na něj také poslat anonymizovanou kopii?", "report.forward_hint": "Tento účet je z jiného serveru. Chcete na něj také poslat anonymizovanou kopii?",

View File

@ -43,7 +43,7 @@
"alert.rate_limited.title": "Cyfradd gyfyngedig", "alert.rate_limited.title": "Cyfradd gyfyngedig",
"alert.unexpected.message": "Digwyddodd gwall annisgwyl.", "alert.unexpected.message": "Digwyddodd gwall annisgwyl.",
"alert.unexpected.title": "Wps!", "alert.unexpected.title": "Wps!",
"announcement.announcement": "Announcement", "announcement.announcement": "Cyhoeddiad",
"autosuggest_hashtag.per_week": "{count} yr wythnos", "autosuggest_hashtag.per_week": "{count} yr wythnos",
"boost_modal.combo": "Mae modd gwasgu {combo} er mwyn sgipio hyn tro nesa", "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.", "bundle_column_error.body": "Aeth rhywbeth o'i le tra'n llwytho'r elfen hon.",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Syml", "home.column_settings.basic": "Syml",
"home.column_settings.show_reblogs": "Dangos bŵstiau", "home.column_settings.show_reblogs": "Dangos bŵstiau",
"home.column_settings.show_replies": "Dangos ymatebion", "home.column_settings.show_replies": "Dangos ymatebion",
"home.hide_announcements": "Cuddio cyhoeddiadau",
"home.show_announcements": "Dangos cyhoeddiadau",
"intervals.full.days": "{number, plural, one {# ddydd} other {# o ddyddiau}}", "intervals.full.days": "{number, plural, one {# ddydd} other {# o ddyddiau}}",
"intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}", "intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}",
"intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}", "intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "nawr", "relative_time.just_now": "nawr",
"relative_time.minutes": "{number}munud", "relative_time.minutes": "{number}munud",
"relative_time.seconds": "{number}eiliad", "relative_time.seconds": "{number}eiliad",
"relative_time.today": "heddiw",
"reply_indicator.cancel": "Canslo", "reply_indicator.cancel": "Canslo",
"report.forward": "Ymlaen i {target}", "report.forward": "Ymlaen i {target}",
"report.forward_hint": "Mae'r cyfrif o weinydd arall. Anfon copi anhysbys o'r adroddiad yno hefyd?", "report.forward_hint": "Mae'r cyfrif o weinydd arall. Anfon copi anhysbys o'r adroddiad yno hefyd?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Grundlæggende", "home.column_settings.basic": "Grundlæggende",
"home.column_settings.show_reblogs": "Vis fremhævelser", "home.column_settings.show_reblogs": "Vis fremhævelser",
"home.column_settings.show_replies": "Vis svar", "home.column_settings.show_replies": "Vis svar",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# dag} other {# dage}}", "intervals.full.days": "{number, plural, one {# dag} other {# dage}}",
"intervals.full.hours": "{number, plural, one {# time} other {# timer}}", "intervals.full.hours": "{number, plural, one {# time} other {# timer}}",
"intervals.full.minutes": "{number, plural, one {# minut} other {# minutter}}", "intervals.full.minutes": "{number, plural, one {# minut} other {# minutter}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "nu", "relative_time.just_now": "nu",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Annuller", "reply_indicator.cancel": "Annuller",
"report.forward": "Videresend til {target}", "report.forward": "Videresend til {target}",
"report.forward_hint": "Kontoen er fra en anden server. Vil du også sende en anonym kopi af anmeldelsen dertil?", "report.forward_hint": "Kontoen er fra en anden server. Vil du også sende en anonym kopi af anmeldelsen dertil?",

View File

@ -143,7 +143,7 @@
"empty_column.account_timeline": "Keine Beiträge!", "empty_column.account_timeline": "Keine Beiträge!",
"empty_column.account_unavailable": "Konto nicht verfügbar", "empty_column.account_unavailable": "Konto nicht verfügbar",
"empty_column.blocks": "Du hast keine Profile blockiert.", "empty_column.blocks": "Du hast keine Profile blockiert.",
"empty_column.bookmarked_statuses": "Du hast bis jetzt keine Beiträge als Lesezeichen gespeichert. Wenn du einen Beitrag als Lesezeichen speicherst wird er hier erscheinen.", "empty_column.bookmarked_statuses": "Du hast bis jetzt keine Beiträge als Toots gespeichert. Wenn du einen Beitrag als Toot speicherst, wird er hier erscheinen.",
"empty_column.community": "Die lokale Zeitleiste ist leer. Schreibe einen öffentlichen Beitrag, um den Ball ins Rollen zu bringen!", "empty_column.community": "Die lokale Zeitleiste ist leer. Schreibe einen öffentlichen Beitrag, um den Ball ins Rollen zu bringen!",
"empty_column.direct": "Du hast noch keine Direktnachrichten erhalten. Wenn du eine sendest oder empfängst, wird sie hier zu sehen sein.", "empty_column.direct": "Du hast noch keine Direktnachrichten erhalten. Wenn du eine sendest oder empfängst, wird sie hier zu sehen sein.",
"empty_column.domain_blocks": "Es ist noch keine versteckten Domains.", "empty_column.domain_blocks": "Es ist noch keine versteckten Domains.",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Einfach", "home.column_settings.basic": "Einfach",
"home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen", "home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen",
"home.column_settings.show_replies": "Antworten anzeigen", "home.column_settings.show_replies": "Antworten anzeigen",
"home.hide_announcements": "Verstecke Ankündigungen",
"home.show_announcements": "Zeige Ankündigungen",
"intervals.full.days": "{number, plural, one {# Tag} other {# Tage}}", "intervals.full.days": "{number, plural, one {# Tag} other {# Tage}}",
"intervals.full.hours": "{number, plural, one {# Stunde} other {# Stunden}}", "intervals.full.hours": "{number, plural, one {# Stunde} other {# Stunden}}",
"intervals.full.minutes": "{number, plural, one {# Minute} other {# Minuten}}", "intervals.full.minutes": "{number, plural, one {# Minute} other {# Minuten}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "jetzt", "relative_time.just_now": "jetzt",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "heute",
"reply_indicator.cancel": "Abbrechen", "reply_indicator.cancel": "Abbrechen",
"report.forward": "An {target} weiterleiten", "report.forward": "An {target} weiterleiten",
"report.forward_hint": "Dieses Konto ist von einem anderen Server. Soll eine anonymisierte Kopie des Berichts auch dorthin geschickt werden?", "report.forward_hint": "Dieses Konto ist von einem anderen Server. Soll eine anonymisierte Kopie des Berichts auch dorthin geschickt werden?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Βασικές ρυθμίσεις", "home.column_settings.basic": "Βασικές ρυθμίσεις",
"home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων", "home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων",
"home.column_settings.show_replies": "Εμφάνιση απαντήσεων", "home.column_settings.show_replies": "Εμφάνιση απαντήσεων",
"home.hide_announcements": "Απόκρυψη ανακοινώσεων",
"home.show_announcements": "Εμφάνιση ανακοινώσεων",
"intervals.full.days": "{number, plural, one {# μέρα} other {# μέρες}}", "intervals.full.days": "{number, plural, one {# μέρα} other {# μέρες}}",
"intervals.full.hours": "{number, plural, one {# ώρα} other {# ώρες}}", "intervals.full.hours": "{number, plural, one {# ώρα} other {# ώρες}}",
"intervals.full.minutes": "{number, plural, one {# λεπτό} other {# λεπτά}}", "intervals.full.minutes": "{number, plural, one {# λεπτό} other {# λεπτά}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "τώρα", "relative_time.just_now": "τώρα",
"relative_time.minutes": "{number}λ", "relative_time.minutes": "{number}λ",
"relative_time.seconds": "{number}δ", "relative_time.seconds": "{number}δ",
"relative_time.today": "σήμερα",
"reply_indicator.cancel": "Άκυρο", "reply_indicator.cancel": "Άκυρο",
"report.forward": "Προώθηση προς {target}", "report.forward": "Προώθηση προς {target}",
"report.forward_hint": "Ο λογαριασμός είναι από διαφορετικό διακομιστή. Να σταλεί ανώνυμο αντίγραφο της καταγγελίας κι εκεί;", "report.forward_hint": "Ο λογαριασμός είναι από διαφορετικό διακομιστή. Να σταλεί ανώνυμο αντίγραφο της καταγγελίας κι εκεί;",

View File

@ -43,7 +43,7 @@
"alert.rate_limited.title": "Mesaĝkvante limigita", "alert.rate_limited.title": "Mesaĝkvante limigita",
"alert.unexpected.message": "Neatendita eraro okazis.", "alert.unexpected.message": "Neatendita eraro okazis.",
"alert.unexpected.title": "Ups!", "alert.unexpected.title": "Ups!",
"announcement.announcement": "Announcement", "announcement.announcement": "Anonco",
"autosuggest_hashtag.per_week": "{count} semajne", "autosuggest_hashtag.per_week": "{count} semajne",
"boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje", "boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje",
"bundle_column_error.body": "Io misfunkciis en la ŝargado de ĉi tiu elemento.", "bundle_column_error.body": "Io misfunkciis en la ŝargado de ĉi tiu elemento.",
@ -108,7 +108,7 @@
"confirmations.logout.confirm": "Elsaluti", "confirmations.logout.confirm": "Elsaluti",
"confirmations.logout.message": "Ĉu vi certas ke vi volas elsaluti?", "confirmations.logout.message": "Ĉu vi certas ke vi volas elsaluti?",
"confirmations.mute.confirm": "Silentigi", "confirmations.mute.confirm": "Silentigi",
"confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.", "confirmations.mute.explanation": "Ĉi-tio kaŝos mesaĝojn el ili kaj mesaĝojn kiuj mencias ilin, sed ili ankoraŭ rajtos vidi viajn mesaĝojn kaj sekvi vin.",
"confirmations.mute.message": "Ĉu vi certas, ke vi volas silentigi {name}?", "confirmations.mute.message": "Ĉu vi certas, ke vi volas silentigi {name}?",
"confirmations.redraft.confirm": "Forigi kaj reskribi", "confirmations.redraft.confirm": "Forigi kaj reskribi",
"confirmations.redraft.message": "Ĉu vi certas ke vi volas forigi tiun mesaĝon kaj reskribi ĝin? Ĉiuj diskonigoj kaj stelumoj estos perditaj, kaj respondoj al la originala mesaĝo estos senparentaj.", "confirmations.redraft.message": "Ĉu vi certas ke vi volas forigi tiun mesaĝon kaj reskribi ĝin? Ĉiuj diskonigoj kaj stelumoj estos perditaj, kaj respondoj al la originala mesaĝo estos senparentaj.",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Bazaj agordoj", "home.column_settings.basic": "Bazaj agordoj",
"home.column_settings.show_reblogs": "Montri diskonigojn", "home.column_settings.show_reblogs": "Montri diskonigojn",
"home.column_settings.show_replies": "Montri respondojn", "home.column_settings.show_replies": "Montri respondojn",
"home.hide_announcements": "Kaŝi anoncojn",
"home.show_announcements": "Montri anoncojn",
"intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}", "intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}",
"intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}", "intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "nun", "relative_time.just_now": "nun",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "hodiaŭ",
"reply_indicator.cancel": "Nuligi", "reply_indicator.cancel": "Nuligi",
"report.forward": "Plusendi al {target}", "report.forward": "Plusendi al {target}",
"report.forward_hint": "La konto estas en alia servilo. Ĉu sendi sennomigitan kopion de la signalo ankaŭ tien?", "report.forward_hint": "La konto estas en alia servilo. Ĉu sendi sennomigitan kopion de la signalo ankaŭ tien?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Básico", "home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar retoots", "home.column_settings.show_reblogs": "Mostrar retoots",
"home.column_settings.show_replies": "Mostrar respuestas", "home.column_settings.show_replies": "Mostrar respuestas",
"home.hide_announcements": "Ocultar anuncios",
"home.show_announcements": "Mostrar anuncios",
"intervals.full.days": "{number, plural, one {# día} other {# días}}", "intervals.full.days": "{number, plural, one {# día} other {# días}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "recién", "relative_time.just_now": "recién",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "hoy",
"reply_indicator.cancel": "Cancelar", "reply_indicator.cancel": "Cancelar",
"report.forward": "Reenviar a {target}", "report.forward": "Reenviar a {target}",
"report.forward_hint": "La cuenta es de otro servidor. ¿Querés enviar una copia anonimizada del informe también ahí?", "report.forward_hint": "La cuenta es de otro servidor. ¿Querés enviar una copia anonimizada del informe también ahí?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Básico", "home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar retoots", "home.column_settings.show_reblogs": "Mostrar retoots",
"home.column_settings.show_replies": "Mostrar respuestas", "home.column_settings.show_replies": "Mostrar respuestas",
"home.hide_announcements": "Ocultar anuncios",
"home.show_announcements": "Mostrar anuncios",
"intervals.full.days": "{number, plural, one {# día} other {# días}}", "intervals.full.days": "{number, plural, one {# día} other {# días}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "ahora", "relative_time.just_now": "ahora",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "hoy",
"reply_indicator.cancel": "Cancelar", "reply_indicator.cancel": "Cancelar",
"report.forward": "Reenviar a {target}", "report.forward": "Reenviar a {target}",
"report.forward_hint": "Esta cuenta es de otro servidor. ¿Enviar una copia anonimizada del informe allí también?", "report.forward_hint": "Esta cuenta es de otro servidor. ¿Enviar una copia anonimizada del informe allí también?",

View File

@ -43,7 +43,7 @@
"alert.rate_limited.title": "Piiratud", "alert.rate_limited.title": "Piiratud",
"alert.unexpected.message": "Tekkis ootamatu viga.", "alert.unexpected.message": "Tekkis ootamatu viga.",
"alert.unexpected.title": "Oih!", "alert.unexpected.title": "Oih!",
"announcement.announcement": "Announcement", "announcement.announcement": "Teadaanne",
"autosuggest_hashtag.per_week": "{count} nädalas", "autosuggest_hashtag.per_week": "{count} nädalas",
"boost_modal.combo": "Võite vajutada {combo}, et see järgmine kord vahele jätta", "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.", "bundle_column_error.body": "Midagi läks valesti selle komponendi laadimisel.",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Peamine", "home.column_settings.basic": "Peamine",
"home.column_settings.show_reblogs": "Näita upitusi", "home.column_settings.show_reblogs": "Näita upitusi",
"home.column_settings.show_replies": "Näita vastuseid", "home.column_settings.show_replies": "Näita vastuseid",
"home.hide_announcements": "Peida teadaanded",
"home.show_announcements": "Kuva teadaandeid",
"intervals.full.days": "{number, plural, one {# päev} other {# päevad}}", "intervals.full.days": "{number, plural, one {# päev} other {# päevad}}",
"intervals.full.hours": "{number, plural, one {# tund} other {# tundi}}", "intervals.full.hours": "{number, plural, one {# tund} other {# tundi}}",
"intervals.full.minutes": "{number, plural, one {# minut} other {# minutit}}", "intervals.full.minutes": "{number, plural, one {# minut} other {# minutit}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "nüüd", "relative_time.just_now": "nüüd",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "täna",
"reply_indicator.cancel": "Tühista", "reply_indicator.cancel": "Tühista",
"report.forward": "Edasta kasutajale {target}", "report.forward": "Edasta kasutajale {target}",
"report.forward_hint": "See kasutaja on teisest serverist. Kas saadan anonümiseeritud koopia sellest teatest sinna ka?", "report.forward_hint": "See kasutaja on teisest serverist. Kas saadan anonümiseeritud koopia sellest teatest sinna ka?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Oinarrizkoa", "home.column_settings.basic": "Oinarrizkoa",
"home.column_settings.show_reblogs": "Erakutsi bultzadak", "home.column_settings.show_reblogs": "Erakutsi bultzadak",
"home.column_settings.show_replies": "Erakutsi erantzunak", "home.column_settings.show_replies": "Erakutsi erantzunak",
"home.hide_announcements": "Ezkutatu iragarpenak",
"home.show_announcements": "Erakutsi iragarpenak",
"intervals.full.days": "{number, plural, one {egun #} other {# egun}}", "intervals.full.days": "{number, plural, one {egun #} other {# egun}}",
"intervals.full.hours": "{number, plural, one {ordu #} other {# ordu}}", "intervals.full.hours": "{number, plural, one {ordu #} other {# ordu}}",
"intervals.full.minutes": "{number, plural, one {minutu #} other {# minutu}}", "intervals.full.minutes": "{number, plural, one {minutu #} other {# minutu}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "orain", "relative_time.just_now": "orain",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "gaur",
"reply_indicator.cancel": "Utzi", "reply_indicator.cancel": "Utzi",
"report.forward": "Birbidali hona: {target}", "report.forward": "Birbidali hona: {target}",
"report.forward_hint": "Kontu hau beste zerbitzari batekoa da. Bidali txostenaren kopia anonimo hara ere?", "report.forward_hint": "Kontu hau beste zerbitzari batekoa da. Bidali txostenaren kopia anonimo hara ere?",

View File

@ -23,8 +23,8 @@
"account.media": "رسانه", "account.media": "رسانه",
"account.mention": "نام‌بردن از @{name}", "account.mention": "نام‌بردن از @{name}",
"account.moved_to": "{name} منتقل شده به:", "account.moved_to": "{name} منتقل شده به:",
"account.mute": "خموشی @{name}", "account.mute": "خموشاندن @{name}",
"account.mute_notifications": "خموشی اعلان‌ها از @{name}", "account.mute_notifications": "خموشاندن اعلان‌ها از @{name}",
"account.muted": "خموش", "account.muted": "خموش",
"account.never_active": "هرگز", "account.never_active": "هرگز",
"account.posts": "نوشته‌ها", "account.posts": "نوشته‌ها",
@ -43,7 +43,7 @@
"alert.rate_limited.title": "محدودیت تعداد", "alert.rate_limited.title": "محدودیت تعداد",
"alert.unexpected.message": "خطایی غیرمنتظره رخ داد.", "alert.unexpected.message": "خطایی غیرمنتظره رخ داد.",
"alert.unexpected.title": "ای وای!", "alert.unexpected.title": "ای وای!",
"announcement.announcement": "Announcement", "announcement.announcement": "اعلامیه",
"autosuggest_hashtag.per_week": "{count} در هفته", "autosuggest_hashtag.per_week": "{count} در هفته",
"boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید", "boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید",
"bundle_column_error.body": "هنگام بازکردن این بخش خطایی رخ داد.", "bundle_column_error.body": "هنگام بازکردن این بخش خطایی رخ داد.",
@ -104,12 +104,12 @@
"confirmations.delete_list.confirm": "پاک کن", "confirmations.delete_list.confirm": "پاک کن",
"confirmations.delete_list.message": "مطمئنید می‌خواهید این فهرست را برای همیشه پاک کنید؟", "confirmations.delete_list.message": "مطمئنید می‌خواهید این فهرست را برای همیشه پاک کنید؟",
"confirmations.domain_block.confirm": "نهفتن تمام دامنه", "confirmations.domain_block.confirm": "نهفتن تمام دامنه",
"confirmations.domain_block.message": "آیا جدی جدی می‌خواهید تمام دامنهٔ {domain} را مسدود کنید؟ در بیشتر موارد مسدودسازی یا خموشیدن چند حساب خاص کافی است و توصیه می‌شود. پس از این کار شما هیچ نوشته‌ای را از این دامنه در فهرست نوشته‌های عمومی یا اعلان‌هایتان نخواهید دید. پیگیرانتان از این دامنه هم حذف خواهند شد.", "confirmations.domain_block.message": "آیا جدی جدی می‌خواهید تمام دامنهٔ {domain} را مسدود کنید؟ در بیشتر موارد مسدودسازی یا خموشاندن چند حساب خاص کافی است و توصیه می‌شود. پس از این کار شما هیچ نوشته‌ای را از این دامنه در فهرست نوشته‌های عمومی یا اعلان‌هایتان نخواهید دید. پیگیرانتان از این دامنه هم حذف خواهند شد.",
"confirmations.logout.confirm": "خروج", "confirmations.logout.confirm": "خروج",
"confirmations.logout.message": "مطمئنید می‌خواهید خارج شوید؟", "confirmations.logout.message": "مطمئنید می‌خواهید خارج شوید؟",
"confirmations.mute.confirm": "خموشی", "confirmations.mute.confirm": "خموشاندن",
"confirmations.mute.explanation": "این کار فرسته‌های آن‌ها و فرسته‌هایی را که از آن‌ها نام برده پنهان می‌کند، ولی آن‌ها همچنان اجازه دارند فرسته‌های شما را ببینند و شما را پی بگیرند.", "confirmations.mute.explanation": "این کار فرسته‌های آن‌ها و فرسته‌هایی را که از آن‌ها نام برده پنهان می‌کند، ولی آن‌ها همچنان اجازه دارند فرسته‌های شما را ببینند و شما را پی بگیرند.",
"confirmations.mute.message": "مطمئنید می‌خواهید {name} را بخموشید؟", "confirmations.mute.message": "مطمئنید می‌خواهید {name} را بخموشانید؟",
"confirmations.redraft.confirm": "پاک‌کردن و بازنویسی", "confirmations.redraft.confirm": "پاک‌کردن و بازنویسی",
"confirmations.redraft.message": "مطمئنید که می‌خواهید این بوق را پاک کنید و از نو بنویسید؟ با این کار بازبوق‌ها و پسندهای آن از دست می‌رود و پاسخ‌ها به آن بی‌مرجع می‌شود.", "confirmations.redraft.message": "مطمئنید که می‌خواهید این بوق را پاک کنید و از نو بنویسید؟ با این کار بازبوق‌ها و پسندهای آن از دست می‌رود و پاسخ‌ها به آن بی‌مرجع می‌شود.",
"confirmations.reply.confirm": "پاسخ", "confirmations.reply.confirm": "پاسخ",
@ -159,7 +159,7 @@
"empty_column.notifications": "هنوز هیچ اعلانی ندارید. به دیگران واکنش نشان دهید تا گفتگو آغاز شود.", "empty_column.notifications": "هنوز هیچ اعلانی ندارید. به دیگران واکنش نشان دهید تا گفتگو آغاز شود.",
"empty_column.public": "این‌جا هنوز چیزی نیست! خودتان چیزی بنویسید یا کاربران کارسازهای دیگر را پی بگیرید تا این‌جا پر شود", "empty_column.public": "این‌جا هنوز چیزی نیست! خودتان چیزی بنویسید یا کاربران کارسازهای دیگر را پی بگیرید تا این‌جا پر شود",
"error.unexpected_crash.explanation": "به خاطر اشکالی در کدهای ما یا ناسازگاری با مرورگر شما، این صفحه به درستی نمایش نیافت.", "error.unexpected_crash.explanation": "به خاطر اشکالی در کدهای ما یا ناسازگاری با مرورگر شما، این صفحه به درستی نمایش نیافت.",
"error.unexpected_crash.next_steps": "لطفاً صفحه را دوباره باز کنید. اگر کمکی نکرد، شاید همچنان بتوانید با ماستدون از راه یک مرورگر دیگر یا با یکی از اپ‌های آن کار کنید.", "error.unexpected_crash.next_steps": "لطفاً صفحه را دوباره باز کنید. اگر کمکی نکرد، شاید همچنان بتوانید با ماستودون از راه یک مرورگر دیگر یا با یکی از اپ‌های آن کار کنید.",
"errors.unexpected_crash.copy_stacktrace": "رونوشت از جزئیات اشکال", "errors.unexpected_crash.copy_stacktrace": "رونوشت از جزئیات اشکال",
"errors.unexpected_crash.report_issue": "گزارش مشکل", "errors.unexpected_crash.report_issue": "گزارش مشکل",
"follow_request.authorize": "اجازه دهید", "follow_request.authorize": "اجازه دهید",
@ -184,6 +184,8 @@
"home.column_settings.basic": "پایه‌ای", "home.column_settings.basic": "پایه‌ای",
"home.column_settings.show_reblogs": "نمایش بازبوق‌ها", "home.column_settings.show_reblogs": "نمایش بازبوق‌ها",
"home.column_settings.show_replies": "نمایش پاسخ‌ها", "home.column_settings.show_replies": "نمایش پاسخ‌ها",
"home.hide_announcements": "نهفتن اعلامیه‌ها",
"home.show_announcements": "نمایش اعلامیه‌ها",
"intervals.full.days": "{number, plural, one {# روز} other {# روز}}", "intervals.full.days": "{number, plural, one {# روز} other {# روز}}",
"intervals.full.hours": "{number, plural, one {# ساعت} other {# ساعت}}", "intervals.full.hours": "{number, plural, one {# ساعت} other {# ساعت}}",
"intervals.full.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}}", "intervals.full.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}}",
@ -273,7 +275,7 @@
"navigation_bar.keyboard_shortcuts": "میان‌برها", "navigation_bar.keyboard_shortcuts": "میان‌برها",
"navigation_bar.lists": "فهرست‌ها", "navigation_bar.lists": "فهرست‌ها",
"navigation_bar.logout": "خروج", "navigation_bar.logout": "خروج",
"navigation_bar.mutes": "کاربران خموشیده", "navigation_bar.mutes": "کاربران خموشانده",
"navigation_bar.personal": "شخصی", "navigation_bar.personal": "شخصی",
"navigation_bar.pins": "بوق‌های ثابت", "navigation_bar.pins": "بوق‌های ثابت",
"navigation_bar.preferences": "ترجیحات", "navigation_bar.preferences": "ترجیحات",
@ -333,6 +335,7 @@
"relative_time.just_now": "الان", "relative_time.just_now": "الان",
"relative_time.minutes": "{number} دقیقه", "relative_time.minutes": "{number} دقیقه",
"relative_time.seconds": "{number} ثانیه", "relative_time.seconds": "{number} ثانیه",
"relative_time.today": "امروز",
"reply_indicator.cancel": "لغو", "reply_indicator.cancel": "لغو",
"report.forward": "فرستادن به {target}", "report.forward": "فرستادن به {target}",
"report.forward_hint": "این حساب در کارساز دیگری ثبت شده. آیا می‌خواهید رونوشتی ناشناس از این گزارش به آن‌جا هم فرستاده شود؟", "report.forward_hint": "این حساب در کارساز دیگری ثبت شده. آیا می‌خواهید رونوشتی ناشناس از این گزارش به آن‌جا هم فرستاده شود؟",
@ -342,44 +345,44 @@
"report.target": "در حال گزارش {target}", "report.target": "در حال گزارش {target}",
"search.placeholder": "جستجو", "search.placeholder": "جستجو",
"search_popout.search_format": "راهنمای جستجوی پیشرفته", "search_popout.search_format": "راهنمای جستجوی پیشرفته",
"search_popout.tips.full_text": "جست‌وجوی متنی ساده وضعیت‌هایی که که نوشته، برگزیده، تقویت‌کرده یا در آن‌ها اشاره‌شده‌اید را به اضافهٔ نام‌های کاربری، نام‌های نمایشی و برچسب‌های مطابق برمی‌گرداند.", "search_popout.tips.full_text": "جستجوی متنی ساده می‌تواند بوق‌هایی که شما نوشته‌اید، پسندیده‌اید، بازبوقیده‌اید، یا در آن‌ها از شما نام برده شده است را پیدا کند. همچنین نام‌های کاربری، نام نمایش‌یافته، و هشتگ‌ها را هم شامل می‌شود.",
"search_popout.tips.hashtag": "برچسب", "search_popout.tips.hashtag": "برچسب",
"search_popout.tips.status": "وضعیت", "search_popout.tips.status": "بوق",
"search_popout.tips.text": "جست‌وجوی متنی ساده، نام‌های نمایشی، نام‌های کاربری، و برچسب‌ها را برمی‌گرداند", "search_popout.tips.text": "جستجوی متنی ساده برای نام‌ها، نام‌های کاربری، و برچسب‌ها",
"search_popout.tips.user": "کاربر", "search_popout.tips.user": "کاربر",
"search_results.accounts": "افراد", "search_results.accounts": "افراد",
"search_results.hashtags": "برچسب‌ها", "search_results.hashtags": "برچسب‌ها",
"search_results.statuses": "بوق‌ها", "search_results.statuses": "بوق‌ها",
"search_results.statuses_fts_disabled": "جست‌وجوی بوق‌ها بر اساس محتوایشان روی این کارساز ماستودون به کار نیفتاده است.", "search_results.statuses_fts_disabled": "جستجوی محتوای بوق‌ها در این کارساز ماستودون فعال نشده است.",
"search_results.total": "{count, number} {count, plural, one {نتیجه} other {نتیجه}}", "search_results.total": "{count, number} {count, plural, one {نتیجه} other {نتیجه}}",
"status.admin_account": "گشودن واسط مدیریت برای @{name}", "status.admin_account": "گشودن واسط مدیریت برای @{name}",
"status.admin_status": "گشودن این وضعیت در واسط مدیریت", "status.admin_status": "گشودن این بوق در واسط مدیریت",
"status.block": "انسداد @{name}", "status.block": "مسدودسازی @{name}",
"status.bookmark": "نشانک", "status.bookmark": "نشانک",
"status.cancel_reblog_private": "ناتقویت", "status.cancel_reblog_private": "حذف بازبوق",
"status.cannot_reblog": "این نوشته نمی‌تواند تقویت شود", "status.cannot_reblog": "این نوشته را نمی‌شود بازبوقید",
"status.copy": "رونوشت از پیوند به وضعیت", "status.copy": "رونوشت‌برداری از نشانی بوق",
"status.delete": "حذف", "status.delete": "پاک‌کردن",
"status.detailed_status": "نمای گفت‌وگوی باجزییات", "status.detailed_status": "نمایش کامل گفتگو",
"status.direct": "پیام خصوصی به @{name}", "status.direct": "پیغام مستقیم به @{name}",
"status.embed": "جاگذاری", "status.embed": "جاگذاری",
"status.favourite": "برگزیدن", "status.favourite": "پسندیدن",
"status.filtered": "پالوده", "status.filtered": "پالوده",
"status.load_more": ار کردن بیشتر", "status.load_more": یشتر نشان بده",
"status.media_hidden": "رسانهٔ نهفته", "status.media_hidden": "رسانهٔ نهفته",
"status.mention": "اشاره به @{name}", "status.mention": "نام‌بردن از @{name}",
"status.more": "بیشتر", "status.more": "بیشتر",
"status.mute": "خموشی @{name}", "status.mute": "خموشاندن @{name}",
"status.mute_conversation": "خموشی گفت‌وگو", "status.mute_conversation": "خموشاندن گفتگو",
"status.open": سترش این وضعیت", "status.open": شودن این بوق",
"status.pin": "سنجاق به نمایه", "status.pin": "ثابت کردن در نمایه",
"status.pinned": "بوق سنجاق‌شده", "status.pinned": "بوق ثابت",
"status.read_more": "بیشتر بخوانید", "status.read_more": "بیشتر بخوانید",
"status.reblog": "تقویت", "status.reblog": "بازبوقیدن",
"status.reblog_private": "تقویت برای مخاطبان نخستین", "status.reblog_private": "بازبوق به مخاطبان اولیه",
"status.reblogged_by": "{name} تقویت کرد", "status.reblogged_by": "{name} بازبوقید",
"status.reblogs.empty": "هنوز کسی این بوق را تقویت نکرده است. وقتی کسی چنین کاری کند، این‌جا دیده خواهد شد.", "status.reblogs.empty": "هنوز هیچ کسی این بوق را بازنبوقیده است. وقتی کسی چنین کاری کند، این‌جا نمایش خواهد یافت.",
"status.redraft": "حذف و بازنویسی", "status.redraft": "پاک‌کردن و بازنویسی",
"status.remove_bookmark": "برداشتن نشانک", "status.remove_bookmark": "برداشتن نشانک",
"status.reply": "پاسخ", "status.reply": "پاسخ",
"status.replyAll": "پاسخ به رشته", "status.replyAll": "پاسخ به رشته",
@ -387,53 +390,53 @@
"status.sensitive_warning": "محتوای حساس", "status.sensitive_warning": "محتوای حساس",
"status.share": "هم‌رسانی", "status.share": "هم‌رسانی",
"status.show_less": "نمایش کمتر", "status.show_less": "نمایش کمتر",
"status.show_less_all": "نمایش کمتر برای همه", "status.show_less_all": "نمایش کمتر همه",
"status.show_more": "نمایش بیشتر", "status.show_more": "نمایش بیشتر",
"status.show_more_all": "نمایش بیشتر برای همه", "status.show_more_all": "نمایش بیشتر همه",
"status.show_thread": "نمایش رشته", "status.show_thread": "نمایش رشته",
"status.uncached_media_warning": "ناموجود", "status.uncached_media_warning": "ناموجود",
"status.unmute_conversation": "رفع خموشی گفت‌وگو", "status.unmute_conversation": "رفع خموشی گفتگو",
"status.unpin": "برداشتن سنجاق از نمایه", "status.unpin": "برداشتن نوشتهٔ ثابت نمایه",
"suggestions.dismiss": "نادیده گرفتن پیشنهاد", "suggestions.dismiss": "نادیده گرفتن پیشنهاد",
"suggestions.header": "شاید این هم برایتان جالب باشد…", "suggestions.header": "شاید این هم برایتان جالب باشد…",
"tabs_bar.federated_timeline": "همگانی", "tabs_bar.federated_timeline": "همگانی",
"tabs_bar.home": "خانه", "tabs_bar.home": "خانه",
"tabs_bar.local_timeline": "محلّی", "tabs_bar.local_timeline": "محلّی",
"tabs_bar.notifications": "آگاهیها", "tabs_bar.notifications": "اعلانها",
"tabs_bar.search": "جست‌وجو", "tabs_bar.search": "جستجو",
"time_remaining.days": "{number, plural, one {# روز} other {# روز}} باقی مانده", "time_remaining.days": "{number, plural, one {# روز} other {# روز}} باقی مانده",
"time_remaining.hours": "{number, plural, one {# ساعت} other {# ساعت}} باقی مانده", "time_remaining.hours": "{number, plural, one {# ساعت} other {# ساعت}} باقی مانده",
"time_remaining.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}} باقی مانده", "time_remaining.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}} باقی مانده",
"time_remaining.moments": "لحظاتی باقی‌مانده", "time_remaining.moments": "زمان باقی‌مانده",
"time_remaining.seconds": "{number, plural, one {# ثانیه} other {# ثانیه}} باقی مانده", "time_remaining.seconds": "{number, plural, one {# ثانیه} other {# ثانیه}} باقی مانده",
"trends.count_by_accounts": "{count} {rawCount, plural, one {نفر نوشته است} other {نفر نوشته‌اند}}", "trends.count_by_accounts": "{count} {rawCount, plural, one {نفر نوشته است} other {نفر نوشته‌اند}}",
"trends.trending_now": "پرطرفدار", "trends.trending_now": "پرطرفدار",
"ui.beforeunload": "در صورت خروج از از ماستودون، پیش‌نویستان از دست خواهد رفت.", "ui.beforeunload": "اگر از ماستودون خارج شوید پیش‌نویس شما از دست خواهد رفت.",
"upload_area.title": "برای بارگذاری به این‌جا بکشید", "upload_area.title": "برای بارگذاری به این‌جا بکشید",
"upload_button.label": "افزودن رسانه ({formats})", "upload_button.label": "افزودن رسانه ({formats})",
"upload_error.limit": "تجاوز از کران بارگذاری پرونده.", "upload_error.limit": "از حد مجاز باگذاری پرونده فراتر رفتید.",
"upload_error.poll": "بارگذاری پرونده در نظرسنجی‌ها مجاز نیست.", "upload_error.poll": "بارگذاری پرونده در نظرسنجی‌ها مجاز نیست.",
"upload_form.audio_description": "توصیف برای افراد فاقد شنوایی", "upload_form.audio_description": "برای ناشنوایان توصیفش کنید",
"upload_form.description": "توضیح برای کم‌بینایان", "upload_form.description": "برای کم‌بینایان توصیفش کنید",
"upload_form.edit": "ویرایش", "upload_form.edit": "ویرایش",
"upload_form.undo": "حذف", "upload_form.undo": "حذف",
"upload_form.video_description": "توصیف برای افراد با اختلال دید یا فاقد شنوایی", "upload_form.video_description": "برای کم‌بینایان یا ناشنوایان توصیفش کنید",
"upload_modal.analyzing_picture": "در حال پردازش تصویر…", "upload_modal.analyzing_picture": "در حال پردازش تصویر…",
"upload_modal.apply": "اعمال", "upload_modal.apply": "اعمال",
"upload_modal.description_placeholder": "الا یا ایّها الساقی، ادر کأساً و ناولها", "upload_modal.description_placeholder": "الا یا ایّها الساقی، ادر کأساً و ناولها",
"upload_modal.detect_text": "تشخیص متن درون عکس", "upload_modal.detect_text": "تشخیص متن درون عکس",
"upload_modal.edit_media": "ویرایش رسانه", "upload_modal.edit_media": "ویرایش رسانه",
"upload_modal.hint": "دایره را روی پیش‌نمایش کشیده یا کلیک کنید تا نقطهٔ کانونی‌ای که همواره باید در تمام بندانگشتی‌ها داخل نما باشد را برگزینید.", "upload_modal.hint": "حتی اگر تصویر بریده یا کوچک شود، نقطهٔ کانونی آن همیشه دیده خواهد شد. نقطهٔ کانونی را با کلیک یا جابه‌جا کردن آن تنظیم کنید.",
"upload_modal.preview_label": "پیش‌نمایش ({ratio})", "upload_modal.preview_label": "پیش‌نمایش ({ratio})",
"upload_progress.label": "در حال بارگذاری…", "upload_progress.label": "در حال بارگذاری…",
"video.close": "بستن ویدیو", "video.close": "بستن ویدیو",
"video.download": "بارگیری پرونده", "video.download": "بارگیری پرونده",
"video.exit_fullscreen": "خروج از حالت تمام‌صفحه", "video.exit_fullscreen": "خروج از حالت تمام‌صفحه",
"video.expand": "گسترش ویدیو", "video.expand": "بزرگ‌کردن ویدیو",
"video.fullscreen": "تمام‌صفحه", "video.fullscreen": "تمام‌صفحه",
"video.hide": "نهفتن ویدیو", "video.hide": "نهفتن ویدیو",
"video.mute": "خموشی صدا", "video.mute": "قطع صدا",
"video.pause": "مکث", "video.pause": "مکث",
"video.play": "پخش", "video.play": "پخش",
"video.unmute": "رفع خموشی صدا" "video.unmute": "پخش صدا"
} }

View File

@ -64,7 +64,7 @@
"column.lists": "Listat", "column.lists": "Listat",
"column.mutes": "Mykistetyt käyttäjät", "column.mutes": "Mykistetyt käyttäjät",
"column.notifications": "Ilmoitukset", "column.notifications": "Ilmoitukset",
"column.pins": "Kiinnitetty tuuttaus", "column.pins": "Kiinnitetyt tuuttaukset",
"column.public": "Yleinen aikajana", "column.public": "Yleinen aikajana",
"column_back_button.label": "Takaisin", "column_back_button.label": "Takaisin",
"column_header.hide_settings": "Piilota asetukset", "column_header.hide_settings": "Piilota asetukset",
@ -165,7 +165,7 @@
"follow_request.authorize": "Valtuuta", "follow_request.authorize": "Valtuuta",
"follow_request.reject": "Hylkää", "follow_request.reject": "Hylkää",
"getting_started.developers": "Kehittäjille", "getting_started.developers": "Kehittäjille",
"getting_started.directory": "Profiili hakemisto", "getting_started.directory": "Profiilihakemisto",
"getting_started.documentation": "Documentaatio", "getting_started.documentation": "Documentaatio",
"getting_started.heading": "Aloitus", "getting_started.heading": "Aloitus",
"getting_started.invite": "Kutsu ihmisiä", "getting_started.invite": "Kutsu ihmisiä",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Perusasetukset", "home.column_settings.basic": "Perusasetukset",
"home.column_settings.show_reblogs": "Näytä buustaukset", "home.column_settings.show_reblogs": "Näytä buustaukset",
"home.column_settings.show_replies": "Näytä vastaukset", "home.column_settings.show_replies": "Näytä vastaukset",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "Päivä päiviä", "intervals.full.days": "Päivä päiviä",
"intervals.full.hours": "Tunti tunteja", "intervals.full.hours": "Tunti tunteja",
"intervals.full.minutes": "Minuuti minuuteja", "intervals.full.minutes": "Minuuti minuuteja",
@ -269,7 +271,7 @@
"navigation_bar.filters": "Mykistetyt sanat", "navigation_bar.filters": "Mykistetyt sanat",
"navigation_bar.follow_requests": "Seuraamispyynnöt", "navigation_bar.follow_requests": "Seuraamispyynnöt",
"navigation_bar.follows_and_followers": "Seurattavat ja seuraajat", "navigation_bar.follows_and_followers": "Seurattavat ja seuraajat",
"navigation_bar.info": "Tietoa tästä instanssista", "navigation_bar.info": "Tietoa tästä palvelimesta",
"navigation_bar.keyboard_shortcuts": "Näppäinkomennot", "navigation_bar.keyboard_shortcuts": "Näppäinkomennot",
"navigation_bar.lists": "Listat", "navigation_bar.lists": "Listat",
"navigation_bar.logout": "Kirjaudu ulos", "navigation_bar.logout": "Kirjaudu ulos",
@ -333,6 +335,7 @@
"relative_time.just_now": "nyt", "relative_time.just_now": "nyt",
"relative_time.minutes": "{number} m", "relative_time.minutes": "{number} m",
"relative_time.seconds": "{number} s", "relative_time.seconds": "{number} s",
"relative_time.today": "today",
"reply_indicator.cancel": "Peruuta", "reply_indicator.cancel": "Peruuta",
"report.forward": "Välitä kohteeseen {target}", "report.forward": "Välitä kohteeseen {target}",
"report.forward_hint": "Tämä tili on toisella palvelimella. Haluatko lähettää nimettömän raportin myös sinne?", "report.forward_hint": "Tämä tili on toisella palvelimella. Haluatko lähettää nimettömän raportin myös sinne?",

View File

@ -185,6 +185,8 @@
"home.column_settings.basic": "Base", "home.column_settings.basic": "Base",
"home.column_settings.show_reblogs": "Afficher les partages", "home.column_settings.show_reblogs": "Afficher les partages",
"home.column_settings.show_replies": "Afficher les réponses", "home.column_settings.show_replies": "Afficher les réponses",
"home.hide_announcements": "Masquer les annonces",
"home.show_announcements": "Afficher les annonces",
"intervals.full.days": "{number, plural, one {# jour} other {# jours}}", "intervals.full.days": "{number, plural, one {# jour} other {# jours}}",
"intervals.full.hours": "{number, plural, one {# heure} other {# heures}}", "intervals.full.hours": "{number, plural, one {# heure} other {# heures}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -334,6 +336,7 @@
"relative_time.just_now": "à linstant", "relative_time.just_now": "à linstant",
"relative_time.minutes": "{number} min", "relative_time.minutes": "{number} min",
"relative_time.seconds": "{number} s", "relative_time.seconds": "{number} s",
"relative_time.today": "aujourdhui",
"reply_indicator.cancel": "Annuler", "reply_indicator.cancel": "Annuler",
"report.forward": "Transférer à {target}", "report.forward": "Transférer à {target}",
"report.forward_hint": "Le compte provient dun autre serveur. Envoyer également une copie anonyme du rapport?", "report.forward_hint": "Le compte provient dun autre serveur. Envoyer également une copie anonyme du rapport?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "now", "relative_time.just_now": "now",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Cancel", "reply_indicator.cancel": "Cancel",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -72,7 +72,7 @@
"column_header.moveRight_settings": "Mover columna cara a dereita", "column_header.moveRight_settings": "Mover columna cara a dereita",
"column_header.pin": "Fixar", "column_header.pin": "Fixar",
"column_header.show_settings": "Amosar axustes", "column_header.show_settings": "Amosar axustes",
"column_header.unpin": "Desafixar", "column_header.unpin": "Desapegar",
"column_subheading.settings": "Axustes", "column_subheading.settings": "Axustes",
"community.column_settings.media_only": "Só multimedia", "community.column_settings.media_only": "Só multimedia",
"compose_form.direct_message_warning": "Este toot só será enviado ás usuarias mencionadas.", "compose_form.direct_message_warning": "Este toot só será enviado ás usuarias mencionadas.",
@ -118,7 +118,7 @@
"confirmations.unfollow.message": "Desexas deixar de seguir a {name}?", "confirmations.unfollow.message": "Desexas deixar de seguir a {name}?",
"conversation.delete": "Eliminar conversa", "conversation.delete": "Eliminar conversa",
"conversation.mark_as_read": "Marcar como lido", "conversation.mark_as_read": "Marcar como lido",
"conversation.open": "Ollar conversa", "conversation.open": "Ver conversa",
"conversation.with": "Con {names}", "conversation.with": "Con {names}",
"directory.federated": "Do fediverso coñecido", "directory.federated": "Do fediverso coñecido",
"directory.local": "Só de {domain}", "directory.local": "Só de {domain}",
@ -129,7 +129,7 @@
"emoji_button.activity": "Actividade", "emoji_button.activity": "Actividade",
"emoji_button.custom": "Personalizado", "emoji_button.custom": "Personalizado",
"emoji_button.flags": "Bandeiras", "emoji_button.flags": "Bandeiras",
"emoji_button.food": "Comida e bebida", "emoji_button.food": "Comida e Bebida",
"emoji_button.label": "Inserir emoticona", "emoji_button.label": "Inserir emoticona",
"emoji_button.nature": "Natureza", "emoji_button.nature": "Natureza",
"emoji_button.not_found": "Non hai emoticonas!! (╯°□°)╯︵ ┻━┻", "emoji_button.not_found": "Non hai emoticonas!! (╯°□°)╯︵ ┻━┻",
@ -139,11 +139,11 @@
"emoji_button.search": "Procurar...", "emoji_button.search": "Procurar...",
"emoji_button.search_results": "Resultados da procura", "emoji_button.search_results": "Resultados da procura",
"emoji_button.symbols": "Símbolos", "emoji_button.symbols": "Símbolos",
"emoji_button.travel": "Viaxes e lugares", "emoji_button.travel": "Viaxes e Lugares",
"empty_column.account_timeline": "Non hai toots aquí!", "empty_column.account_timeline": "Non hai toots aquí!",
"empty_column.account_unavailable": "Perfil non dispoñíbel", "empty_column.account_unavailable": "Perfil non dispoñible",
"empty_column.blocks": "Aínda non bloqueaches a ningún usuaria.", "empty_column.blocks": "Aínda non bloqueaches a ningún usuaria.",
"empty_column.bookmarked_statuses": "Aínda non marcaches ningún toot. Cando o fagas, amosaranse aquí.", "empty_column.bookmarked_statuses": "Aínda non marcaches ningún toot. Cando o fagas, aparecerán aquí.",
"empty_column.community": "A cronoloxía local está baleira. Escribe algo de xeito público para espallalo!", "empty_column.community": "A cronoloxía local está baleira. Escribe algo de xeito público para espallalo!",
"empty_column.direct": "Aínda non tes mensaxes directas. Cando envíes ou recibas unha, amosarase aquí.", "empty_column.direct": "Aínda non tes mensaxes directas. Cando envíes ou recibas unha, amosarase aquí.",
"empty_column.domain_blocks": "Aínda non hai dominios agochados.", "empty_column.domain_blocks": "Aínda non hai dominios agochados.",
@ -165,7 +165,7 @@
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
"follow_request.reject": "Rexeitar", "follow_request.reject": "Rexeitar",
"getting_started.developers": "Desenvolvedores", "getting_started.developers": "Desenvolvedores",
"getting_started.directory": "Directorio do perfil", "getting_started.directory": "Directorio local",
"getting_started.documentation": "Documentación", "getting_started.documentation": "Documentación",
"getting_started.heading": "Primeiros pasos", "getting_started.heading": "Primeiros pasos",
"getting_started.invite": "Convidar persoas", "getting_started.invite": "Convidar persoas",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Básico", "home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Amosar compartidos", "home.column_settings.show_reblogs": "Amosar compartidos",
"home.column_settings.show_replies": "Amosar respostas", "home.column_settings.show_replies": "Amosar respostas",
"home.hide_announcements": "Agochar anuncios",
"home.show_announcements": "Amosar anuncios",
"intervals.full.days": "{number, plural,one {# día} other {# días}}", "intervals.full.days": "{number, plural,one {# día} other {# días}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@ -221,13 +223,13 @@
"keyboard_shortcuts.hotkey": "Tecla de atallo", "keyboard_shortcuts.hotkey": "Tecla de atallo",
"keyboard_shortcuts.legend": "para amosar esta lenda", "keyboard_shortcuts.legend": "para amosar esta lenda",
"keyboard_shortcuts.local": "para abrir a cronoloxía local", "keyboard_shortcuts.local": "para abrir a cronoloxía local",
"keyboard_shortcuts.mention": "para mencionar ó autor", "keyboard_shortcuts.mention": "para mencionar a autora",
"keyboard_shortcuts.muted": "abrir lista de usuarias acaladas", "keyboard_shortcuts.muted": "abrir lista de usuarias acaladas",
"keyboard_shortcuts.my_profile": "para abrir o teu perfil", "keyboard_shortcuts.my_profile": "para abrir o teu perfil",
"keyboard_shortcuts.notifications": "para abrir a columna das notificacións", "keyboard_shortcuts.notifications": "para abrir a columna das notificacións",
"keyboard_shortcuts.open_media": "para abrir o contido multimedia", "keyboard_shortcuts.open_media": "para abrir o contido multimedia",
"keyboard_shortcuts.pinned": "para abrir a listaxe dos toots fixados", "keyboard_shortcuts.pinned": "para abrir a listaxe dos toots fixados",
"keyboard_shortcuts.profile": "para abrir o perfil do autor", "keyboard_shortcuts.profile": "para abrir o perfil da autora",
"keyboard_shortcuts.reply": "para responder", "keyboard_shortcuts.reply": "para responder",
"keyboard_shortcuts.requests": "para abrir a listaxe das peticións de seguimento", "keyboard_shortcuts.requests": "para abrir a listaxe das peticións de seguimento",
"keyboard_shortcuts.search": "para destacar a procura", "keyboard_shortcuts.search": "para destacar a procura",
@ -311,7 +313,7 @@
"poll.closed": "Pechado", "poll.closed": "Pechado",
"poll.refresh": "Actualizar", "poll.refresh": "Actualizar",
"poll.total_people": "{count, plural,one {# persoa}other {# persoas}}", "poll.total_people": "{count, plural,one {# persoa}other {# persoas}}",
"poll.total_votes": "{count, plural, one {# voto} outros {# votos}}", "poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
"poll.vote": "Votar", "poll.vote": "Votar",
"poll.voted": "Votaches por esta opción", "poll.voted": "Votaches por esta opción",
"poll_button.add_poll": "Engadir unha enquisa", "poll_button.add_poll": "Engadir unha enquisa",
@ -333,6 +335,7 @@
"relative_time.just_now": "agora", "relative_time.just_now": "agora",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "hoxe",
"reply_indicator.cancel": "Desbotar", "reply_indicator.cancel": "Desbotar",
"report.forward": "Reenviar a {target}", "report.forward": "Reenviar a {target}",
"report.forward_hint": "A conta é doutro servidor. Enviar unha copia anónima da denuncia aló tamén?", "report.forward_hint": "A conta é doutro servidor. Enviar unha copia anónima da denuncia aló tamén?",
@ -354,14 +357,14 @@
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
"status.admin_account": "Abrir interface de moderación para @{name}", "status.admin_account": "Abrir interface de moderación para @{name}",
"status.admin_status": "Abrir este estado na interface de moderación", "status.admin_status": "Abrir este estado na interface de moderación",
"status.block": "Bloquear @{name}", "status.block": "Bloquear a @{name}",
"status.bookmark": "Marcar", "status.bookmark": "Marcar",
"status.cancel_reblog_private": "Desfacer compartido", "status.cancel_reblog_private": "Desfacer compartido",
"status.cannot_reblog": "Esta publicación non pode ser promovida", "status.cannot_reblog": "Esta publicación non pode ser promovida",
"status.copy": "Copiar ligazón ó estado", "status.copy": "Copiar ligazón ó estado",
"status.delete": "Eliminar", "status.delete": "Eliminar",
"status.detailed_status": "Vista detallada da conversa", "status.detailed_status": "Vista detallada da conversa",
"status.direct": "Mensaxe directa @{name}", "status.direct": "Mensaxe directa a @{name}",
"status.embed": "Embeber nunha web", "status.embed": "Embeber nunha web",
"status.favourite": "Favorito", "status.favourite": "Favorito",
"status.filtered": "Filtrado", "status.filtered": "Filtrado",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "למתחילים", "home.column_settings.basic": "למתחילים",
"home.column_settings.show_reblogs": "הצגת הדהודים", "home.column_settings.show_reblogs": "הצגת הדהודים",
"home.column_settings.show_replies": "הצגת תגובות", "home.column_settings.show_replies": "הצגת תגובות",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "כרגע", "relative_time.just_now": "כרגע",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "ביטול", "reply_indicator.cancel": "ביטול",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "बुनियादी", "home.column_settings.basic": "बुनियादी",
"home.column_settings.show_reblogs": "बूस्ट दिखाए", "home.column_settings.show_reblogs": "बूस्ट दिखाए",
"home.column_settings.show_replies": "जवाबों को दिखाए", "home.column_settings.show_replies": "जवाबों को दिखाए",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "अभी", "relative_time.just_now": "अभी",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "रद्द करें", "reply_indicator.cancel": "रद्द करें",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Osnovno", "home.column_settings.basic": "Osnovno",
"home.column_settings.show_reblogs": "Pokaži boostove", "home.column_settings.show_reblogs": "Pokaži boostove",
"home.column_settings.show_replies": "Pokaži odgovore", "home.column_settings.show_replies": "Pokaži odgovore",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "now", "relative_time.just_now": "now",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Otkaži", "reply_indicator.cancel": "Otkaži",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Alapvető", "home.column_settings.basic": "Alapvető",
"home.column_settings.show_reblogs": "Megtolások mutatása", "home.column_settings.show_reblogs": "Megtolások mutatása",
"home.column_settings.show_replies": "Válaszok mutatása", "home.column_settings.show_replies": "Válaszok mutatása",
"home.hide_announcements": "Közlemények elrejtése",
"home.show_announcements": "Közlemények mutatása",
"intervals.full.days": "{number, plural, one {# nap} other {# nap}}", "intervals.full.days": "{number, plural, one {# nap} other {# nap}}",
"intervals.full.hours": "{number, plural, one {# óra} other {# óra}}", "intervals.full.hours": "{number, plural, one {# óra} other {# óra}}",
"intervals.full.minutes": "{number, plural, one {# perc} other {# perc}}", "intervals.full.minutes": "{number, plural, one {# perc} other {# perc}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "most", "relative_time.just_now": "most",
"relative_time.minutes": "{number}p", "relative_time.minutes": "{number}p",
"relative_time.seconds": "{number}mp", "relative_time.seconds": "{number}mp",
"relative_time.today": "ma",
"reply_indicator.cancel": "Mégsem", "reply_indicator.cancel": "Mégsem",
"report.forward": "Továbbítás: {target}", "report.forward": "Továbbítás: {target}",
"report.forward_hint": "Ez a fiók egy másik kiszolgálóról van. Oda is elküldöd a jelentés egy anonimizált másolatát?", "report.forward_hint": "Ez a fiók egy másik kiszolgálóról van. Oda is elküldöd a jelentés egy anonimizált másolatát?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Հիմնական", "home.column_settings.basic": "Հիմնական",
"home.column_settings.show_reblogs": "Ցուցադրել տարածածները", "home.column_settings.show_reblogs": "Ցուցադրել տարածածները",
"home.column_settings.show_replies": "Ցուցադրել պատասխանները", "home.column_settings.show_replies": "Ցուցադրել պատասխանները",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "նոր", "relative_time.just_now": "նոր",
"relative_time.minutes": "{number}ր", "relative_time.minutes": "{number}ր",
"relative_time.seconds": "{number}վ", "relative_time.seconds": "{number}վ",
"relative_time.today": "today",
"reply_indicator.cancel": "Չեղարկել", "reply_indicator.cancel": "Չեղարկել",
"report.forward": "Փոխանցել {target}֊ին", "report.forward": "Փոխանցել {target}֊ին",
"report.forward_hint": "Այս հաշիւ այլ հանգոյցից է։ Ուղարկե՞մ այնտեղ էլ այս բողոքի անոնիմ պատճէնը։", "report.forward_hint": "Այս հաշիւ այլ հանգոյցից է։ Ուղարկե՞մ այնտեղ էլ այս բողոքի անոնիմ պատճէնը։",

View File

@ -43,7 +43,7 @@
"alert.rate_limited.title": "Batasan tingkat", "alert.rate_limited.title": "Batasan tingkat",
"alert.unexpected.message": "Terjadi kesalahan yang tidak terduga.", "alert.unexpected.message": "Terjadi kesalahan yang tidak terduga.",
"alert.unexpected.title": "Oops!", "alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement", "announcement.announcement": "Pengumuman",
"autosuggest_hashtag.per_week": "{count} per minggu", "autosuggest_hashtag.per_week": "{count} per minggu",
"boost_modal.combo": "Anda dapat menekan {combo} untuk melewati ini", "boost_modal.combo": "Anda dapat menekan {combo} untuk melewati ini",
"bundle_column_error.body": "Kesalahan terjadi saat memuat komponen ini.", "bundle_column_error.body": "Kesalahan terjadi saat memuat komponen ini.",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Dasar", "home.column_settings.basic": "Dasar",
"home.column_settings.show_reblogs": "Tampilkan boost", "home.column_settings.show_reblogs": "Tampilkan boost",
"home.column_settings.show_replies": "Tampilkan balasan", "home.column_settings.show_replies": "Tampilkan balasan",
"home.hide_announcements": "Sembunyikan pengumuman",
"home.show_announcements": "Tampilkan pengumuman",
"intervals.full.days": "{number, plural, other {# hari}}", "intervals.full.days": "{number, plural, other {# hari}}",
"intervals.full.hours": "{number, plural, other {# jam}}", "intervals.full.hours": "{number, plural, other {# jam}}",
"intervals.full.minutes": "{number, plural, other {# menit}}", "intervals.full.minutes": "{number, plural, other {# menit}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "sekarang", "relative_time.just_now": "sekarang",
"relative_time.minutes": "{number}b", "relative_time.minutes": "{number}b",
"relative_time.seconds": "{number}d", "relative_time.seconds": "{number}d",
"relative_time.today": "hari ini",
"reply_indicator.cancel": "Batal", "reply_indicator.cancel": "Batal",
"report.forward": "Teruskan ke {target}", "report.forward": "Teruskan ke {target}",
"report.forward_hint": "Akun dari server lain. Kirim salinan laporan scr anonim ke sana?", "report.forward_hint": "Akun dari server lain. Kirim salinan laporan scr anonim ke sana?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Simpla", "home.column_settings.basic": "Simpla",
"home.column_settings.show_reblogs": "Montrar repeti", "home.column_settings.show_reblogs": "Montrar repeti",
"home.column_settings.show_replies": "Montrar respondi", "home.column_settings.show_replies": "Montrar respondi",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "now", "relative_time.just_now": "now",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Nihiligar", "reply_indicator.cancel": "Nihiligar",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -43,7 +43,7 @@
"alert.rate_limited.title": "Með takmörkum", "alert.rate_limited.title": "Með takmörkum",
"alert.unexpected.message": "Upp kom óvænt villa.", "alert.unexpected.message": "Upp kom óvænt villa.",
"alert.unexpected.title": "Úbbs!", "alert.unexpected.title": "Úbbs!",
"announcement.announcement": "Announcement", "announcement.announcement": "Auglýsing",
"autosuggest_hashtag.per_week": "{count} á viku", "autosuggest_hashtag.per_week": "{count} á viku",
"boost_modal.combo": "Þú getur ýtt á {combo} til að sleppa þessu næst", "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.", "bundle_column_error.body": "Eitthvað fór úrskeiðis við að hlaða inn þessari einingu.",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Einfalt", "home.column_settings.basic": "Einfalt",
"home.column_settings.show_reblogs": "Sýna endurbirtingar", "home.column_settings.show_reblogs": "Sýna endurbirtingar",
"home.column_settings.show_replies": "Birta svör", "home.column_settings.show_replies": "Birta svör",
"home.hide_announcements": "Fela auglýsingar",
"home.show_announcements": "Birta auglýsingar",
"intervals.full.days": "{number, plural, one {# dagur} other {# dagar}}", "intervals.full.days": "{number, plural, one {# dagur} other {# dagar}}",
"intervals.full.hours": "{number, plural, one {# klukkustund} other {# klukkustundir}}", "intervals.full.hours": "{number, plural, one {# klukkustund} other {# klukkustundir}}",
"intervals.full.minutes": "{number, plural, one {# mínúta} other {# mínútur}}", "intervals.full.minutes": "{number, plural, one {# mínúta} other {# mínútur}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "núna", "relative_time.just_now": "núna",
"relative_time.minutes": "{number}mín", "relative_time.minutes": "{number}mín",
"relative_time.seconds": "{number}sek", "relative_time.seconds": "{number}sek",
"relative_time.today": "í dag",
"reply_indicator.cancel": "Hætta við", "reply_indicator.cancel": "Hætta við",
"report.forward": "Áframsenda til {target}", "report.forward": "Áframsenda til {target}",
"report.forward_hint": "Notandaaðgangurinn er af öðrum vefþjóni. Á einnig að senda nafnlaust afrit af kærunni þangað?", "report.forward_hint": "Notandaaðgangurinn er af öðrum vefþjóni. Á einnig að senda nafnlaust afrit af kærunni þangað?",

View File

@ -43,7 +43,7 @@
"alert.rate_limited.title": "Numero massimo di richieste superato", "alert.rate_limited.title": "Numero massimo di richieste superato",
"alert.unexpected.message": "Si è verificato un errore inatteso.", "alert.unexpected.message": "Si è verificato un errore inatteso.",
"alert.unexpected.title": "Oops!", "alert.unexpected.title": "Oops!",
"announcement.announcement": "Announcement", "announcement.announcement": "Annuncio",
"autosuggest_hashtag.per_week": "{count} per settimana", "autosuggest_hashtag.per_week": "{count} per settimana",
"boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio la prossima volta", "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.", "bundle_column_error.body": "E' avvenuto un errore durante il caricamento di questo componente.",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Semplice", "home.column_settings.basic": "Semplice",
"home.column_settings.show_reblogs": "Mostra post condivisi", "home.column_settings.show_reblogs": "Mostra post condivisi",
"home.column_settings.show_replies": "Mostra risposte", "home.column_settings.show_replies": "Mostra risposte",
"home.hide_announcements": "Nascondi annunci",
"home.show_announcements": "Mostra annunci",
"intervals.full.days": "{number, plural, one {# giorno} other {# giorni}}", "intervals.full.days": "{number, plural, one {# giorno} other {# giorni}}",
"intervals.full.hours": "{number, plural, one {# ora} other {# ore}}", "intervals.full.hours": "{number, plural, one {# ora} other {# ore}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minuti}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minuti}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "ora", "relative_time.just_now": "ora",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "oggi",
"reply_indicator.cancel": "Annulla", "reply_indicator.cancel": "Annulla",
"report.forward": "Inoltra a {target}", "report.forward": "Inoltra a {target}",
"report.forward_hint": "Questo account appartiene a un altro server. Mandare anche là una copia anonima del rapporto?", "report.forward_hint": "Questo account appartiene a un altro server. Mandare anche là una copia anonima del rapporto?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "基本設定", "home.column_settings.basic": "基本設定",
"home.column_settings.show_reblogs": "ブースト表示", "home.column_settings.show_reblogs": "ブースト表示",
"home.column_settings.show_replies": "返信表示", "home.column_settings.show_replies": "返信表示",
"home.hide_announcements": "お知らせを隠す",
"home.show_announcements": "お知らせを表示",
"intervals.full.days": "{number}日", "intervals.full.days": "{number}日",
"intervals.full.hours": "{number}時間", "intervals.full.hours": "{number}時間",
"intervals.full.minutes": "{number}分", "intervals.full.minutes": "{number}分",
@ -333,6 +335,7 @@
"relative_time.just_now": "今", "relative_time.just_now": "今",
"relative_time.minutes": "{number}分前", "relative_time.minutes": "{number}分前",
"relative_time.seconds": "{number}秒前", "relative_time.seconds": "{number}秒前",
"relative_time.today": "今日",
"reply_indicator.cancel": "キャンセル", "reply_indicator.cancel": "キャンセル",
"report.forward": "{target} に転送する", "report.forward": "{target} に転送する",
"report.forward_hint": "このアカウントは別のサーバーに所属しています。通報内容を匿名で転送しますか?", "report.forward_hint": "このアカウントは別のサーバーに所属しています。通報内容を匿名で転送しますか?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "ძირითადი", "home.column_settings.basic": "ძირითადი",
"home.column_settings.show_reblogs": "ბუსტების ჩვენება", "home.column_settings.show_reblogs": "ბუსტების ჩვენება",
"home.column_settings.show_replies": "პასუხების ჩვენება", "home.column_settings.show_replies": "პასუხების ჩვენება",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "ახლა", "relative_time.just_now": "ახლა",
"relative_time.minutes": "{number}წთ", "relative_time.minutes": "{number}წთ",
"relative_time.seconds": "{number}წმ", "relative_time.seconds": "{number}წმ",
"relative_time.today": "today",
"reply_indicator.cancel": "უარყოფა", "reply_indicator.cancel": "უარყოფა",
"report.forward": "ფორვარდი {target}-ს", "report.forward": "ფორვარდი {target}-ს",
"report.forward_hint": "ანგარიში სხვა სერვერიდანაა. გავაგზავნოთ რეპორტის ანონიმური ასლიც?", "report.forward_hint": "ანგარიში სხვა სერვერიდანაა. გავაგზავნოთ რეპორტის ანონიმური ასლიც?",

View File

@ -13,7 +13,7 @@
"account.follow": "Ḍfeṛ", "account.follow": "Ḍfeṛ",
"account.followers": "Imeḍfaṛen", "account.followers": "Imeḍfaṛen",
"account.followers.empty": "Ar tura, ulac yiwen i yeṭṭafaṛen amseqdac-agi.", "account.followers.empty": "Ar tura, ulac yiwen i yeṭṭafaṛen amseqdac-agi.",
"account.follows": "Aḍfaṛen", "account.follows": "Ig ṭafaṛ",
"account.follows.empty": "Ar tura, amseqdac-agi ur yeṭṭafaṛ yiwen.", "account.follows.empty": "Ar tura, amseqdac-agi ur yeṭṭafaṛ yiwen.",
"account.follows_you": "Yeṭṭafaṛ-ik", "account.follows_you": "Yeṭṭafaṛ-ik",
"account.hide_reblogs": "Ffer ayen i ibeṭṭu @{name}", "account.hide_reblogs": "Ffer ayen i ibeṭṭu @{name}",
@ -27,8 +27,8 @@
"account.mute_notifications": "Susem ilγa sγur @{name}", "account.mute_notifications": "Susem ilγa sγur @{name}",
"account.muted": "Yettwasgugem", "account.muted": "Yettwasgugem",
"account.never_active": "Werǧin", "account.never_active": "Werǧin",
"account.posts": "Tiberraḥin", "account.posts": "Tijewwaqin",
"account.posts_with_replies": "Tibarraḥin d tririyin", "account.posts_with_replies": "Tijewwaqin akked tririyin",
"account.report": "Sewɛed @{name}", "account.report": "Sewɛed @{name}",
"account.requested": "Di laɛḍil ad yettwaqbel. Ssit iwakken ad yefsex usuter n weḍfar", "account.requested": "Di laɛḍil ad yettwaqbel. Ssit iwakken ad yefsex usuter n weḍfar",
"account.share": "Bḍu amaγnu n @{name}", "account.share": "Bḍu amaγnu n @{name}",
@ -41,9 +41,9 @@
"account.unmute_notifications": "Serreḥ ilγa sγur @{name}", "account.unmute_notifications": "Serreḥ ilγa sγur @{name}",
"alert.rate_limited.message": "Ma ulac aγilif ɛreḍ tikelt-nniḍen mbeɛd {retry_time, time, medium}.", "alert.rate_limited.message": "Ma ulac aγilif ɛreḍ tikelt-nniḍen mbeɛd {retry_time, time, medium}.",
"alert.rate_limited.title": "Aktum s talast", "alert.rate_limited.title": "Aktum s talast",
"alert.unexpected.message": "Tella-d tuccḍa i ɣef ur nedmi ara.", "alert.unexpected.message": "Tella-d tuccḍa i γef ur nedmi ara.",
"alert.unexpected.title": "Ayhuh!", "alert.unexpected.title": "Ayhuh!",
"announcement.announcement": "Announcement", "announcement.announcement": "Ulγu",
"autosuggest_hashtag.per_week": "{count} i yimalas", "autosuggest_hashtag.per_week": "{count} i yimalas",
"boost_modal.combo": "Tzemreḍ ad tetekkiḍ γef {combo} akken ad tessurfeḍ aya tikelt-nniḍen", "boost_modal.combo": "Tzemreḍ ad tetekkiḍ γef {combo} akken ad tessurfeḍ aya tikelt-nniḍen",
"bundle_column_error.body": "Tella-d kra n tuccḍa mi d-yettali ugbur-agi.", "bundle_column_error.body": "Tella-d kra n tuccḍa mi d-yettali ugbur-agi.",
@ -64,7 +64,7 @@
"column.lists": "Tibdarin", "column.lists": "Tibdarin",
"column.mutes": "Imiḍanen yettwasgugmen", "column.mutes": "Imiḍanen yettwasgugmen",
"column.notifications": "Tilγa", "column.notifications": "Tilγa",
"column.pins": "Tiberraḥin yettwasenṭḍen", "column.pins": "Tijewwaqin yettwasenṭḍen",
"column.public": "Tasuddemt tamatut", "column.public": "Tasuddemt tamatut",
"column_back_button.label": "Tuγalin", "column_back_button.label": "Tuγalin",
"column_header.hide_settings": "Ffer iγewwaṛen", "column_header.hide_settings": "Ffer iγewwaṛen",
@ -75,7 +75,7 @@
"column_header.unpin": "Kkes asenteḍ", "column_header.unpin": "Kkes asenteḍ",
"column_subheading.settings": "Iγewwaṛen", "column_subheading.settings": "Iγewwaṛen",
"community.column_settings.media_only": "Allal n teywalt kan", "community.column_settings.media_only": "Allal n teywalt kan",
"compose_form.direct_message_warning": "Taberraḥt-a ad d-tettwasken kan i yimseqdacen i d-yettwabedren.", "compose_form.direct_message_warning": "Tajewwaqt-a ad d-tettwasken kan i yimseqdacen i d-yettwabedren.",
"compose_form.direct_message_warning_learn_more": "Issin ugar", "compose_form.direct_message_warning_learn_more": "Issin ugar",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
"compose_form.lock_disclaimer": "Amiḍan-ik ur yelli ara {locked}. Menwala yezmer ad k-yeḍfeṛ akken ad iẓer acu tbeṭṭuḍ akked yimeḍfaṛen-ik.", "compose_form.lock_disclaimer": "Amiḍan-ik ur yelli ara {locked}. Menwala yezmer ad k-yeḍfeṛ akken ad iẓer acu tbeṭṭuḍ akked yimeḍfaṛen-ik.",
@ -87,7 +87,7 @@
"compose_form.poll.remove_option": "Sfeḍ afran-agi", "compose_form.poll.remove_option": "Sfeḍ afran-agi",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices", "compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice", "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
"compose_form.publish": "Taberraḥt", "compose_form.publish": "Jewweq",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Creḍ allal n teywalt d anafri", "compose_form.sensitive.hide": "Creḍ allal n teywalt d anafri",
"compose_form.sensitive.marked": "Allal n teywalt yettwacreḍ d anafri", "compose_form.sensitive.marked": "Allal n teywalt yettwacreḍ d anafri",
@ -109,20 +109,20 @@
"confirmations.logout.message": "D tidet tebγiḍ ad teffγeḍ?", "confirmations.logout.message": "D tidet tebγiḍ ad teffγeḍ?",
"confirmations.mute.confirm": "Sgugem", "confirmations.mute.confirm": "Sgugem",
"confirmations.mute.explanation": "Aya ad yeffer iznan-is d wid i deg d-yettwabder neγ d-tettwabder, maca xas akka yezmer neγ tezmer awali n yiznan-inek d uḍfaṛ-ik.", "confirmations.mute.explanation": "Aya ad yeffer iznan-is d wid i deg d-yettwabder neγ d-tettwabder, maca xas akka yezmer neγ tezmer awali n yiznan-inek d uḍfaṛ-ik.",
"confirmations.mute.message": "Tetḥeqqeḍ belli tebγiḍ asɛuggen n {name}?", "confirmations.mute.message": "Tetḥeqqeḍ belli tebγiḍ ad ttegugmeḍ {name}?",
"confirmations.redraft.confirm": "Sfeḍ & Ɛiwed tira", "confirmations.redraft.confirm": "Sfeḍ & Ɛiwed tira",
"confirmations.redraft.message": "Tetḥeqqeḍ belli tebγiḍ asfaḍ n waddad-agi iwakken ad s-tɛiwdeḍ tira? Ismenyifen d beḍḍuwat ad ṛuḥen, ma d tiririyin-is ad uγalent d tigujilin.", "confirmations.redraft.message": "Tetḥeqqeḍ belli tebγiḍ tuksa n waddad-agi iwakken ad s-tɛiwdeḍ tira? Ismenyifen d beḍḍuwat ad ṛuḥen, ma d tiririyin-is ad uγalent d tigujilin.",
"confirmations.reply.confirm": "Err", "confirmations.reply.confirm": "Err",
"confirmations.reply.message": "Tiririt akka tura ad k-degger izen-agi i tettaruḍ. Tebγiḍ ad tkemmleḍ?", "confirmations.reply.message": "Tiririt akka tura ad k-degger izen-agi i tettaruḍ. Tebγiḍ ad tkemmleḍ?",
"confirmations.unfollow.confirm": "Ur ḍḍafaṛ ara", "confirmations.unfollow.confirm": "Ur ḍḍafaṛ ara",
"confirmations.unfollow.message": "Tetḥeqqeḍ belli tebγiḍ ur teḍḍafaṛeḍ ara {name}?", "confirmations.unfollow.message": "Tetḥeqqeḍ belli tebγiḍ ur teafaṛeḍ ara {name}?",
"conversation.delete": "Sfeḍ adiwenni", "conversation.delete": "Sfeḍ adiwenni",
"conversation.mark_as_read": "Creḍ yettwaγṛa", "conversation.mark_as_read": "Creḍ yettwaγṛa",
"conversation.open": "Sken adiwenni", "conversation.open": "Sken adiwenni",
"conversation.with": "Akked {names}", "conversation.with": "Akked {names}",
"directory.federated": "Seg fedivers yettwasnen", "directory.federated": "Deg fedivers yettwasnen",
"directory.local": "Seg {domain} kan", "directory.local": "Seg {domain} kan",
"directory.new_arrivals": "Inebgawen imaynuten", "directory.new_arrivals": "Imaynuten id yewḍen",
"directory.recently_active": "Yermed xas melmi kan", "directory.recently_active": "Yermed xas melmi kan",
"embed.instructions": "Ẓẓu addad-agi deg usmel-inek s wenγal n tangalt yellan sdaw-agi.", "embed.instructions": "Ẓẓu addad-agi deg usmel-inek s wenγal n tangalt yellan sdaw-agi.",
"embed.preview": "Akka ara d-iban:", "embed.preview": "Akka ara d-iban:",
@ -140,15 +140,15 @@
"emoji_button.search_results": "Igmaḍ u unadi", "emoji_button.search_results": "Igmaḍ u unadi",
"emoji_button.symbols": "Izamulen", "emoji_button.symbols": "Izamulen",
"emoji_button.travel": "Imeḍqan d Yinigen", "emoji_button.travel": "Imeḍqan d Yinigen",
"empty_column.account_timeline": "Ulac tiberraḥin dagi!", "empty_column.account_timeline": "Ulac tijewwaqin dagi!",
"empty_column.account_unavailable": "Ur nufi ara amaγnu-a", "empty_column.account_unavailable": "Ur nufi ara amaγnu-a",
"empty_column.blocks": "Ur tesḥebseḍ ula yiwen n umseqdac ar tura.", "empty_column.blocks": "Ur tesḥebseḍ ula yiwen n umseqdac ar tura.",
"empty_column.bookmarked_statuses": "Ulac tiberraḥin i terniḍ γer yismenyifen-ik ar tura. Ticki terniḍ yiwet, ad d-tettwasken da.", "empty_column.bookmarked_statuses": "Ulac tijewwaqin i terniḍ γer yismenyifen-ik ar tura. Ticki terniḍ yiwet, ad d-tettwasken da.",
"empty_column.community": "Tasuddemt tazayezt tadigant n yisallen d tilemt. Aru ihi kra akken ad tt-teččareḍ!", "empty_column.community": "Tasuddemt tazayezt tadigant n yisallen d tilemt. Aru ihi kra akken ad tt-teččareḍ!",
"empty_column.direct": "Ulac γur-k ula yiwen n yizen usrid. Ad d-yettwasken da, ticki tuzneḍ neγ teṭṭfeḍ-d yiwen.", "empty_column.direct": "Ulac γur-k ula yiwen n yizen usrid. Ad d-yettwasken da, ticki tuzneḍ neγ teṭṭfeḍ-d yiwen.",
"empty_column.domain_blocks": "Ulac kra n taγult yettwaffren ar tura.", "empty_column.domain_blocks": "Ulac kra n taγult yettwaffren ar tura.",
"empty_column.favourited_statuses": "Ulac ula yiwet n tberraḥt deg yismenyifen-ik ar tura. Ticki Tella-d yiwet, ad d-ban da.", "empty_column.favourited_statuses": "Ulac ula yiwet n tjewwaqt deg yismenyifen-ik ar tura. Ticki Tella-d yiwet, ad d-ban da.",
"empty_column.favourites": "Ula yiwen ur yerri taberraḥt-agi deg yismenyifen-is. Melmi i d-yella waya, ad d-yettwasken da.", "empty_column.favourites": "Ula yiwen ur yerri tajewwaqt-agi deg yismenyifen-is. Melmi i d-yella waya, ad d-yettwasken da.",
"empty_column.follow_requests": "Ulac γur-k ula yiwen n usuter n teḍfeṛt. Ticki teṭṭfeḍ-d yiwen ad d-yettwasken da.", "empty_column.follow_requests": "Ulac γur-k ula yiwen n usuter n teḍfeṛt. Ticki teṭṭfeḍ-d yiwen ad d-yettwasken da.",
"empty_column.hashtag": "Ar tura ulac kra n ugbur yesɛan assaγ γer uhacṭag-agi.", "empty_column.hashtag": "Ar tura ulac kra n ugbur yesɛan assaγ γer uhacṭag-agi.",
"empty_column.home": "Tasuddemt tagejdant n yisallen d tilemt! Ẓer {public} neγ nadi ad tafeḍ imseqdacen-nniḍen ad ten-ḍefṛeḍ.", "empty_column.home": "Tasuddemt tagejdant n yisallen d tilemt! Ẓer {public} neγ nadi ad tafeḍ imseqdacen-nniḍen ad ten-ḍefṛeḍ.",
@ -159,17 +159,17 @@
"empty_column.notifications": "Ulac γur-k tilγa. Sedmer akked yemdanen-nniḍen akken ad tebduḍ adiwenni.", "empty_column.notifications": "Ulac γur-k tilγa. Sedmer akked yemdanen-nniḍen akken ad tebduḍ adiwenni.",
"empty_column.public": "Ulac kra da! Aru kra, neγ ḍfeṛ imdanen i yellan deg yiqeddacen-nniḍen akken ad d-teččar tsuddemt tazayezt", "empty_column.public": "Ulac kra da! Aru kra, neγ ḍfeṛ imdanen i yellan deg yiqeddacen-nniḍen akken ad d-teččar tsuddemt tazayezt",
"error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.", "error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.",
"error.unexpected_crash.next_steps": "Smiren asebter-a, ma ur yekkis ara wugur, ẓer d akken tzemreḍ ad tesqedceḍ Masṭudun deg yiminig-nniḍen neγ deg usnas anaṣli.", "error.unexpected_crash.next_steps": "Smiren asebter-a, ma ur yekkis ara wugur, ẓer d akken tzemreḍ ad tesqedceḍ Maṭudun deg yiminig-nniḍen neγ deg usnas anaṣli.",
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard", "errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
"errors.unexpected_crash.report_issue": "Mmel ugur", "errors.unexpected_crash.report_issue": "Mmel ugur",
"follow_request.authorize": "Ssireg", "follow_request.authorize": "Ssireg",
"follow_request.reject": "Agi", "follow_request.reject": "Agi",
"getting_started.developers": "Ineflayen", "getting_started.developers": "Ineflayen",
"getting_started.directory": "Imaγnuten", "getting_started.directory": "Akaram n imaγnuten",
"getting_started.documentation": "Amnir", "getting_started.documentation": "Amnir",
"getting_started.heading": "Bdu", "getting_started.heading": "Bdu",
"getting_started.invite": "Snebgi-d imdanen", "getting_started.invite": "Snebgi-d imdanen",
"getting_started.open_source_notice": "Mastudun d aseγzan s uγbalu yeldin. Tzemreḍ ad tɛiwneḍ neγ ad temmleḍ uguren deg GitHub {github}.", "getting_started.open_source_notice": "Maṣṭudun d aseγzan s uγbalu yeldin. Tzemreḍ ad tɛiwneḍ neγ ad temmleḍ uguren deg GitHub {github}.",
"getting_started.security": "Iγewwaṛen n umiḍan", "getting_started.security": "Iγewwaṛen n umiḍan",
"getting_started.terms": "Tiwetlin n useqdec", "getting_started.terms": "Tiwetlin n useqdec",
"hashtag.column_header.tag_mode.all": "d {additional}", "hashtag.column_header.tag_mode.all": "d {additional}",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Igejdanen", "home.column_settings.basic": "Igejdanen",
"home.column_settings.show_reblogs": "Sken-d beṭṭu", "home.column_settings.show_reblogs": "Sken-d beṭṭu",
"home.column_settings.show_replies": "Sken-d tiririyin", "home.column_settings.show_replies": "Sken-d tiririyin",
"home.hide_announcements": "Ffer ulγuyen",
"home.show_announcements": "Sken-d ulγuyen",
"intervals.full.days": "{number, plural, one {# n wass} other {# n wussan}}", "intervals.full.days": "{number, plural, one {# n wass} other {# n wussan}}",
"intervals.full.hours": "{number, plural, one {# n usarag} other {# n yesragen}}", "intervals.full.hours": "{number, plural, one {# n usarag} other {# n yesragen}}",
"intervals.full.minutes": "{number, plural, one {# n tesdat} other {# n tesdatin}}", "intervals.full.minutes": "{number, plural, one {# n tesdat} other {# n tesdatin}}",
@ -196,14 +198,14 @@
"introduction.federation.local.text": "Iznan izuyaz n yemdanen i yellan deg yiwen uqeddac akked kečč ad d-banen deg tsuddemt tazayezt tadigant.", "introduction.federation.local.text": "Iznan izuyaz n yemdanen i yellan deg yiwen uqeddac akked kečč ad d-banen deg tsuddemt tazayezt tadigant.",
"introduction.interactions.action": "Fakk tameskant!", "introduction.interactions.action": "Fakk tameskant!",
"introduction.interactions.favourite.headline": "Ismenyifen", "introduction.interactions.favourite.headline": "Ismenyifen",
"introduction.interactions.favourite.text": "Tzemreḍ ad teǧǧeḍ kra n tberraḥt i ticki, daγen ad tiniḍ i bab-is d akken taɛǧeb-ik, s tmerna-ines γer yismenyifen-ik.", "introduction.interactions.favourite.text": "Tzemreḍ ad teǧǧeḍ kra n tjewwaqt i ticki, daγen ad tiniḍ i bab-is d akken taɛǧeb-ik, s tmerna-ines γer yismenyifen-ik.",
"introduction.interactions.reblog.headline": "Bḍu tikelt-nniḍen", "introduction.interactions.reblog.headline": "Bḍu tikelt-nniḍen",
"introduction.interactions.reblog.text": "Tzemreḍ ad tebḍuḍ akked yimeḍfaṛen-ik tiberraḥin n yemdanen-nniḍen s beṭṭu-nsent tikelt-nniḍen.", "introduction.interactions.reblog.text": "Tzemreḍ ad tebḍuḍ tijewwaqin n medden akk d yimeḍfaṛen-ik s beṭṭu-nsent tikelt-nniḍen.",
"introduction.interactions.reply.headline": "Err", "introduction.interactions.reply.headline": "Err",
"introduction.interactions.reply.text": "Tzemreḍ ad terreḍ γef tberraḥin-ik d tid n medden-nniḍen, d acu ara tent-id-iɛeqden ta deffir ta deg udiwenni.", "introduction.interactions.reply.text": "Tzemreḍ ad terreḍ γef tjewwakin-ik d tid n medden-nniḍen, d acu ara tent-id-iɛeqden ta deffir ta deg yiwen udiwenni.",
"introduction.welcome.action": "Bdu!", "introduction.welcome.action": "Bdu!",
"introduction.welcome.headline": "Isurifen imenza", "introduction.welcome.headline": "Isurifen imenza",
"introduction.welcome.text": "Anṣuf γer fediverse! Deg kra n yimiren, ad tizmireḍ ad tzzuzreḍ iznan neɣ ad tmeslayeḍ i yemddukkal deg waṭas n yiqeddacen. Maca aqeddac-agi, {domain}, mačči am wiyaḍ - deg-s i yella umaγnu-ik, ihi cfu γef yisem-is.", "introduction.welcome.text": "Anṣuf γer fediverse! Deg kra n yimiren, ad tizmireḍ ad tzzuzreḍ iznan neγ ad tmeslayeḍ i yemddukkal deg waṭas n yiqeddacen. Maca aqeddac-agi, {domain}, mačči am wiyaḍ - deg-s i yella umaγnu-ik, ihi cfu γef yisem-is.",
"keyboard_shortcuts.back": "uγal ar deffir", "keyboard_shortcuts.back": "uγal ar deffir",
"keyboard_shortcuts.blocked": "akken ad teldiḍ tabdert n yimseqdacen yettwasḥebsen", "keyboard_shortcuts.blocked": "akken ad teldiḍ tabdert n yimseqdacen yettwasḥebsen",
"keyboard_shortcuts.boost": "i beṭṭu tikelt-nniḍen", "keyboard_shortcuts.boost": "i beṭṭu tikelt-nniḍen",
@ -226,7 +228,7 @@
"keyboard_shortcuts.my_profile": "akken ad d-teldiḍ amaγnu-ik", "keyboard_shortcuts.my_profile": "akken ad d-teldiḍ amaγnu-ik",
"keyboard_shortcuts.notifications": "akken ad d-teldiḍ ajgu n tilγa", "keyboard_shortcuts.notifications": "akken ad d-teldiḍ ajgu n tilγa",
"keyboard_shortcuts.open_media": "to open media", "keyboard_shortcuts.open_media": "to open media",
"keyboard_shortcuts.pinned": "i tildin n tebdert n tberraḥin yettwasentḍen", "keyboard_shortcuts.pinned": "i tildin n tebdert n tjewwaqin yettwasentḍen",
"keyboard_shortcuts.profile": "akken ad d-teldiḍ amaγnu n umeskar", "keyboard_shortcuts.profile": "akken ad d-teldiḍ amaγnu n umeskar",
"keyboard_shortcuts.reply": "i tririt", "keyboard_shortcuts.reply": "i tririt",
"keyboard_shortcuts.requests": "akken ad d-teldiḍ tabdert n yisuturen n teḍfeṛt", "keyboard_shortcuts.requests": "akken ad d-teldiḍ tabdert n yisuturen n teḍfeṛt",
@ -234,7 +236,7 @@
"keyboard_shortcuts.start": "akken ad d-teldiḍ ajgu n \"bdu\"", "keyboard_shortcuts.start": "akken ad d-teldiḍ ajgu n \"bdu\"",
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
"keyboard_shortcuts.toggle_sensitivity": "i teskent/tuffra n yimidyaten", "keyboard_shortcuts.toggle_sensitivity": "i teskent/tuffra n yimidyaten",
"keyboard_shortcuts.toot": "i beddu n tberraḥt tamaynut", "keyboard_shortcuts.toot": "i wakken attebdud tajewwaqt tamaynut",
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
"keyboard_shortcuts.up": "i tulin γer ufella n tebdert", "keyboard_shortcuts.up": "i tulin γer ufella n tebdert",
"lightbox.close": "Mdel", "lightbox.close": "Mdel",
@ -251,7 +253,7 @@
"lists.search": "Nadi gar yemdanen i teṭṭafaṛeḍ", "lists.search": "Nadi gar yemdanen i teṭṭafaṛeḍ",
"lists.subheading": "Tibdarin-ik·im", "lists.subheading": "Tibdarin-ik·im",
"load_pending": "{count, plural, one {# n uferdis amaynut} other {# n yiferdisen imaynuten}}", "load_pending": "{count, plural, one {# n uferdis amaynut} other {# n yiferdisen imaynuten}}",
"loading_indicator.label": "Asali...", "loading_indicator.label": "Yessalay-ed…",
"media_gallery.toggle_visible": "Sken / Ffer", "media_gallery.toggle_visible": "Sken / Ffer",
"missing_indicator.label": "Ulac-it", "missing_indicator.label": "Ulac-it",
"missing_indicator.sublabel": "Ur nufi ara aγbalu-a", "missing_indicator.sublabel": "Ur nufi ara aγbalu-a",
@ -260,7 +262,7 @@
"navigation_bar.blocks": "Imseqdacen yettusḥebsen", "navigation_bar.blocks": "Imseqdacen yettusḥebsen",
"navigation_bar.bookmarks": "Ticraḍ", "navigation_bar.bookmarks": "Ticraḍ",
"navigation_bar.community_timeline": "Tasuddemt tadigant", "navigation_bar.community_timeline": "Tasuddemt tadigant",
"navigation_bar.compose": "Aru taberraḥt tamaynut", "navigation_bar.compose": "Aru tajewwiqt tamaynut",
"navigation_bar.direct": "Iznan usridden", "navigation_bar.direct": "Iznan usridden",
"navigation_bar.discover": "Ẓer", "navigation_bar.discover": "Ẓer",
"navigation_bar.domain_blocks": "Tiγula yeffren", "navigation_bar.domain_blocks": "Tiγula yeffren",
@ -275,7 +277,7 @@
"navigation_bar.logout": "Ffeγ", "navigation_bar.logout": "Ffeγ",
"navigation_bar.mutes": "Iseqdacen yettwasusmen", "navigation_bar.mutes": "Iseqdacen yettwasusmen",
"navigation_bar.personal": "Udmawan", "navigation_bar.personal": "Udmawan",
"navigation_bar.pins": "Tiberraḥin yettwasentḍen", "navigation_bar.pins": "Tijewwiqin yettwasentḍen",
"navigation_bar.preferences": "Imenyafen", "navigation_bar.preferences": "Imenyafen",
"navigation_bar.public_timeline": "Tasuddemt tazayezt tamatut", "navigation_bar.public_timeline": "Tasuddemt tazayezt tamatut",
"navigation_bar.security": "Taγellist", "navigation_bar.security": "Taγellist",
@ -285,7 +287,7 @@
"notification.mention": "{name} yebder-ik-id", "notification.mention": "{name} yebder-ik-id",
"notification.own_poll": "Your poll has ended", "notification.own_poll": "Your poll has ended",
"notification.poll": "A poll you have voted in has ended", "notification.poll": "A poll you have voted in has ended",
"notification.reblog": "{name} yebḍa taberraḥ-ik i tikelt-nniḍen", "notification.reblog": "{name} yebḍa tajewwiqt-ik i tikelt-nniḍen",
"notifications.clear": "Sfeḍ tilγa", "notifications.clear": "Sfeḍ tilγa",
"notifications.clear_confirmation": "Tebγiḍ s tidet ad tekkseḍ akk tilγa-ik i lebda?", "notifications.clear_confirmation": "Tebγiḍ s tidet ad tekkseḍ akk tilγa-ik i lebda?",
"notifications.column_settings.alert": "Tilγa n tnarit", "notifications.column_settings.alert": "Tilγa n tnarit",
@ -326,15 +328,16 @@
"privacy.unlisted.long": "Ur beṭṭu ara deg tsuddemt tazayezt", "privacy.unlisted.long": "Ur beṭṭu ara deg tsuddemt tazayezt",
"privacy.unlisted.short": "War tabdert", "privacy.unlisted.short": "War tabdert",
"refresh": "Smiren", "refresh": "Smiren",
"regeneration_indicator.label": "Asali…", "regeneration_indicator.label": "Yessalay-ed…",
"regeneration_indicator.sublabel": "Tasuddemt tagejdant ara d-tettwaheggay!", "regeneration_indicator.sublabel": "Tasuddemt tagejdant ara d-tettwaheggay!",
"relative_time.days": "{number}u", "relative_time.days": "{number}u",
"relative_time.hours": "{number}h", "relative_time.hours": "{number}a",
"relative_time.just_now": "tura", "relative_time.just_now": "tura",
"relative_time.minutes": "{number}t", "relative_time.minutes": "{number}t",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}t",
"relative_time.today": "assa",
"reply_indicator.cancel": "Sefsex", "reply_indicator.cancel": "Sefsex",
"report.forward": "Forward to {target}", "report.forward": "Bren-it γeṛ {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
"report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
"report.placeholder": "Iwenniten-nniḍen", "report.placeholder": "Iwenniten-nniḍen",
@ -344,13 +347,13 @@
"search_popout.search_format": "Anadi yenneflin", "search_popout.search_format": "Anadi yenneflin",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
"search_popout.tips.hashtag": "ahacṭag", "search_popout.tips.hashtag": "ahacṭag",
"search_popout.tips.status": "status", "search_popout.tips.status": "addad",
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
"search_popout.tips.user": "amseqdac", "search_popout.tips.user": "amseqdac",
"search_results.accounts": "Medden", "search_results.accounts": "Medden",
"search_results.hashtags": "Ihacṭagen", "search_results.hashtags": "Ihacṭagen",
"search_results.statuses": "Tibeṛṛaniyin", "search_results.statuses": "Tibeṛṛaniyin",
"search_results.statuses_fts_disabled": "Anadi n tberraḥin s ugbur-nsent ur yermid ara deg uqeddac-agi n Mastudun.", "search_results.statuses_fts_disabled": "Anadi γef tjewwiqin s ugbur-nsent ur yermid ara deg uqeddac-agi n Maṣṭudun.",
"search_results.total": "{count, number} {count, plural, one {n ugemmuḍ} other {n yigemmuḍen}}", "search_results.total": "{count, number} {count, plural, one {n ugemmuḍ} other {n yigemmuḍen}}",
"status.admin_account": "Open moderation interface for @{name}", "status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface", "status.admin_status": "Open this status in the moderation interface",
@ -366,23 +369,23 @@
"status.favourite": "Rnu γer yismenyifen", "status.favourite": "Rnu γer yismenyifen",
"status.filtered": "Yettwasizdeg", "status.filtered": "Yettwasizdeg",
"status.load_more": "Sali ugar", "status.load_more": "Sali ugar",
"status.media_hidden": "Media hidden", "status.media_hidden": "Taγwalt tettwaffer",
"status.mention": "Bder-d @{name}", "status.mention": "Bder-d @{name}",
"status.more": "Ugar", "status.more": "Ugar",
"status.mute": "Sussem @{name}", "status.mute": "Sussem @{name}",
"status.mute_conversation": "Mute conversation", "status.mute_conversation": "Sgugem adiwenni",
"status.open": "Semγeṛ tasuffeγt-agi", "status.open": "Semγeṛ tasuffeγt-agi",
"status.pin": "Senteḍ-itt deg umaγnu", "status.pin": "Senteḍ-itt deg umaγnu",
"status.pinned": "Tiberraḥin yettwasentḍen", "status.pinned": "Tijewwiqin yettwasentḍen",
"status.read_more": "Issin ugar", "status.read_more": "Issin ugar",
"status.reblog": "Bḍu", "status.reblog": "Bḍu",
"status.reblog_private": "Boost to original audience", "status.reblog_private": "Boost to original audience",
"status.reblogged_by": "{name} boosted", "status.reblogged_by": "{name} boosted",
"status.reblogs.empty": "Ula yiwen ur yebḍi taberraḥt-agi ar tura. Ticki yebḍa-tt yiwen, ad d-iban da.", "status.reblogs.empty": "Ula yiwen ur yebḍi tajewwiqt-agi ar tura. Ticki yebḍa-tt yiwen, ad d-iban da.",
"status.redraft": "Sfeḍ tɛiwdeḍ tira", "status.redraft": "Kkes tɛiwdeḍ tira",
"status.remove_bookmark": "Kkes tacreḍt", "status.remove_bookmark": "Kkes tacreḍt",
"status.reply": "Err", "status.reply": "Err",
"status.replyAll": "Reply to thread", "status.replyAll": "Err i lxiḍ",
"status.report": "Cetki γef @{name}", "status.report": "Cetki γef @{name}",
"status.sensitive_warning": "Agbur amḥulfu", "status.sensitive_warning": "Agbur amḥulfu",
"status.share": "Bḍu", "status.share": "Bḍu",
@ -390,7 +393,7 @@
"status.show_less_all": "Semẓi akk tisuffγin", "status.show_less_all": "Semẓi akk tisuffγin",
"status.show_more": "Sken-ed ugar", "status.show_more": "Sken-ed ugar",
"status.show_more_all": "Ẓerr ugar lebda", "status.show_more_all": "Ẓerr ugar lebda",
"status.show_thread": "Show thread", "status.show_thread": "Sken-ed lxiḍ",
"status.uncached_media_warning": "Ulac-it", "status.uncached_media_warning": "Ulac-it",
"status.unmute_conversation": "Kkes asgugem n udiwenni", "status.unmute_conversation": "Kkes asgugem n udiwenni",
"status.unpin": "Kkes asenteḍ seg umaγnu", "status.unpin": "Kkes asenteḍ seg umaγnu",
@ -408,9 +411,9 @@
"time_remaining.seconds": "Mazal {number, plural, one {# n tasint} other {# n tsinin}}", "time_remaining.seconds": "Mazal {number, plural, one {# n tasint} other {# n tsinin}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {n umdan} other {n yemdanen}} i yettmeslayen", "trends.count_by_accounts": "{count} {rawCount, plural, one {n umdan} other {n yemdanen}} i yettmeslayen",
"trends.trending_now": "Trending now", "trends.trending_now": "Trending now",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.", "ui.beforeunload": "Arewway-ik·im ad iruḥ ma yella tefeγ-ed deg Maṣṭudun.",
"upload_area.title": "Drag & drop to upload", "upload_area.title": "Zuḥeb rnu sers i tasalyt",
"upload_button.label": "Add media ({formats})", "upload_button.label": "Rnu Taγwalt ({formats})",
"upload_error.limit": "File upload limit exceeded.", "upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.", "upload_error.poll": "File upload not allowed with polls.",
"upload_form.audio_description": "Glem-d i yemdanen i yesɛan ugur deg tmesliwt", "upload_form.audio_description": "Glem-d i yemdanen i yesɛan ugur deg tmesliwt",
@ -421,10 +424,10 @@
"upload_modal.analyzing_picture": "Tasleḍt n tugna tetteddu…", "upload_modal.analyzing_picture": "Tasleḍt n tugna tetteddu…",
"upload_modal.apply": "Snes", "upload_modal.apply": "Snes",
"upload_modal.description_placeholder": "Aberraγ arurad ineggez nnig n uqjun amuṭṭis", "upload_modal.description_placeholder": "Aberraγ arurad ineggez nnig n uqjun amuṭṭis",
"upload_modal.detect_text": "Detect text from picture", "upload_modal.detect_text": "Sefru-d aḍris seg tugna",
"upload_modal.edit_media": "Edit media", "upload_modal.edit_media": "Ẓreg taγwalt",
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.", "upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
"upload_modal.preview_label": "Preview ({ratio})", "upload_modal.preview_label": "Taskant ({ratio})",
"upload_progress.label": "Asali iteddu...", "upload_progress.label": "Asali iteddu...",
"video.close": "Mdel tabidyutt", "video.close": "Mdel tabidyutt",
"video.download": "Sidered afaylu", "video.download": "Sidered afaylu",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Негізгі", "home.column_settings.basic": "Негізгі",
"home.column_settings.show_reblogs": "Бөлісулерді көрсету", "home.column_settings.show_reblogs": "Бөлісулерді көрсету",
"home.column_settings.show_replies": "Жауаптарды көрсету", "home.column_settings.show_replies": "Жауаптарды көрсету",
"home.hide_announcements": "Анонстарды жасыр",
"home.show_announcements": "Анонстарды көрсет",
"intervals.full.days": "{number, plural, one {# күн} other {# күн}}", "intervals.full.days": "{number, plural, one {# күн} other {# күн}}",
"intervals.full.hours": "{number, plural, one {# сағат} other {# сағат}}", "intervals.full.hours": "{number, plural, one {# сағат} other {# сағат}}",
"intervals.full.minutes": "{number, plural, one {# минут} other {# минут}}", "intervals.full.minutes": "{number, plural, one {# минут} other {# минут}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "жаңа", "relative_time.just_now": "жаңа",
"relative_time.minutes": "{number}мин", "relative_time.minutes": "{number}мин",
"relative_time.seconds": "{number}с", "relative_time.seconds": "{number}с",
"relative_time.today": "бүгін",
"reply_indicator.cancel": "Қайтып алу", "reply_indicator.cancel": "Қайтып алу",
"report.forward": "Жіберу {target}", "report.forward": "Жіберу {target}",
"report.forward_hint": "Бұл аккаунт басқа серверден. Аноним шағым жібересіз бе?", "report.forward_hint": "Бұл аккаунт басқа серверден. Аноним шағым жібересіз бе?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "now", "relative_time.just_now": "now",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Cancel", "reply_indicator.cancel": "Cancel",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -165,7 +165,7 @@
"follow_request.authorize": "허가", "follow_request.authorize": "허가",
"follow_request.reject": "거부", "follow_request.reject": "거부",
"getting_started.developers": "개발자", "getting_started.developers": "개발자",
"getting_started.directory": "프로필 디렉토리", "getting_started.directory": "프로필 책자",
"getting_started.documentation": "문서", "getting_started.documentation": "문서",
"getting_started.heading": "시작", "getting_started.heading": "시작",
"getting_started.invite": "초대", "getting_started.invite": "초대",
@ -184,6 +184,8 @@
"home.column_settings.basic": "기본 설정", "home.column_settings.basic": "기본 설정",
"home.column_settings.show_reblogs": "부스트 표시", "home.column_settings.show_reblogs": "부스트 표시",
"home.column_settings.show_replies": "답글 표시", "home.column_settings.show_replies": "답글 표시",
"home.hide_announcements": "공지사항 숨기기",
"home.show_announcements": "공지사항 보기",
"intervals.full.days": "{number} 일", "intervals.full.days": "{number} 일",
"intervals.full.hours": "{number} 시간", "intervals.full.hours": "{number} 시간",
"intervals.full.minutes": "{number} 분", "intervals.full.minutes": "{number} 분",
@ -333,6 +335,7 @@
"relative_time.just_now": "방금", "relative_time.just_now": "방금",
"relative_time.minutes": "{number}분 전", "relative_time.minutes": "{number}분 전",
"relative_time.seconds": "{number}초 전", "relative_time.seconds": "{number}초 전",
"relative_time.today": "오늘",
"reply_indicator.cancel": "취소", "reply_indicator.cancel": "취소",
"report.forward": "{target}에 포워드 됨", "report.forward": "{target}에 포워드 됨",
"report.forward_hint": "이 계정은 다른 서버에 있습니다. 익명화 된 사본을 해당 서버에도 전송할까요?", "report.forward_hint": "이 계정은 다른 서버에 있습니다. 익명화 된 사본을 해당 서버에도 전송할까요?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "now", "relative_time.just_now": "now",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Cancel", "reply_indicator.cancel": "Cancel",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "now", "relative_time.just_now": "now",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Cancel", "reply_indicator.cancel": "Cancel",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Основно", "home.column_settings.basic": "Основно",
"home.column_settings.show_reblogs": "Прикажи бустирања", "home.column_settings.show_reblogs": "Прикажи бустирања",
"home.column_settings.show_replies": "Прикажи одговори", "home.column_settings.show_replies": "Прикажи одговори",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# ден} other {# дена}}", "intervals.full.days": "{number, plural, one {# ден} other {# дена}}",
"intervals.full.hours": "{number, plural, one {# час} other {# часа}}", "intervals.full.hours": "{number, plural, one {# час} other {# часа}}",
"intervals.full.minutes": "{number, plural, one {# минута} other {# минути}}", "intervals.full.minutes": "{number, plural, one {# минута} other {# минути}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "сега", "relative_time.just_now": "сега",
"relative_time.minutes": "{number}м", "relative_time.minutes": "{number}м",
"relative_time.seconds": "{number}с", "relative_time.seconds": "{number}с",
"relative_time.today": "today",
"reply_indicator.cancel": "Откажи", "reply_indicator.cancel": "Откажи",
"report.forward": "Проследи до {target}", "report.forward": "Проследи до {target}",
"report.forward_hint": "Оваа сметка е од друг сервер. Испрати анонимна копија од пријавата и таму?", "report.forward_hint": "Оваа сметка е од друг сервер. Испрати анонимна копија од пријавата и таму?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "അടിസ്ഥാനം", "home.column_settings.basic": "അടിസ്ഥാനം",
"home.column_settings.show_reblogs": "ബൂസ്റ്റുകൾ കാണിക്കുക", "home.column_settings.show_reblogs": "ബൂസ്റ്റുകൾ കാണിക്കുക",
"home.column_settings.show_replies": "മറുപടികൾ കാണിക്കുക", "home.column_settings.show_replies": "മറുപടികൾ കാണിക്കുക",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "now", "relative_time.just_now": "now",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Cancel", "reply_indicator.cancel": "Cancel",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "now", "relative_time.just_now": "now",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Cancel", "reply_indicator.cancel": "Cancel",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "now", "relative_time.just_now": "now",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Cancel", "reply_indicator.cancel": "Cancel",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -1,7 +1,7 @@
{ {
"account.add_or_remove_from_list": "Toevoegen of verwijderen vanuit lijsten", "account.add_or_remove_from_list": "Toevoegen of verwijderen vanuit lijsten",
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
"account.badges.group": "Group", "account.badges.group": "Groep",
"account.block": "Blokkeer @{name}", "account.block": "Blokkeer @{name}",
"account.block_domain": "Verberg alles van {domain}", "account.block_domain": "Verberg alles van {domain}",
"account.blocked": "Geblokkeerd", "account.blocked": "Geblokkeerd",
@ -43,7 +43,7 @@
"alert.rate_limited.title": "Beperkt te gebruiken", "alert.rate_limited.title": "Beperkt te gebruiken",
"alert.unexpected.message": "Er deed zich een onverwachte fout voor", "alert.unexpected.message": "Er deed zich een onverwachte fout voor",
"alert.unexpected.title": "Oeps!", "alert.unexpected.title": "Oeps!",
"announcement.announcement": "Announcement", "announcement.announcement": "Mededeling",
"autosuggest_hashtag.per_week": "{count} per week", "autosuggest_hashtag.per_week": "{count} per week",
"boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan", "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.", "bundle_column_error.body": "Tijdens het laden van dit onderdeel is er iets fout gegaan.",
@ -75,7 +75,7 @@
"column_header.unpin": "Losmaken", "column_header.unpin": "Losmaken",
"column_subheading.settings": "Instellingen", "column_subheading.settings": "Instellingen",
"community.column_settings.media_only": "Alleen media", "community.column_settings.media_only": "Alleen media",
"compose_form.direct_message_warning": "Deze toot wordt alleen naar vermelde gebruikers verstuurd. Echter, de beheerders en moderatoren van jouw en de ontvangende Mastodonserver(s) kunnen dit bericht mogelijk wel bekijken.", "compose_form.direct_message_warning": "Deze toot wordt alleen naar vermelde gebruikers verstuurd. Echter, de beheerders en moderatoren van jouw en de ontvangende server(s) kunnen dit bericht mogelijk wel bekijken.",
"compose_form.direct_message_warning_learn_more": "Meer leren", "compose_form.direct_message_warning_learn_more": "Meer leren",
"compose_form.hashtag_warning": "Deze toot valt niet onder een hashtag te bekijken, omdat deze niet op openbare tijdlijnen wordt getoond. Alleen openbare toots kunnen via hashtags gevonden worden.", "compose_form.hashtag_warning": "Deze toot valt niet onder een hashtag te bekijken, omdat deze niet op openbare tijdlijnen wordt getoond. Alleen openbare toots kunnen via hashtags gevonden worden.",
"compose_form.lock_disclaimer": "Jouw account is niet {locked}. Iedereen kan jou volgen en kan de toots zien die je alleen aan jouw volgers hebt gericht.", "compose_form.lock_disclaimer": "Jouw account is niet {locked}. Iedereen kan jou volgen en kan de toots zien die je alleen aan jouw volgers hebt gericht.",
@ -85,8 +85,8 @@
"compose_form.poll.duration": "Duur van de poll", "compose_form.poll.duration": "Duur van de poll",
"compose_form.poll.option_placeholder": "Keuze {number}", "compose_form.poll.option_placeholder": "Keuze {number}",
"compose_form.poll.remove_option": "Deze keuze verwijderen", "compose_form.poll.remove_option": "Deze keuze verwijderen",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices", "compose_form.poll.switch_to_multiple": "Poll wijzigen om meerdere keuzes toe te staan",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice", "compose_form.poll.switch_to_single": "Poll wijzigen om een enkele keuze toe te staan",
"compose_form.publish": "Toot", "compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Media als gevoelig markeren", "compose_form.sensitive.hide": "Media als gevoelig markeren",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Algemeen", "home.column_settings.basic": "Algemeen",
"home.column_settings.show_reblogs": "Boosts tonen", "home.column_settings.show_reblogs": "Boosts tonen",
"home.column_settings.show_replies": "Reacties tonen", "home.column_settings.show_replies": "Reacties tonen",
"home.hide_announcements": "Mededelingen verbergen",
"home.show_announcements": "Mededelingen tonen",
"intervals.full.days": "{number, plural, one {# dag} other {# dagen}}", "intervals.full.days": "{number, plural, one {# dag} other {# dagen}}",
"intervals.full.hours": "{number, plural, one {# uur} other {# uur}}", "intervals.full.hours": "{number, plural, one {# uur} other {# uur}}",
"intervals.full.minutes": "{number, plural, one {# minuut} other {# minuten}}", "intervals.full.minutes": "{number, plural, one {# minuut} other {# minuten}}",
@ -333,10 +335,11 @@
"relative_time.just_now": "nu", "relative_time.just_now": "nu",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "vandaag",
"reply_indicator.cancel": "Annuleren", "reply_indicator.cancel": "Annuleren",
"report.forward": "Doorsturen naar {target}", "report.forward": "Doorsturen naar {target}",
"report.forward_hint": "Het account bevindt zich op een andere server. Stuur daar eveneens een geanonimiseerde kopie van de rapportage naartoe?", "report.forward_hint": "Het account bevindt zich op een andere server. Stuur daar eveneens een geanonimiseerde kopie van de rapportage naartoe?",
"report.hint": "De rapportage wordt naar de moderatoren van jouw server gestuurd. Je kunt hieronder een uitleg geven waarom je dit account rapporteert:", "report.hint": "De rapportage wordt naar de moderator(en) van jouw server gestuurd. Je kunt hieronder een uitleg geven waarom je dit account rapporteert:",
"report.placeholder": "Extra opmerkingen", "report.placeholder": "Extra opmerkingen",
"report.submit": "Verzenden", "report.submit": "Verzenden",
"report.target": "Rapporteer {target}", "report.target": "Rapporteer {target}",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Enkelt", "home.column_settings.basic": "Enkelt",
"home.column_settings.show_reblogs": "Vis framhevingar", "home.column_settings.show_reblogs": "Vis framhevingar",
"home.column_settings.show_replies": "Vis svar", "home.column_settings.show_replies": "Vis svar",
"home.hide_announcements": "Skjul kunngjøring",
"home.show_announcements": "Vis kunngjøring",
"intervals.full.days": "{number, plural, one {# dag} other {# dagar}}", "intervals.full.days": "{number, plural, one {# dag} other {# dagar}}",
"intervals.full.hours": "{number, plural, one {# time} other {# timar}}", "intervals.full.hours": "{number, plural, one {# time} other {# timar}}",
"intervals.full.minutes": "{number, plural, one {# minutt} other {# minutt}}", "intervals.full.minutes": "{number, plural, one {# minutt} other {# minutt}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "nå", "relative_time.just_now": "nå",
"relative_time.minutes": "{number}min", "relative_time.minutes": "{number}min",
"relative_time.seconds": "{number}sek", "relative_time.seconds": "{number}sek",
"relative_time.today": "i dag",
"reply_indicator.cancel": "Avbryt", "reply_indicator.cancel": "Avbryt",
"report.forward": "Vidaresend til {target}", "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.forward_hint": "Kontoen er frå ein annan tenar. Vil du senda ein anonymisert kopi av rapporten dit òg?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Enkelt", "home.column_settings.basic": "Enkelt",
"home.column_settings.show_reblogs": "Vis fremhevinger", "home.column_settings.show_reblogs": "Vis fremhevinger",
"home.column_settings.show_replies": "Vis svar", "home.column_settings.show_replies": "Vis svar",
"home.hide_announcements": "Skjul kunngjøring",
"home.show_announcements": "Vis kunngjøring",
"intervals.full.days": "{number, plural,one {# dag} other {# dager}}", "intervals.full.days": "{number, plural,one {# dag} other {# dager}}",
"intervals.full.hours": "{number, plural, one {# time} other {# timer}}", "intervals.full.hours": "{number, plural, one {# time} other {# timer}}",
"intervals.full.minutes": "{number, plural, one {# minutt} other {# minutter}}", "intervals.full.minutes": "{number, plural, one {# minutt} other {# minutter}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "nå", "relative_time.just_now": "nå",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "i dag",
"reply_indicator.cancel": "Avbryt", "reply_indicator.cancel": "Avbryt",
"report.forward": "Videresend til {target}", "report.forward": "Videresend til {target}",
"report.forward_hint": "Denne kontoen er fra en annen tjener. Vil du sende en anonymisert kopi av rapporten dit også?", "report.forward_hint": "Denne kontoen er fra en annen tjener. Vil du sende en anonymisert kopi av rapporten dit også?",

View File

@ -1,7 +1,7 @@
{ {
"account.add_or_remove_from_list": "Ajustar o tirar de las listas", "account.add_or_remove_from_list": "Ajustar o tirar de las listas",
"account.badges.bot": "Robòt", "account.badges.bot": "Robòt",
"account.badges.group": "Group", "account.badges.group": "Grop",
"account.block": "Blocar @{name}", "account.block": "Blocar @{name}",
"account.block_domain": "Tot amagar del domeni {domain}", "account.block_domain": "Tot amagar del domeni {domain}",
"account.blocked": "Blocat", "account.blocked": "Blocat",
@ -43,7 +43,7 @@
"alert.rate_limited.title": "Taus limitat", "alert.rate_limited.title": "Taus limitat",
"alert.unexpected.message": "Una error ses producha.", "alert.unexpected.message": "Una error ses producha.",
"alert.unexpected.title": "Ops!", "alert.unexpected.title": "Ops!",
"announcement.announcement": "Announcement", "announcement.announcement": "Anóncia",
"autosuggest_hashtag.per_week": "{count} per setmana", "autosuggest_hashtag.per_week": "{count} per setmana",
"boost_modal.combo": "Podètz botar {combo} per passar aquò lo còp que ven", "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.", "bundle_column_error.body": "Quicòm a fach mèuca pendent lo cargament daqueste compausant.",
@ -85,8 +85,8 @@
"compose_form.poll.duration": "Durada del sondatge", "compose_form.poll.duration": "Durada del sondatge",
"compose_form.poll.option_placeholder": "Opcion {number}", "compose_form.poll.option_placeholder": "Opcion {number}",
"compose_form.poll.remove_option": "Levar aquesta opcion", "compose_form.poll.remove_option": "Levar aquesta opcion",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices", "compose_form.poll.switch_to_multiple": "Cambiar lo sondatge per permetre de causidas multiplas",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice", "compose_form.poll.switch_to_single": "Cambiar lo sondatge per permetre una sola causida",
"compose_form.publish": "Tut", "compose_form.publish": "Tut",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Marcar coma sensible", "compose_form.sensitive.hide": "Marcar coma sensible",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Basic",
"home.column_settings.show_reblogs": "Mostrar los partatges", "home.column_settings.show_reblogs": "Mostrar los partatges",
"home.column_settings.show_replies": "Mostrar las responsas", "home.column_settings.show_replies": "Mostrar las responsas",
"home.hide_announcements": "Rescondre las anóncias",
"home.show_announcements": "Mostrar las anóncias",
"intervals.full.days": "{number, plural, one {# jorn} other {# jorns}}", "intervals.full.days": "{number, plural, one {# jorn} other {# jorns}}",
"intervals.full.hours": "{number, plural, one {# ora} other {# oras}}", "intervals.full.hours": "{number, plural, one {# ora} other {# oras}}",
"intervals.full.minutes": "{number, plural, one {# minuta} other {# minutas}}", "intervals.full.minutes": "{number, plural, one {# minuta} other {# minutas}}",
@ -281,7 +283,7 @@
"navigation_bar.security": "Seguretat", "navigation_bar.security": "Seguretat",
"notification.favourite": "{name} a ajustat a sos favorits", "notification.favourite": "{name} a ajustat a sos favorits",
"notification.follow": "{name} vos sèc", "notification.follow": "{name} vos sèc",
"notification.follow_request": "{name} has requested to follow you", "notification.follow_request": "{name} a demandat a vos sègre",
"notification.mention": "{name} vos a mencionat", "notification.mention": "{name} vos a mencionat",
"notification.own_poll": "Vòstre sondatge es acabat", "notification.own_poll": "Vòstre sondatge es acabat",
"notification.poll": "Avètz participat a un sondatge que ven de sacabar", "notification.poll": "Avètz participat a un sondatge que ven de sacabar",
@ -294,7 +296,7 @@
"notifications.column_settings.filter_bar.category": "Barra de recèrca rapida", "notifications.column_settings.filter_bar.category": "Barra de recèrca rapida",
"notifications.column_settings.filter_bar.show": "Mostrar", "notifications.column_settings.filter_bar.show": "Mostrar",
"notifications.column_settings.follow": "Nòus seguidors:", "notifications.column_settings.follow": "Nòus seguidors:",
"notifications.column_settings.follow_request": "New follow requests:", "notifications.column_settings.follow_request": "Novèla demanda dabonament:",
"notifications.column_settings.mention": "Mencions:", "notifications.column_settings.mention": "Mencions:",
"notifications.column_settings.poll": "Resultats del sondatge:", "notifications.column_settings.poll": "Resultats del sondatge:",
"notifications.column_settings.push": "Notificacions", "notifications.column_settings.push": "Notificacions",
@ -333,6 +335,7 @@
"relative_time.just_now": "ara", "relative_time.just_now": "ara",
"relative_time.minutes": "fa {number} min", "relative_time.minutes": "fa {number} min",
"relative_time.seconds": "fa {number}s", "relative_time.seconds": "fa {number}s",
"relative_time.today": "uèi",
"reply_indicator.cancel": "Anullar", "reply_indicator.cancel": "Anullar",
"report.forward": "Far sègre a {target}", "report.forward": "Far sègre a {target}",
"report.forward_hint": "Lo compte ven dun autre servidor. Volètz mandar una còpia anonima del rapòrt enlai tanben?", "report.forward_hint": "Lo compte ven dun autre servidor. Volètz mandar una còpia anonima del rapòrt enlai tanben?",
@ -413,11 +416,11 @@
"upload_button.label": "Ajustar un mèdia (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_button.label": "Ajustar un mèdia (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Talha maximum pels mandadís subrepassada.", "upload_error.limit": "Talha maximum pels mandadís subrepassada.",
"upload_error.poll": "Lo mandadís de fichièr es pas autorizat pels sondatges.", "upload_error.poll": "Lo mandadís de fichièr es pas autorizat pels sondatges.",
"upload_form.audio_description": "Describe for people with hearing loss", "upload_form.audio_description": "Descriure per las personas amb pèrdas auditivas",
"upload_form.description": "Descripcion pels mal vesents", "upload_form.description": "Descripcion pels mal vesents",
"upload_form.edit": "Modificar", "upload_form.edit": "Modificar",
"upload_form.undo": "Suprimir", "upload_form.undo": "Suprimir",
"upload_form.video_description": "Describe for people with hearing loss or visual impairment", "upload_form.video_description": "Descriure per las personas amb pèrdas auditivas o mal vesent",
"upload_modal.analyzing_picture": "Analisi de limatge…", "upload_modal.analyzing_picture": "Analisi de limatge…",
"upload_modal.apply": "Aplicar", "upload_modal.apply": "Aplicar",
"upload_modal.description_placeholder": "Lo dròlle bilingüe manja un yaourt de ròcs exagonals e kiwis verds farà un an mai", "upload_modal.description_placeholder": "Lo dròlle bilingüe manja un yaourt de ròcs exagonals e kiwis verds farà un an mai",

View File

@ -1,7 +1,7 @@
{ {
"account.add_or_remove_from_list": "Dodaj lub usuń z list", "account.add_or_remove_from_list": "Dodaj lub usuń z list",
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
"account.badges.group": "Group", "account.badges.group": "Grupa",
"account.block": "Blokuj @{name}", "account.block": "Blokuj @{name}",
"account.block_domain": "Blokuj wszystko z {domain}", "account.block_domain": "Blokuj wszystko z {domain}",
"account.blocked": "Zablokowany(-a)", "account.blocked": "Zablokowany(-a)",
@ -43,7 +43,7 @@
"alert.rate_limited.title": "Ograniczony czasowo", "alert.rate_limited.title": "Ograniczony czasowo",
"alert.unexpected.message": "Wystąpił nieoczekiwany błąd.", "alert.unexpected.message": "Wystąpił nieoczekiwany błąd.",
"alert.unexpected.title": "O nie!", "alert.unexpected.title": "O nie!",
"announcement.announcement": "Announcement", "announcement.announcement": "Ogłoszenie",
"autosuggest_hashtag.per_week": "{count} co tydzień", "autosuggest_hashtag.per_week": "{count} co tydzień",
"boost_modal.combo": "Naciśnij {combo}, aby pominąć to następnym razem", "boost_modal.combo": "Naciśnij {combo}, aby pominąć to następnym razem",
"bundle_column_error.body": "Coś poszło nie tak podczas ładowania tego składnika.", "bundle_column_error.body": "Coś poszło nie tak podczas ładowania tego składnika.",
@ -85,8 +85,8 @@
"compose_form.poll.duration": "Czas trwania głosowania", "compose_form.poll.duration": "Czas trwania głosowania",
"compose_form.poll.option_placeholder": "Opcja {number}", "compose_form.poll.option_placeholder": "Opcja {number}",
"compose_form.poll.remove_option": "Usuń tę opcję", "compose_form.poll.remove_option": "Usuń tę opcję",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices", "compose_form.poll.switch_to_multiple": "Pozwól na wybranie wielu opcji",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice", "compose_form.poll.switch_to_single": "Pozwól na wybranie tylko jednej opcji",
"compose_form.publish": "Wyślij", "compose_form.publish": "Wyślij",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Oznacz multimedia jako wrażliwe", "compose_form.sensitive.hide": "Oznacz multimedia jako wrażliwe",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Podstawowe", "home.column_settings.basic": "Podstawowe",
"home.column_settings.show_reblogs": "Pokazuj podbicia", "home.column_settings.show_reblogs": "Pokazuj podbicia",
"home.column_settings.show_replies": "Pokazuj odpowiedzi", "home.column_settings.show_replies": "Pokazuj odpowiedzi",
"home.hide_announcements": "Ukryj ogłoszenia",
"home.show_announcements": "Pokaż ogłoszenia",
"intervals.full.days": "{number, plural, one {# dzień} few {# dni} many {# dni} other {# dni}}", "intervals.full.days": "{number, plural, one {# dzień} few {# dni} many {# dni} other {# dni}}",
"intervals.full.hours": "{number, plural, one {# godzina} few {# godziny} many {# godzin} other {# godzin}}", "intervals.full.hours": "{number, plural, one {# godzina} few {# godziny} many {# godzin} other {# godzin}}",
"intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minut} other {# minut}}", "intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minut} other {# minut}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "teraz", "relative_time.just_now": "teraz",
"relative_time.minutes": "{number} min.", "relative_time.minutes": "{number} min.",
"relative_time.seconds": "{number} s.", "relative_time.seconds": "{number} s.",
"relative_time.today": "dzisiaj",
"reply_indicator.cancel": "Anuluj", "reply_indicator.cancel": "Anuluj",
"report.forward": "Przekaż na {target}", "report.forward": "Przekaż na {target}",
"report.forward_hint": "To konto znajduje się na innej instancji. Czy chcesz wysłać anonimową kopię zgłoszenia rnież na nią?", "report.forward_hint": "To konto znajduje się na innej instancji. Czy chcesz wysłać anonimową kopię zgłoszenia rnież na nią?",
@ -413,11 +416,11 @@
"upload_button.label": "Dodaj zawartość multimedialną (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_button.label": "Dodaj zawartość multimedialną (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Przekroczono limit plików do wysłania.", "upload_error.limit": "Przekroczono limit plików do wysłania.",
"upload_error.poll": "Dołączanie plików nie dozwolone z głosowaniami.", "upload_error.poll": "Dołączanie plików nie dozwolone z głosowaniami.",
"upload_form.audio_description": "Describe for people with hearing loss", "upload_form.audio_description": "Opisz dla osób niesłyszących i niedosłyszących",
"upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących", "upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących",
"upload_form.edit": "Edytuj", "upload_form.edit": "Edytuj",
"upload_form.undo": "Usuń", "upload_form.undo": "Usuń",
"upload_form.video_description": "Describe for people with hearing loss or visual impairment", "upload_form.video_description": "Opisz dla osób niesłyszących, niedosłyszących, niewidomych i niedowidzących",
"upload_modal.analyzing_picture": "Analizowanie obrazu…", "upload_modal.analyzing_picture": "Analizowanie obrazu…",
"upload_modal.apply": "Zastosuj", "upload_modal.apply": "Zastosuj",
"upload_modal.description_placeholder": "Pchnąć w tę łódź jeża lub ośm skrzyń fig", "upload_modal.description_placeholder": "Pchnąć w tę łódź jeża lub ośm skrzyń fig",

View File

@ -43,7 +43,7 @@
"alert.rate_limited.title": "Tentativas limitadas", "alert.rate_limited.title": "Tentativas limitadas",
"alert.unexpected.message": "Ocorreu um erro inesperado.", "alert.unexpected.message": "Ocorreu um erro inesperado.",
"alert.unexpected.title": "Eita!", "alert.unexpected.title": "Eita!",
"announcement.announcement": "Announcement", "announcement.announcement": "Anúncio",
"autosuggest_hashtag.per_week": "{count} por semana", "autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Pressione {combo} para ignorar este diálogo na próxima vez", "boost_modal.combo": "Pressione {combo} para ignorar este diálogo na próxima vez",
"bundle_column_error.body": "Ocorreu um problema ao carregar este componente.", "bundle_column_error.body": "Ocorreu um problema ao carregar este componente.",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Básico", "home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar boosts", "home.column_settings.show_reblogs": "Mostrar boosts",
"home.column_settings.show_replies": "Mostrar respostas", "home.column_settings.show_replies": "Mostrar respostas",
"home.hide_announcements": "Ocultar anúncios",
"home.show_announcements": "Exibir anúncios",
"intervals.full.days": "{number, plural, one {# dia} other {# dias}}", "intervals.full.days": "{number, plural, one {# dia} other {# dias}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "agora", "relative_time.just_now": "agora",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "hoje",
"reply_indicator.cancel": "Cancelar", "reply_indicator.cancel": "Cancelar",
"report.forward": "Enviar cópia para {target}", "report.forward": "Enviar cópia para {target}",
"report.forward_hint": "A conta está em outra instância. Enviar uma cópia anônima da denúncia para lá?", "report.forward_hint": "A conta está em outra instância. Enviar uma cópia anônima da denúncia para lá?",

View File

@ -43,7 +43,7 @@
"alert.rate_limited.title": "Limite de tentativas", "alert.rate_limited.title": "Limite de tentativas",
"alert.unexpected.message": "Ocorreu um erro inesperado.", "alert.unexpected.message": "Ocorreu um erro inesperado.",
"alert.unexpected.title": "Bolas!", "alert.unexpected.title": "Bolas!",
"announcement.announcement": "Announcement", "announcement.announcement": "Anúncio",
"autosuggest_hashtag.per_week": "{count} por semana", "autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Pode clicar {combo} para não voltar a ver", "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.", "bundle_column_error.body": "Algo de errado aconteceu enquanto este componente era carregado.",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Básico", "home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar boosts", "home.column_settings.show_reblogs": "Mostrar boosts",
"home.column_settings.show_replies": "Mostrar respostas", "home.column_settings.show_replies": "Mostrar respostas",
"home.hide_announcements": "Ocultar anúncios",
"home.show_announcements": "Exibir anúncios",
"intervals.full.days": "{number, plural, one {# dia} other {# dias}}", "intervals.full.days": "{number, plural, one {# dia} other {# dias}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "agora", "relative_time.just_now": "agora",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "hoje",
"reply_indicator.cancel": "Cancelar", "reply_indicator.cancel": "Cancelar",
"report.forward": "Reenviar para {target}", "report.forward": "Reenviar para {target}",
"report.forward_hint": "A conta é de outro servidor. Enviar uma cópia anónima do relatório para lá também?", "report.forward_hint": "A conta é de outro servidor. Enviar uma cópia anónima do relatório para lá também?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "De bază", "home.column_settings.basic": "De bază",
"home.column_settings.show_reblogs": "Arată redistribuirile", "home.column_settings.show_reblogs": "Arată redistribuirile",
"home.column_settings.show_replies": "Arată răspunsurile", "home.column_settings.show_replies": "Arată răspunsurile",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "acum", "relative_time.just_now": "acum",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Anulează", "reply_indicator.cancel": "Anulează",
"report.forward": "Redirecționează catre {target}", "report.forward": "Redirecționează catre {target}",
"report.forward_hint": "Acest cont este de pe un alt server. Trimitem o copie anonimă a raportului și acolo?", "report.forward_hint": "Acest cont este de pe un alt server. Trimitem o copie anonimă a raportului și acolo?",

View File

@ -74,7 +74,7 @@
"column_header.show_settings": "Показать настройки", "column_header.show_settings": "Показать настройки",
"column_header.unpin": "Открепить", "column_header.unpin": "Открепить",
"column_subheading.settings": "Настройки", "column_subheading.settings": "Настройки",
"community.column_settings.media_only": "Только с медиа", "community.column_settings.media_only": "Только с медиафайлами",
"compose_form.direct_message_warning": "Адресованные посты отправляются и видны только упомянутым в них пользователям.", "compose_form.direct_message_warning": "Адресованные посты отправляются и видны только упомянутым в них пользователям.",
"compose_form.direct_message_warning_learn_more": "Узнать подробнее", "compose_form.direct_message_warning_learn_more": "Узнать подробнее",
"compose_form.hashtag_warning": "Так как этот пост не публичный, он не отобразится в поиске по хэштегам.", "compose_form.hashtag_warning": "Так как этот пост не публичный, он не отобразится в поиске по хэштегам.",
@ -184,6 +184,8 @@
"home.column_settings.basic": "Основные", "home.column_settings.basic": "Основные",
"home.column_settings.show_reblogs": "Показывать продвижения", "home.column_settings.show_reblogs": "Показывать продвижения",
"home.column_settings.show_replies": "Показывать ответы", "home.column_settings.show_replies": "Показывать ответы",
"home.hide_announcements": "Скрыть объявления",
"home.show_announcements": "Показать объявления",
"intervals.full.days": "{number, plural, one {# день} few {# дня} other {# дней}}", "intervals.full.days": "{number, plural, one {# день} few {# дня} other {# дней}}",
"intervals.full.hours": "{number, plural, one {# час} few {# часа} other {# часов}}", "intervals.full.hours": "{number, plural, one {# час} few {# часа} other {# часов}}",
"intervals.full.minutes": "{number, plural, one {# минута} few {# минуты} other {# минут}}", "intervals.full.minutes": "{number, plural, one {# минута} few {# минуты} other {# минут}}",
@ -301,7 +303,7 @@
"notifications.column_settings.reblog": "Ваш пост продвинули:", "notifications.column_settings.reblog": "Ваш пост продвинули:",
"notifications.column_settings.show": "Отображать в списке", "notifications.column_settings.show": "Отображать в списке",
"notifications.column_settings.sound": "Проигрывать звук", "notifications.column_settings.sound": "Проигрывать звук",
"notifications.filter.all": "Всё", "notifications.filter.all": "Все",
"notifications.filter.boosts": "Продвижения", "notifications.filter.boosts": "Продвижения",
"notifications.filter.favourites": "Отметки «избранного»", "notifications.filter.favourites": "Отметки «избранного»",
"notifications.filter.follows": "Подписки", "notifications.filter.follows": "Подписки",
@ -333,6 +335,7 @@
"relative_time.just_now": "только что", "relative_time.just_now": "только что",
"relative_time.minutes": "{number} мин", "relative_time.minutes": "{number} мин",
"relative_time.seconds": "{number} с", "relative_time.seconds": "{number} с",
"relative_time.today": "сегодня",
"reply_indicator.cancel": "Отмена", "reply_indicator.cancel": "Отмена",
"report.forward": "Переслать в {target}", "report.forward": "Переслать в {target}",
"report.forward_hint": "Эта учётная запись расположена на другом узле. Отправить туда анонимную копию вашей жалобы?", "report.forward_hint": "Эта учётная запись расположена на другом узле. Отправить туда анонимную копию вашей жалобы?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Základné", "home.column_settings.basic": "Základné",
"home.column_settings.show_reblogs": "Ukáž vyzdvihnuté", "home.column_settings.show_reblogs": "Ukáž vyzdvihnuté",
"home.column_settings.show_replies": "Ukáž odpovede", "home.column_settings.show_replies": "Ukáž odpovede",
"home.hide_announcements": "Skry oboznámenia",
"home.show_announcements": "Ukáž oboznámenia",
"intervals.full.days": "{number, plural, one {# deň} few {# dní} many {# dní} other {# dní}}", "intervals.full.days": "{number, plural, one {# deň} few {# dní} many {# dní} other {# dní}}",
"intervals.full.hours": "{number, plural, one {# hodina} few {# hodín} many {# hodín} other {# hodín}}", "intervals.full.hours": "{number, plural, one {# hodina} few {# hodín} many {# hodín} other {# hodín}}",
"intervals.full.minutes": "{number, plural, one {# minúta} few {# minút} many {# minút} other {# minút}}", "intervals.full.minutes": "{number, plural, one {# minúta} few {# minút} many {# minút} other {# minút}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "teraz", "relative_time.just_now": "teraz",
"relative_time.minutes": "{number}min", "relative_time.minutes": "{number}min",
"relative_time.seconds": "{number}sek", "relative_time.seconds": "{number}sek",
"relative_time.today": "dnes",
"reply_indicator.cancel": "Zrušiť", "reply_indicator.cancel": "Zrušiť",
"report.forward": "Posuň ku {target}", "report.forward": "Posuň ku {target}",
"report.forward_hint": "Tento účet je z iného serveru. Chceš poslať anonymnú kópiu hlásenia aj tam?", "report.forward_hint": "Tento účet je z iného serveru. Chceš poslať anonymnú kópiu hlásenia aj tam?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Osnovno", "home.column_settings.basic": "Osnovno",
"home.column_settings.show_reblogs": "Pokaži spodbude", "home.column_settings.show_reblogs": "Pokaži spodbude",
"home.column_settings.show_replies": "Pokaži odgovore", "home.column_settings.show_replies": "Pokaži odgovore",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# dan} two {# dni} few {# dni} other {# dni}}", "intervals.full.days": "{number, plural, one {# dan} two {# dni} few {# dni} other {# dni}}",
"intervals.full.hours": "{number, plural, one {# ura} two {# uri} few {# ure} other {# ur}}", "intervals.full.hours": "{number, plural, one {# ura} two {# uri} few {# ure} other {# ur}}",
"intervals.full.minutes": "{number, plural, one {# minuta} two {# minuti} few {# minute} other {# minut}}", "intervals.full.minutes": "{number, plural, one {# minuta} two {# minuti} few {# minute} other {# minut}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "zdaj", "relative_time.just_now": "zdaj",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Prekliči", "reply_indicator.cancel": "Prekliči",
"report.forward": "Posreduj do {target}", "report.forward": "Posreduj do {target}",
"report.forward_hint": "Račun je iz drugega strežnika. Pošljem anonimno kopijo poročila tudi na drugi strežnik?", "report.forward_hint": "Račun je iz drugega strežnika. Pošljem anonimno kopijo poročila tudi na drugi strežnik?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Bazë", "home.column_settings.basic": "Bazë",
"home.column_settings.show_reblogs": "Shfaq përforcime", "home.column_settings.show_reblogs": "Shfaq përforcime",
"home.column_settings.show_replies": "Shfaq përgjigje", "home.column_settings.show_replies": "Shfaq përgjigje",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "tani", "relative_time.just_now": "tani",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Anuloje", "reply_indicator.cancel": "Anuloje",
"report.forward": "Përcillja {target}", "report.forward": "Përcillja {target}",
"report.forward_hint": "Llogaria është nga një shërbyes tjetër. Të dërgohet edhe një kopje e anonimizuar e raportimit?", "report.forward_hint": "Llogaria është nga një shërbyes tjetër. Të dërgohet edhe një kopje e anonimizuar e raportimit?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Osnovno", "home.column_settings.basic": "Osnovno",
"home.column_settings.show_reblogs": "Prikaži i podržavanja", "home.column_settings.show_reblogs": "Prikaži i podržavanja",
"home.column_settings.show_replies": "Prikaži odgovore", "home.column_settings.show_replies": "Prikaži odgovore",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "sada", "relative_time.just_now": "sada",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Poništi", "reply_indicator.cancel": "Poništi",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Основно", "home.column_settings.basic": "Основно",
"home.column_settings.show_reblogs": "Прикажи и подржавања", "home.column_settings.show_reblogs": "Прикажи и подржавања",
"home.column_settings.show_replies": "Прикажи одговоре", "home.column_settings.show_replies": "Прикажи одговоре",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "сада", "relative_time.just_now": "сада",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Поништи", "reply_indicator.cancel": "Поништи",
"report.forward": "Проследити {target}", "report.forward": "Проследити {target}",
"report.forward_hint": "Налог је са другог сервера. Послати анонимну копију пријаве и тамо?", "report.forward_hint": "Налог је са другог сервера. Послати анонимну копију пријаве и тамо?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Grundläggande", "home.column_settings.basic": "Grundläggande",
"home.column_settings.show_reblogs": "Visa knuffar", "home.column_settings.show_reblogs": "Visa knuffar",
"home.column_settings.show_replies": "Visa svar", "home.column_settings.show_replies": "Visa svar",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# dag} other {# dagar}}", "intervals.full.days": "{number, plural, one {# dag} other {# dagar}}",
"intervals.full.hours": "{number, plural, one {# timme} other {# timmar}}", "intervals.full.hours": "{number, plural, one {# timme} other {# timmar}}",
"intervals.full.minutes": "{number, plural, one {# minut} other {# minuter}}", "intervals.full.minutes": "{number, plural, one {# minut} other {# minuter}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "nu", "relative_time.just_now": "nu",
"relative_time.minutes": "{number}min", "relative_time.minutes": "{number}min",
"relative_time.seconds": "{number}sek", "relative_time.seconds": "{number}sek",
"relative_time.today": "today",
"reply_indicator.cancel": "Ångra", "reply_indicator.cancel": "Ångra",
"report.forward": "Vidarebefordra till {target}", "report.forward": "Vidarebefordra till {target}",
"report.forward_hint": "Kontot är från en annan server. Skicka även en anonymiserad kopia av anmälan dit?", "report.forward_hint": "Kontot är från en annan server. Skicka även en anonymiserad kopia av anmälan dit?",

View File

@ -40,20 +40,20 @@
"account.unmute": "@{name} இன் மீது மௌனத் தடையை நீக்குக", "account.unmute": "@{name} இன் மீது மௌனத் தடையை நீக்குக",
"account.unmute_notifications": "@{name} இலிருந்து அறிவிப்புகளின் மீது மௌனத் தடையை நீக்குக", "account.unmute_notifications": "@{name} இலிருந்து அறிவிப்புகளின் மீது மௌனத் தடையை நீக்குக",
"alert.rate_limited.message": "{retry_time, time, medium} க்கு பிறகு மீண்டும் முயற்சிக்கவும்.", "alert.rate_limited.message": "{retry_time, time, medium} க்கு பிறகு மீண்டும் முயற்சிக்கவும்.",
"alert.rate_limited.title": "விகிதம் வரையறுக்கப்பட்டுள்ளது", "alert.rate_limited.title": "பயன்பாடு கட்டுப்படுத்தப்பட்டுள்ளது",
"alert.unexpected.message": "எதிர்பாராத பிழை ஏற்பட்டுவிட்டது.", "alert.unexpected.message": "எதிர்பாராத பிழை ஏற்பட்டுவிட்டது.",
"alert.unexpected.title": "அச்சச்சோ!", "alert.unexpected.title": "அச்சச்சோ!",
"announcement.announcement": "Announcement", "announcement.announcement": "அறிவிப்பு",
"autosuggest_hashtag.per_week": "ஒவ்வொரு வாரம் {count}", "autosuggest_hashtag.per_week": "ஒவ்வொரு வாரம் {count}",
"boost_modal.combo": "நீங்கள் இதை அடுத்தமுறை தவிர்க்க {combo} வை அழுத்தவும்", "boost_modal.combo": "நீங்கள் இதை அடுத்தமுறை தவிர்க்க {combo} வை அழுத்தவும்",
"bundle_column_error.body": "இக்கூற்றை ஏற்றம் செய்யும்பொழுது ஏதோ தவறு ஏற்பட்டுள்ளது.", "bundle_column_error.body": "இக்கூற்றை ஏற்றம் செய்யும்பொழுது ஏதோ தவறு ஏற்பட்டுள்ளது.",
"bundle_column_error.retry": "மீண்டும் முயல்க", "bundle_column_error.retry": "மீண்டும் முயற்சிக்கவும்",
"bundle_column_error.title": "பிணையப் பிழை", "bundle_column_error.title": "பிணையப் பிழை",
"bundle_modal_error.close": "மூடுக", "bundle_modal_error.close": "மூடுக",
"bundle_modal_error.message": "இக்கூற்றை ஏற்றம் செய்யும்பொழுது ஏதோ தவறு ஏற்பட்டுள்ளது.", "bundle_modal_error.message": "இக்கூற்றை ஏற்றம் செய்யும்பொழுது ஏதோ தவறு ஏற்பட்டுள்ளது.",
"bundle_modal_error.retry": "மீண்டும் முயற்சி செய்", "bundle_modal_error.retry": "மீண்டும் முயற்சி செய்",
"column.blocks": "தடுக்கப்பட்ட பயனர்கள்", "column.blocks": "தடுக்கப்பட்ட பயனர்கள்",
"column.bookmarks": "Bookmarks", "column.bookmarks": "அடையாளக்குறிகள்",
"column.community": "சுய நிகழ்வு காலவரிசை", "column.community": "சுய நிகழ்வு காலவரிசை",
"column.direct": "நேர் சேதிகள்", "column.direct": "நேர் சேதிகள்",
"column.directory": "சுயவிவரங்களை உலாவு", "column.directory": "சுயவிவரங்களை உலாவு",
@ -64,71 +64,71 @@
"column.lists": "பட்டியல்கள்", "column.lists": "பட்டியல்கள்",
"column.mutes": "மௌனத் தடை செய்யப்பட்ட பயனர்கள்", "column.mutes": "மௌனத் தடை செய்யப்பட்ட பயனர்கள்",
"column.notifications": "அறிவிப்புகள்", "column.notifications": "அறிவிப்புகள்",
"column.pins": "Pinned toot", "column.pins": "பொருத்தப்பட்ட டூட்டுகள்",
"column.public": "கூட்டாட்சி காலக்கெடு", "column.public": "ஆலமரத்தில் நிகழ்பவை",
"column_back_button.label": "முந்தைய பக்கம்", "column_back_button.label": "திரும்பு",
"column_header.hide_settings": "அமைப்புகளை மறை", "column_header.hide_settings": "அமைப்புகளை மறை",
"column_header.moveLeft_settings": "நெடுவரிசையை இடதுபுறமாக நகர்த்தம்", "column_header.moveLeft_settings": "நெடுவரிசையை இடதுபுறமாக நகர்த்து",
"column_header.moveRight_settings": "நெடுவரிசை வலது புறமாக நகர்த்து", "column_header.moveRight_settings": "நெடுவரிசையை வலதுபுறமாக நகர்த்து",
"column_header.pin": "குண்டூசி", "column_header.pin": "பொருத்து",
"column_header.show_settings": "அமைப்புகளைக் காட்டு", "column_header.show_settings": "அமைப்புகளைக் காட்டு",
"column_header.unpin": "பொருத்தப்படாத", "column_header.unpin": "கழட்டு",
"column_subheading.settings": "அமைப்புகள்", "column_subheading.settings": "அமைப்புகள்",
"community.column_settings.media_only": "படங்கள் மட்டுமே", "community.column_settings.media_only": "படங்கள் மட்டுமே",
"compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", "compose_form.direct_message_warning": "இந்த டூட் இதில் குறிப்பிடப்பட்டுள்ள பயனர்களுக்கு மட்டுமே அனுப்பப்படும்.",
"compose_form.direct_message_warning_learn_more": "மேலும் அறி", "compose_form.direct_message_warning_learn_more": "மேலும் அறி",
"compose_form.hashtag_warning": "இந்த toot பட்டியலிடப்படாதது போல எந்த ஹேஸ்டேக்கின் கீழ் பட்டியலிடப்படாது. ஹேஸ்டேக் மூலம் பொது டோட்டல்கள் மட்டுமே தேட முடியும்.", "compose_form.hashtag_warning": "இது ஒரு பட்டியலிடப்படாத டூட் என்பதால் எந்த ஹேஷ்டேகின் கீழும் வராது. ஹேஷ்டேகின் மூலம் பொதுவில் உள்ள டூட்டுகளை மட்டுமே தேட முடியும்.",
"compose_form.lock_disclaimer": "உங்கள் கணக்கு அல்ல {locked}. உங்களுடைய பின்தொடர்பவர் மட்டும் இடுகைகளை யாராவது காணலாம்.", "compose_form.lock_disclaimer": "உங்கள் கணக்கு {locked} செய்யப்படவில்லை. உங்கள் பதிவுகளை யார் வேண்டுமானாலும் பின்தொடர்ந்து காணலாம்.",
"compose_form.lock_disclaimer.lock": "ாழிடு", "compose_form.lock_disclaimer.lock": "பூட்டப்பட்டது",
"compose_form.placeholder": "What is on your mind?", "compose_form.placeholder": "உங்கள் மனதில் என்ன இருக்கிறது?",
"compose_form.poll.add_option": "ஒரு விருப்பத்தைச் சேர்க்கவும்", "compose_form.poll.add_option": "தேர்வை சேர்",
"compose_form.poll.duration": "வாக்கெடுப்பு காலம்", "compose_form.poll.duration": "கருத்துக்கணிப்பின் கால அளவு",
"compose_form.poll.option_placeholder": "தேர்ந்தெடுப்ப {number}", "compose_form.poll.option_placeholder": "தேர்வு எண் {number}",
"compose_form.poll.remove_option": "இந்த விருப்பத்தை அகற்றம்", "compose_form.poll.remove_option": "இந்தத் ேர்வை அகற்று",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices", "compose_form.poll.switch_to_multiple": "பல தேர்வுகளை அனுமதிக்குமாறு மாற்று",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice", "compose_form.poll.switch_to_single": "ஒரே ஒரு தேர்வை மட்டும் அனுமதிக்குமாறு மாற்று",
"compose_form.publish": "டூட் செய்க", "compose_form.publish": "டூட்",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "அனைவருக்கும் ஏற்ற ஊடகம் இல்லை எனக் குறியிடு", "compose_form.sensitive.hide": "அனைவருக்கும் ஏற்றப் படம் இல்லை எனக் குறியிடு",
"compose_form.sensitive.marked": "ஊடகம் உணர்திறன் என குறிக்கப்பட்டுள்ளது", "compose_form.sensitive.marked": "இப்படம் அனைவருக்கும் ஏற்றதல்ல எனக் குறியிடப்பட்டுள்ளது",
"compose_form.sensitive.unmarked": "ஊடகம் உணர்திறன் என குறிக்கப்படவில்லை", "compose_form.sensitive.unmarked": "இப்படம் அனைவருக்கும் ஏற்றதல்ல எனக் குறியிடப்படவில்லை",
"compose_form.spoiler.marked": "எச்சரிக்கை பின்னால் உரை மறைக்கப்பட்டுள்ளது", "compose_form.spoiler.marked": "எச்சரிக்கையின் பின்னால் பதிவு மறைக்கப்பட்டுள்ளது",
"compose_form.spoiler.unmarked": "உரை மறைக்கப்படவில்லை", "compose_form.spoiler.unmarked": "பதிவு மறைக்கப்படவில்லை",
"compose_form.spoiler_placeholder": "இங்கே உங்கள் எச்சரிக்கையை எழுதுங்கள்", "compose_form.spoiler_placeholder": "உங்கள் எச்சரிக்கையை இங்கு எழுதவும்",
"confirmation_modal.cancel": "எதிராணை", "confirmation_modal.cancel": "ரத்து",
"confirmations.block.block_and_report": "தடுத்துப் புகாரளி", "confirmations.block.block_and_report": "தடுத்துப் புகாரளி",
"confirmations.block.confirm": "தடு", "confirmations.block.confirm": "தடு",
"confirmations.block.message": "நீங்கள் நிச்சயமாக தடைசெய்ய விரும்புகிறீர்களா {name}?", "confirmations.block.message": "{name}-ஐ நிச்சயமாகத் தடுக்க விரும்புகிறீர்களா?",
"confirmations.delete.confirm": "அழி", "confirmations.delete.confirm": "நீக்கு",
"confirmations.delete.message": "இந்த நிலையை நிச்சயமாக நீக்க விரும்புகிறீர்களா?", "confirmations.delete.message": "இப்பதிவை நிச்சயமாக நீக்க விரும்புகிறீர்களா?",
"confirmations.delete_list.confirm": "அழி", "confirmations.delete_list.confirm": "நீக்கு",
"confirmations.delete_list.message": "இந்த பட்டியலில் நிரந்தரமாக நீக்க விரும்புகிறீர்களா?", "confirmations.delete_list.message": "இப்பட்டியலை நிரந்தரமாக நீக்க நிச்சயம் விரும்புகிறீர்களா?",
"confirmations.domain_block.confirm": "முழு டொமைனை மறை", "confirmations.domain_block.confirm": "முழு களத்தையும் மறை",
"confirmations.domain_block.message": "நீங்கள் உண்மையில், நிச்சயமாக நீங்கள் முழு தடுக்க வேண்டும் நிச்சயமாக {domain}? பெரும்பாலான சந்தர்ப்பங்களில் ஒரு சில இலக்குகள் அல்லது மியூட்கள் போதுமானவை மற்றும் சிறந்தவை. எந்த பொது நேரத்திலும் அல்லது உங்கள் அறிவிப்புகளிலும் அந்தக் களத்திலிருந்து உள்ளடக்கத்தை நீங்கள் பார்க்க மாட்டீர்கள். அந்த களத்தில் இருந்து உங்கள் ஆதரவாளர்கள் அகற்றப்படுவார்கள்.", "confirmations.domain_block.message": "நீங்கள் முழு {domain} களத்தையும் நிச்சயமாக, நிச்சயமாகத் தடுக்க விரும்புகிறீர்களா? பெரும்பாலும் சில குறிப்பிட்ட பயனர்களைத் தடுப்பதே போதுமானது. முழு களத்தையும் தடுத்தால், அதிலிருந்து வரும் எந்தப் பதிவையும் உங்களால் காண முடியாது, மேலும் அப்பதிவுகள் குறித்த அறிவிப்புகளும் உங்களுக்கு வராது. அந்தக் களத்தில் இருக்கும் பின்தொடர்பவர்கள் உங்கள் பக்கத்திலிருந்து நீக்கப்படுவார்கள்.",
"confirmations.logout.confirm": "வெளியேறு", "confirmations.logout.confirm": "வெளியேறு",
"confirmations.logout.message": "கண்டிப்பாக வெளியேறத்தான் வேண்டுமா?", "confirmations.logout.message": "நிச்சயமாக நீங்கள் வெளியேற விரும்புகிறீர்களா?",
"confirmations.mute.confirm": "ஊமையான", "confirmations.mute.confirm": "அமைதியாக்கு",
"confirmations.mute.explanation": "இது அவர்களின் பதிவுகளையும், அவர்களைக் குறிப்பிடும் பதிவுகளையும் மறைத்துவிடும். ஆனால் அவர்கள் உங்கள் பதிவுகளைப் பார்க்கவும், உங்களைப் பின் தொடரவும் அனுமதிக்கப்படுவார்கள்.", "confirmations.mute.explanation": "இந்த் தேர்வு அவர்களின் பதிவுகளையும், அவர்களைக் குறிப்பிடும் பதிவுகளையும் மறைத்துவிடும். ஆனால், அவர்களால் உங்களைப் பின்தொடர்ந்து உங்கள் பதிவுகளைக் காண முடியும்.",
"confirmations.mute.message": "நிச்சயமாக நீங்கள் முடக்க விரும்புகிறீர்களா {name}?", "confirmations.mute.message": "{name}-ஐ நிச்சயமாக நீங்கள் அமைதியாக்க விரும்புகிறீர்களா?",
"confirmations.redraft.confirm": "நீக்கு & redraft", "confirmations.redraft.confirm": "பதிவை நீக்கி மறுவரைவு செய்",
"confirmations.redraft.message": "நிச்சயமாக இந்த நிலையை நீக்கி, அதை மறுபடியும் உருவாக்க வேண்டுமா? பிடித்தவை மற்றும் ஊக்கங்கள் இழக்கப்படும், மற்றும் அசல் இடுகையில் பதில்கள் அனாதையான இருக்கும்.", "confirmations.redraft.message": "நிச்சயமாக நீங்கள் இந்தப் பதிவை நீக்கி மறுவரைவு செய்ய விரும்புகிறீர்களா? விருப்பங்களும் பகிர்வுகளும் அழிந்துபோகும், மேலும் மூலப் பதிவிற்கு வந்த மறுமொழிகள் தனித்துவிடப்படும்.",
"confirmations.reply.confirm": "பதில்", "confirmations.reply.confirm": "மறுமொழி",
"confirmations.reply.message": "இப்போது பதில், தற்போது நீங்கள் உருவாக்கும் செய்தி மேலெழுதப்படும். நீங்கள் தொடர விரும்புகிறீர்களா?", "confirmations.reply.message": "ஏற்கனவே ஒரு பதிவு எழுதப்பட்டுக்கொண்டிருக்கிறது. இப்பொழுது பதில் எழுத முனைந்தால் அது அழிக்கப்படும். பரவாயில்லையா?",
"confirmations.unfollow.confirm": "பின்தொடராட்", "confirmations.unfollow.confirm": "விலகு",
"confirmations.unfollow.message": "நிச்சயமாக நீங்கள் பின்தொடர விரும்புகிறீர்களா {name}?", "confirmations.unfollow.message": "{name}-ஐப் பின்தொடர்வதை நிச்சயமாக நீங்கள் நிறுத்த விரும்புகிறீர்களா?",
"conversation.delete": "உரையாடலை அழிக்கவும்", "conversation.delete": "உரையாடலை அழி",
"conversation.mark_as_read": "படிக்கபட்டதாகக் குறி", "conversation.mark_as_read": "படிக்கபட்டதாகக் குறி",
"conversation.open": "உரையாடலைக் காண்க", "conversation.open": "உரையாடலைக் காட்டு",
"conversation.with": "{names} உடன்", "conversation.with": "{names} உடன்",
"directory.federated": "தெரிந்த ஃபெடிவெர்சிலிருந்து", "directory.federated": "ஆலமரத்தின் அறியப்பட்டப் பகுதியிலிருந்து",
"directory.local": "{domain} இல் இருந்து மட்டும்", "directory.local": "{domain} களத்திலிருந்து மட்டும்",
"directory.new_arrivals": "புதிய வரவு", "directory.new_arrivals": "புதிய வரவு",
"directory.recently_active": "தற்பொழுது இயாக்கதிலிருப்பவர்கள்", "directory.recently_active": "சற்றுமுன் செயல்பாட்டில் இருந்தவர்கள்",
"embed.instructions": "கீழே உள்ள குறியீட்டை நகலெடுப்பதன் மூலம் உங்கள் இணையதளத்தில் இந்த நிலையை உட்பொதிக்கவும்.", "embed.instructions": "இந்தப் பதிவை உங்கள் வலைதளத்தில் பொதிக்கக் கீழே உள்ள வரிகளை காப்பி செய்யவும்.",
"embed.preview": "இது போன்ற தோற்றத்தை இங்கு காணலாம்:", "embed.preview": "பார்க்க இப்படி இருக்கும்:",
"emoji_button.activity": "நடவடிக்கை", "emoji_button.activity": "செயல்பாடு",
"emoji_button.custom": "வழக்கம்", "emoji_button.custom": "தனிப்பயன்",
"emoji_button.flags": "கொடி", "emoji_button.flags": "கொடிகள்",
"emoji_button.food": "உணவு மற்றும் பானம்", "emoji_button.food": "உணவு மற்றும் பானம்",
"emoji_button.label": "குறுப்படங்களை உள்ளிடு", "emoji_button.label": "குறுப்படங்களை உள்ளிடு",
"emoji_button.nature": "இயற்கை", "emoji_button.nature": "இயற்கை",
@ -143,7 +143,7 @@
"empty_column.account_timeline": "இல்லை toots இங்கே!", "empty_column.account_timeline": "இல்லை toots இங்கே!",
"empty_column.account_unavailable": "சுயவிவரம் கிடைக்கவில்லை", "empty_column.account_unavailable": "சுயவிவரம் கிடைக்கவில்லை",
"empty_column.blocks": "இதுவரை எந்த பயனர்களும் தடுக்கவில்லை.", "empty_column.blocks": "இதுவரை எந்த பயனர்களும் தடுக்கவில்லை.",
"empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.bookmarked_statuses": "உங்களிடம் அடையாளக்குறியிட்ட டூட்டுகள் எவையும் இல்லை. அடையாளக்குறியிட்ட பிறகு அவை இங்கே காட்டப்படும்.",
"empty_column.community": "உள்ளூர் காலக்கெடு காலியாக உள்ளது. பந்தை உருட்டிக்கொள்வதற்கு பகிரங்கமாக ஒன்றை எழுதுங்கள்!", "empty_column.community": "உள்ளூர் காலக்கெடு காலியாக உள்ளது. பந்தை உருட்டிக்கொள்வதற்கு பகிரங்கமாக ஒன்றை எழுதுங்கள்!",
"empty_column.direct": "உங்களிடம் நேரடியான செய்திகள் எதுவும் இல்லை. நீங்கள் ஒன்றை அனுப்பி அல்லது பெறும் போது, அது இங்கே காண்பிக்கும்.", "empty_column.direct": "உங்களிடம் நேரடியான செய்திகள் எதுவும் இல்லை. நீங்கள் ஒன்றை அனுப்பி அல்லது பெறும் போது, அது இங்கே காண்பிக்கும்.",
"empty_column.domain_blocks": "இன்னும் மறைந்த களங்கள் இல்லை.", "empty_column.domain_blocks": "இன்னும் மறைந்த களங்கள் இல்லை.",
@ -184,6 +184,8 @@
"home.column_settings.basic": "அடிப்படையான", "home.column_settings.basic": "அடிப்படையான",
"home.column_settings.show_reblogs": "காட்டு boosts", "home.column_settings.show_reblogs": "காட்டு boosts",
"home.column_settings.show_replies": "பதில்களைக் காண்பி", "home.column_settings.show_replies": "பதில்களைக் காண்பி",
"home.hide_announcements": "அறிவிப்புகளை மறை",
"home.show_announcements": "அறிவிப்புகளைக் காட்டு",
"intervals.full.days": "{number, plural, one {# day} மற்ற {# days}}", "intervals.full.days": "{number, plural, one {# day} மற்ற {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} மற்ற {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} மற்ற {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} மற்ற {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} மற்ற {# minutes}}",
@ -258,7 +260,7 @@
"mute_modal.hide_notifications": "இந்த பயனரின் அறிவிப்புகளை மறைக்கவா?", "mute_modal.hide_notifications": "இந்த பயனரின் அறிவிப்புகளை மறைக்கவா?",
"navigation_bar.apps": "மொபைல் பயன்பாடுகள்", "navigation_bar.apps": "மொபைல் பயன்பாடுகள்",
"navigation_bar.blocks": "தடுக்கப்பட்ட பயனர்கள்", "navigation_bar.blocks": "தடுக்கப்பட்ட பயனர்கள்",
"navigation_bar.bookmarks": "Bookmarks", "navigation_bar.bookmarks": "அடையாளக்குறிகள்",
"navigation_bar.community_timeline": "உள்ளூர் காலக்கெடு", "navigation_bar.community_timeline": "உள்ளூர் காலக்கெடு",
"navigation_bar.compose": "புதியவற்றை எழுதுக toot", "navigation_bar.compose": "புதியவற்றை எழுதுக toot",
"navigation_bar.direct": "நேரடி செய்திகள்", "navigation_bar.direct": "நேரடி செய்திகள்",
@ -333,6 +335,7 @@
"relative_time.just_now": "இப்பொழுது", "relative_time.just_now": "இப்பொழுது",
"relative_time.minutes": "{number}நி", "relative_time.minutes": "{number}நி",
"relative_time.seconds": "{number}வி", "relative_time.seconds": "{number}வி",
"relative_time.today": "இன்று",
"reply_indicator.cancel": "எதிராணை", "reply_indicator.cancel": "எதிராணை",
"report.forward": "முன்னோக்கி {target}", "report.forward": "முன்னோக்கி {target}",
"report.forward_hint": "கணக்கு மற்றொரு சேவையகத்திலிருந்து வருகிறது. அறிக்கையின் அநாமதேய பிரதி ஒன்றை அனுப்பவும்.?", "report.forward_hint": "கணக்கு மற்றொரு சேவையகத்திலிருந்து வருகிறது. அறிக்கையின் அநாமதேய பிரதி ஒன்றை அனுப்பவும்.?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "ప్రాథమిక", "home.column_settings.basic": "ప్రాథమిక",
"home.column_settings.show_reblogs": "బూస్ట్ లను చూపించు", "home.column_settings.show_reblogs": "బూస్ట్ లను చూపించు",
"home.column_settings.show_replies": "ప్రత్యుత్తరాలను చూపించు", "home.column_settings.show_replies": "ప్రత్యుత్తరాలను చూపించు",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "ఇప్పుడు", "relative_time.just_now": "ఇప్పుడు",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "రద్దు చెయ్యి", "reply_indicator.cancel": "రద్దు చెయ్యి",
"report.forward": "{target}కి ఫార్వార్డ్ చేయండి", "report.forward": "{target}కి ఫార్వార్డ్ చేయండి",
"report.forward_hint": "ఖాతా మరొక సర్వర్లో ఉంది. నివేదిక యొక్క ఒక అనామకంగా ఉన్న కాపీని అక్కడికి కూడా పంపించమంటారా?", "report.forward_hint": "ఖాతా మరొక సర్వర్లో ఉంది. నివేదిక యొక్క ఒక అనామకంగా ఉన్న కాపీని అక్కడికి కూడా పంపించమంటారా?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "พื้นฐาน", "home.column_settings.basic": "พื้นฐาน",
"home.column_settings.show_reblogs": "แสดงการดัน", "home.column_settings.show_reblogs": "แสดงการดัน",
"home.column_settings.show_replies": "แสดงการตอบกลับ", "home.column_settings.show_replies": "แสดงการตอบกลับ",
"home.hide_announcements": "ซ่อนประกาศ",
"home.show_announcements": "แสดงประกาศ",
"intervals.full.days": "{number, plural, other {# วัน}}", "intervals.full.days": "{number, plural, other {# วัน}}",
"intervals.full.hours": "{number, plural, other {# ชั่วโมง}}", "intervals.full.hours": "{number, plural, other {# ชั่วโมง}}",
"intervals.full.minutes": "{number, plural, other {# นาที}}", "intervals.full.minutes": "{number, plural, other {# นาที}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "ตอนนี้", "relative_time.just_now": "ตอนนี้",
"relative_time.minutes": "{number} นาที", "relative_time.minutes": "{number} นาที",
"relative_time.seconds": "{number} วินาที", "relative_time.seconds": "{number} วินาที",
"relative_time.today": "วันนี้",
"reply_indicator.cancel": "ยกเลิก", "reply_indicator.cancel": "ยกเลิก",
"report.forward": "ส่งต่อไปยัง {target}", "report.forward": "ส่งต่อไปยัง {target}",
"report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่นั่นด้วย?", "report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่นั่นด้วย?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Temel", "home.column_settings.basic": "Temel",
"home.column_settings.show_reblogs": "Boost edilenleri göster", "home.column_settings.show_reblogs": "Boost edilenleri göster",
"home.column_settings.show_replies": "Cevapları göster", "home.column_settings.show_replies": "Cevapları göster",
"home.hide_announcements": "Duyuruları gizle",
"home.show_announcements": "Duyuruları göster",
"intervals.full.days": "{number, plural, one {# gün} other {# gün}}", "intervals.full.days": "{number, plural, one {# gün} other {# gün}}",
"intervals.full.hours": "{number, plural, one {# saat} other {# saat}}", "intervals.full.hours": "{number, plural, one {# saat} other {# saat}}",
"intervals.full.minutes": "{number, plural, one {# dakika} other {# dakika}}", "intervals.full.minutes": "{number, plural, one {# dakika} other {# dakika}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "şimdi", "relative_time.just_now": "şimdi",
"relative_time.minutes": "{number}dk", "relative_time.minutes": "{number}dk",
"relative_time.seconds": "{number}sn", "relative_time.seconds": "{number}sn",
"relative_time.today": "bugün",
"reply_indicator.cancel": "İptal", "reply_indicator.cancel": "İptal",
"report.forward": "Şu kişiye ilet : {target}", "report.forward": "Şu kişiye ilet : {target}",
"report.forward_hint": "Bu hesap başka bir sunucudan. Anonimleştirilmiş bir rapor oraya da gönderilsin mi?", "report.forward_hint": "Bu hesap başka bir sunucudan. Anonimleştirilmiş bir rapor oraya da gönderilsin mi?",
@ -382,7 +385,7 @@
"status.redraft": "Sil & tekrar taslakla", "status.redraft": "Sil & tekrar taslakla",
"status.remove_bookmark": "Yer imini kaldır", "status.remove_bookmark": "Yer imini kaldır",
"status.reply": "Cevapla", "status.reply": "Cevapla",
"status.replyAll": "Konuşmayı cevapla", "status.replyAll": "Mesaj dizisini cevapla",
"status.report": "@{name}'i raporla", "status.report": "@{name}'i raporla",
"status.sensitive_warning": "Hassas içerik", "status.sensitive_warning": "Hassas içerik",
"status.share": "Paylaş", "status.share": "Paylaş",
@ -390,7 +393,7 @@
"status.show_less_all": "Hepsi için daha az göster", "status.show_less_all": "Hepsi için daha az göster",
"status.show_more": "Daha fazla göster", "status.show_more": "Daha fazla göster",
"status.show_more_all": "Hepsi için daha fazla göster", "status.show_more_all": "Hepsi için daha fazla göster",
"status.show_thread": "Başlığı göster", "status.show_thread": "Mesaj dizisini göster",
"status.uncached_media_warning": "Mevcut değil", "status.uncached_media_warning": "Mevcut değil",
"status.unmute_conversation": "Sohbeti aç", "status.unmute_conversation": "Sohbeti aç",
"status.unpin": "Profilden sabitlemeyi kaldır", "status.unpin": "Profilden sabitlemeyi kaldır",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Основні", "home.column_settings.basic": "Основні",
"home.column_settings.show_reblogs": "Показувати передмухи", "home.column_settings.show_reblogs": "Показувати передмухи",
"home.column_settings.show_replies": "Показувати відповіді", "home.column_settings.show_replies": "Показувати відповіді",
"home.hide_announcements": "Приховати оголошення",
"home.show_announcements": "Показати оголошення",
"intervals.full.days": "{number, plural, one {# день} few {# дні} other {# днів}}", "intervals.full.days": "{number, plural, one {# день} few {# дні} other {# днів}}",
"intervals.full.hours": "{number, plural, one {# година} few {# години} other {# годин}}", "intervals.full.hours": "{number, plural, one {# година} few {# години} other {# годин}}",
"intervals.full.minutes": "{number, plural, one {# хвилина} few {# хвилини} other {# хвилин}}", "intervals.full.minutes": "{number, plural, one {# хвилина} few {# хвилини} other {# хвилин}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "щойно", "relative_time.just_now": "щойно",
"relative_time.minutes": "{number}х", "relative_time.minutes": "{number}х",
"relative_time.seconds": "{number}с", "relative_time.seconds": "{number}с",
"relative_time.today": "сьогодні",
"reply_indicator.cancel": "Відмінити", "reply_indicator.cancel": "Відмінити",
"report.forward": "Надіслати до {target}", "report.forward": "Надіслати до {target}",
"report.forward_hint": "Це аккаунт з іншого серверу. Відправити анонімізовану копію скарги і туди?", "report.forward_hint": "Це аккаунт з іншого серверу. Відправити анонімізовану копію скарги і туди?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "بنیادی", "home.column_settings.basic": "بنیادی",
"home.column_settings.show_reblogs": "افزائشات دکھائیں", "home.column_settings.show_reblogs": "افزائشات دکھائیں",
"home.column_settings.show_replies": "جوابات دکھائیں", "home.column_settings.show_replies": "جوابات دکھائیں",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# روز} other {# روز}}", "intervals.full.days": "{number, plural, one {# روز} other {# روز}}",
"intervals.full.hours": "{number, plural, one {# ساعت} other {# ساعت}}", "intervals.full.hours": "{number, plural, one {# ساعت} other {# ساعت}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "now", "relative_time.just_now": "now",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today",
"reply_indicator.cancel": "Cancel", "reply_indicator.cancel": "Cancel",
"report.forward": "Forward to {target}", "report.forward": "Forward to {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "Cơ bản", "home.column_settings.basic": "Cơ bản",
"home.column_settings.show_reblogs": "Hiện tút được loan tin", "home.column_settings.show_reblogs": "Hiện tút được loan tin",
"home.column_settings.show_replies": "Hiện trả lời", "home.column_settings.show_replies": "Hiện trả lời",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number} days", "intervals.full.days": "{number} days",
"intervals.full.hours": "{number} hours", "intervals.full.hours": "{number} hours",
"intervals.full.minutes": "{number} minutes", "intervals.full.minutes": "{number} minutes",
@ -333,6 +335,7 @@
"relative_time.just_now": "vừa xong", "relative_time.just_now": "vừa xong",
"relative_time.minutes": "{number} phút", "relative_time.minutes": "{number} phút",
"relative_time.seconds": "{number} giây", "relative_time.seconds": "{number} giây",
"relative_time.today": "today",
"reply_indicator.cancel": "Hủy bỏ", "reply_indicator.cancel": "Hủy bỏ",
"report.forward": "Chuyển đến {target}", "report.forward": "Chuyển đến {target}",
"report.forward_hint": "Tài khoản này từ miền khác. Gửi thêm một báo cáo ẩn danh tới miền của tài khoản này?", "report.forward_hint": "Tài khoản này từ miền khác. Gửi thêm một báo cáo ẩn danh tới miền của tài khoản này?",

View File

@ -1,7 +1,7 @@
{ {
"account.add_or_remove_from_list": "从列表中添加或删除", "account.add_or_remove_from_list": "从列表中添加或删除",
"account.badges.bot": "机器人", "account.badges.bot": "机器人",
"account.badges.group": "Group", "account.badges.group": "群组",
"account.block": "屏蔽 @{name}", "account.block": "屏蔽 @{name}",
"account.block_domain": "隐藏来自 {domain} 的内容", "account.block_domain": "隐藏来自 {domain} 的内容",
"account.blocked": "已屏蔽", "account.blocked": "已屏蔽",
@ -43,7 +43,7 @@
"alert.rate_limited.title": "频率受限", "alert.rate_limited.title": "频率受限",
"alert.unexpected.message": "发生了意外错误。", "alert.unexpected.message": "发生了意外错误。",
"alert.unexpected.title": "哎呀!", "alert.unexpected.title": "哎呀!",
"announcement.announcement": "Announcement", "announcement.announcement": "公告",
"autosuggest_hashtag.per_week": "每星期 {count} 条", "autosuggest_hashtag.per_week": "每星期 {count} 条",
"boost_modal.combo": "下次按住 {combo} 即可跳过此提示", "boost_modal.combo": "下次按住 {combo} 即可跳过此提示",
"bundle_column_error.body": "载入这个组件时发生了错误。", "bundle_column_error.body": "载入这个组件时发生了错误。",
@ -85,8 +85,8 @@
"compose_form.poll.duration": "投票持续时间", "compose_form.poll.duration": "投票持续时间",
"compose_form.poll.option_placeholder": "选项 {number}", "compose_form.poll.option_placeholder": "选项 {number}",
"compose_form.poll.remove_option": "移除这个选项", "compose_form.poll.remove_option": "移除这个选项",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices", "compose_form.poll.switch_to_multiple": "将投票改为多选",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice", "compose_form.poll.switch_to_single": "将投票改为单选",
"compose_form.publish": "嘟嘟", "compose_form.publish": "嘟嘟",
"compose_form.publish_loud": "{publish}", "compose_form.publish_loud": "{publish}",
"compose_form.sensitive.hide": "标记媒体为敏感内容", "compose_form.sensitive.hide": "标记媒体为敏感内容",
@ -184,6 +184,8 @@
"home.column_settings.basic": "基本设置", "home.column_settings.basic": "基本设置",
"home.column_settings.show_reblogs": "显示转嘟", "home.column_settings.show_reblogs": "显示转嘟",
"home.column_settings.show_replies": "显示回复", "home.column_settings.show_replies": "显示回复",
"home.hide_announcements": "隐藏公告",
"home.show_announcements": "显示公告",
"intervals.full.days": "{number} 天", "intervals.full.days": "{number} 天",
"intervals.full.hours": "{number} 小时", "intervals.full.hours": "{number} 小时",
"intervals.full.minutes": "{number} 分钟", "intervals.full.minutes": "{number} 分钟",
@ -333,6 +335,7 @@
"relative_time.just_now": "刚刚", "relative_time.just_now": "刚刚",
"relative_time.minutes": "{number}分", "relative_time.minutes": "{number}分",
"relative_time.seconds": "{number}秒", "relative_time.seconds": "{number}秒",
"relative_time.today": "今天",
"reply_indicator.cancel": "取消", "reply_indicator.cancel": "取消",
"report.forward": "转发举报至 {target}", "report.forward": "转发举报至 {target}",
"report.forward_hint": "这名用户来自另一个服务器。是否要向那个服务器发送一条匿名的举报?", "report.forward_hint": "这名用户来自另一个服务器。是否要向那个服务器发送一条匿名的举报?",
@ -391,7 +394,7 @@
"status.show_more": "显示内容", "status.show_more": "显示内容",
"status.show_more_all": "显示所有内容", "status.show_more_all": "显示所有内容",
"status.show_thread": "显示全部对话", "status.show_thread": "显示全部对话",
"status.uncached_media_warning": "不可用", "status.uncached_media_warning": "不可用",
"status.unmute_conversation": "不再隐藏此对话", "status.unmute_conversation": "不再隐藏此对话",
"status.unpin": "在个人资料页面取消置顶", "status.unpin": "在个人资料页面取消置顶",
"suggestions.dismiss": "关闭建议", "suggestions.dismiss": "关闭建议",
@ -410,7 +413,7 @@
"trends.trending_now": "现在流行", "trends.trending_now": "现在流行",
"ui.beforeunload": "如果你现在离开 Mastodon你的草稿内容将会丢失。", "ui.beforeunload": "如果你现在离开 Mastodon你的草稿内容将会丢失。",
"upload_area.title": "将文件拖放到此处开始上传", "upload_area.title": "将文件拖放到此处开始上传",
"upload_button.label": "上传媒体文件 (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_button.label": "上传媒体文件 ({formats})",
"upload_error.limit": "文件大小超过限制。", "upload_error.limit": "文件大小超过限制。",
"upload_error.poll": "投票中不允许上传文件。", "upload_error.poll": "投票中不允许上传文件。",
"upload_form.audio_description": "为听障人士添加文字描述", "upload_form.audio_description": "为听障人士添加文字描述",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "基本", "home.column_settings.basic": "基本",
"home.column_settings.show_reblogs": "顯示被轉推的文章", "home.column_settings.show_reblogs": "顯示被轉推的文章",
"home.column_settings.show_replies": "顯示回應文章", "home.column_settings.show_replies": "顯示回應文章",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# 天} other {# 天}}", "intervals.full.days": "{number, plural, one {# 天} other {# 天}}",
"intervals.full.hours": "{number, plural, one {# 小時} other {# 小時}}", "intervals.full.hours": "{number, plural, one {# 小時} other {# 小時}}",
"intervals.full.minutes": "{number, plural, one {# 分鐘} other {# 分鐘}}", "intervals.full.minutes": "{number, plural, one {# 分鐘} other {# 分鐘}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "剛剛", "relative_time.just_now": "剛剛",
"relative_time.minutes": "{number}分鐘", "relative_time.minutes": "{number}分鐘",
"relative_time.seconds": "{number}秒", "relative_time.seconds": "{number}秒",
"relative_time.today": "today",
"reply_indicator.cancel": "取消", "reply_indicator.cancel": "取消",
"report.forward": "轉寄到 {target}", "report.forward": "轉寄到 {target}",
"report.forward_hint": "這個帳戶屬於其他服務站。要向該服務站發送匿名的舉報訊息嗎?", "report.forward_hint": "這個帳戶屬於其他服務站。要向該服務站發送匿名的舉報訊息嗎?",

View File

@ -184,6 +184,8 @@
"home.column_settings.basic": "基本", "home.column_settings.basic": "基本",
"home.column_settings.show_reblogs": "顯示轉嘟", "home.column_settings.show_reblogs": "顯示轉嘟",
"home.column_settings.show_replies": "顯示回覆", "home.column_settings.show_replies": "顯示回覆",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# 天} other {# 天}}", "intervals.full.days": "{number, plural, one {# 天} other {# 天}}",
"intervals.full.hours": "{number, plural, one {# 小時} other {# 小時}}", "intervals.full.hours": "{number, plural, one {# 小時} other {# 小時}}",
"intervals.full.minutes": "{number, plural, one {# 分鐘} other {# 分鐘}}", "intervals.full.minutes": "{number, plural, one {# 分鐘} other {# 分鐘}}",
@ -333,6 +335,7 @@
"relative_time.just_now": "剛剛", "relative_time.just_now": "剛剛",
"relative_time.minutes": "{number} 分", "relative_time.minutes": "{number} 分",
"relative_time.seconds": "{number} 秒", "relative_time.seconds": "{number} 秒",
"relative_time.today": "today",
"reply_indicator.cancel": "取消", "reply_indicator.cancel": "取消",
"report.forward": "轉寄到 {target}", "report.forward": "轉寄到 {target}",
"report.forward_hint": "這個帳戶屬於其他站點。要像該站點發送匿名的檢舉訊息嗎?", "report.forward_hint": "這個帳戶屬於其他站點。要像該站點發送匿名的檢舉訊息嗎?",

View File

@ -1,23 +1,23 @@
import { import {
ANNOUNCEMENTS_DELETE,
ANNOUNCEMENTS_DISMISS_SUCCESS,
ANNOUNCEMENTS_FETCH_FAIL,
ANNOUNCEMENTS_FETCH_REQUEST, ANNOUNCEMENTS_FETCH_REQUEST,
ANNOUNCEMENTS_FETCH_SUCCESS, ANNOUNCEMENTS_FETCH_SUCCESS,
ANNOUNCEMENTS_FETCH_FAIL,
ANNOUNCEMENTS_UPDATE,
ANNOUNCEMENTS_REACTION_UPDATE,
ANNOUNCEMENTS_REACTION_ADD_REQUEST,
ANNOUNCEMENTS_REACTION_ADD_FAIL, ANNOUNCEMENTS_REACTION_ADD_FAIL,
ANNOUNCEMENTS_REACTION_REMOVE_REQUEST, ANNOUNCEMENTS_REACTION_ADD_REQUEST,
ANNOUNCEMENTS_REACTION_REMOVE_FAIL, ANNOUNCEMENTS_REACTION_REMOVE_FAIL,
ANNOUNCEMENTS_REACTION_REMOVE_REQUEST,
ANNOUNCEMENTS_REACTION_UPDATE,
ANNOUNCEMENTS_TOGGLE_SHOW, ANNOUNCEMENTS_TOGGLE_SHOW,
ANNOUNCEMENTS_DELETE, ANNOUNCEMENTS_UPDATE,
} from '../actions/announcements'; } from '../actions/announcements';
import { Map as ImmutableMap, List as ImmutableList, Set as ImmutableSet, fromJS } from 'immutable'; import { fromJS, List as ImmutableList, Map as ImmutableMap } from 'immutable';
const initialState = ImmutableMap({ const initialState = ImmutableMap({
items: ImmutableList(), items: ImmutableList(),
isLoading: false, isLoading: false,
show: false, show: false,
unread: ImmutableSet(),
}); });
const updateReaction = (state, id, name, updater) => state.update('items', list => list.map(announcement => { const updateReaction = (state, id, name, updater) => state.update('items', list => list.map(announcement => {
@ -42,24 +42,11 @@ const addReaction = (state, id, name) => updateReaction(state, id, name, x => x.
const removeReaction = (state, id, name) => updateReaction(state, id, name, x => x.set('me', false).update('count', y => y - 1)); const removeReaction = (state, id, name) => updateReaction(state, id, name, x => x.set('me', false).update('count', y => y - 1));
const addUnread = (state, items) => {
if (state.get('show')) {
return state;
}
const newIds = ImmutableSet(items.map(x => x.get('id')));
const oldIds = ImmutableSet(state.get('items').map(x => x.get('id')));
return state.update('unread', unread => unread.union(newIds.subtract(oldIds)));
};
const sortAnnouncements = list => list.sortBy(x => x.get('starts_at') || x.get('published_at')); const sortAnnouncements = list => list.sortBy(x => x.get('starts_at') || x.get('published_at'));
const updateAnnouncement = (state, announcement) => { const updateAnnouncement = (state, announcement) => {
const idx = state.get('items').findIndex(x => x.get('id') === announcement.get('id')); const idx = state.get('items').findIndex(x => x.get('id') === announcement.get('id'));
state = addUnread(state, [announcement]);
if (idx > -1) { if (idx > -1) {
// Deep merge is used because announcements from the streaming API do not contain // Deep merge is used because announcements from the streaming API do not contain
// personalized data about which reactions have been selected by the given user, // personalized data about which reactions have been selected by the given user,
@ -74,7 +61,6 @@ export default function announcementsReducer(state = initialState, action) {
switch(action.type) { switch(action.type) {
case ANNOUNCEMENTS_TOGGLE_SHOW: case ANNOUNCEMENTS_TOGGLE_SHOW:
return state.withMutations(map => { return state.withMutations(map => {
if (!map.get('show')) map.set('unread', ImmutableSet());
map.set('show', !map.get('show')); map.set('show', !map.get('show'));
}); });
case ANNOUNCEMENTS_FETCH_REQUEST: case ANNOUNCEMENTS_FETCH_REQUEST:
@ -83,10 +69,6 @@ export default function announcementsReducer(state = initialState, action) {
return state.withMutations(map => { return state.withMutations(map => {
const items = fromJS(action.announcements); const items = fromJS(action.announcements);
map.set('unread', ImmutableSet());
addUnread(map, items);
map.set('items', items); map.set('items', items);
map.set('isLoading', false); map.set('isLoading', false);
}); });
@ -102,8 +84,10 @@ export default function announcementsReducer(state = initialState, action) {
case ANNOUNCEMENTS_REACTION_REMOVE_REQUEST: case ANNOUNCEMENTS_REACTION_REMOVE_REQUEST:
case ANNOUNCEMENTS_REACTION_ADD_FAIL: case ANNOUNCEMENTS_REACTION_ADD_FAIL:
return removeReaction(state, action.id, action.name); return removeReaction(state, action.id, action.name);
case ANNOUNCEMENTS_DISMISS_SUCCESS:
return updateAnnouncement(state, fromJS({ 'id': action.id, 'read': true }));
case ANNOUNCEMENTS_DELETE: case ANNOUNCEMENTS_DELETE:
return state.update('unread', set => set.delete(action.id)).update('items', list => { return state.update('items', list => {
const idx = list.findIndex(x => x.get('id') === action.id); const idx = list.findIndex(x => x.get('id') === action.id);
if (idx > -1) { if (idx > -1) {

View File

@ -81,8 +81,8 @@ function main() {
content.title = dateTimeFormat.format(datetime); content.title = dateTimeFormat.format(datetime);
content.textContent = timeAgoString({ content.textContent = timeAgoString({
formatMessage: ({ id, defaultMessage }, values) => (new IntlMessageFormat(messages[id] || defaultMessage, locale)).format(values), formatMessage: ({ id, defaultMessage }, values) => (new IntlMessageFormat(messages[id] || defaultMessage, locale)).format(values),
formatDate: (date, options) => (new Intl.DateTimeFormat(locale, options)).format(date), formatDate : (date, options) => (new Intl.DateTimeFormat(locale, options)).format(date),
}, datetime, now, now.getFullYear()); }, datetime, now, now.getFullYear(), content.getAttribute('datetime').includes('T'));
}); });
const reactComponents = document.querySelectorAll('[data-component]'); const reactComponents = document.querySelectorAll('[data-component]');

View File

@ -1,37 +1,32 @@
//@import 'mastodon/variables'; //@import 'mastodon/variables';
@import 'mastodon-light/variables'; @import 'bliss/variables';
@import 'application'; @import 'bliss/mixins';
@import 'mastodon-light/diff'; @import 'fonts/roboto';
@import 'fonts/roboto-mono';
@import 'fonts/montserrat';
//@import 'bliss/variables';
//@import 'bliss/mixins'; @import 'bliss/reset';
//@import 'fonts/roboto'; @import 'bliss/messaging';
//@import 'fonts/roboto-mono'; @import 'bliss/basics';
//@import 'fonts/montserrat'; @import 'bliss/containers';
// @import 'bliss/lists';
//@import 'bliss/reset'; @import 'bliss/footer';
//@import 'bliss/messaging'; @import 'bliss/compact_header';
//@import 'bliss/basics'; @import 'bliss/widgets';
//@import 'bliss/containers'; @import 'bliss/forms';
//@import 'bliss/lists'; @import 'bliss/accounts';
//@import 'bliss/footer'; @import 'bliss/statuses';
//@import 'bliss/compact_header'; @import 'bliss/boost';
//@import 'bliss/widgets'; @import 'bliss/components';
//@import 'bliss/forms'; @import 'bliss/polls';
//@import 'bliss/accounts'; @import 'bliss/introduction';
//@import 'bliss/statuses'; @import 'bliss/modal';
//@import 'bliss/boost'; @import 'bliss/emoji_picker';
//@import 'bliss/components'; @import 'bliss/about';
//@import 'bliss/polls'; @import 'bliss/tables';
//@import 'bliss/introduction'; @import 'bliss/admin';
//@import 'bliss/modal'; @import 'bliss/dashboard';
//@import 'bliss/emoji_picker'; @import 'bliss/rtl';
//@import 'bliss/about'; @import 'bliss/accessibility';
//@import 'bliss/tables';
//@import 'bliss/admin';
//@import 'bliss/dashboard';
//@import 'bliss/rtl';
//@import 'bliss/accessibility';

View File

@ -1,23 +1,17 @@
@import '../mastodon/variables';
// Commonly used web colors // Commonly used web colors
//$black: #000; // Black $black: #000; // Black
//$white: #fff; // White $white: #fff; // White
//$success-green: #6bbd77 !default; // Padua $success-green: #6bbd77 !default; // Padua
//$error-red: #d4839b !default; // Cerise $error-red: #d4839b !default; // Cerise
//$warning-red: #528dc8 !default; // Sunset Orange $warning-red: #528dc8 !default; // Sunset Orange
//$gold-star: #98c6ff !default; // Dark Goldenrod $gold-star: #98c6ff !default; // Dark Goldenrod
/************************ /************************
BEGIN bliss specific variables BEGIN bliss specific variables
************************/ ************************/
//$black: #000; // Black
//$white: #fff; // White
//$success-green: #6bbd77 !default; // Padua
//$error-red: red !default; // Cerise
//$warning-red: orange !default; // Sunset Orange
//$gold-star: #98c6ff !default; // Dark Goldenrod
// Variables for components // Variables for components
$media-modal-media-max-width: 100%; $media-modal-media-max-width: 100%;
// put margins on top and bottom of image to avoid the screen covered by image. // put margins on top and bottom of image to avoid the screen covered by image.
@ -35,26 +29,3 @@ $no-gap-breakpoint: 415px;
END bliss specific variables END bliss specific variables
************************/ ************************/
/************************
light color set
*/
//$ui-base-color: $classic-secondary-color !default;
//$ui-base-lighter-color: #b0c0cf !default;
//$ui-primary-color: #9bcbed !default;
//$ui-secondary-color: $classic-base-color !default;
//$ui-highlight-color: #2b90d9 !default;
//
//$primary-text-color: $black !default;
//$darker-text-color: $classic-base-color !default;
//$dark-text-color: #444b5d !default;
//$action-button-color: #606984 !default;
//
//$inverted-text-color: $black !default;
//$lighter-text-color: $classic-base-color !default;
//$light-text-color: #444b5d !default;
//
////Newly added colors
//$account-background-color: $white !default;
/**
end light color set
*/

View File

@ -1,3 +1,3 @@
@import 'mastodon-light/variables'; @import 'mastodon-light/variables';
@import 'application'; @import 'bliss';
@import 'mastodon-light/diff'; @import 'mastodon-light/diff';

View File

@ -777,14 +777,14 @@ html {
body, body,
.tabs-bar__wrapper { .tabs-bar__wrapper {
background: #9baec8 !important; background: $ui-base-lighter-color !important;
} }
a { a {
color: #0b97c4; color: $ui-highlight-color;
&.column-link { &.column-link {
color: #222; color: $darker-text-color;
} }
} }
@ -795,18 +795,25 @@ a {
.search__input, { .search__input, {
&:focus { &:focus {
color: white; color: $white;
} }
} }
.compose-form__publish-button-wrapper { .compose-form__publish-button-wrapper {
width: 100%;
.button { .button {
width: 100%;
display: block; display: block;
float: none; float: none;
} }
} }
input,
.simple_form input[type="text"], .simple_form input[type="number"], .simple_form input[type="email"], .simple_form input[type="password"], .simple_form textarea {
color: $white;
}
.links-started__footer { .links-started__footer {
a, li { a, li {
display: inline-block; display: inline-block;
@ -824,3 +831,51 @@ a {
float: left; float: left;
} }
} }
.admin-wrapper .sidebar ul a {
color: $white !important;
}
.flash-message {
background: $classic-highlight-color;
}
.table th, .table td {
background: $classic-secondary-color;
color: $classic-base-color;
}
.table > tbody > tr:nth-child(2n+1) > td, .table > tbody > tr:nth-child(2n+1) > th {
background: darken($classic-primary-color, 0.2);
}
.table {
border: 1px solid $classic-base-color;
}
.notification__filter-bar button, .notification__filter-bar a, .account__section-headline button, .account__section-headline a {
background: $classic-secondary-color;
color: $dark-text-color;
}
.notification__filter-bar button.active, .notification__filter-bar a.active, .account__section-headline button.active, .account__section-headline a.active {
color: $ui-highlight-color;
}
.status.status-direct:not(.read) {
background: $ui-base-lighter-color;
}
.reply-indicator__content .status__content__spoiler-link, .status__content .status__content__spoiler-link {
color: $white;
&:hover {
color: $ui-highlight-color;
background: $ui-primary-color;
}
}
.dashboard__counters div a {
color: $white !important;
}

View File

@ -6694,6 +6694,17 @@ noscript {
font-weight: 500; font-weight: 500;
margin-bottom: 10px; margin-bottom: 10px;
} }
&__unread {
position: absolute;
top: 19px;
right: 19px;
display: block;
background: $highlight-text-color;
border-radius: 50%;
width: 0.625rem;
height: 0.625rem;
}
} }
&__pagination { &__pagination {

View File

@ -46,6 +46,8 @@ class Formatter
def reformat(html) def reformat(html)
sanitize(html, Sanitize::Config::MASTODON_STRICT) sanitize(html, Sanitize::Config::MASTODON_STRICT)
rescue ArgumentError
''
end end
def plaintext(status) def plaintext(status)

View File

@ -2,7 +2,23 @@
class Sanitize class Sanitize
module Config module Config
HTTP_PROTOCOLS ||= ['http', 'https', 'dat', 'dweb', 'ipfs', 'ipns', 'ssb', 'gopher', 'xmpp', 'magnet', :relative].freeze HTTP_PROTOCOLS = %w(
http
https
).freeze
LINK_PROTOCOLS = %w(
http
https
dat
dweb
ipfs
ipns
ssb
gopher
xmpp
magnet
).freeze
CLASS_WHITELIST_TRANSFORMER = lambda do |env| CLASS_WHITELIST_TRANSFORMER = lambda do |env|
node = env[:node] node = env[:node]
@ -19,19 +35,37 @@ class Sanitize
node['class'] = class_list.join(' ') node['class'] = class_list.join(' ')
end end
UNSUPPORTED_HREF_TRANSFORMER = lambda do |env|
return unless env[:node_name] == 'a'
current_node = env[:node]
scheme = begin
if current_node['href'] =~ Sanitize::REGEX_PROTOCOL
Regexp.last_match(1).downcase
else
:relative
end
end
current_node.replace(current_node.text) unless LINK_PROTOCOLS.include?(scheme)
end
UNSUPPORTED_ELEMENTS_TRANSFORMER = lambda do |env| UNSUPPORTED_ELEMENTS_TRANSFORMER = lambda do |env|
return unless %w(h1 h2 h3 h4 h5 h6 blockquote pre ul ol li).include?(env[:node_name]) return unless %w(h1 h2 h3 h4 h5 h6 blockquote pre ul ol li).include?(env[:node_name])
current_node = env[:node]
case env[:node_name] case env[:node_name]
when 'li' when 'li'
env[:node].traverse do |node| current_node.traverse do |node|
next unless %w(p ul ol li).include?(node.name) next unless %w(p ul ol li).include?(node.name)
node.add_next_sibling('<br>') if node.next_sibling node.add_next_sibling('<br>') if node.next_sibling
node.replace(node.children) unless node.text? node.replace(node.children) unless node.text?
end end
else else
env[:node].name = 'p' current_node.name = 'p'
end end
end end
@ -50,13 +84,12 @@ class Sanitize
}, },
}, },
protocols: { protocols: {},
'a' => { 'href' => HTTP_PROTOCOLS },
},
transformers: [ transformers: [
CLASS_WHITELIST_TRANSFORMER, CLASS_WHITELIST_TRANSFORMER,
UNSUPPORTED_ELEMENTS_TRANSFORMER, UNSUPPORTED_ELEMENTS_TRANSFORMER,
UNSUPPORTED_HREF_TRANSFORMER,
] ]
) )

View File

@ -6,6 +6,7 @@ class UserMailer < Devise::Mailer
helper :accounts helper :accounts
helper :application helper :application
helper :instance helper :instance
helper :statuses
add_template_helper RoutingHelper add_template_helper RoutingHelper

View File

@ -70,14 +70,13 @@ class Account < ApplicationRecord
enum protocol: [:ostatus, :activitypub] enum protocol: [:ostatus, :activitypub]
validates :username, presence: true validates :username, presence: true
validates_with UniqueUsernameValidator, if: -> { will_save_change_to_username? }
# Remote user validations # Remote user validations
validates :username, uniqueness: { scope: :domain, case_sensitive: true }, if: -> { !local? && will_save_change_to_username? }
validates :username, format: { with: /\A#{USERNAME_RE}\z/i }, if: -> { !local? && will_save_change_to_username? } validates :username, format: { with: /\A#{USERNAME_RE}\z/i }, if: -> { !local? && will_save_change_to_username? }
# Local user validations # Local user validations
validates :username, format: { with: /\A[a-z0-9_]+\z/i }, length: { maximum: 30 }, if: -> { local? && will_save_change_to_username? && actor_type != 'Application' } validates :username, format: { with: /\A[a-z0-9_]+\z/i }, length: { maximum: 30 }, if: -> { local? && will_save_change_to_username? && actor_type != 'Application' }
validates_with UniqueUsernameValidator, if: -> { local? && will_save_change_to_username? }
validates_with UnreservedUsernameValidator, if: -> { local? && will_save_change_to_username? } validates_with UnreservedUsernameValidator, if: -> { local? && will_save_change_to_username? }
validates :display_name, length: { maximum: 30 }, if: -> { local? && will_save_change_to_display_name? } validates :display_name, length: { maximum: 30 }, if: -> { local? && will_save_change_to_display_name? }
validates :note, note_length: { maximum: 500 }, if: -> { local? && will_save_change_to_note? } validates :note, note_length: { maximum: 500 }, if: -> { local? && will_save_change_to_note? }

View File

@ -48,7 +48,7 @@ module AccountFinderConcern
end end
def with_usernames def with_usernames
Account.where.not(username: '') Account.where.not(Account.arel_table[:username].lower.eq '')
end end
def matching_username def matching_username
@ -56,11 +56,7 @@ module AccountFinderConcern
end end
def matching_domain def matching_domain
if domain.nil? Account.where(Account.arel_table[:domain].lower.eq(domain.nil? ? nil : domain.to_s.downcase))
Account.where(domain: nil)
else
Account.where(Account.arel_table[:domain].lower.eq domain.to_s.downcase)
end
end end
end end
end end

View File

@ -36,8 +36,8 @@ module Remotable
basename = SecureRandom.hex(8) basename = SecureRandom.hex(8)
send("#{attachment_name}=", StringIO.new(response.body_with_limit(limit)))
send("#{attachment_name}_file_name=", basename + extname) send("#{attachment_name}_file_name=", basename + extname)
send("#{attachment_name}=", StringIO.new(response.body_with_limit(limit)))
self[attribute_name] = url if has_attribute?(attribute_name) self[attribute_name] = url if has_attribute?(attribute_name)
end end

View File

@ -4,15 +4,25 @@ class REST::AnnouncementSerializer < ActiveModel::Serializer
attributes :id, :content, :starts_at, :ends_at, :all_day, attributes :id, :content, :starts_at, :ends_at, :all_day,
:published_at, :updated_at :published_at, :updated_at
attribute :read, if: :current_user?
has_many :mentions has_many :mentions
has_many :tags, serializer: REST::StatusSerializer::TagSerializer has_many :tags, serializer: REST::StatusSerializer::TagSerializer
has_many :emojis, serializer: REST::CustomEmojiSerializer has_many :emojis, serializer: REST::CustomEmojiSerializer
has_many :reactions, serializer: REST::ReactionSerializer has_many :reactions, serializer: REST::ReactionSerializer
def current_user?
!current_user.nil?
end
def id def id
object.id.to_s object.id.to_s
end end
def read
object.announcement_mutes.where(account: current_user.account).exists?
end
def content def content
Formatter.instance.linkify(object.text) Formatter.instance.linkify(object.text)
end end
@ -31,5 +41,9 @@ class REST::AnnouncementSerializer < ActiveModel::Serializer
def url def url
ActivityPub::TagManager.instance.url_for(object) ActivityPub::TagManager.instance.url_for(object)
end end
def acct
object.pretty_acct
end
end end
end end

View File

@ -145,7 +145,7 @@ class REST::StatusSerializer < ActiveModel::Serializer
end end
def acct def acct
object.account_acct object.account.pretty_acct
end end
end end

View File

@ -7,8 +7,9 @@ class UniqueUsernameValidator < ActiveModel::Validator
return if account.username.nil? return if account.username.nil?
normalized_username = account.username.downcase normalized_username = account.username.downcase
normalized_domain = account.domain&.downcase
scope = Account.where(domain: nil).where('lower(username) = ?', normalized_username) scope = Account.where(Account.arel_table[:username].lower.eq normalized_username).where(Account.arel_table[:domain].lower.eq normalized_domain)
scope = scope.where.not(id: account.id) if account.persisted? scope = scope.where.not(id: account.id) if account.persisted?
account.errors.add(:username, :taken) if scope.exists? account.errors.add(:username, :taken) if scope.exists?

View File

@ -10,4 +10,4 @@
= opengraph 'og:image:width', '120' = opengraph 'og:image:width', '120'
= opengraph 'og:image:height', '120' = opengraph 'og:image:height', '120'
= opengraph 'twitter:card', 'summary' = opengraph 'twitter:card', 'summary'
= opengraph 'profile:username', account.local_username_and_domain = opengraph 'profile:username', acct(account)[1..-1]

View File

@ -1,5 +1,5 @@
- content_for :page_title do - content_for :page_title do
= "#{display_name(@account)} (@#{@account.local_username_and_domain})" = "#{display_name(@account)} (#{acct(@account)})"
- content_for :header_tags do - content_for :header_tags do
- if @account.user&.setting_noindex - if @account.user&.setting_noindex

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