From a292162c5f4ae835ccbbbd161f8f6b597ae75df1 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 17 Dec 2025 03:32:24 -0500 Subject: [PATCH 01/13] Mark `Form::AdminSettings#persisted?` as true (#35872) --- app/models/form/admin_settings.rb | 4 ++++ app/views/admin/settings/about/show.html.haml | 2 +- app/views/admin/settings/appearance/show.html.haml | 2 +- app/views/admin/settings/branding/show.html.haml | 2 +- app/views/admin/settings/content_retention/show.html.haml | 2 +- app/views/admin/settings/discovery/show.html.haml | 2 +- app/views/admin/settings/registrations/show.html.haml | 2 +- spec/models/form/admin_settings_spec.rb | 4 ++++ 8 files changed, 14 insertions(+), 6 deletions(-) diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb index af4ad38ae9..142b0b4560 100644 --- a/app/models/form/admin_settings.rb +++ b/app/models/form/admin_settings.rb @@ -154,6 +154,10 @@ class Form::AdminSettings end end + def persisted? + true + end + private def cache_digest_value(key) diff --git a/app/views/admin/settings/about/show.html.haml b/app/views/admin/settings/about/show.html.haml index adc8f1ff04..c4df98e704 100644 --- a/app/views/admin/settings/about/show.html.haml +++ b/app/views/admin/settings/about/show.html.haml @@ -5,7 +5,7 @@ %h2= t('admin.settings.title') = render partial: 'admin/settings/shared/links' -= simple_form_for @admin_settings, url: admin_settings_about_path, html: { method: :patch } do |f| += simple_form_for @admin_settings, url: admin_settings_about_path do |f| = render 'shared/error_messages', object: @admin_settings %p.lead= t('admin.settings.about.preamble') diff --git a/app/views/admin/settings/appearance/show.html.haml b/app/views/admin/settings/appearance/show.html.haml index c610f9f941..20208df152 100644 --- a/app/views/admin/settings/appearance/show.html.haml +++ b/app/views/admin/settings/appearance/show.html.haml @@ -5,7 +5,7 @@ %h2= t('admin.settings.title') = render partial: 'admin/settings/shared/links' -= simple_form_for @admin_settings, url: admin_settings_appearance_path, html: { method: :patch } do |f| += simple_form_for @admin_settings, url: admin_settings_appearance_path do |f| = render 'shared/error_messages', object: @admin_settings %p.lead= t('admin.settings.appearance.preamble') diff --git a/app/views/admin/settings/branding/show.html.haml b/app/views/admin/settings/branding/show.html.haml index 05795a1974..22116167eb 100644 --- a/app/views/admin/settings/branding/show.html.haml +++ b/app/views/admin/settings/branding/show.html.haml @@ -5,7 +5,7 @@ %h2= t('admin.settings.title') = render partial: 'admin/settings/shared/links' -= simple_form_for @admin_settings, url: admin_settings_branding_path, html: { method: :patch } do |f| += simple_form_for @admin_settings, url: admin_settings_branding_path do |f| = render 'shared/error_messages', object: @admin_settings %p.lead= t('admin.settings.branding.preamble') diff --git a/app/views/admin/settings/content_retention/show.html.haml b/app/views/admin/settings/content_retention/show.html.haml index 57485c1108..c6c39fdf44 100644 --- a/app/views/admin/settings/content_retention/show.html.haml +++ b/app/views/admin/settings/content_retention/show.html.haml @@ -5,7 +5,7 @@ %h2= t('admin.settings.title') = render partial: 'admin/settings/shared/links' -= simple_form_for @admin_settings, url: admin_settings_content_retention_path, html: { method: :patch } do |f| += simple_form_for @admin_settings, url: admin_settings_content_retention_path do |f| = render 'shared/error_messages', object: @admin_settings %p.lead= t('admin.settings.content_retention.preamble') diff --git a/app/views/admin/settings/discovery/show.html.haml b/app/views/admin/settings/discovery/show.html.haml index 04c242597d..5b9aab3fed 100644 --- a/app/views/admin/settings/discovery/show.html.haml +++ b/app/views/admin/settings/discovery/show.html.haml @@ -5,7 +5,7 @@ %h2= t('admin.settings.title') = render partial: 'admin/settings/shared/links' -= simple_form_for @admin_settings, url: admin_settings_discovery_path, html: { method: :patch } do |f| += simple_form_for @admin_settings, url: admin_settings_discovery_path do |f| = render 'shared/error_messages', object: @admin_settings %p.lead= t('admin.settings.discovery.preamble') diff --git a/app/views/admin/settings/registrations/show.html.haml b/app/views/admin/settings/registrations/show.html.haml index 7303eca662..92f755e9e5 100644 --- a/app/views/admin/settings/registrations/show.html.haml +++ b/app/views/admin/settings/registrations/show.html.haml @@ -5,7 +5,7 @@ %h2= t('admin.settings.title') = render partial: 'admin/settings/shared/links' -= simple_form_for @admin_settings, url: admin_settings_registrations_path, html: { method: :patch } do |f| += simple_form_for @admin_settings, url: admin_settings_registrations_path do |f| = render 'shared/error_messages', object: @admin_settings %p.lead= t('admin.settings.registrations.preamble') diff --git a/spec/models/form/admin_settings_spec.rb b/spec/models/form/admin_settings_spec.rb index 899d56703a..e734734e00 100644 --- a/spec/models/form/admin_settings_spec.rb +++ b/spec/models/form/admin_settings_spec.rb @@ -53,4 +53,8 @@ RSpec.describe Form::AdminSettings do end end end + + describe '#persisted?' do + it { is_expected.to be_persisted } + end end From db62d704925c452bb412d62b5ba4e7fa7b206a17 Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 17 Dec 2025 10:47:02 +0100 Subject: [PATCH 02/13] Change Wrapstodon switch from feature flag to admin setting (#37273) --- app/lib/annual_report.rb | 2 +- app/models/form/admin_settings.rb | 2 ++ app/views/admin/settings/discovery/show.html.haml | 7 +++++++ config/locales/en.yml | 1 + config/locales/simple_form.en.yml | 2 ++ config/settings.yml | 1 + spec/requests/api/v1/annual_reports_spec.rb | 10 +++++++--- spec/requests/api/v2/instance_spec.rb | 2 +- spec/system/settings/applications_spec.rb | 7 ++++++- 9 files changed, 28 insertions(+), 6 deletions(-) diff --git a/app/lib/annual_report.rb b/app/lib/annual_report.rb index f487cb883f..689fbca399 100644 --- a/app/lib/annual_report.rb +++ b/app/lib/annual_report.rb @@ -17,7 +17,7 @@ class AnnualReport end def self.current_campaign - return unless Mastodon::Feature.wrapstodon_enabled? + return unless Setting.wrapstodon datetime = Time.now.utc datetime.year if datetime.month == 12 && (10..31).cover?(datetime.day) diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb index 142b0b4560..77f23ae5a4 100644 --- a/app/models/form/admin_settings.rb +++ b/app/models/form/admin_settings.rb @@ -44,6 +44,7 @@ class Form::AdminSettings local_topic_feed_access remote_topic_feed_access landing_page + wrapstodon ).freeze INTEGER_KEYS = %i( @@ -66,6 +67,7 @@ class Form::AdminSettings require_invite_text captcha_enabled authorized_fetch + wrapstodon ).freeze UPLOAD_KEYS = %i( diff --git a/app/views/admin/settings/discovery/show.html.haml b/app/views/admin/settings/discovery/show.html.haml index 5b9aab3fed..9ed0bca801 100644 --- a/app/views/admin/settings/discovery/show.html.haml +++ b/app/views/admin/settings/discovery/show.html.haml @@ -110,5 +110,12 @@ as: :boolean, wrapper: :with_label + %h4= t('admin.settings.discovery.wrapstodon') + + .fields-group + = f.input :wrapstodon, + as: :boolean, + wrapper: :with_label + .actions = f.button :button, t('generic.save_changes'), type: :submit diff --git a/config/locales/en.yml b/config/locales/en.yml index abce180d57..84a556292f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -848,6 +848,7 @@ en: publish_statistics: Publish statistics title: Discovery trends: Trends + wrapstodon: Wrapstodon domain_blocks: all: To everyone disabled: To no one diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index 077f53cbcd..7455078203 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -111,6 +111,7 @@ en: thumbnail: A roughly 2:1 image displayed alongside your server information. trendable_by_default: Skip manual review of trending content. Individual items can still be removed from trends after the fact. trends: Trends show which posts, hashtags and news stories are gaining traction on your server. + wrapstodon: Offer local users to generate a playful summary of their Mastodon use during the year. This feature is available between the 10th and 31st of December of each year, and is offered to users who made at least one Public or Quiet Public post and used at least one hashtag within the year. form_challenge: current_password: You are entering a secure area imports: @@ -312,6 +313,7 @@ en: thumbnail: Server thumbnail trendable_by_default: Allow trends without prior review trends: Enable trends + wrapstodon: Enable Wrapstodon interactions: must_be_follower: Block notifications from non-followers must_be_following: Block notifications from people you don't follow diff --git a/config/settings.yml b/config/settings.yml index 3d4b57b5c3..ae7548df26 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -33,6 +33,7 @@ defaults: &defaults captcha_enabled: false allow_referrer_origin: false landing_page: 'trends' + wrapstodon: true development: <<: *defaults diff --git a/spec/requests/api/v1/annual_reports_spec.rb b/spec/requests/api/v1/annual_reports_spec.rb index 482e91736c..e79309145e 100644 --- a/spec/requests/api/v1/annual_reports_spec.rb +++ b/spec/requests/api/v1/annual_reports_spec.rb @@ -85,6 +85,10 @@ RSpec.describe 'API V1 Annual Reports' do end context 'when the feature is not enabled' do + before do + Setting.wrapstodon = false + end + it 'returns http success and ineligible status' do get '/api/v1/annual_reports/2025/state', headers: headers @@ -99,7 +103,7 @@ RSpec.describe 'API V1 Annual Reports' do end end - context 'when the feature is enabled and time is within window', feature: :wrapstodon do + context 'when the feature is enabled and time is within window' do before do travel_to Time.utc(2025, 12, 20) @@ -121,7 +125,7 @@ RSpec.describe 'API V1 Annual Reports' do end end - context 'when the feature is enabled but we are out of the time window', feature: :wrapstodon do + context 'when the feature is enabled but we are out of the time window' do before do travel_to Time.utc(2025, 6, 20) @@ -168,7 +172,7 @@ RSpec.describe 'API V1 Annual Reports' do context 'with correct scope' do let(:scopes) { 'write:accounts' } - context 'when the feature is enabled and time is within window', feature: :wrapstodon do + context 'when the feature is enabled and time is within window' do before do travel_to Time.utc(2025, 12, 20) diff --git a/spec/requests/api/v2/instance_spec.rb b/spec/requests/api/v2/instance_spec.rb index 50798612e8..39e7105f09 100644 --- a/spec/requests/api/v2/instance_spec.rb +++ b/spec/requests/api/v2/instance_spec.rb @@ -42,7 +42,7 @@ RSpec.describe 'Instances' do end end - context 'when wrapstodon is enabled', feature: :wrapstodon do + context 'when wrapstodon is enabled' do before do travel_to Time.utc(2025, 12, 20) end diff --git a/spec/system/settings/applications_spec.rb b/spec/system/settings/applications_spec.rb index 62656c2b8e..024a640355 100644 --- a/spec/system/settings/applications_spec.rb +++ b/spec/system/settings/applications_spec.rb @@ -104,7 +104,12 @@ RSpec.describe 'Settings applications page' do let(:redis_pipeline_stub) { instance_double(Redis::PipelinedConnection, publish: nil) } let!(:access_token) { Fabricate(:accessible_access_token, application: application) } - before { stub_redis_pipeline } + before do + # Disable wrapstodon to avoid redis calls that we don't want to stub + Setting.wrapstodon = false + + stub_redis_pipeline + end it 'destroys the record and tells the broader universe about that' do visit settings_applications_path From 5e8b8f9c23c43763a8a3e673adc44bca1a88a458 Mon Sep 17 00:00:00 2001 From: David Roetzel Date: Wed, 17 Dec 2025 11:12:43 +0100 Subject: [PATCH 03/13] Extract interaction policy class (#37277) --- .../api/interaction_policies_concern.rb | 4 +- app/lib/activitypub/parser/status_parser.rb | 8 ++-- app/lib/interaction_policy.rb | 39 ++++++++++++++++++ .../status/interaction_policy_concern.rb | 38 +++++++---------- .../activitypub/note_serializer.rb | 8 ++-- .../rest/scheduled_status_serializer.rb | 2 +- .../activity/quote_request_spec.rb | 4 +- .../activitypub/parser/status_parser_spec.rb | 4 +- spec/lib/interaction_policy_spec.rb | 41 +++++++++++++++++++ spec/lib/status_cache_hydrator_spec.rb | 2 +- spec/policies/status_policy_spec.rb | 6 +-- .../v1/statuses/interaction_policies_spec.rb | 2 +- spec/requests/api/v1/statuses_spec.rb | 8 ++-- .../activitypub/note_serializer_spec.rb | 2 +- .../rest/scheduled_status_serializer_spec.rb | 2 +- .../fetch_remote_status_service_spec.rb | 2 +- .../process_status_update_service_spec.rb | 4 +- spec/services/post_status_service_spec.rb | 4 +- 18 files changed, 126 insertions(+), 54 deletions(-) create mode 100644 app/lib/interaction_policy.rb create mode 100644 spec/lib/interaction_policy_spec.rb diff --git a/app/controllers/concerns/api/interaction_policies_concern.rb b/app/controllers/concerns/api/interaction_policies_concern.rb index f1e1480c0c..0679c3c691 100644 --- a/app/controllers/concerns/api/interaction_policies_concern.rb +++ b/app/controllers/concerns/api/interaction_policies_concern.rb @@ -6,9 +6,9 @@ module Api::InteractionPoliciesConcern def quote_approval_policy case status_params[:quote_approval_policy].presence || current_user.setting_default_quote_policy when 'public' - Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16 + InteractionPolicy::POLICY_FLAGS[:public] << 16 when 'followers' - Status::QUOTE_APPROVAL_POLICY_FLAGS[:followers] << 16 + InteractionPolicy::POLICY_FLAGS[:followers] << 16 when 'nobody' 0 else diff --git a/app/lib/activitypub/parser/status_parser.rb b/app/lib/activitypub/parser/status_parser.rb index 83f03756ef..bc2abc0f1a 100644 --- a/app/lib/activitypub/parser/status_parser.rb +++ b/app/lib/activitypub/parser/status_parser.rb @@ -174,15 +174,15 @@ class ActivityPub::Parser::StatusParser allowed_actors = as_array(subpolicy).dup allowed_actors.uniq! - flags |= Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] if allowed_actors.delete('as:Public') || allowed_actors.delete('Public') || allowed_actors.delete('https://www.w3.org/ns/activitystreams#Public') - flags |= Status::QUOTE_APPROVAL_POLICY_FLAGS[:followers] if allowed_actors.delete(@options[:followers_collection]) - flags |= Status::QUOTE_APPROVAL_POLICY_FLAGS[:following] if allowed_actors.delete(@options[:following_collection]) + flags |= InteractionPolicy::POLICY_FLAGS[:public] if allowed_actors.delete('as:Public') || allowed_actors.delete('Public') || allowed_actors.delete('https://www.w3.org/ns/activitystreams#Public') + flags |= InteractionPolicy::POLICY_FLAGS[:followers] if allowed_actors.delete(@options[:followers_collection]) + flags |= InteractionPolicy::POLICY_FLAGS[:following] if allowed_actors.delete(@options[:following_collection]) # Remove the special-meaning actor URI allowed_actors.delete(@options[:actor_uri]) # Any unrecognized actor is marked as unsupported - flags |= Status::QUOTE_APPROVAL_POLICY_FLAGS[:unsupported_policy] unless allowed_actors.empty? + flags |= InteractionPolicy::POLICY_FLAGS[:unsupported_policy] unless allowed_actors.empty? flags end diff --git a/app/lib/interaction_policy.rb b/app/lib/interaction_policy.rb new file mode 100644 index 0000000000..8d0b8dd060 --- /dev/null +++ b/app/lib/interaction_policy.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +class InteractionPolicy + POLICY_FLAGS = { + unsupported_policy: (1 << 0), # Not supported by Mastodon + public: (1 << 1), # Everyone is allowed to interact + followers: (1 << 2), # Only followers may interact + following: (1 << 3), # Only accounts followed by the target may interact + disabled: (1 << 4), # All interaction explicitly disabled + }.freeze + + class SubPolicy + def initialize(bitmap) + @bitmap = bitmap + end + + def as_keys + POLICY_FLAGS.keys.select { |key| @bitmap.anybits?(POLICY_FLAGS[key]) }.map(&:to_s) + end + + POLICY_FLAGS.each_key do |key| + define_method :"#{key}?" do + @bitmap.anybits?(POLICY_FLAGS[key]) + end + end + + def missing? + @bitmap.zero? + end + end + + attr_reader :automatic, :manual + + def initialize(bitmap) + @bitmap = bitmap + @automatic = SubPolicy.new(@bitmap >> 16) + @manual = SubPolicy.new(@bitmap & 0xFFFF) + end +end diff --git a/app/models/concerns/status/interaction_policy_concern.rb b/app/models/concerns/status/interaction_policy_concern.rb index ed1e7a237f..332feef86b 100644 --- a/app/models/concerns/status/interaction_policy_concern.rb +++ b/app/models/concerns/status/interaction_policy_concern.rb @@ -3,26 +3,17 @@ module Status::InteractionPolicyConcern extend ActiveSupport::Concern - QUOTE_APPROVAL_POLICY_FLAGS = { - unsupported_policy: (1 << 0), - public: (1 << 1), - followers: (1 << 2), - following: (1 << 3), - }.freeze - included do + composed_of :quote_interaction_policy, class_name: 'InteractionPolicy', mapping: { quote_approval_policy: :bitmap } + before_validation :downgrade_quote_policy, if: -> { local? && !distributable? } end def quote_policy_as_keys(kind) - case kind - when :automatic - policy = quote_approval_policy >> 16 - when :manual - policy = quote_approval_policy & 0xFFFF - end + raise ArgumentError unless kind.in?(%i(automatic manual)) - QUOTE_APPROVAL_POLICY_FLAGS.keys.select { |key| policy.anybits?(QUOTE_APPROVAL_POLICY_FLAGS[key]) }.map(&:to_s) + sub_policy = quote_interaction_policy.send(kind) + sub_policy.as_keys end # Returns `:automatic`, `:manual`, `:unknown` or `:denied` @@ -35,35 +26,36 @@ module Status::InteractionPolicyConcern # Post author is always allowed to quote themselves return :automatic if account_id == other_account.id - automatic_policy = quote_approval_policy >> 16 - manual_policy = quote_approval_policy & 0xFFFF + automatic_policy = quote_interaction_policy.automatic - return :automatic if automatic_policy.anybits?(QUOTE_APPROVAL_POLICY_FLAGS[:public]) + return :automatic if automatic_policy.public? - if automatic_policy.anybits?(QUOTE_APPROVAL_POLICY_FLAGS[:followers]) + if automatic_policy.followers? following_author = other_account.following?(account) if following_author.nil? return :automatic if following_author end - if automatic_policy.anybits?(QUOTE_APPROVAL_POLICY_FLAGS[:following]) + if automatic_policy.following? followed_by_author = account.following?(other_account) if followed_by_author.nil? return :automatic if followed_by_author end # We don't know we are allowed by the automatic policy, considering the manual one - return :manual if manual_policy.anybits?(QUOTE_APPROVAL_POLICY_FLAGS[:public]) + manual_policy = quote_interaction_policy.manual - if manual_policy.anybits?(QUOTE_APPROVAL_POLICY_FLAGS[:followers]) + return :manual if manual_policy.public? + + if manual_policy.followers? following_author = other_account.following?(account) if following_author.nil? return :manual if following_author end - if manual_policy.anybits?(QUOTE_APPROVAL_POLICY_FLAGS[:following]) + if manual_policy.following? followed_by_author = account.following?(other_account) if followed_by_author.nil? return :manual if followed_by_author end - return :unknown if (automatic_policy | manual_policy).anybits?(QUOTE_APPROVAL_POLICY_FLAGS[:unsupported_policy]) + return :unknown if [automatic_policy, manual_policy].any?(&:unsupported_policy?) :denied end diff --git a/app/serializers/activitypub/note_serializer.rb b/app/serializers/activitypub/note_serializer.rb index f162f4ee24..455f8d72db 100644 --- a/app/serializers/activitypub/note_serializer.rb +++ b/app/serializers/activitypub/note_serializer.rb @@ -235,10 +235,10 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer approved_uris = [] # On outgoing posts, only automatic approval is supported - policy = object.quote_approval_policy >> 16 - approved_uris << ActivityPub::TagManager::COLLECTIONS[:public] if policy.anybits?(Status::QUOTE_APPROVAL_POLICY_FLAGS[:public]) - approved_uris << ActivityPub::TagManager.instance.followers_uri_for(object.account) if policy.anybits?(Status::QUOTE_APPROVAL_POLICY_FLAGS[:followers]) - approved_uris << ActivityPub::TagManager.instance.following_uri_for(object.account) if policy.anybits?(Status::QUOTE_APPROVAL_POLICY_FLAGS[:following]) + policy = object.quote_interaction_policy.automatic + approved_uris << ActivityPub::TagManager::COLLECTIONS[:public] if policy.public? + approved_uris << ActivityPub::TagManager.instance.followers_uri_for(object.account) if policy.followers? + approved_uris << ActivityPub::TagManager.instance.following_uri_for(object.account) if policy.following? approved_uris << ActivityPub::TagManager.instance.uri_for(object.account) if approved_uris.empty? { diff --git a/app/serializers/rest/scheduled_status_serializer.rb b/app/serializers/rest/scheduled_status_serializer.rb index 71ddb7b3e1..cc66c7cc95 100644 --- a/app/serializers/rest/scheduled_status_serializer.rb +++ b/app/serializers/rest/scheduled_status_serializer.rb @@ -12,7 +12,7 @@ class REST::ScheduledStatusSerializer < ActiveModel::Serializer def params object.params.merge( quoted_status_id: object.params['quoted_status_id']&.to_s, - quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS.keys.find { |key| object.params['quote_approval_policy']&.anybits?(Status::QUOTE_APPROVAL_POLICY_FLAGS[key] << 16) }&.to_s || 'nobody' + quote_approval_policy: InteractionPolicy::POLICY_FLAGS.keys.find { |key| object.params['quote_approval_policy']&.anybits?(InteractionPolicy::POLICY_FLAGS[key] << 16) }&.to_s || 'nobody' ) end end diff --git a/spec/lib/activitypub/activity/quote_request_spec.rb b/spec/lib/activitypub/activity/quote_request_spec.rb index aae4ce0338..db80448a80 100644 --- a/spec/lib/activitypub/activity/quote_request_spec.rb +++ b/spec/lib/activitypub/activity/quote_request_spec.rb @@ -87,7 +87,7 @@ RSpec.describe ActivityPub::Activity::QuoteRequest do context 'when trying to quote a quotable local status' do before do stub_request(:get, 'https://example.com/unknown-status').to_return(status: 200, body: Oj.dump(status_json), headers: { 'Content-Type': 'application/activity+json' }) - quoted_post.update(quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16) + quoted_post.update(quote_approval_policy: InteractionPolicy::POLICY_FLAGS[:public] << 16) end it 'accepts the quote and sends an Accept activity' do @@ -105,7 +105,7 @@ RSpec.describe ActivityPub::Activity::QuoteRequest do let(:instrument) { status_json.without('@context') } before do - quoted_post.update(quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16) + quoted_post.update(quote_approval_policy: InteractionPolicy::POLICY_FLAGS[:public] << 16) end it 'accepts the quote and sends an Accept activity' do diff --git a/spec/lib/activitypub/parser/status_parser_spec.rb b/spec/lib/activitypub/parser/status_parser_spec.rb index b251b63f43..3084f3ffd6 100644 --- a/spec/lib/activitypub/parser/status_parser_spec.rb +++ b/spec/lib/activitypub/parser/status_parser_spec.rb @@ -148,7 +148,7 @@ RSpec.describe ActivityPub::Parser::StatusParser do end it 'returns a policy not allowing anyone to quote' do - expect(subject).to eq(Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16) + expect(subject).to eq(InteractionPolicy::POLICY_FLAGS[:public] << 16) end end @@ -174,7 +174,7 @@ RSpec.describe ActivityPub::Parser::StatusParser do end it 'returns a policy allowing everyone including followers' do - expect(subject).to eq Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] | (Status::QUOTE_APPROVAL_POLICY_FLAGS[:followers] << 16) + expect(subject).to eq InteractionPolicy::POLICY_FLAGS[:public] | (InteractionPolicy::POLICY_FLAGS[:followers] << 16) end end end diff --git a/spec/lib/interaction_policy_spec.rb b/spec/lib/interaction_policy_spec.rb new file mode 100644 index 0000000000..2382c74349 --- /dev/null +++ b/spec/lib/interaction_policy_spec.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe InteractionPolicy do + subject { described_class.new(bitmap) } + + let(:bitmap) { (0b0101 << 16) | 0b0010 } + + describe described_class::SubPolicy do + subject { InteractionPolicy.new(bitmap) } + + describe '#as_keys' do + it 'returns the expected values' do + expect(subject.automatic.as_keys).to eq ['unsupported_policy', 'followers'] + expect(subject.manual.as_keys).to eq ['public'] + end + end + + describe '#public?' do + it 'returns the expected values' do + expect(subject.automatic.public?).to be false + expect(subject.manual.public?).to be true + end + end + + describe '#unsupported_policy?' do + it 'returns the expected values' do + expect(subject.automatic.unsupported_policy?).to be true + expect(subject.manual.unsupported_policy?).to be false + end + end + + describe '#followers?' do + it 'returns the expected values' do + expect(subject.automatic.followers?).to be true + expect(subject.manual.followers?).to be false + end + end + end +end diff --git a/spec/lib/status_cache_hydrator_spec.rb b/spec/lib/status_cache_hydrator_spec.rb index 8ad4e5614e..a6fea36397 100644 --- a/spec/lib/status_cache_hydrator_spec.rb +++ b/spec/lib/status_cache_hydrator_spec.rb @@ -29,7 +29,7 @@ RSpec.describe StatusCacheHydrator do end context 'when handling a status with a quote policy' do - let(:status) { Fabricate(:status, quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:followers] << 16) } + let(:status) { Fabricate(:status, quote_approval_policy: InteractionPolicy::POLICY_FLAGS[:followers] << 16) } before do account.follow!(status.account) diff --git a/spec/policies/status_policy_spec.rb b/spec/policies/status_policy_spec.rb index eb79aa6fcd..9690984317 100644 --- a/spec/policies/status_policy_spec.rb +++ b/spec/policies/status_policy_spec.rb @@ -152,19 +152,19 @@ RSpec.describe StatusPolicy, type: :model do end it 'grants access when public and policy allows everyone' do - status.quote_approval_policy = Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] + status.quote_approval_policy = InteractionPolicy::POLICY_FLAGS[:public] viewer = Fabricate(:account) expect(subject).to permit(viewer, status) end it 'denies access when public and policy allows followers but viewer is not one' do - status.quote_approval_policy = Status::QUOTE_APPROVAL_POLICY_FLAGS[:followers] + status.quote_approval_policy = InteractionPolicy::POLICY_FLAGS[:followers] viewer = Fabricate(:account) expect(subject).to_not permit(viewer, status) end it 'grants access when public and policy allows followers and viewer is one' do - status.quote_approval_policy = Status::QUOTE_APPROVAL_POLICY_FLAGS[:followers] + status.quote_approval_policy = InteractionPolicy::POLICY_FLAGS[:followers] viewer = Fabricate(:account) viewer.follow!(status.account) expect(subject).to permit(viewer, status) diff --git a/spec/requests/api/v1/statuses/interaction_policies_spec.rb b/spec/requests/api/v1/statuses/interaction_policies_spec.rb index 321a68cd25..aa5819cdd7 100644 --- a/spec/requests/api/v1/statuses/interaction_policies_spec.rb +++ b/spec/requests/api/v1/statuses/interaction_policies_spec.rb @@ -46,7 +46,7 @@ RSpec.describe 'Interaction policies' do context 'when changing the interaction policy' do it 'changes the interaction policy, returns the updated status, and schedules distribution jobs' do expect { subject } - .to change { status.reload.quote_approval_policy }.to(Status::QUOTE_APPROVAL_POLICY_FLAGS[:followers] << 16) + .to change { status.reload.quote_approval_policy }.to(InteractionPolicy::POLICY_FLAGS[:followers] << 16) expect(response).to have_http_status(200) expect(response.content_type) diff --git a/spec/requests/api/v1/statuses_spec.rb b/spec/requests/api/v1/statuses_spec.rb index e63437cc66..5cfd4eaa48 100644 --- a/spec/requests/api/v1/statuses_spec.rb +++ b/spec/requests/api/v1/statuses_spec.rb @@ -264,7 +264,7 @@ RSpec.describe '/api/v1/statuses' do end context 'with a quote to a non-mentioned user in a Private Mention' do - let!(:quoted_status) { Fabricate(:status, quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16) } + let!(:quoted_status) { Fabricate(:status, quote_approval_policy: InteractionPolicy::POLICY_FLAGS[:public] << 16) } let(:params) do { status: 'Hello, this is a quote', @@ -283,7 +283,7 @@ RSpec.describe '/api/v1/statuses' do end context 'with a quote to a mentioned user in a Private Mention' do - let!(:quoted_status) { Fabricate(:status, quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16) } + let!(:quoted_status) { Fabricate(:status, quote_approval_policy: InteractionPolicy::POLICY_FLAGS[:public] << 16) } let(:params) do { status: "Hello @#{quoted_status.account.acct}, this is a quote", @@ -305,7 +305,7 @@ RSpec.describe '/api/v1/statuses' do end context 'with a quote of a reblog' do - let(:quoted_status) { Fabricate(:status, quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16) } + let(:quoted_status) { Fabricate(:status, quote_approval_policy: InteractionPolicy::POLICY_FLAGS[:public] << 16) } let(:reblog) { Fabricate(:status, reblog: quoted_status) } let(:params) do { @@ -501,7 +501,7 @@ RSpec.describe '/api/v1/statuses' do it 'updates the status', :aggregate_failures do expect { subject } - .to change { status.reload.quote_approval_policy }.to(Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16) + .to change { status.reload.quote_approval_policy }.to(InteractionPolicy::POLICY_FLAGS[:public] << 16) expect(response).to have_http_status(200) expect(response.content_type) diff --git a/spec/serializers/activitypub/note_serializer_spec.rb b/spec/serializers/activitypub/note_serializer_spec.rb index 0d11386d57..4970de709d 100644 --- a/spec/serializers/activitypub/note_serializer_spec.rb +++ b/spec/serializers/activitypub/note_serializer_spec.rb @@ -74,7 +74,7 @@ RSpec.describe ActivityPub::NoteSerializer do end context 'with a quote policy' do - let(:parent) { Fabricate(:status, quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:followers] << 16) } + let(:parent) { Fabricate(:status, quote_approval_policy: InteractionPolicy::POLICY_FLAGS[:followers] << 16) } it 'has the expected shape' do expect(subject).to include({ diff --git a/spec/serializers/rest/scheduled_status_serializer_spec.rb b/spec/serializers/rest/scheduled_status_serializer_spec.rb index 6fc2f2eca9..9eb27035d3 100644 --- a/spec/serializers/rest/scheduled_status_serializer_spec.rb +++ b/spec/serializers/rest/scheduled_status_serializer_spec.rb @@ -10,7 +10,7 @@ RSpec.describe REST::ScheduledStatusSerializer do ) end - let(:scheduled_status) { Fabricate.build(:scheduled_status, scheduled_at: 4.minutes.from_now, params: { application_id: 123, quoted_status_id: 456, quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16 }) } + let(:scheduled_status) { Fabricate.build(:scheduled_status, scheduled_at: 4.minutes.from_now, params: { application_id: 123, quoted_status_id: 456, quote_approval_policy: InteractionPolicy::POLICY_FLAGS[:public] << 16 }) } describe 'serialization' do it 'returns expected values and removes application_id from params' do diff --git a/spec/services/activitypub/fetch_remote_status_service_spec.rb b/spec/services/activitypub/fetch_remote_status_service_spec.rb index 07d05d762f..6afee5f25e 100644 --- a/spec/services/activitypub/fetch_remote_status_service_spec.rb +++ b/spec/services/activitypub/fetch_remote_status_service_spec.rb @@ -330,7 +330,7 @@ RSpec.describe ActivityPub::FetchRemoteStatusService do end it 'updates status' do - expect(existing_status.reload.quote_approval_policy).to eq(Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16) + expect(existing_status.reload.quote_approval_policy).to eq(InteractionPolicy::POLICY_FLAGS[:public] << 16) end end end diff --git a/spec/services/activitypub/process_status_update_service_spec.rb b/spec/services/activitypub/process_status_update_service_spec.rb index 9d63c5f1fe..1a19cbb782 100644 --- a/spec/services/activitypub/process_status_update_service_spec.rb +++ b/spec/services/activitypub/process_status_update_service_spec.rb @@ -602,7 +602,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService do context 'when an approved quote of a local post gets updated through an explicit update, removing text' do let(:quoted_account) { Fabricate(:account) } - let(:quoted_status) { Fabricate(:status, account: quoted_account, quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16) } + let(:quoted_status) { Fabricate(:status, account: quoted_account, quote_approval_policy: InteractionPolicy::POLICY_FLAGS[:public] << 16) } let!(:quote) { Fabricate(:quote, status: status, quoted_status: quoted_status, state: :accepted) } let(:approval_uri) { ActivityPub::TagManager.instance.approval_uri_for(quote) } @@ -638,7 +638,7 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService do context 'when an approved quote of a local post gets updated through an explicit update' do let(:quoted_account) { Fabricate(:account) } - let(:quoted_status) { Fabricate(:status, account: quoted_account, quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:public] << 16) } + let(:quoted_status) { Fabricate(:status, account: quoted_account, quote_approval_policy: InteractionPolicy::POLICY_FLAGS[:public] << 16) } let!(:quote) { Fabricate(:quote, status: status, quoted_status: quoted_status, state: :accepted) } let(:approval_uri) { ActivityPub::TagManager.instance.approval_uri_for(quote) } diff --git a/spec/services/post_status_service_spec.rb b/spec/services/post_status_service_spec.rb index 96289cdeee..d226d77167 100644 --- a/spec/services/post_status_service_spec.rb +++ b/spec/services/post_status_service_spec.rb @@ -161,9 +161,9 @@ RSpec.describe PostStatusService do end it 'creates a status with the quote approval policy set' do - status = create_status_with_options(quote_approval_policy: Status::QUOTE_APPROVAL_POLICY_FLAGS[:followers] << 16) + status = create_status_with_options(quote_approval_policy: InteractionPolicy::POLICY_FLAGS[:followers] << 16) - expect(status.quote_approval_policy).to eq(Status::QUOTE_APPROVAL_POLICY_FLAGS[:followers] << 16) + expect(status.quote_approval_policy).to eq(InteractionPolicy::POLICY_FLAGS[:followers] << 16) end it 'processes mentions' do From 8debc5760b25443a57cad687b47561cb08d13a97 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 17 Dec 2025 12:18:17 +0100 Subject: [PATCH 04/13] New Crowdin Translations (automated) (#37174) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/ar.json | 14 --- app/javascript/mastodon/locales/ast.json | 4 - app/javascript/mastodon/locales/az.json | 14 --- app/javascript/mastodon/locales/be.json | 52 +++++++--- app/javascript/mastodon/locales/bg.json | 14 --- app/javascript/mastodon/locales/br.json | 7 -- app/javascript/mastodon/locales/ca.json | 27 +++-- app/javascript/mastodon/locales/cs.json | 29 +++--- app/javascript/mastodon/locales/cy.json | 54 +++++++--- app/javascript/mastodon/locales/da.json | 54 +++++++--- app/javascript/mastodon/locales/de.json | 64 ++++++++---- app/javascript/mastodon/locales/el.json | 110 +++++++++++++-------- app/javascript/mastodon/locales/en-GB.json | 82 +++++++++------ app/javascript/mastodon/locales/eo.json | 21 ++-- app/javascript/mastodon/locales/es-AR.json | 49 ++++++--- app/javascript/mastodon/locales/es-MX.json | 52 +++++++--- app/javascript/mastodon/locales/es.json | 29 +++--- app/javascript/mastodon/locales/et.json | 20 +--- app/javascript/mastodon/locales/eu.json | 61 +++++++++--- app/javascript/mastodon/locales/fa.json | 14 --- app/javascript/mastodon/locales/fi.json | 53 +++++++--- app/javascript/mastodon/locales/fo.json | 52 +++++++--- app/javascript/mastodon/locales/fr-CA.json | 52 +++++++--- app/javascript/mastodon/locales/fr.json | 52 +++++++--- app/javascript/mastodon/locales/fy.json | 14 --- app/javascript/mastodon/locales/ga.json | 71 ++++++++----- app/javascript/mastodon/locales/gd.json | 14 --- app/javascript/mastodon/locales/gl.json | 49 ++++++--- app/javascript/mastodon/locales/he.json | 49 ++++++--- app/javascript/mastodon/locales/hu.json | 46 ++++++--- app/javascript/mastodon/locales/ia.json | 14 --- app/javascript/mastodon/locales/io.json | 14 --- app/javascript/mastodon/locales/is.json | 52 +++++++--- app/javascript/mastodon/locales/it.json | 54 +++++++--- app/javascript/mastodon/locales/ja.json | 14 --- app/javascript/mastodon/locales/kab.json | 4 - app/javascript/mastodon/locales/kk.json | 7 ++ app/javascript/mastodon/locales/ko.json | 42 +++++--- app/javascript/mastodon/locales/ku.json | 3 - app/javascript/mastodon/locales/lad.json | 9 -- app/javascript/mastodon/locales/lt.json | 14 --- app/javascript/mastodon/locales/lv.json | 18 ++-- app/javascript/mastodon/locales/ms.json | 14 --- app/javascript/mastodon/locales/nan.json | 49 ++++++--- app/javascript/mastodon/locales/ne.json | 2 - app/javascript/mastodon/locales/nl.json | 52 +++++++--- app/javascript/mastodon/locales/nn.json | 14 --- app/javascript/mastodon/locales/no.json | 14 --- app/javascript/mastodon/locales/oc.json | 2 - app/javascript/mastodon/locales/pa.json | 8 -- app/javascript/mastodon/locales/pl.json | 14 --- app/javascript/mastodon/locales/pt-BR.json | 94 +++++++++++------- app/javascript/mastodon/locales/pt-PT.json | 55 ++++++++--- app/javascript/mastodon/locales/ro.json | 11 --- app/javascript/mastodon/locales/ru.json | 28 +++--- app/javascript/mastodon/locales/sc.json | 6 -- app/javascript/mastodon/locales/si.json | 14 --- app/javascript/mastodon/locales/sk.json | 14 --- app/javascript/mastodon/locales/sl.json | 14 --- app/javascript/mastodon/locales/sq.json | 45 +++++++-- app/javascript/mastodon/locales/sv.json | 22 ++--- app/javascript/mastodon/locales/th.json | 13 --- app/javascript/mastodon/locales/tok.json | 14 --- app/javascript/mastodon/locales/tr.json | 48 ++++++--- app/javascript/mastodon/locales/uk.json | 14 --- app/javascript/mastodon/locales/vi.json | 52 +++++++--- app/javascript/mastodon/locales/zh-CN.json | 49 ++++++--- app/javascript/mastodon/locales/zh-HK.json | 1 - app/javascript/mastodon/locales/zh-TW.json | 78 ++++++++++----- config/locales/activerecord.ca.yml | 6 ++ config/locales/activerecord.en-GB.yml | 8 +- config/locales/activerecord.eu.yml | 6 ++ config/locales/activerecord.ko.yml | 4 + config/locales/be.yml | 3 + config/locales/ca.yml | 3 + config/locales/cs.yml | 3 + config/locales/cy.yml | 11 +++ config/locales/da.yml | 3 + config/locales/de.yml | 35 ++++--- config/locales/devise.el.yml | 2 +- config/locales/devise.en-GB.yml | 30 +++--- config/locales/doorkeeper.de.yml | 2 +- config/locales/doorkeeper.en-GB.yml | 4 +- config/locales/el.yml | 27 ++--- config/locales/en-GB.yml | 107 ++++++++++---------- config/locales/es-AR.yml | 3 + config/locales/es-MX.yml | 37 +++---- config/locales/es.yml | 3 + config/locales/fi.yml | 5 + config/locales/fo.yml | 3 + config/locales/fr-CA.yml | 3 + config/locales/fr.yml | 3 + config/locales/ga.yml | 3 + config/locales/gl.yml | 3 + config/locales/he.yml | 3 + config/locales/hu.yml | 5 + config/locales/is.yml | 3 + config/locales/it.yml | 3 + config/locales/ko.yml | 4 + config/locales/nan.yml | 30 ++++++ config/locales/nl.yml | 3 + config/locales/pt-BR.yml | 3 + config/locales/pt-PT.yml | 7 +- config/locales/ru.yml | 2 + config/locales/simple_form.el.yml | 6 +- config/locales/simple_form.en-GB.yml | 60 +++++------ config/locales/simple_form.ko.yml | 1 + config/locales/simple_form.zh-TW.yml | 6 +- config/locales/sq.yml | 4 + config/locales/tr.yml | 3 + config/locales/vi.yml | 3 + config/locales/zh-CN.yml | 3 + config/locales/zh-TW.yml | 3 + 113 files changed, 1571 insertions(+), 1107 deletions(-) diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index dd29e459b0..2ef46af6d7 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -107,25 +107,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "قم بوصفها للأشخاص ذوي الإعاقة البصرية…", "alt_text_modal.done": "تمّ", "announcement.announcement": "إعلان", - "annual_report.summary.archetype.booster": "The cool-hunter", - "annual_report.summary.archetype.lurker": "المتصفح الصامت", - "annual_report.summary.archetype.oracle": "الحكيم", - "annual_report.summary.archetype.pollster": "مستطلع للرأي", - "annual_report.summary.archetype.replier": "الفراشة الاجتماعية", - "annual_report.summary.followers.followers": "المُتابِعُون", - "annual_report.summary.followers.total": "{count} في المجمل", - "annual_report.summary.here_it_is": "فيما يلي ملخصك لسنة {year}:", - "annual_report.summary.highlighted_post.by_favourites": "المنشور ذو أعلى عدد تفضيلات", - "annual_report.summary.highlighted_post.by_reblogs": "أكثر منشور مُعاد نشره", - "annual_report.summary.highlighted_post.by_replies": "المنشور بأعلى عدد تعليقات", - "annual_report.summary.highlighted_post.possessive": "من قبل {name}", "annual_report.summary.most_used_app.most_used_app": "التطبيق الأكثر استخداماً", "annual_report.summary.most_used_hashtag.most_used_hashtag": "الهاشتاق الأكثر استخداماً", - "annual_report.summary.most_used_hashtag.none": "لا شيء", "annual_report.summary.new_posts.new_posts": "المنشورات الجديدة", "annual_report.summary.percentile.text": "هذا يجعلك من بين أكثر مستخدمي {domain} نشاطاً ", "annual_report.summary.percentile.we_wont_tell_bernie": "سيبقى هذا الأمر بيننا.", - "annual_report.summary.thanks": "شكرا لكونك جزءاً من ماستدون!", "attachments_list.unprocessed": "(غير معالَج)", "audio.hide": "إخفاء المقطع الصوتي", "block_modal.remote_users_caveat": "سوف نطلب من الخادم {domain} أن يحترم قرارك، لكن الالتزام غير مضمون لأن بعض الخواديم قد تتعامل مع نصوص الكتل بشكل مختلف. قد تظل المنشورات العامة مرئية للمستخدمين غير المسجلين الدخول.", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index 50b0122297..b14b0a3027 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -71,11 +71,7 @@ "alt_text_modal.cancel": "Encaboxar", "alt_text_modal.done": "Fecho", "announcement.announcement": "Anunciu", - "annual_report.summary.followers.followers": "siguidores", - "annual_report.summary.here_it_is": "Equí ta'l to resume de {year}:", - "annual_report.summary.highlighted_post.possessive": "de {name}", "annual_report.summary.new_posts.new_posts": "artículos nuevos", - "annual_report.summary.thanks": "Gracies por ser parte de Mastodon!", "attachments_list.unprocessed": "(ensin procesar)", "block_modal.show_less": "Amosar menos", "block_modal.show_more": "Amosar más", diff --git a/app/javascript/mastodon/locales/az.json b/app/javascript/mastodon/locales/az.json index e895e71921..59466034e3 100644 --- a/app/javascript/mastodon/locales/az.json +++ b/app/javascript/mastodon/locales/az.json @@ -107,25 +107,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Görmə məhdudiyyətli insanlar üçün bunu təsvir et…", "alt_text_modal.done": "Oldu", "announcement.announcement": "Elan", - "annual_report.summary.archetype.booster": "Trend ovçusu", - "annual_report.summary.archetype.lurker": "Lurker", - "annual_report.summary.archetype.oracle": "Orakl", - "annual_report.summary.archetype.pollster": "Sorğu ustası", - "annual_report.summary.archetype.replier": "Sosial kəpənək", - "annual_report.summary.followers.followers": "izləyici", - "annual_report.summary.followers.total": "Cəmi {count}", - "annual_report.summary.here_it_is": "{year} icmalınız:", - "annual_report.summary.highlighted_post.by_favourites": "ən çox sevilən postu", - "annual_report.summary.highlighted_post.by_reblogs": "ən çox təkrar paylaşılan göndəriş", - "annual_report.summary.highlighted_post.by_replies": "ən çox cavabı olan paylaşımı", - "annual_report.summary.highlighted_post.possessive": "{name} istifadəçisinin", "annual_report.summary.most_used_app.most_used_app": "ən çox istifadə etdiyi tətbiq", "annual_report.summary.most_used_hashtag.most_used_hashtag": "ən çox istifadə etdiyi heşteq", - "annual_report.summary.most_used_hashtag.none": "Yoxdur", "annual_report.summary.new_posts.new_posts": "yeni paylaşım", "annual_report.summary.percentile.text": "Bu sizi {domain} istifadəçilərinin ilkqoyur.", "annual_report.summary.percentile.we_wont_tell_bernie": "Bunu Berniyə deməyəcəyik.", - "annual_report.summary.thanks": "Mastodonun bir parçası olduğunuz üçün təşəkkür edirik!", "attachments_list.unprocessed": "(emal edilməyib)", "audio.hide": "Audionu gizlət", "block_modal.remote_users_caveat": "{domain} serverindən qərarınıza hörmət etməsini xahiş edəcəyik. Ancaq, bəzi serverlər əngəlləmələri fərqli şəkildə idarə edə bilər deyə, qərarınıza uymağına zəmanət verilmir. Hər kəsə açıq göndərişlər, hələ də sistemə giriş etməmiş istifadəçilərə görünə bilər.", diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json index ed22eda8d4..eb209f2d41 100644 --- a/app/javascript/mastodon/locales/be.json +++ b/app/javascript/mastodon/locales/be.json @@ -114,29 +114,51 @@ "alt_text_modal.done": "Гатова", "announcement.announcement": "Аб'ява", "annual_report.announcement.action_build": "Старыць мне Вынікадон", + "annual_report.announcement.action_dismiss": "Не, дзякуй", "annual_report.announcement.action_view": "Паглядзець мой Вынікадон", "annual_report.announcement.description": "Даведайцеся больш пра Вашыя ўзаемадзеянні ў Mastodon за апошні год.", "annual_report.announcement.title": "Вынікадон {year} ужо тут", - "annual_report.summary.archetype.booster": "Паляўнічы на трэнды", - "annual_report.summary.archetype.lurker": "Назіральнік", - "annual_report.summary.archetype.oracle": "Аракул", - "annual_report.summary.archetype.pollster": "Апытвальнік", - "annual_report.summary.archetype.replier": "Душа кампаніі", - "annual_report.summary.followers.followers": "падпісчыкі", - "annual_report.summary.followers.total": "Агулам {count}", - "annual_report.summary.here_it_is": "Вось Вашы вынікі {year} за год:", - "annual_report.summary.highlighted_post.by_favourites": "самы ўпадабаны допіс", - "annual_report.summary.highlighted_post.by_reblogs": "самы пашыраны допіс", - "annual_report.summary.highlighted_post.by_replies": "самы каментаваны допіс", - "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.nav_item.badge": "Новы", + "annual_report.shared_page.donate": "Ахвяраваць", + "annual_report.shared_page.footer": "З {heart} згенеравала каманда Mastodon", + "annual_report.shared_page.footer_server_info": "{username} карыстаецца {domain}, адной са шматлікіх супольнасцяў, якія ўтрымлівае Mastodon.", + "annual_report.summary.archetype.booster.desc_public": "{name} увесь час паляваў(-ла) на допісы, каб пашырыць іх і разгаласіць аб іх аўтарах ідэальнымі стрэламі.", + "annual_report.summary.archetype.booster.desc_self": "Вы ўвесь час палявалі на допісы, каб пашырыць іх і разгаласіць аб іх аўтарах ідэальнымі стрэламі.", + "annual_report.summary.archetype.booster.name": "Лучнік", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Мы ведаем, што {name} быў(-ла) дзесьці тут і па-свойму атрымліваў(-ла) асалоду ад Mastodon.", + "annual_report.summary.archetype.lurker.desc_self": "Мы ведаем, што Вы былі дзесьці тут і па-свойму атрымлівалі асалоду ад Mastodon.", + "annual_report.summary.archetype.lurker.name": "Стоік", + "annual_report.summary.archetype.oracle.desc_public": "Новых допісаў у {name} было больш, чым адказаў, і гэткім чынам ён (яна) пакідаў(-ла) Mastodon свежым і накіраваным у будучыню.", + "annual_report.summary.archetype.oracle.desc_self": "Новых допісаў у Вас было больш, чым адказаў, і гэткім чынам Вы пакідалі Mastodon свежым і накіраваным у будучыню.", + "annual_report.summary.archetype.oracle.name": "Аракул", + "annual_report.summary.archetype.pollster.desc_public": "Сярод допісаў {name} было найбольш апытанак, якімі ён (яна) падымаў(-ла) цікаўнасць у Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Сярод Вашых допісаў было найбольш апытанак, якімі Вы падымалі цікаўнасць у Mastodon.", + "annual_report.summary.archetype.pollster.name": "Даследчык", + "annual_report.summary.archetype.replier.desc_public": "{name} часта адказваў(-ла) на допісы іншых людзей, апыляючы Mastodon новымі дыскусіямі.", + "annual_report.summary.archetype.replier.desc_self": "Вы часта адказвалі на допісы іншых людзей, апыляючы Mastodon новымі дыскусіямі.", + "annual_report.summary.archetype.replier.name": "Матыль", + "annual_report.summary.archetype.reveal": "Раскрыць мой архетып", + "annual_report.summary.archetype.reveal_description": "Дзякуй за тое, што Вы былі і застаяцеся часткай Mastodon! Час даведацца, які архетып Вы ўвасобілі ў {year}-ым годзе.", + "annual_report.summary.archetype.title_public": "Архетып {name}", + "annual_report.summary.archetype.title_self": "Ваш архетып", + "annual_report.summary.close": "Закрыць", + "annual_report.summary.copy_link": "Скапіраваць", + "annual_report.summary.followers.new_followers": "{count, plural, one {новы падпісчык} few {новыя падпісчыкі} other {новых падпісчыкаў}}", + "annual_report.summary.highlighted_post.boost_count": "Гэты допіс пашырылі {count, plural, one {адзін раз} few {# разы} other {# разоў}}.", + "annual_report.summary.highlighted_post.favourite_count": "Гэты допіс упадабалі {count, plural, one {адзін раз} few {# разы} other {# разоў}}.", + "annual_report.summary.highlighted_post.reply_count": "На гэты допіс адказалі {count, plural, one {адзін раз} few {# разы} other {# разоў}}.", + "annual_report.summary.highlighted_post.title": "Самы папулярны допіс", "annual_report.summary.most_used_app.most_used_app": "праграма, якой карысталіся найчасцей", "annual_report.summary.most_used_hashtag.most_used_hashtag": "хэштэг, якім карысталіся найчасцей", - "annual_report.summary.most_used_hashtag.none": "Няма", + "annual_report.summary.most_used_hashtag.used_count": "Вы выкарысталі гэты хэштэг у {count, plural, one {адным допісе} other {# допісах}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} выкарыстаў(-ла) гэты хэштэг у {count, plural, one {адным допісе} other {# допісах}}.", "annual_report.summary.new_posts.new_posts": "новыя допісы", "annual_report.summary.percentile.text": "Гэта падымае Вас у топ карыстальнікаў {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "КДБ пра гэта не даведаецца.", + "annual_report.summary.share_elsewhere": "Падзяліцца ў іншым месцы", "annual_report.summary.share_message": "Мой архетып – {archetype}!", - "annual_report.summary.thanks": "Дзякуй за ўдзел у Mastodon!", + "annual_report.summary.share_on_mastodon": "Падзяліцца ў Mastodon", "attachments_list.unprocessed": "(неапрацаваны)", "audio.hide": "Схаваць аўдыя", "block_modal.remote_users_caveat": "Мы папросім сервер {domain} паважаць Ваш выбар. Аднак гэта не гарантуецца, паколькі некаторыя серверы могуць апрацоўваць блакіроўкі іншым чынам. Публічныя паведамленні могуць заставацца бачнымі для ананімных карыстальнікаў.", @@ -419,6 +441,8 @@ "follow_suggestions.who_to_follow": "На каго падпісацца", "followed_tags": "Падпіскі", "footer.about": "Пра нас", + "footer.about_mastodon": "Пра Mastodon", + "footer.about_server": "Пра {domain}", "footer.about_this_server": "Пра сервер", "footer.directory": "Дырэкторыя профіляў", "footer.get_app": "Спампаваць праграму", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 7e8f132d39..c6b0f373aa 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -111,25 +111,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Опишете това за хора със зрителни увреждания…", "alt_text_modal.done": "Готово", "announcement.announcement": "Оповестяване", - "annual_report.summary.archetype.booster": "Якият подсилвател", - "annual_report.summary.archetype.lurker": "Дебнещото", - "annual_report.summary.archetype.oracle": "Оракул", - "annual_report.summary.archetype.pollster": "Анкетьорче", - "annual_report.summary.archetype.replier": "Социална пеперуда", - "annual_report.summary.followers.followers": "последователи", - "annual_report.summary.followers.total": "{count} общо", - "annual_report.summary.here_it_is": "Ето преглед на вашата {year} година:", - "annual_report.summary.highlighted_post.by_favourites": "най-правено като любима публикация", - "annual_report.summary.highlighted_post.by_reblogs": "най-подсилваната публикация", - "annual_report.summary.highlighted_post.by_replies": "публикация с най-много отговори", - "annual_report.summary.highlighted_post.possessive": "на {name}", "annual_report.summary.most_used_app.most_used_app": "най-употребявано приложение", "annual_report.summary.most_used_hashtag.most_used_hashtag": "най-употребяван хаштаг", - "annual_report.summary.most_used_hashtag.none": "Няма", "annual_report.summary.new_posts.new_posts": "нови публикации", "annual_report.summary.percentile.text": "Това ви слага най-отгоресред потребителите на {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Няма да кажем на Бърни Сандърс.", - "annual_report.summary.thanks": "Благодарим, че сте част от Mastodon!", "attachments_list.unprocessed": "(необработено)", "audio.hide": "Скриване на звука", "block_modal.remote_users_caveat": "Ще приканим сървъра {domain} да уважава решението ви. За съжаление не можем да гарантираме това защото някои сървъри могат да третират блокиранията по различен начин. Публичните постове може да продължат да бъдат видими за потребители, които не са се регистрирали.", diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json index d58e8764ed..564630e2d2 100644 --- a/app/javascript/mastodon/locales/br.json +++ b/app/javascript/mastodon/locales/br.json @@ -106,15 +106,8 @@ "alt_text_modal.change_thumbnail": "Kemmañ ar velvenn", "alt_text_modal.done": "Graet", "announcement.announcement": "Kemennad", - "annual_report.summary.followers.followers": "heulier", - "annual_report.summary.followers.total": "{count} en holl", - "annual_report.summary.highlighted_post.by_favourites": "embannadur karet ar muiañ", - "annual_report.summary.highlighted_post.by_reblogs": "embannadur skignet ar muiañ", - "annual_report.summary.highlighted_post.by_replies": "embannadur gant ar muiañ a respontoù", - "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "arload muiañ implijet", "annual_report.summary.most_used_hashtag.most_used_hashtag": "ar gerioù-klik implijet ar muiañ", - "annual_report.summary.most_used_hashtag.none": "Hini ebet", "annual_report.summary.new_posts.new_posts": "embannadurioù nevez", "attachments_list.unprocessed": "(ket meret)", "audio.hide": "Kuzhat ar c'hleved", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index d546426cf2..29ac3879c4 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -114,29 +114,24 @@ "alt_text_modal.done": "Fet", "announcement.announcement": "Anunci", "annual_report.announcement.action_build": "El meu Wrapstodon s'ha fet", + "annual_report.announcement.action_dismiss": "No, gràcies", "annual_report.announcement.action_view": "Vegeu el meu Wrapstodon", "annual_report.announcement.description": "Descobriu més sobre el vostre involucrament a Mastodon durant l'any passat.", "annual_report.announcement.title": "Ha arribat Wrapstodon {year}", - "annual_report.summary.archetype.booster": "Sempre a la moda", - "annual_report.summary.archetype.lurker": "Tot ho llegeix", - "annual_report.summary.archetype.oracle": "L'Oracle", - "annual_report.summary.archetype.pollster": "Tot són enquestes", - "annual_report.summary.archetype.replier": "Tot ho respon", - "annual_report.summary.followers.followers": "seguidors", - "annual_report.summary.followers.total": "{count} en total", - "annual_report.summary.here_it_is": "El repàs del vostre {year}:", - "annual_report.summary.highlighted_post.by_favourites": "la publicació més afavorida", - "annual_report.summary.highlighted_post.by_reblogs": "la publicació més impulsada", - "annual_report.summary.highlighted_post.by_replies": "la publicació amb més respostes", - "annual_report.summary.highlighted_post.possessive": "de {name}", + "annual_report.nav_item.badge": "Nou", + "annual_report.shared_page.donate": "Fer una donació", + "annual_report.shared_page.footer": "Generat amb {heart} per l'equip de Mastodon", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.copy_link": "Copia l'enllaç", "annual_report.summary.most_used_app.most_used_app": "l'aplicació més utilitzada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "l'etiqueta més utilitzada", - "annual_report.summary.most_used_hashtag.none": "Cap", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} ha inclòs aquesta etiqueta a {count, plural, one {una publicació} other {# publicacions}}.", "annual_report.summary.new_posts.new_posts": "publicacions noves", "annual_report.summary.percentile.text": "Que us posa alcapdamunt dels usuaris de {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "No li ho direm al Bernie.", + "annual_report.summary.share_elsewhere": "Compartir a una altra banda", "annual_report.summary.share_message": "Tinc l'arquetip {archetype}!", - "annual_report.summary.thanks": "Gràcies per formar part de Mastodon!", + "annual_report.summary.share_on_mastodon": "Compartir a Mastodon", "attachments_list.unprocessed": "(sense processar)", "audio.hide": "Amaga l'àudio", "block_modal.remote_users_caveat": "Li demanarem al servidor {domain} que respecti la vostra decisió, tot i que no podem garantir-ho, ja que alguns servidors gestionen de forma diferent els blocatges. És possible que els usuaris no autenticats puguin veure les publicacions públiques.", @@ -362,6 +357,7 @@ "empty_column.notification_requests": "Tot net, ja no hi ha res aquí! Quan rebeu notificacions noves, segons la vostra configuració, apareixeran aquí.", "empty_column.notifications": "Encara no tens notificacions. Quan altre gent interactuï amb tu, les veuràs aquí.", "empty_column.public": "Aquí no hi ha res! Escriu públicament alguna cosa o segueix manualment usuaris d'altres servidors per omplir-ho", + "error.no_hashtag_feed_access": "Creeu un compte o accediu per a veure i seguir aquesta etiqueta.", "error.unexpected_crash.explanation": "A causa d'un error en el nostre codi o d'un problema de compatibilitat amb el navegador, aquesta pàgina no s'ha pogut mostrar correctament.", "error.unexpected_crash.explanation_addons": "Aquesta pàgina no s'ha pogut mostrar correctament. És probable que aquest error sigui causat per un complement del navegador o per eines de traducció automàtica.", "error.unexpected_crash.next_steps": "Prova d'actualitzar la pàgina. Si això no serveix, és possible que encara puguis fer servir Mastodon a través d'un navegador diferent o amb una aplicació nativa.", @@ -908,6 +904,7 @@ "status.edited_x_times": "Editat {count, plural, one {{count} vegada} other {{count} vegades}}", "status.embed": "Obté el codi encastat", "status.favourite": "Favorit", + "status.favourites_count": "{count, plural, one {{counter} favorit} other {{counter} favorits}}", "status.filter": "Filtra aquest tut", "status.history.created": "creat per {name} {date}", "status.history.edited": "editat per {name} {date}", @@ -942,12 +939,14 @@ "status.quotes.empty": "Encara no ha citat aquesta publicació ningú. Quan ho faci algú apareixerà aquí.", "status.quotes.local_other_disclaimer": "No es mostraran les cites rebutjades per l'autor.", "status.quotes.remote_other_disclaimer": "Només es garanteix que es mostraran aquí les cites de {domain}. No es mostraran les rebutjades per l'autor.", + "status.quotes_count": "{count, plural, one {{counter} citació} other {{counter} citacions}}", "status.read_more": "Més informació", "status.reblog": "Impulsa", "status.reblog_or_quote": "Impuls or cita", "status.reblog_private": "Compartiu de nou amb els vostres seguidors", "status.reblogged_by": "impulsat per {name}", "status.reblogs.empty": "Encara no ha impulsat ningú aquest tut. Quan algú ho faci, apareixerà aquí.", + "status.reblogs_count": "{count, plural, one {{counter} impuls} other {{counter} impulsos}}", "status.redraft": "Esborra i reescriu", "status.remove_bookmark": "Elimina el marcador", "status.remove_favourite": "Elimina dels preferits", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index b5d594058f..3aeb92ec6e 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -114,29 +114,30 @@ "alt_text_modal.done": "Hotovo", "announcement.announcement": "Oznámení", "annual_report.announcement.action_build": "Sestavit můj Wrapstodon", + "annual_report.announcement.action_dismiss": "Ne, děkuji", "annual_report.announcement.action_view": "Zobrazit můj Wrapstodon", "annual_report.announcement.description": "Zjistěte více o vaší aktivitě na Mastodonu za poslední rok.", "annual_report.announcement.title": "Je zde Wrapstodon {year}", - "annual_report.summary.archetype.booster": "Lovec obsahu", - "annual_report.summary.archetype.lurker": "Špión", - "annual_report.summary.archetype.oracle": "Vědma", - "annual_report.summary.archetype.pollster": "Průzkumník", - "annual_report.summary.archetype.replier": "Sociální motýlek", - "annual_report.summary.followers.followers": "sledujících", - "annual_report.summary.followers.total": "{count} celkem", - "annual_report.summary.here_it_is": "Zde je tvůj rok {year} v přehledu:", - "annual_report.summary.highlighted_post.by_favourites": "nejvíce oblíbený příspěvek", - "annual_report.summary.highlighted_post.by_reblogs": "nejvíce boostovaný příspěvek", - "annual_report.summary.highlighted_post.by_replies": "příspěvek s nejvíce odpověďmi", - "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.nav_item.badge": "Nový", + "annual_report.shared_page.donate": "Podpořit", + "annual_report.shared_page.footer": "Vytvořeno s {heart} týmem Mastodon", + "annual_report.summary.archetype.reveal": "Odhalit můj archetyp", + "annual_report.summary.archetype.reveal_description": "Děkujeme, že jste součástí Mastodonu! Čas zjistit, který archetype jste ztělesnili v roce {year}.", + "annual_report.summary.archetype.title_public": "Archetyp {name}", + "annual_report.summary.archetype.title_self": "Váš archetyp", + "annual_report.summary.close": "Zavřít", + "annual_report.summary.copy_link": "Zkopírovat odkaz", + "annual_report.summary.highlighted_post.title": "Nejpopulárnější příspěvek", "annual_report.summary.most_used_app.most_used_app": "nejpoužívanější aplikace", "annual_report.summary.most_used_hashtag.most_used_hashtag": "nejpoužívanější hashtag", - "annual_report.summary.most_used_hashtag.none": "Žádné", + "annual_report.summary.most_used_hashtag.used_count": "Tento hashtag jste vložili do {count, plural, one {jednoho příspěvku} few {# příspěvků} many {# příspěvků} other {# příspěvků}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} vložili tento hashtag do {count, plural, one {jednoho příspěveku} few {# příspěvků} many {# příspěvků} other {# příspěvků}}.", "annual_report.summary.new_posts.new_posts": "nové příspěvky", "annual_report.summary.percentile.text": "To vás umisťuje do horních uživatelů domény {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "To, že jste zdejší smetánka, zůstane mezi námi ;).", + "annual_report.summary.share_elsewhere": "Sdílet jinde", "annual_report.summary.share_message": "Mám archetyp {archetype}!", - "annual_report.summary.thanks": "Děkujeme, že jste součástí Mastodonu!", + "annual_report.summary.share_on_mastodon": "Sdílet na Mastodonu", "attachments_list.unprocessed": "(nezpracováno)", "audio.hide": "Skrýt zvuk", "block_modal.remote_users_caveat": "Požádáme server {domain}, aby respektoval vaše rozhodnutí. Úplné dodržování nastavení však není zaručeno, protože některé servery mohou řešit blokování různě. Veřejné příspěvky mohou být stále viditelné pro nepřihlášené uživatele.", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index fcf33e4635..e96a63ff42 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -113,25 +113,50 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Disgrifiwch hyn ar gyfer pobl â nam ar eu golwg…", "alt_text_modal.done": "Gorffen", "announcement.announcement": "Cyhoeddiad", - "annual_report.summary.archetype.booster": "Y hyrwyddwr", - "annual_report.summary.archetype.lurker": "Y crwydryn", - "annual_report.summary.archetype.oracle": "Yr oracl", - "annual_report.summary.archetype.pollster": "Yr arholwr", - "annual_report.summary.archetype.replier": "Y sbardunwr", - "annual_report.summary.followers.followers": "dilynwyr", - "annual_report.summary.followers.total": "Cyfanswm o{count}", - "annual_report.summary.here_it_is": "Dyma eich {year} yn gryno:", - "annual_report.summary.highlighted_post.by_favourites": "postiad wedi'i ffefrynu fwyaf", - "annual_report.summary.highlighted_post.by_reblogs": "postiad wedi'i hybu fwyaf", - "annual_report.summary.highlighted_post.by_replies": "postiad gyda'r nifer fwyaf o ymatebion", - "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.announcement.action_build": "Adeiladu fy Wrapstodon", + "annual_report.announcement.action_dismiss": "Dim diolch", + "annual_report.announcement.action_view": "Gweld fy Wrapstodon", + "annual_report.announcement.description": "Darganfod mwy am eich ymgysylltiad â Mastodon dros y flwyddyn ddiwethaf.", + "annual_report.announcement.title": "Mae Wrapstodon {year} wedi cyrraedd", + "annual_report.nav_item.badge": "Newydd", + "annual_report.shared_page.donate": "Cyfrannu", + "annual_report.shared_page.footer": "Wedi'i gynhyrchu gyda {heart} gan dîm Mastodon", + "annual_report.summary.archetype.booster.desc_public": "Parhaodd {name} i chwilio am bostiadau i'w hybu, gan hyrwyddo crewyr eraill yn effeithiol.", + "annual_report.summary.archetype.booster.desc_self": "Fe wnaethoch chi aros ar y chwilio am bostiadau i'w hybu, gan chwyddo crewyr eraill yn effeithiol.", + "annual_report.summary.archetype.booster.name": "Y Saethydd", + "annual_report.summary.archetype.lurker.desc_public": "Rydyn ni'n gwybod bod {name} allan yna, yn rhywle, yn mwynhau Mastodon yn eu ffordd dawel eu hunain.", + "annual_report.summary.archetype.lurker.desc_self": "Rydyn ni'n gwybod eich bod chi allan yna, yn rhywle, yn mwynhau Mastodon yn eich ffordd dawel eich hun.", + "annual_report.summary.archetype.lurker.name": "Y Stoicaidd", + "annual_report.summary.archetype.oracle.desc_public": "Creodd {name} fwy o bostiadau newydd nag atebion, gan gadw Mastodon yn ffres ac yn edrych i'r dyfodol.", + "annual_report.summary.archetype.oracle.desc_self": "Fe wnaethoch chi greu mwy o bostiadau newydd nag atebion, gan gadw Mastodon yn ffres ac yn edrych i'r dyfodol.", + "annual_report.summary.archetype.oracle.name": "Yr Oracl", + "annual_report.summary.archetype.pollster.desc_public": "Creodd {name} fwy o arolygon barn na mathau eraill o bostiadau, gan feithrin chwilfrydedd am Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Fe greoch chi fwy o arolygon barn na mathau eraill o bostiadau, gan feithrin chwilfrydedd ar Mastodon.", + "annual_report.summary.archetype.pollster.name": "Y Syfrdanwr", + "annual_report.summary.archetype.replier.desc_public": "Roedd {name} yn aml yn ymateb i bostiadau pobl eraill, gan beillio Mastodon gyda thrafodaethau newydd.", + "annual_report.summary.archetype.replier.desc_self": "Roeddech chi'n aml yn ymateb i bostiadau pobl eraill, gan hau Mastodon gyda thrafodaethau newydd.", + "annual_report.summary.archetype.replier.name": "Y Pili-pala", + "annual_report.summary.archetype.reveal": "Datgelu fy nhuedd", + "annual_report.summary.archetype.reveal_description": "Diolch am fod yn rhan o Mastodon! Amser darganfod pa duedd oeddech chi'n ei ymgorffori yn {year}.", + "annual_report.summary.archetype.title_public": "Tuedd {name}", + "annual_report.summary.archetype.title_self": "Eich tuedd", + "annual_report.summary.close": "Cau", + "annual_report.summary.copy_link": "Copïo dolen", + "annual_report.summary.followers.new_followers": "{count, plural, one {dilynwr newydd} other {dilynwr newydd}}", + "annual_report.summary.highlighted_post.boost_count": "Cafodd y postiad hwn hwb {count, plural, one {unwaith} other {# gwaith}}.", + "annual_report.summary.highlighted_post.favourite_count": "Cafodd y postiad hwn ei ffefrynnu {count, plural, one {unwaith} other {# gwaith}}.", + "annual_report.summary.highlighted_post.reply_count": "Cafodd y post hwn {count, plural, one {un ateb} other {# ateb}}.", + "annual_report.summary.highlighted_post.title": "Postiad mwyaf poblogaidd", "annual_report.summary.most_used_app.most_used_app": "ap a ddefnyddiwyd fwyaf", "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashnod a ddefnyddiwyd fwyaf", - "annual_report.summary.most_used_hashtag.none": "Dim", + "annual_report.summary.most_used_hashtag.used_count": "Fe wnaethoch chi gynnwys yr hashnod hwn yn {count, plural, one {un postiad} other {# postiad}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "Mae {name} wedi cynnwys yr hashnod hwn yn {count, plural, one {un postiad} other {# postiad}}.", "annual_report.summary.new_posts.new_posts": "postiadau newydd", "annual_report.summary.percentile.text": "Mae hynny'n eich rhoi chi ymysg yuchaf o ddefnyddwyr {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Fyddwn ni ddim yn dweud wrth Bernie.", - "annual_report.summary.thanks": "Diolch am fod yn rhan o Mastodon!", + "annual_report.summary.share_elsewhere": "Rhannu mewn mannau eraill", + "annual_report.summary.share_message": "Fy arddull i yw {archetype}!", + "annual_report.summary.share_on_mastodon": "Rhannwch ar Mastodon", "attachments_list.unprocessed": "(heb eu prosesu)", "audio.hide": "Cuddio sain", "block_modal.remote_users_caveat": "Byddwn yn gofyn i'r gweinydd {domain} barchu eich penderfyniad. Fodd bynnag, nid yw cydymffurfiad wedi'i warantu gan y gall rhai gweinyddwyr drin rhwystrau mewn ffyrdd gwahanol. Mae'n bosibl y bydd postiadau cyhoeddus yn dal i fod yn weladwy i ddefnyddwyr nad ydynt wedi mewngofnodi.", @@ -516,6 +541,7 @@ "keyboard_shortcuts.toggle_hidden": "Dangos/cuddio testun tu ôl i CW", "keyboard_shortcuts.toggle_sensitivity": "Dangos/cuddio cyfryngau", "keyboard_shortcuts.toot": "Dechrau post newydd", + "keyboard_shortcuts.top": "Symud i frig y rhestr", "keyboard_shortcuts.translate": "i gyfieithu postiad", "keyboard_shortcuts.unfocus": "Dad-ffocysu ardal cyfansoddi testun/chwilio", "keyboard_shortcuts.up": "Symud yn uwch yn y rhestr", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index eca4a8b6eb..f60719d0ed 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -114,29 +114,51 @@ "alt_text_modal.done": "Færdig", "announcement.announcement": "Bekendtgørelse", "annual_report.announcement.action_build": "Byg min Wrapstodon", + "annual_report.announcement.action_dismiss": "Nej tak", "annual_report.announcement.action_view": "Vis min Wrapstodon", "annual_report.announcement.description": "Få mere at vide om dit engagement på Mastodon i det forgangne år.", "annual_report.announcement.title": "Wrapstodon {year} er her", - "annual_report.summary.archetype.booster": "Fremhæveren", - "annual_report.summary.archetype.lurker": "Lureren", - "annual_report.summary.archetype.oracle": "Oraklet", - "annual_report.summary.archetype.pollster": "Afstemningsmageren", - "annual_report.summary.archetype.replier": "Den sociale sommerfugl", - "annual_report.summary.followers.followers": "følgere", - "annual_report.summary.followers.total": "{count} i alt", - "annual_report.summary.here_it_is": "Her er dit {year} i sammendrag:", - "annual_report.summary.highlighted_post.by_favourites": "mest favoritmarkerede indlæg", - "annual_report.summary.highlighted_post.by_reblogs": "mest fremhævede indlæg", - "annual_report.summary.highlighted_post.by_replies": "indlæg med flest svar", - "annual_report.summary.highlighted_post.possessive": "{name}s", + "annual_report.nav_item.badge": "Ny", + "annual_report.shared_page.donate": "Donér", + "annual_report.shared_page.footer": "Genereret med {heart} af Mastodon-teamet", + "annual_report.shared_page.footer_server_info": "{username} bruger {domain}, et af mange fællesskaber drevet af Mastodon.", + "annual_report.summary.archetype.booster.desc_public": "{name} fortsatte med at jagte indlæg, der kunne fremhæves, og styrkede andre skabere med perfekt sigte.", + "annual_report.summary.archetype.booster.desc_self": "Du fortsatte med at jagte indlæg, der kunne fremhæves, og styrkede andre skabere med perfekt sigte.", + "annual_report.summary.archetype.booster.name": "Bueskytten", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Vi ved, at {name} var derude et eller andet sted og nød Mastodon på sin egen stille måde.", + "annual_report.summary.archetype.lurker.desc_self": "Vi ved, at du var derude et eller andet sted og nød Mastodon på din egen stille måde.", + "annual_report.summary.archetype.lurker.name": "Den stoiske", + "annual_report.summary.archetype.oracle.desc_public": "{name} oprettede flere nye indlæg end svar og holdt dermed Mastodon frisk og fremtidsorienteret.", + "annual_report.summary.archetype.oracle.desc_self": "Du oprettede flere nye indlæg end svar og holdt dermed Mastodon frisk og fremtidsorienteret.", + "annual_report.summary.archetype.oracle.name": "Oraklet", + "annual_report.summary.archetype.pollster.desc_public": "{name} oprettede flere afstemninger end andre indlægstyper og opdyrkede nysgerrighed på Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Du oprettede flere afstemninger end andre indlægstyper og opdyrkede nysgerrighed på Mastodon.", + "annual_report.summary.archetype.pollster.name": "Den undrende", + "annual_report.summary.archetype.replier.desc_public": "{name} svarede ofte på andres indlæg og berigede Mastodon med nye diskussioner.", + "annual_report.summary.archetype.replier.desc_self": "Du svarede ofte på andres indlæg og berigede Mastodon med nye diskussioner.", + "annual_report.summary.archetype.replier.name": "Sommerfuglen", + "annual_report.summary.archetype.reveal": "Afslør min arketype", + "annual_report.summary.archetype.reveal_description": "Tak fordi du er en del af Mastodon! Nu er det tid til at finde ud af, hvilken arketype du var i {year}.", + "annual_report.summary.archetype.title_public": "{name}'s arketype", + "annual_report.summary.archetype.title_self": "Din arketype", + "annual_report.summary.close": "Luk", + "annual_report.summary.copy_link": "Kopiér link", + "annual_report.summary.followers.new_followers": "{count, plural, one {ny følger} other {nye følgere}}", + "annual_report.summary.highlighted_post.boost_count": "Dette indlæg blev fremhævet {count, plural, one {én gang} other {# gange}}.", + "annual_report.summary.highlighted_post.favourite_count": "Dette indlæg blev favoritmarkeret {count, plural, one {én gang} other {# gange}}.", + "annual_report.summary.highlighted_post.reply_count": "Dette indlæg fik {count, plural, one {ét svar} other {# svar}}.", + "annual_report.summary.highlighted_post.title": "Mest populært indlæg", "annual_report.summary.most_used_app.most_used_app": "mest benyttede app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest benyttede hashtag", - "annual_report.summary.most_used_hashtag.none": "Intet", + "annual_report.summary.most_used_hashtag.used_count": "Du har inkluderet dette hashtag i {count, plural, one {ét indlæg} other {# indlæg}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} inkluderede dette hashtag i {count, plural, one {ét indlæg} other {# indlæg}}.", "annual_report.summary.new_posts.new_posts": "nye indlæg", "annual_report.summary.percentile.text": "Dermed er du i topaf {domain}-brugere.", "annual_report.summary.percentile.we_wont_tell_bernie": "Vi fortæller det ikke til nogen.", + "annual_report.summary.share_elsewhere": "Del andetsteds", "annual_report.summary.share_message": "Min arketype er {archetype}!", - "annual_report.summary.thanks": "Tak for at være en del af Mastodon!", + "annual_report.summary.share_on_mastodon": "Del på Mastodon", "attachments_list.unprocessed": "(ubehandlet)", "audio.hide": "Skjul lyd", "block_modal.remote_users_caveat": "Serveren {domain} vil blive bedt om at respektere din beslutning. Overholdelse er dog ikke garanteret, da nogle servere kan håndtere blokke forskelligt. Offentlige indlæg kan stadig være synlige for ikke-indloggede brugere.", @@ -413,12 +435,14 @@ "follow_suggestions.hints.similar_to_recently_followed": "Denne profil svarer til de profiler, som senest er blevet fulgt.", "follow_suggestions.personalized_suggestion": "Personligt forslag", "follow_suggestions.popular_suggestion": "Populært forslag", - "follow_suggestions.popular_suggestion_longer": "Populært på {domain}", + "follow_suggestions.popular_suggestion_longer": "Populær på {domain}", "follow_suggestions.similar_to_recently_followed_longer": "Minder om profiler, du har fulgt for nylig", "follow_suggestions.view_all": "Vis alle", "follow_suggestions.who_to_follow": "Hvem, som skal følges", "followed_tags": "Hashtags, som følges", "footer.about": "Om", + "footer.about_mastodon": "Om Mastodon", + "footer.about_server": "Om {domain}", "footer.about_this_server": "Om", "footer.directory": "Profiloversigt", "footer.get_app": "Hent appen", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index d467dcf7c0..6db0567c81 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -57,7 +57,7 @@ "account.go_to_profile": "Profil aufrufen", "account.hide_reblogs": "Geteilte Beiträge von @{name} ausblenden", "account.in_memoriam": "Zum Andenken.", - "account.joined_short": "Mitglied seit", + "account.joined_short": "Registriert am", "account.languages": "Ausgewählte Sprachen ändern", "account.link_verified_on": "Das Profil mit dieser E-Mail-Adresse wurde bereits am {date} bestätigt", "account.locked_info": "Die Privatsphäre dieses Kontos wurde auf „geschützt“ gesetzt. Die Person bestimmt manuell, wer ihrem Profil folgen darf.", @@ -114,29 +114,51 @@ "alt_text_modal.done": "Fertig", "announcement.announcement": "Ankündigung", "annual_report.announcement.action_build": "Erstelle mein Wrapstodon", + "annual_report.announcement.action_dismiss": "Nein danke", "annual_report.announcement.action_view": "Mein Wrapstodon anschauen", "annual_report.announcement.description": "Erfahre mehr über deine Aktivitäten auf Mastodon im vergangenen Jahr.", "annual_report.announcement.title": "Wrapstodon {year} ist fertiggestellt", - "annual_report.summary.archetype.booster": "Trendjäger*in", - "annual_report.summary.archetype.lurker": "Beobachter*in", - "annual_report.summary.archetype.oracle": "Universaltalent", - "annual_report.summary.archetype.pollster": "Meinungsforscher*in", - "annual_report.summary.archetype.replier": "Gesellige*r", - "annual_report.summary.followers.followers": "Follower", - "annual_report.summary.followers.total": "{count} insgesamt", - "annual_report.summary.here_it_is": "Dein Jahresrückblick für {year}:", - "annual_report.summary.highlighted_post.by_favourites": "am häufigsten favorisierter Beitrag", - "annual_report.summary.highlighted_post.by_reblogs": "am häufigsten geteilter Beitrag", - "annual_report.summary.highlighted_post.by_replies": "Beitrag mit den meisten Antworten", - "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.nav_item.badge": "Neu", + "annual_report.shared_page.donate": "Spenden", + "annual_report.shared_page.footer": "Mit {heart} vom Mastodon-Team erstellt", + "annual_report.shared_page.footer_server_info": "{username} verwendet {domain} – eine von vielen Mastodon-Gemeinschaften.", + "annual_report.summary.archetype.booster.desc_public": "{name} hielt Ausschau nach Beiträgen, um sie zu teilen und den Autor*innen mehr Reichweite zu bescheren.", + "annual_report.summary.archetype.booster.desc_self": "Du hieltest Ausschau nach Beiträgen, um sie zu teilen und den Autor*innen mehr Reichweite zu bescheren.", + "annual_report.summary.archetype.booster.name": "Flitzebogen", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "{name} befand sich irgendwo in den Tiefen von Mastodon und genoss das stille Dasein.", + "annual_report.summary.archetype.lurker.desc_self": "Du befandest dich irgendwo in den Tiefen von Mastodon und genossest das stille Dasein.", + "annual_report.summary.archetype.lurker.name": "Unerschütterliche*r", + "annual_report.summary.archetype.oracle.desc_public": "{name} verfasste mehr Beiträge als Antworten, damit Mastodon abwechslungsreich blieb.", + "annual_report.summary.archetype.oracle.desc_self": "Du verfasstest mehr Beiträge als Antworten, damit Mastodon abwechslungsreich blieb.", + "annual_report.summary.archetype.oracle.name": "Orakel", + "annual_report.summary.archetype.pollster.desc_public": "{name} erstellte mehr Umfragen als alles andere und förderte die Neugier auf Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Du erstelltest mehr Umfragen als alles andere und fördertest die Neugier auf Mastodon.", + "annual_report.summary.archetype.pollster.name": "Grübler*in", + "annual_report.summary.archetype.replier.desc_public": "{name} antwortete regelmäßig auf die Beiträge anderer und sorgte für blühende Diskussionen auf Mastodon.", + "annual_report.summary.archetype.replier.desc_self": "Du antwortetest regelmäßig auf die Beiträge anderer und sorgtest für blühende Diskussionen auf Mastodon.", + "annual_report.summary.archetype.replier.name": "Schmetterling", + "annual_report.summary.archetype.reveal": "Enthülle mein Wesen", + "annual_report.summary.archetype.reveal_description": "Danke, dass du Teil von Mastodon bist! Zeit herauszufinden, welches Wesen du {year} verkörpert hast.", + "annual_report.summary.archetype.title_public": "Wesen von {name}", + "annual_report.summary.archetype.title_self": "Mein Wesen", + "annual_report.summary.close": "Schließen", + "annual_report.summary.copy_link": "Link kopieren", + "annual_report.summary.followers.new_followers": "{count, plural, one {neuer Follower} other {neue Follower}}", + "annual_report.summary.highlighted_post.boost_count": "Dieser Beitrag wurde {count, plural, one {1 ×} other {# ×}} geteilt.", + "annual_report.summary.highlighted_post.favourite_count": "Dieser Beitrag wurde {count, plural, one {1 ×} other {# ×}} favorisiert.", + "annual_report.summary.highlighted_post.reply_count": "Dieser Beitrag erhielt {count, plural, one {1 Antwort} other {# Antworten}}.", + "annual_report.summary.highlighted_post.title": "Beliebtester Beitrag", "annual_report.summary.most_used_app.most_used_app": "am häufigsten verwendete App", "annual_report.summary.most_used_hashtag.most_used_hashtag": "am häufigsten verwendeter Hashtag", - "annual_report.summary.most_used_hashtag.none": "Keiner", + "annual_report.summary.most_used_hashtag.used_count": "Du verwendetest diesen Hashtag in {count, plural, one {1 Beitrag} other {# Beiträgen}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} verwendete diesen Hashtag in {count, plural, one {1 Beitrag} other {# Beiträgen}}.", "annual_report.summary.new_posts.new_posts": "neue Beiträge", "annual_report.summary.percentile.text": "Damit gehörst du zu den oberstender Nutzer*innen auf {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Wir werden Bernie nichts verraten.", - "annual_report.summary.share_message": "Ich habe den {archetype} Archetyp!", - "annual_report.summary.thanks": "Danke, dass du Teil von Mastodon bist!", + "annual_report.summary.share_elsewhere": "Woanders teilen", + "annual_report.summary.share_message": "Ich bin vom Wesen {archetype}!", + "annual_report.summary.share_on_mastodon": "Auf Mastodon teilen", "attachments_list.unprocessed": "(ausstehend)", "audio.hide": "Audio ausblenden", "block_modal.remote_users_caveat": "Wir werden den Server {domain} bitten, deine Entscheidung zu respektieren. Allerdings kann nicht garantiert werden, dass sie eingehalten wird, weil einige Server Blockierungen unterschiedlich handhaben können. Öffentliche Beiträge können für nicht angemeldete Nutzer*innen weiterhin sichtbar sein.", @@ -419,6 +441,8 @@ "follow_suggestions.who_to_follow": "Wem folgen?", "followed_tags": "Abonnierte Hashtags", "footer.about": "Über", + "footer.about_mastodon": "Über Mastodon", + "footer.about_server": "Über {domain}", "footer.about_this_server": "Über", "footer.directory": "Profilverzeichnis", "footer.get_app": "App herunterladen", @@ -937,7 +961,7 @@ "status.quote_error.pending_approval_popout.body": "Auf Mastodon kannst du selbst bestimmen, ob du von anderen zitiert werden darfst oder nicht – oder nur nach individueller Genehmigung. Wir warten in diesem Fall noch auf die Genehmigung des ursprünglichen Profils. Bis dahin steht die Veröffentlichung deines Beitrags mit dem zitierten Post noch aus.", "status.quote_error.revoked": "Beitrag durch Autor*in entfernt", "status.quote_followers_only": "Nur Follower können diesen Beitrag zitieren", - "status.quote_manual_review": "Zitierte*r überprüft manuell", + "status.quote_manual_review": "Autor*in wird deine Anfrage manuell überprüfen", "status.quote_noun": "Zitat", "status.quote_policy_change": "Ändern, wer zitieren darf", "status.quote_post_author": "Zitierter Beitrag von @{name}", @@ -955,7 +979,7 @@ "status.reblogs_count": "{count, plural, one {{counter} × geteilt} other {{counter} × geteilt}}", "status.redraft": "Löschen und neu erstellen", "status.remove_bookmark": "Lesezeichen entfernen", - "status.remove_favourite": "Aus Favoriten entfernen", + "status.remove_favourite": "Favorisierung entfernen", "status.remove_quote": "Entfernen", "status.replied_in_thread": "Antwortete im Thread", "status.replied_to": "Antwortete {name}", @@ -972,7 +996,7 @@ "status.title.with_attachments": "{user} veröffentlichte {attachmentCount, plural, one {ein Medium} other {{attachmentCount} Medien}}", "status.translate": "Übersetzen", "status.translated_from_with": "Aus {lang} mittels {provider} übersetzt", - "status.uncached_media_warning": "Vorschau nicht verfügbar", + "status.uncached_media_warning": "Vorschau noch nicht verfügbar", "status.unmute_conversation": "Stummschaltung der Unterhaltung aufheben", "status.unpin": "Vom Profil lösen", "subscribed_languages.lead": "Nach der Änderung werden nur noch Beiträge in den ausgewählten Sprachen in den Timelines deiner Startseite und deiner Listen angezeigt. Wähle keine Sprache aus, um alle Beiträge zu sehen.", @@ -1008,7 +1032,7 @@ "upload_form.drag_and_drop.on_drag_over": "Der Medienanhang {item} wurde bewegt.", "upload_form.drag_and_drop.on_drag_start": "Der Medienanhang {item} wurde aufgenommen.", "upload_form.edit": "Bearbeiten", - "upload_progress.label": "Wird hochgeladen …", + "upload_progress.label": "Upload läuft …", "upload_progress.processing": "Wird verarbeitet …", "username.taken": "Dieser Profilname ist vergeben. Versuche einen anderen", "video.close": "Video schließen", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 48aad8c926..1e07e97b51 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -47,12 +47,12 @@ "account.follow_request_cancel_short": "Ακύρωση", "account.follow_request_short": "Αίτημα", "account.followers": "Ακόλουθοι", - "account.followers.empty": "Κανείς δεν ακολουθεί αυτόν τον χρήστη ακόμα.", + "account.followers.empty": "Κανείς δεν ακολουθεί αυτόν τον χρήστη ακόμη.", "account.followers_counter": "{count, plural, one {{counter} ακόλουθος} other {{counter} ακόλουθοι}}", "account.followers_you_know_counter": "{counter} που ξέρεις", "account.following": "Ακολουθείτε", "account.following_counter": "{count, plural, one {{counter} ακολουθεί} other {{counter} ακολουθούν}}", - "account.follows.empty": "Αυτός ο χρήστης δεν ακολουθεί κανέναν ακόμα.", + "account.follows.empty": "Αυτός ο χρήστης δεν ακολουθεί κανέναν ακόμη.", "account.follows_you": "Σε ακολουθεί", "account.go_to_profile": "Μετάβαση στο προφίλ", "account.hide_reblogs": "Απόκρυψη ενισχύσεων από @{name}", @@ -114,29 +114,51 @@ "alt_text_modal.done": "Ολοκληρώθηκε", "announcement.announcement": "Ανακοίνωση", "annual_report.announcement.action_build": "Φτιάξε το Wrapstodon μου", + "annual_report.announcement.action_dismiss": "Όχι, ευχαριστώ", "annual_report.announcement.action_view": "Προβολή του Wrapstodon μου", "annual_report.announcement.description": "Ανακαλύψτε περισσότερα για την αλληλεπίδραση σας στο Mastodon κατά τη διάρκεια του περασμένου έτους.", "annual_report.announcement.title": "Το Wrapstodon του {year} έφτασε", - "annual_report.summary.archetype.booster": "Ο κυνηγός των φοβερών", - "annual_report.summary.archetype.lurker": "Ο διακριτικός", - "annual_report.summary.archetype.oracle": "Η Πυθία", - "annual_report.summary.archetype.pollster": "Ο δημοσκόπος", - "annual_report.summary.archetype.replier": "Η κοινωνική πεταλούδα", - "annual_report.summary.followers.followers": "ακόλουθοι", - "annual_report.summary.followers.total": "{count} συνολικά", - "annual_report.summary.here_it_is": "Εδώ είναι το {year} σου σε ανασκόπηση:", - "annual_report.summary.highlighted_post.by_favourites": "πιο αγαπημένη ανάρτηση", - "annual_report.summary.highlighted_post.by_reblogs": "πιο ενισχυμένη ανάρτηση", - "annual_report.summary.highlighted_post.by_replies": "ανάρτηση με τις περισσότερες απαντήσεις", - "annual_report.summary.highlighted_post.possessive": "του χρήστη {name}", + "annual_report.nav_item.badge": "Νέο", + "annual_report.shared_page.donate": "Δωρεά", + "annual_report.shared_page.footer": "Παράχθηκε με {heart} από την ομάδα του Mastodon", + "annual_report.shared_page.footer_server_info": "Ο/Η {username} χρησιμοποιεί το {domain}, μία από τις πολλές κοινότητες που βασίζονται στο Mastodon.", + "annual_report.summary.archetype.booster.desc_public": "Ο/Η {name} έμεινε στο κυνήγι για αναρτήσεις για να τις ενισχύσει, ενισχύοντας άλλους δημιουργούς με τέλειο στόχο.", + "annual_report.summary.archetype.booster.desc_self": "Έμεινες στο κυνήγι για αναρτήσεις για να τις ενισχύσεις, ενισχύοντας άλλους δημιουργούς με τέλειο στόχο.", + "annual_report.summary.archetype.booster.name": "Ο Τοξότης", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Ξέρουμε ότι ο/η {name} ήταν εκεί έξω, κάπου, απολαμβάνοντας το Mastodon με τον δικό του/της ήσυχο τρόπο.", + "annual_report.summary.archetype.lurker.desc_self": "Ξέρουμε ότι ήσουν εκεί έξω, κάπου, απολαμβάνοντας το Mastodon με τον δικό σου ήσυχο τρόπο.", + "annual_report.summary.archetype.lurker.name": "Ο Στωϊκός", + "annual_report.summary.archetype.oracle.desc_public": "O/H {name} δημιούργησε νέες αναρτήσεις περισσότερο από ότι απαντήσεις, κρατώντας το Mastodon φρέσκο και κοιτώντας προς το μέλλον.", + "annual_report.summary.archetype.oracle.desc_self": "Δημιούργησες νέες αναρτήσεις περισσότερο από ότι απαντήσεις, κρατώντας το Mastodon φρέσκο και κοιτώντας προς το μέλλον.", + "annual_report.summary.archetype.oracle.name": "Η Πυθία", + "annual_report.summary.archetype.pollster.desc_public": "Ο/Η {name} δημιούργησε περισσότερες δημοσκοπήσεις από άλλα είδη αναρτήσεων, καλλιεργώντας περιέργεια στο Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Δημιούργησες περισσότερες δημοσκοπήσεις από άλλα είδη αναρτήσεων, καλλιεργώντας περιέργεια στο Mastodon.", + "annual_report.summary.archetype.pollster.name": "Ο Θαυμαστής", + "annual_report.summary.archetype.replier.desc_public": "Ο/Η {name} συχνά απαντούσε σε αναρτήσεις άλλων ανθρώπων, επικονίαζοντας το Mastodon με νέες συζητήσεις.", + "annual_report.summary.archetype.replier.desc_self": "Συχνά απαντούσες σε αναρτήσεις άλλων ανθρώπων, επικονίαζοντας το Mastodon με νέες συζητήσεις.", + "annual_report.summary.archetype.replier.name": "Η Πεταλούδα", + "annual_report.summary.archetype.reveal": "Αποκάλυψε το αρχέτυπο μου", + "annual_report.summary.archetype.reveal_description": "Ευχαριστούμε που είσαι μέρος του Mastodon! Ώρα να μάθεις ποιο αρχέτυπο έχεις ενσαρκώσει το {year}.", + "annual_report.summary.archetype.title_public": "Αρχέτυπο του/της {name}", + "annual_report.summary.archetype.title_self": "Το αρχέτυπο σου", + "annual_report.summary.close": "Κλείσιμο", + "annual_report.summary.copy_link": "Αντιγραφή συνδέσμου", + "annual_report.summary.followers.new_followers": "{count, plural, one {νέος ακόλουθος} other {νέοι ακόλουθοι}}", + "annual_report.summary.highlighted_post.boost_count": "Αυτή η ανάρτηση ενισχύθηκε {count, plural, one {μια φορά} other {# φορές}}.", + "annual_report.summary.highlighted_post.favourite_count": "Αυτή η ανάρτηση αγαπήθηκε {count, plural, one {μια φορά} other {# φορές}}.", + "annual_report.summary.highlighted_post.reply_count": "Αυτή η ανάρτηση πήρε {count, plural, one {μια απάντηση} other {# απαντήσεις}}.", + "annual_report.summary.highlighted_post.title": "Πιο δημοφιλής ανάρτηση", "annual_report.summary.most_used_app.most_used_app": "πιο χρησιμοποιημένη εφαρμογή", "annual_report.summary.most_used_hashtag.most_used_hashtag": "πιο χρησιμοποιημένη ετικέτα", - "annual_report.summary.most_used_hashtag.none": "Κανένα", + "annual_report.summary.most_used_hashtag.used_count": "Έχεις συμπεριλάβει αυτήν την ετικέτα σε {count, plural, one {μια ανάρτηση} other {# αναρτήσεις}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "Ο/Η {name} έχει συμπεριλάβει αυτήν την ετικέτα σε {count, plural, one {μια ανάρτηση} other {# αναρτήσεις}}.", "annual_report.summary.new_posts.new_posts": "νέες αναρτήσεις", "annual_report.summary.percentile.text": "Αυτό σε βάζει στο των κορυφαίων χρηστών του {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Δεν θα το πούμε στον Bernie.", + "annual_report.summary.share_elsewhere": "Κοινοποίηση αλλού", "annual_report.summary.share_message": "Πήρα το αρχέτυπο {archetype}!", - "annual_report.summary.thanks": "Ευχαριστούμε που συμμετέχεις στο Mastodon!", + "annual_report.summary.share_on_mastodon": "Κοινοποίηση στο Mastodon", "attachments_list.unprocessed": "(μη επεξεργασμένο)", "audio.hide": "Απόκρυψη αρχείου ήχου", "block_modal.remote_users_caveat": "Θα ζητήσουμε από τον διακομιστή {domain} να σεβαστεί την απόφασή σου. Ωστόσο, η συμμόρφωση δεν είναι εγγυημένη δεδομένου ότι ορισμένοι διακομιστές ενδέχεται να χειρίζονται τους αποκλεισμούς διαφορετικά. Οι δημόσιες αναρτήσεις ενδέχεται να είναι ορατές σε μη συνδεδεμένους χρήστες.", @@ -337,30 +359,30 @@ "emoji_button.search_results": "Αποτελέσματα αναζήτησης", "emoji_button.symbols": "Σύμβολα", "emoji_button.travel": "Ταξίδια & Τοποθεσίες", - "empty_column.account_featured.me": "Δεν έχεις αναδείξει τίποτα ακόμα. Γνώριζες ότι μπορείς να αναδείξεις τις ετικέτες που χρησιμοποιείς περισσότερο, ακόμη και τους λογαριασμούς των φίλων σου στο προφίλ σου;", - "empty_column.account_featured.other": "Ο λογαριασμός {acct} δεν αναδείξει τίποτα ακόμα. Γνώριζες ότι μπορείς να αναδείξεις τις ετικέτες που χρησιμοποιείς περισσότερο, ακόμη και τους λογαριασμούς των φίλων σου στο προφίλ σου;", - "empty_column.account_featured_other.unknown": "Αυτός ο λογαριασμός δεν έχει αναδείξει τίποτα ακόμα.", + "empty_column.account_featured.me": "Δεν έχεις αναδείξει τίποτα ακόμη. Γνώριζες ότι μπορείς να αναδείξεις τις ετικέτες που χρησιμοποιείς περισσότερο, ακόμη και τους λογαριασμούς των φίλων σου στο προφίλ σου;", + "empty_column.account_featured.other": "Ο/Η {acct} δεν έχει αναδείξει τίποτα ακόμη. Γνώριζες ότι μπορείς να αναδείξεις τις ετικέτες που χρησιμοποιείς περισσότερο, ακόμη και τους λογαριασμούς των φίλων σου στο προφίλ σου;", + "empty_column.account_featured_other.unknown": "Αυτός ο λογαριασμός δεν έχει αναδείξει τίποτα ακόμη.", "empty_column.account_hides_collections": "Αυτός ο χρήστης έχει επιλέξει να μην καταστήσει αυτές τις πληροφορίες διαθέσιμες", "empty_column.account_suspended": "Λογαριασμός σε αναστολή", "empty_column.account_timeline": "Δεν έχει αναρτήσεις εδώ!", "empty_column.account_unavailable": "Μη διαθέσιμο προφίλ", - "empty_column.blocks": "Δεν έχεις αποκλείσει κανέναν χρήστη ακόμα.", - "empty_column.bookmarked_statuses": "Δεν έχεις καμία ανάρτηση με σελιδοδείκτη ακόμα. Μόλις βάλεις κάποιον, θα εμφανιστεί εδώ.", + "empty_column.blocks": "Δεν έχεις αποκλείσει κανέναν χρήστη ακόμη.", + "empty_column.bookmarked_statuses": "Δεν έχεις καμία ανάρτηση με σελιδοδείκτη ακόμη. Μόλις βάλεις κάποιον, θα εμφανιστεί εδώ.", "empty_column.community": "Η τοπική ροή είναι κενή. Γράψε κάτι δημόσια για να αρχίσει να κυλά η μπάλα!", - "empty_column.direct": "Δεν έχεις καμία προσωπική επισήμανση ακόμα. Όταν στείλεις ή λάβεις μία, θα εμφανιστεί εδώ.", + "empty_column.direct": "Δεν έχεις καμία προσωπική επισήμανση ακόμη. Όταν στείλεις ή λάβεις μία, θα εμφανιστεί εδώ.", "empty_column.disabled_feed": "Αυτή η ροή έχει απενεργοποιηθεί από τους διαχειριστές του διακομιστή σας.", - "empty_column.domain_blocks": "Δεν υπάρχουν αποκλεισμένοι τομείς ακόμα.", + "empty_column.domain_blocks": "Δεν υπάρχουν αποκλεισμένοι τομείς ακόμη.", "empty_column.explore_statuses": "Τίποτα δεν βρίσκεται στις τάσεις αυτή τη στιγμή. Έλεγξε αργότερα!", - "empty_column.favourited_statuses": "Δεν έχεις καμία αγαπημένη ανάρτηση ακόμα. Μόλις αγαπήσεις κάποια, θα εμφανιστεί εδώ.", - "empty_column.favourites": "Κανείς δεν έχει αγαπήσει αυτή την ανάρτηση ακόμα. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.", - "empty_column.follow_requests": "Δεν έχεις κανένα αίτημα παρακολούθησης ακόμα. Μόλις λάβεις κάποιο, θα εμφανιστεί εδώ.", - "empty_column.followed_tags": "Δεν έχετε ακολουθήσει ακόμα καμία ετικέτα. Όταν το κάνετε, θα εμφανιστούν εδώ.", - "empty_column.hashtag": "Δεν υπάρχει ακόμα κάτι για αυτή την ετικέτα.", + "empty_column.favourited_statuses": "Δεν έχεις καμία αγαπημένη ανάρτηση ακόμη. Μόλις αγαπήσεις κάποια, θα εμφανιστεί εδώ.", + "empty_column.favourites": "Κανείς δεν έχει αγαπήσει αυτή την ανάρτηση ακόμη. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.", + "empty_column.follow_requests": "Δεν έχεις κανένα αίτημα παρακολούθησης ακόμη. Μόλις λάβεις κάποιο, θα εμφανιστεί εδώ.", + "empty_column.followed_tags": "Δεν έχεις ακολουθήσει καμία ετικέτα ακόμη. Όταν το κάνεις, θα εμφανιστούν εδώ.", + "empty_column.hashtag": "Δεν υπάρχει τίποτα σε αυτή την ετικέτα ακόμη.", "empty_column.home": "Η τοπική σου ροή είναι κενή! Πήγαινε στο {public} ή κάνε αναζήτηση για να ξεκινήσεις και να γνωρίσεις άλλους χρήστες.", - "empty_column.list": "Δεν υπάρχει τίποτα σε αυτή τη λίστα ακόμα. Όταν τα μέλη της δημοσιεύσουν νέες καταστάσεις, θα εμφανιστούν εδώ.", - "empty_column.mutes": "Δεν έχεις κανένα χρήστη σε σίγαση ακόμα.", + "empty_column.list": "Δεν υπάρχει τίποτα σε αυτή τη λίστα ακόμη. Όταν τα μέλη της δημοσιεύσουν νέες αναρτήσεις, θα εμφανιστούν εδώ.", + "empty_column.mutes": "Δεν έχεις κανένα χρήστη σε σίγαση ακόμη.", "empty_column.notification_requests": "Όλα καθαρά! Δεν υπάρχει τίποτα εδώ. Όταν λαμβάνεις νέες ειδοποιήσεις, αυτές θα εμφανίζονται εδώ σύμφωνα με τις ρυθμίσεις σου.", - "empty_column.notifications": "Δεν έχεις ειδοποιήσεις ακόμα. Όταν άλλα άτομα αλληλεπιδράσουν μαζί σου, θα το δεις εδώ.", + "empty_column.notifications": "Δεν έχεις ειδοποιήσεις ακόμη. Όταν άλλα άτομα αλληλεπιδράσουν μαζί σου, θα το δεις εδώ.", "empty_column.public": "Δεν υπάρχει τίποτα εδώ! Γράψε κάτι δημόσιο ή ακολούθησε χειροκίνητα χρήστες από άλλους διακομιστές για να τη γεμίσεις", "error.no_hashtag_feed_access": "Γίνετε μέλος ή συνδεθείτε για να δείτε και να ακολουθήσετε αυτήν την ετικέτα.", "error.unexpected_crash.explanation": "Είτε λόγω σφάλματος στον κώδικά μας ή λόγω ασυμβατότητας με τον περιηγητή, η σελίδα δε μπόρεσε να εμφανιστεί σωστά.", @@ -419,6 +441,8 @@ "follow_suggestions.who_to_follow": "Ποιον να ακολουθήσεις", "followed_tags": "Ακολουθούμενες ετικέτες", "footer.about": "Σχετικά με", + "footer.about_mastodon": "Σχετικά με το Mastodon", + "footer.about_server": "Σχετικά με το {domain}", "footer.about_this_server": "Σχετικά με", "footer.directory": "Κατάλογος προφίλ", "footer.get_app": "Αποκτήστε την εφαρμογή", @@ -449,7 +473,7 @@ "hashtag.mute": "Σίγαση #{hashtag}", "hashtag.unfeature": "Να μην αναδεικνύεται στο προφίλ", "hashtag.unfollow": "Διακοπή παρακολούθησης ετικέτας", - "hashtags.and_other": "…και {count, plural, other {# ακόμη}}", + "hashtags.and_other": "…και {count, plural, other {# ακόμα}}", "hints.profiles.followers_may_be_missing": "Μπορεί να λείπουν ακόλουθοι για αυτό το προφίλ.", "hints.profiles.follows_may_be_missing": "Άτομα που ακολουθούνται μπορεί να λείπουν απ' αυτό το προφίλ.", "hints.profiles.posts_may_be_missing": "Κάποιες αναρτήσεις από αυτό το προφίλ μπορεί να λείπουν.", @@ -466,7 +490,7 @@ "home.show_announcements": "Εμφάνιση ανακοινώσεων", "ignore_notifications_modal.disclaimer": "Το Mastodon δε μπορεί να ενημερώσει τους χρήστες ότι αγνόησες τις ειδοποιήσεις του. Η αγνόηση ειδοποιήσεων δεν θα εμποδίσει την αποστολή των ίδιων των μηνυμάτων.", "ignore_notifications_modal.filter_instead": "Φίλτρο αντ' αυτού", - "ignore_notifications_modal.filter_to_act_users": "Θα μπορείς ακόμα να αποδεχθείς, να απορρίψεις ή να αναφέρεις χρήστες", + "ignore_notifications_modal.filter_to_act_users": "Θα μπορείς ακόμη να αποδεχθείς, να απορρίψεις ή να αναφέρεις χρήστες", "ignore_notifications_modal.filter_to_avoid_confusion": "Το φιλτράρισμα βοηθά στην αποφυγή πιθανής σύγχυσης", "ignore_notifications_modal.filter_to_review_separately": "Μπορείς να δεις τις φιλτραρισμένες ειδοποιήσεις ξεχωριστά", "ignore_notifications_modal.ignore": "Αγνόηση ειδοποιήσεων", @@ -552,8 +576,8 @@ "lists.list_members_count": "{count, plural, one {# μέλος} other {# μέλη}}", "lists.list_name": "Όνομα λίστας", "lists.new_list_name": "Νέο όνομα λίστας", - "lists.no_lists_yet": "Δεν υπάρχουν λίστες ακόμα.", - "lists.no_members_yet": "Κανένα μέλος ακόμα.", + "lists.no_lists_yet": "Καμία λίστα ακόμη.", + "lists.no_members_yet": "Κανένα μέλος ακόμη.", "lists.no_results_found": "Δεν βρέθηκαν αποτελέσματα.", "lists.remove_member": "Αφαίρεση", "lists.replies_policy.followed": "Οποιοσδήποτε χρήστης που ακολουθείς", @@ -613,15 +637,15 @@ "notification.admin.report_statuses": "Ο χρήστης {name} ανέφερε τον χρήστη {target} για {category}", "notification.admin.report_statuses_other": "Ο χρήστης {name} ανέφερε τον χρήστη {target}", "notification.admin.sign_up": "{name} έχει εγγραφεί", - "notification.admin.sign_up.name_and_others": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} έχουν εγγραφεί", + "notification.admin.sign_up.name_and_others": "{name} και {count, plural, one {# ακόμα} other {# ακόμα}} έχουν εγγραφεί", "notification.annual_report.message": "Το #Wrapstodon {year} σε περιμένει! Αποκάλυψε τα στιγμιότυπα της χρονιάς και αξέχαστες στιγμές σου στο Mastodon!", "notification.annual_report.view": "Προβολή #Wrapstodon", "notification.favourite": "{name} αγάπησε την ανάρτηση σου", - "notification.favourite.name_and_others_with_link": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} αγάπησαν την ανάρτησή σου", + "notification.favourite.name_and_others_with_link": "{name} και {count, plural, one {# ακόμα} other {# ακόμα}} αγάπησαν την ανάρτησή σου", "notification.favourite_pm": "Ο χρήστης {name} αγάπησε την ιδιωτική σου επισήμανση", - "notification.favourite_pm.name_and_others_with_link": "Ο χρήστης {name} και {count, plural, one {# ακόμη} other {# ακόμη}} αγάπησαν την ιδωτική σου επισήμανση", + "notification.favourite_pm.name_and_others_with_link": "Ο χρήστης {name} και {count, plural, one {# ακόμα} other {# ακόμα}} αγάπησαν την ιδωτική σου επισήμανση", "notification.follow": "Ο χρήστης {name} σε ακολούθησε", - "notification.follow.name_and_others": "Ο χρήστης {name} και {count, plural, one {# ακόμη} other {# ακόμη}} σε ακολούθησαν", + "notification.follow.name_and_others": "Ο χρήστης {name} και {count, plural, one {# ακόμα} other {# ακόμα}} σε ακολούθησαν", "notification.follow_request": "Ο/H {name} ζήτησε να σε ακολουθήσει", "notification.follow_request.name_and_others": "{name} και {count, plural, one {# άλλος} other {# άλλοι}} ζήτησαν να σε ακολουθήσουν", "notification.label.mention": "Επισήμανση", @@ -644,7 +668,7 @@ "notification.poll": "Μία ψηφοφορία στην οποία συμμετείχες έχει τελειώσει", "notification.quoted_update": "Ο χρήστης {name} επεξεργάστηκε μία ανάρτηση που παρέθεσες", "notification.reblog": "Ο/Η {name} ενίσχυσε την ανάρτηση σου", - "notification.reblog.name_and_others_with_link": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} ενίσχυσαν την ανάρτησή σου", + "notification.reblog.name_and_others_with_link": "{name} και {count, plural, one {# ακόμα} other {# ακόμα}} ενίσχυσαν την ανάρτησή σου", "notification.relationships_severance_event": "Χάθηκε η σύνδεση με το {name}", "notification.relationships_severance_event.account_suspension": "Ένας διαχειριστής από το {from} ανέστειλε το {target}, πράγμα που σημαίνει ότι δεν μπορείς πλέον να λαμβάνεις ενημερώσεις από αυτούς ή να αλληλεπιδράς μαζί τους.", "notification.relationships_severance_event.domain_block": "Ένας διαχειριστής από {from} έχει μπλοκάρει το {target}, συμπεριλαμβανομένων {followersCount} από τους ακόλουθούς σου και {followingCount, plural, one {# λογαριασμό} other {# λογαριασμοί}} που ακολουθείς.", @@ -812,7 +836,7 @@ "report.forward": "Προώθηση προς {target}", "report.forward_hint": "Ο λογαριασμός είναι από διαφορετικό διακομιστή. Να σταλεί ανώνυμο αντίγραφο της αναφοράς και εκεί;", "report.mute": "Σίγαση", - "report.mute_explanation": "Δεν θα βλέπεις τις αναρτήσεις του. Εκείνοι μπορούν ακόμα να σε ακολουθούν και να βλέπουν τις αναρτήσεις σου χωρίς να γνωρίζουν ότι είναι σε σίγαση.", + "report.mute_explanation": "Δεν θα βλέπεις τις αναρτήσεις τους. Εκείνοι μπορούν ακόμη να σε ακολουθούν και να βλέπουν τις αναρτήσεις σου χωρίς να γνωρίζουν ότι είναι σε σίγαση.", "report.next": "Επόμενο", "report.placeholder": "Επιπλέον σχόλια", "report.reasons.dislike": "Δεν μου αρέσει", @@ -942,7 +966,7 @@ "status.quote_policy_change": "Αλλάξτε ποιός μπορεί να κάνει παράθεση", "status.quote_post_author": "Παρατίθεται μια ανάρτηση από @{name}", "status.quote_private": "Ιδιωτικές αναρτήσεις δεν μπορούν να παρατεθούν", - "status.quotes.empty": "Κανείς δεν έχει παραθέσει αυτή την ανάρτηση ακόμα. Μόλις το κάνει, θα εμφανιστεί εδώ.", + "status.quotes.empty": "Κανείς δεν έχει παραθέσει αυτή την ανάρτηση ακόμη. Μόλις το κάνει, θα εμφανιστεί εδώ.", "status.quotes.local_other_disclaimer": "Οι παραθέσεις που απορρίφθηκαν από τον συντάκτη δε θα εμφανιστούν.", "status.quotes.remote_other_disclaimer": "Μόνο παραθέσεις από το {domain} είναι εγγυημένες ότι θα εμφανιστούν εδώ. Παραθέσεις που απορρίφθηκαν από τον συντάκτη δε θα εμφανιστούν.", "status.quotes_count": "{count, plural, one {{counter} παράθεση} other {{counter} παραθέσεις}}", @@ -951,7 +975,7 @@ "status.reblog_or_quote": "Ενίσχυση ή παράθεση", "status.reblog_private": "Μοιράσου ξανά με τους ακόλουθούς σου", "status.reblogged_by": "{name} προώθησε", - "status.reblogs.empty": "Κανείς δεν ενίσχυσε αυτή την ανάρτηση ακόμα. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.", + "status.reblogs.empty": "Κανείς δεν ενίσχυσε αυτή την ανάρτηση ακόμη. Μόλις το κάνει κάποιος, θα εμφανιστεί εδώ.", "status.reblogs_count": "{count, plural, one {{counter} ενίσχυση} other {{counter} ενισχύσεις}}", "status.redraft": "Σβήσε & ξαναγράψε", "status.remove_bookmark": "Αφαίρεση σελιδοδείκτη", diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json index d49b7d3629..9b4a79d32c 100644 --- a/app/javascript/mastodon/locales/en-GB.json +++ b/app/javascript/mastodon/locales/en-GB.json @@ -114,29 +114,51 @@ "alt_text_modal.done": "Done", "announcement.announcement": "Announcement", "annual_report.announcement.action_build": "Build my Wrapstodon", + "annual_report.announcement.action_dismiss": "No thanks", "annual_report.announcement.action_view": "View my Wrapstodon", "annual_report.announcement.description": "Discover more about your engagement on Mastodon over the past year.", "annual_report.announcement.title": "Wrapstodon {year} has arrived", - "annual_report.summary.archetype.booster": "The cool-hunter", - "annual_report.summary.archetype.lurker": "The lurker", - "annual_report.summary.archetype.oracle": "The oracle", - "annual_report.summary.archetype.pollster": "The pollster", - "annual_report.summary.archetype.replier": "The social butterfly", - "annual_report.summary.followers.followers": "followers", - "annual_report.summary.followers.total": "{count} total", - "annual_report.summary.here_it_is": "Here is your {year} in review:", - "annual_report.summary.highlighted_post.by_favourites": "most favourited post", - "annual_report.summary.highlighted_post.by_reblogs": "most boosted post", - "annual_report.summary.highlighted_post.by_replies": "post with the most replies", - "annual_report.summary.highlighted_post.possessive": "{name}'s", + "annual_report.nav_item.badge": "New", + "annual_report.shared_page.donate": "Donate", + "annual_report.shared_page.footer": "Generated with {heart} by the Mastodon team", + "annual_report.shared_page.footer_server_info": "{username} uses {domain}, one of many communities powered by Mastodon.", + "annual_report.summary.archetype.booster.desc_public": "{name} stayed on the hunt for posts to boost, amplifying other creators with perfect aim.", + "annual_report.summary.archetype.booster.desc_self": "You stayed on the hunt for posts to boost, amplifying other creators with perfect aim.", + "annual_report.summary.archetype.booster.name": "The Archer", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "We know {name} was out there, somewhere, enjoying Mastodon in their own quiet way.", + "annual_report.summary.archetype.lurker.desc_self": "We know you were out there, somewhere, enjoying Mastodon in your own quiet way.", + "annual_report.summary.archetype.lurker.name": "The Stoic", + "annual_report.summary.archetype.oracle.desc_public": "{name} created new posts more than replies, keeping Mastodon fresh and future-facing.", + "annual_report.summary.archetype.oracle.desc_self": "You created new posts more than replies, keeping Mastodon fresh and future-facing.", + "annual_report.summary.archetype.oracle.name": "The Oracle", + "annual_report.summary.archetype.pollster.desc_public": "{name} created more polls than other post types, cultivating curiosity on Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "You created more polls than other post types, cultivating curiosity on Mastodon.", + "annual_report.summary.archetype.pollster.name": "The Wonderer", + "annual_report.summary.archetype.replier.desc_public": "{name} frequently replied to other people’s posts, pollinating Mastodon with new discussions.", + "annual_report.summary.archetype.replier.desc_self": "You frequently replied to other people’s posts, pollinating Mastodon with new discussions.", + "annual_report.summary.archetype.replier.name": "The Butterfly", + "annual_report.summary.archetype.reveal": "Reveal my archetype", + "annual_report.summary.archetype.reveal_description": "Thanks for being part of Mastodon! Time to find out which archetype you embodied in {year}.", + "annual_report.summary.archetype.title_public": "{name}'s archetype", + "annual_report.summary.archetype.title_self": "Your archetype", + "annual_report.summary.close": "Close", + "annual_report.summary.copy_link": "Copy link", + "annual_report.summary.followers.new_followers": "{count, plural, one {new follower} other {new followers}}", + "annual_report.summary.highlighted_post.boost_count": "This post was boosted {count, plural, one {once} other {# times}}.", + "annual_report.summary.highlighted_post.favourite_count": "This post was favourited {count, plural, one {once} other {# times}}.", + "annual_report.summary.highlighted_post.reply_count": "This post got {count, plural, one {one reply} other {# replies}}.", + "annual_report.summary.highlighted_post.title": "Most popular post", "annual_report.summary.most_used_app.most_used_app": "most used app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "most used hashtag", - "annual_report.summary.most_used_hashtag.none": "None", + "annual_report.summary.most_used_hashtag.used_count": "You included this hashtag in {count, plural, one {one post} other {# posts}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} included this hashtag in {count, plural, one {one post} other {# posts}}.", "annual_report.summary.new_posts.new_posts": "new posts", "annual_report.summary.percentile.text": "That puts you in the topof {domain} users.", "annual_report.summary.percentile.we_wont_tell_bernie": "We won't tell Bernie.", + "annual_report.summary.share_elsewhere": "Share elsewhere", "annual_report.summary.share_message": "I got the {archetype} archetype!", - "annual_report.summary.thanks": "Thanks for being part of Mastodon!", + "annual_report.summary.share_on_mastodon": "Share on Mastodon", "attachments_list.unprocessed": "(unprocessed)", "audio.hide": "Hide audio", "block_modal.remote_users_caveat": "We will ask the server {domain} to respect your decision. However, compliance is not guaranteed since some servers may handle blocks differently. Public posts may still be visible to non-logged-in users.", @@ -265,7 +287,7 @@ "confirmations.quiet_post_quote_info.title": "Quoting quiet public posts", "confirmations.redraft.confirm": "Delete & redraft", "confirmations.redraft.message": "Are you sure you want to delete this post and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.", - "confirmations.redraft.title": "Delete & redraft post?", + "confirmations.redraft.title": "Delete and redraft post?", "confirmations.remove_from_followers.confirm": "Remove follower", "confirmations.remove_from_followers.message": "{name} will stop following you. Are you sure you want to proceed?", "confirmations.remove_from_followers.title": "Remove follower?", @@ -306,7 +328,7 @@ "domain_block_modal.you_will_lose_num_followers": "You will lose {followersCount, plural, one {{followersCountDisplay} follower} other {{followersCountDisplay} followers}} and {followingCount, plural, one {{followingCountDisplay} person you follow} other {{followingCountDisplay} people you follow}}.", "domain_block_modal.you_will_lose_relationships": "You will lose all followers and people you follow from this server.", "domain_block_modal.you_wont_see_posts": "You won't see posts or notifications from users on this server.", - "domain_pill.activitypub_lets_connect": "It lets you connect and interact with people not just on Mastodon, but across different social apps too.", + "domain_pill.activitypub_lets_connect": "It lets you connect and interact with people, not just on Mastodon, but across different social apps too.", "domain_pill.activitypub_like_language": "ActivityPub is like the language Mastodon speaks with other social networks.", "domain_pill.server": "Server", "domain_pill.their_handle": "Their handle:", @@ -317,7 +339,7 @@ "domain_pill.who_they_are": "Since handles say who someone is and where they are, you can interact with people across the social web of .", "domain_pill.who_you_are": "Because your handle says who you are and where you are, people can interact with you across the social web of .", "domain_pill.your_handle": "Your handle:", - "domain_pill.your_server": "Your digital home, where all of your posts live. Don’t like this one? Transfer servers at any time and bring your followers, too.", + "domain_pill.your_server": "Your digital home, where all of your posts live. Don’t like this one? Transfer servers at any time and bring your followers too.", "domain_pill.your_username": "Your unique identifier on this server. It’s possible to find users with the same username on different servers.", "dropdown.empty": "Select an option", "embed.instructions": "Embed this post on your website by copying the code below.", @@ -340,7 +362,7 @@ "empty_column.account_featured.me": "You have not featured anything yet. Did you know that you can feature your hashtags you use the most, and even your friend’s accounts on your profile?", "empty_column.account_featured.other": "{acct} has not featured anything yet. Did you know that you can feature your hashtags you use the most, and even your friend’s accounts on your profile?", "empty_column.account_featured_other.unknown": "This account has not featured anything yet.", - "empty_column.account_hides_collections": "This user has chosen to not make this information available", + "empty_column.account_hides_collections": "This user has chosen not to make this information available", "empty_column.account_suspended": "Account suspended", "empty_column.account_timeline": "No posts here!", "empty_column.account_unavailable": "Profile unavailable", @@ -359,7 +381,7 @@ "empty_column.home": "Your home timeline is empty! Follow more people to fill it up.", "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", "empty_column.mutes": "You haven't muted any users yet.", - "empty_column.notification_requests": "All clear! There is nothing here. When you receive new notifications, they will appear here according to your settings.", + "empty_column.notification_requests": "All clear! There is nothing here. When you receive new notifications, they will appear here, according to your settings.", "empty_column.notifications": "You don't have any notifications yet. When other people interact with you, you will see it here.", "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up", "error.no_hashtag_feed_access": "Join or log in to view and follow this hashtag.", @@ -419,6 +441,8 @@ "follow_suggestions.who_to_follow": "Who to follow", "followed_tags": "Followed hashtags", "footer.about": "About", + "footer.about_mastodon": "About Mastodon", + "footer.about_server": "About {domain}", "footer.about_this_server": "About", "footer.directory": "Profiles directory", "footer.get_app": "Get the app", @@ -483,7 +507,7 @@ "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", "interaction_modal.title": "Sign in to continue", - "interaction_modal.username_prompt": "E.g. {example}", + "interaction_modal.username_prompt": "Eg {example}", "intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", @@ -601,7 +625,7 @@ "navigation_bar.preferences": "Preferences", "navigation_bar.privacy_and_reach": "Privacy and reach", "navigation_bar.search": "Search", - "navigation_bar.search_trends": "Search / Trending", + "navigation_bar.search_trends": "Search/Trending", "navigation_panel.collapse_followed_tags": "Collapse followed hashtags menu", "navigation_panel.collapse_lists": "Collapse list menu", "navigation_panel.expand_followed_tags": "Expand followed hashtags menu", @@ -641,7 +665,7 @@ "notification.moderation_warning.action_silence": "Your account has been limited.", "notification.moderation_warning.action_suspend": "Your account has been suspended.", "notification.own_poll": "Your poll has ended", - "notification.poll": "A poll you voted in has ended", + "notification.poll": "A poll in which you voted has ended", "notification.quoted_update": "{name} edited a post you have quoted", "notification.reblog": "{name} boosted your post", "notification.reblog.name_and_others_with_link": "{name} and {count, plural, one {# other} other {# others}} boosted your post", @@ -667,7 +691,7 @@ "notification_requests.explainer_for_limited_account": "Notifications from this account have been filtered because the account has been limited by a moderator.", "notification_requests.explainer_for_limited_remote_account": "Notifications from this account have been filtered because the account or its server has been limited by a moderator.", "notification_requests.maximize": "Maximise", - "notification_requests.minimize_banner": "Minimize filtered notifications banner", + "notification_requests.minimize_banner": "Minimise filtered notifications banner", "notification_requests.notifications_from": "Notifications from {name}", "notification_requests.title": "Filtered notifications", "notification_requests.view": "View notifications", @@ -717,11 +741,11 @@ "notifications.policy.filter_limited_accounts_title": "Moderated accounts", "notifications.policy.filter_new_accounts.hint": "Created within the past {days, plural, one {one day} other {# days}}", "notifications.policy.filter_new_accounts_title": "New accounts", - "notifications.policy.filter_not_followers_hint": "Including people who have been following you fewer than {days, plural, one {one day} other {# days}}", + "notifications.policy.filter_not_followers_hint": "Including people who have been following you for fewer than {days, plural, one {one day} other {# days}}", "notifications.policy.filter_not_followers_title": "People not following you", "notifications.policy.filter_not_following_hint": "Until you manually approve them", "notifications.policy.filter_not_following_title": "People you don't follow", - "notifications.policy.filter_private_mentions_hint": "Filtered unless it's in reply to your own mention or if you follow the sender", + "notifications.policy.filter_private_mentions_hint": "Filtered, unless it's in reply to your own mention, or if you follow the sender", "notifications.policy.filter_private_mentions_title": "Unsolicited private mentions", "notifications.policy.title": "Manage notifications from…", "notifications_permission_banner.enable": "Enable desktop notifications", @@ -868,17 +892,17 @@ "search_results.all": "All", "search_results.hashtags": "Hashtags", "search_results.no_results": "No results.", - "search_results.no_search_yet": "Try searching for posts, profiles or hashtags.", + "search_results.no_search_yet": "Try searching for posts, profiles, or hashtags.", "search_results.see_all": "See all", "search_results.statuses": "Posts", "search_results.title": "Search for \"{q}\"", "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", "server_banner.active_users": "active users", "server_banner.administered_by": "Administered by:", - "server_banner.is_one_of_many": "{domain} is one of the many independent Mastodon servers you can use to participate in the fediverse.", + "server_banner.is_one_of_many": "{domain} is one of the many independent Mastodon servers you can use to participate in the Fediverse.", "server_banner.server_stats": "Server stats:", "sign_in_banner.create_account": "Create account", - "sign_in_banner.follow_anyone": "Follow anyone across the fediverse and see it all in chronological order. No algorithms, ads, or clickbait in sight.", + "sign_in_banner.follow_anyone": "Follow anyone across the Fediverse and see it all in chronological order. No algorithms, ads, or clickbait in sight.", "sign_in_banner.mastodon_is": "Mastodon is the best way to keep up with what's happening.", "sign_in_banner.sign_in": "Sign in", "sign_in_banner.sso_redirect": "Login or Register", @@ -1020,7 +1044,7 @@ "video.mute": "Mute", "video.pause": "Pause", "video.play": "Play", - "video.skip_backward": "Skip backward", + "video.skip_backward": "Skip backwards", "video.skip_forward": "Skip forward", "video.unmute": "Unmute", "video.volume_down": "Volume down", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index f8cfa07f9c..f590415453 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -28,6 +28,7 @@ "account.disable_notifications": "Ĉesu sciigi min kiam @{name} afiŝas", "account.domain_blocking": "Blokas domajnon", "account.edit_profile": "Redakti la profilon", + "account.edit_profile_short": "Redakti", "account.enable_notifications": "Sciigu min kiam @{name} afiŝos", "account.endorse": "Montri en profilo", "account.familiar_followers_one": "Sekvita de {name1}", @@ -40,6 +41,7 @@ "account.follow": "Sekvi", "account.follow_back": "Sekvu reen", "account.follow_back_short": "Sekvu reen", + "account.follow_request_cancel_short": "Nuligi", "account.followers": "Sekvantoj", "account.followers.empty": "Ankoraŭ neniu sekvas ĉi tiun uzanton.", "account.followers_counter": "{count, plural, one{{counter} sekvanto} other {{counter} sekvantoj}}", @@ -107,25 +109,16 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Priskribi ĉi tion por homoj kun vidaj malkapabloj…", "alt_text_modal.done": "Farita", "announcement.announcement": "Anonco", - "annual_report.summary.archetype.booster": "La ĉasanto de mojoso", - "annual_report.summary.archetype.lurker": "La vidanto", - "annual_report.summary.archetype.oracle": "La orakolo", - "annual_report.summary.archetype.pollster": "La balotenketisto", - "annual_report.summary.archetype.replier": "La plej societema", - "annual_report.summary.followers.followers": "sekvantoj", - "annual_report.summary.followers.total": "{count} tute", - "annual_report.summary.here_it_is": "Jen via resumo de {year}:", - "annual_report.summary.highlighted_post.by_favourites": "plej ŝatata afiŝo", - "annual_report.summary.highlighted_post.by_reblogs": "plej diskonigita afiŝo", - "annual_report.summary.highlighted_post.by_replies": "afiŝo kun la plej multaj respondoj", - "annual_report.summary.highlighted_post.possessive": "de {name}", + "annual_report.announcement.action_dismiss": "Ne, dankon", + "annual_report.nav_item.badge": "Nova", + "annual_report.shared_page.donate": "Donaci", + "annual_report.summary.copy_link": "Kopii ligilon", + "annual_report.summary.highlighted_post.title": "Plej populara afiŝo", "annual_report.summary.most_used_app.most_used_app": "plej uzita aplikaĵo", "annual_report.summary.most_used_hashtag.most_used_hashtag": "plej uzata kradvorto", - "annual_report.summary.most_used_hashtag.none": "Nenio", "annual_report.summary.new_posts.new_posts": "novaj afiŝoj", "annual_report.summary.percentile.text": "Tion metas vin en la plejde {domain} uzantoj.", "annual_report.summary.percentile.we_wont_tell_bernie": "Ni ne diros al Zamenhof.", - "annual_report.summary.thanks": "Dankon pro esti parto de Mastodon!", "attachments_list.unprocessed": "(neprilaborita)", "audio.hide": "Kaŝi aŭdion", "block_modal.remote_users_caveat": "Ni petos al la servilo {domain} respekti vian elekton. Tamen, plenumo ne estas garantiita ĉar iuj serviloj eble manipulas blokojn malsame. Publikaj afiŝoj eble ankoraŭ estas videbla por ne-ensalutintaj uzantoj.", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index b34e4cb3a8..51fe6e8995 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -114,29 +114,50 @@ "alt_text_modal.done": "Listo", "announcement.announcement": "Anuncio", "annual_report.announcement.action_build": "Construir mi MastodonAnual", + "annual_report.announcement.action_dismiss": "No, gracias", "annual_report.announcement.action_view": "Ver mi MastodonAnual", "annual_report.announcement.description": "Descubrí más sobre tu participación en Mastodon durante el último año.", "annual_report.announcement.title": "Llegó MastodonAnual {year}", - "annual_report.summary.archetype.booster": "Corrió la voz", - "annual_report.summary.archetype.lurker": "El acechador", - "annual_report.summary.archetype.oracle": "El oráculo", - "annual_report.summary.archetype.pollster": "Estuvo consultando", - "annual_report.summary.archetype.replier": "Respondió un montón", - "annual_report.summary.followers.followers": "seguidores", - "annual_report.summary.followers.total": "{count} en total", - "annual_report.summary.here_it_is": "Acá está tu resumen de {year}:", - "annual_report.summary.highlighted_post.by_favourites": "el mensaje más veces marcado como favorito", - "annual_report.summary.highlighted_post.by_reblogs": "el mensaje que más adhesiones recibió", - "annual_report.summary.highlighted_post.by_replies": "el mensaje que más respuestas recibió", - "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.nav_item.badge": "Nueva", + "annual_report.shared_page.donate": "Donar", + "annual_report.shared_page.footer": "Generado con {heart} por el equipo de Mastodon", + "annual_report.summary.archetype.booster.desc_public": "{name} permaneció al acecho en busca de mensajes para adherir, apuntando a otros creadores con perfecta puntería.", + "annual_report.summary.archetype.booster.desc_self": "Permaneciste al acecho en busca de mensajes para adherir, apuntando a otros creadores con perfecta puntería.", + "annual_report.summary.archetype.booster.name": "El arquero", + "annual_report.summary.archetype.die_drei_fragezeichen": "¿¿¿???", + "annual_report.summary.archetype.lurker.desc_public": "Sabemos que {name} estuvo afuera, en algún lado, disfrutando de Mastodon a su propio modo silencioso.", + "annual_report.summary.archetype.lurker.desc_self": "Sabemos que estuviste afuera, en algún lado, disfrutando de Mastodon a tu propio modo silencioso.", + "annual_report.summary.archetype.lurker.name": "El estoico", + "annual_report.summary.archetype.oracle.desc_public": "{name} creó más mensajes nuevos que respuestas, manteniendo a Mastodon fresco y de cara al futuro.", + "annual_report.summary.archetype.oracle.desc_self": "Creaste más mensajes nuevos que respuestas, manteniendo a Mastodon fresco y de cara al futuro.", + "annual_report.summary.archetype.oracle.name": "El oráculo", + "annual_report.summary.archetype.pollster.desc_public": "{name} creó más encuestas que mensajes de otro tipo, cultivando curiosidad en Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Creaste más encuestas que mensajes de otro tipo, cultivando curiosidad en Mastodon.", + "annual_report.summary.archetype.pollster.name": "El maravillado", + "annual_report.summary.archetype.replier.desc_public": "{name} respondió frecuentemente a los mensajes de otras cuentas, polinizando con nuevos debates.", + "annual_report.summary.archetype.replier.desc_self": "Respondiste frecuentemente a los mensajes de otras cuentas, polinizando con nuevos debates.", + "annual_report.summary.archetype.replier.name": "La mariposa", + "annual_report.summary.archetype.reveal": "Revelar mi arquetipo", + "annual_report.summary.archetype.reveal_description": "¡Gracias por ser parte de Mastodon! Es hora de descubrir qué arquetipo encarnaste en {year}.", + "annual_report.summary.archetype.title_public": "El arquetipo de {name}", + "annual_report.summary.archetype.title_self": "Tu arquetipo", + "annual_report.summary.close": "Cerrar", + "annual_report.summary.copy_link": "Copiar enlace", + "annual_report.summary.followers.new_followers": "{count, plural, one {nuevo seguidor} other {nuevos seguidores}}", + "annual_report.summary.highlighted_post.boost_count": "Este mensaje recibió adhesiones {count, plural, one {una vez} other {# veces}}.", + "annual_report.summary.highlighted_post.favourite_count": "Este mensaje fue marcado como favorito {count, plural, one {una vez} other {# veces}}.", + "annual_report.summary.highlighted_post.reply_count": "Este mensaje recibió {count, plural, one {una respuesta} other {# respuestas}}.", + "annual_report.summary.highlighted_post.title": "Mensaje más popular", "annual_report.summary.most_used_app.most_used_app": "la aplicación más usada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "la etiqueta más usada", - "annual_report.summary.most_used_hashtag.none": "Ninguna", + "annual_report.summary.most_used_hashtag.used_count": "Incluiste esta etiqueta en {count, plural, one {un mensaje} other {# mensajes}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} incluyó esta etiqueta en {count, plural, one {un mensaje} other {# mensajes}}.", "annual_report.summary.new_posts.new_posts": "nuevos mensajes", "annual_report.summary.percentile.text": "Eso te coloca en la cima delde los usuarios de {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Queda entre nos.", + "annual_report.summary.share_elsewhere": "Compartir en otro lado", "annual_report.summary.share_message": "¡Conseguí el arquetipo {archetype}!", - "annual_report.summary.thanks": "¡Gracias por ser parte de Mastodon!", + "annual_report.summary.share_on_mastodon": "Compartir en Mastodon", "attachments_list.unprocessed": "[sin procesar]", "audio.hide": "Ocultar audio", "block_modal.remote_users_caveat": "Le pediremos al servidor {domain} que respete tu decisión. Sin embargo, el cumplimiento no está garantizado, ya que algunos servidores pueden manejar los bloqueos de forma diferente. Los mensajes públicos todavía podrían estar visibles para los usuarios no conectados.", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index aecb13d8c4..3ec8beb6bf 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -114,29 +114,51 @@ "alt_text_modal.done": "Hecho", "announcement.announcement": "Anuncio", "annual_report.announcement.action_build": "Preparar mi Wrapstodon", + "annual_report.announcement.action_dismiss": "No, gracias", "annual_report.announcement.action_view": "Ver mi Wrapstodon", "annual_report.announcement.description": "Descubre más sobre tu participación en Mastodon durante el último año.", "annual_report.announcement.title": "Wrapstodon {year} ha llegado", - "annual_report.summary.archetype.booster": "El cazador de tendencias", - "annual_report.summary.archetype.lurker": "El merodeador", - "annual_report.summary.archetype.oracle": "El oráculo", - "annual_report.summary.archetype.pollster": "El encuestador", - "annual_report.summary.archetype.replier": "El más sociable", - "annual_report.summary.followers.followers": "seguidores", - "annual_report.summary.followers.total": "{count} en total", - "annual_report.summary.here_it_is": "Este es el resumen de tu {year}:", - "annual_report.summary.highlighted_post.by_favourites": "publicación con más favoritos", - "annual_report.summary.highlighted_post.by_reblogs": "publicación más impulsada", - "annual_report.summary.highlighted_post.by_replies": "publicación con más respuestas", - "annual_report.summary.highlighted_post.possessive": "de {name}", + "annual_report.nav_item.badge": "Nueva", + "annual_report.shared_page.donate": "Donar", + "annual_report.shared_page.footer": "Generado con {heart} por el equipo de Mastodon", + "annual_report.shared_page.footer_server_info": "{username} usa {domain}, una de las muchas comunidades que funcionan con Mastodon.", + "annual_report.summary.archetype.booster.desc_public": "{name} se mantuvo a la caza de publicaciones para impulsar, dando visibilidad a otros creadores con una puntería perfecta.", + "annual_report.summary.archetype.booster.desc_self": "Te mantuviste a la caza de publicaciones para impulsar, amplificando a otros creadores con una puntería perfecta.", + "annual_report.summary.archetype.booster.name": "El arquero", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Sabemos que {name} estaba ahí fuera, en algún lugar, disfrutando de Mastodon a su manera tranquila.", + "annual_report.summary.archetype.lurker.desc_self": "Sabemos que estabas ahí fuera, en algún lugar, disfrutando de Mastodon a tu manera, en silencio.", + "annual_report.summary.archetype.lurker.name": "El estoico", + "annual_report.summary.archetype.oracle.desc_public": "{name} creó más publicaciones nuevas que respuestas, lo que mantuvo a Mastodon fresco y con visión de futuro.", + "annual_report.summary.archetype.oracle.desc_self": "Creaste más publicaciones nuevas que respuestas, lo que mantuvo a Mastodon fresco y con visión de futuro.", + "annual_report.summary.archetype.oracle.name": "El oráculo", + "annual_report.summary.archetype.pollster.desc_public": "{name} creó más encuestas que otros tipos de publicaciones, lo que despertó la curiosidad en Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Creaste más encuestas que otros tipos de publicaciones, lo que despertó la curiosidad en Mastodon.", + "annual_report.summary.archetype.pollster.name": "El soñador", + "annual_report.summary.archetype.replier.desc_public": "{name} respondía con frecuencia a las publicaciones de otras personas, lo que generaba nuevos debates en Mastodon.", + "annual_report.summary.archetype.replier.desc_self": "Respondías con frecuencia a las publicaciones de otras personas, lo que generaba nuevos debates en Mastodon.", + "annual_report.summary.archetype.replier.name": "La mariposa", + "annual_report.summary.archetype.reveal": "Revelar mi arquetipo", + "annual_report.summary.archetype.reveal_description": "¡Gracias por formar parte de Mastodon! Es hora de descubrir qué arquetipo encarnaste en {year}.", + "annual_report.summary.archetype.title_public": "El arquetipo de {name}", + "annual_report.summary.archetype.title_self": "Tu arquetipo", + "annual_report.summary.close": "Cerrar", + "annual_report.summary.copy_link": "Copiar enlace", + "annual_report.summary.followers.new_followers": "{count, plural,one {nuevo seguidor} other {nuevos seguidores}}", + "annual_report.summary.highlighted_post.boost_count": "Esta publicación fue impulsada {count, plural,one {una vez} other {# veces}}.", + "annual_report.summary.highlighted_post.favourite_count": "Esta publicación fue marcada como favorita {count, plural,one {una vez} other {# veces}}.", + "annual_report.summary.highlighted_post.reply_count": "Esta publicación consiguió {count, plural,one {una respuesta} other {# respuestas}}.", + "annual_report.summary.highlighted_post.title": "Publicación más popular", "annual_report.summary.most_used_app.most_used_app": "aplicación más utilizada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más utilizada", - "annual_report.summary.most_used_hashtag.none": "Ninguna", + "annual_report.summary.most_used_hashtag.used_count": "Incluiste esta etiqueta en {count, plural,one {una publicación} other {# publicaciones}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} incluyó esta etiqueta en {count, plural,one {una publicación} other {# publicaciones}}.", "annual_report.summary.new_posts.new_posts": "nuevas publicaciones", "annual_report.summary.percentile.text": "Eso te sitúa en el topde usuarios de {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.", + "annual_report.summary.share_elsewhere": "Compartir en otro lado", "annual_report.summary.share_message": "¡Obtuve el arquetipo {archetype}!", - "annual_report.summary.thanks": "¡Gracias por ser parte de Mastodon!", + "annual_report.summary.share_on_mastodon": "Compartir en Mastodon", "attachments_list.unprocessed": "(sin procesar)", "audio.hide": "Ocultar audio", "block_modal.remote_users_caveat": "Le pediremos al servidor {domain} que respete tu decisión. Sin embargo, el cumplimiento no está garantizado, ya que algunos servidores pueden manejar bloques de forma diferente. Las publicaciones públicas pueden ser todavía visibles para los usuarios no conectados.", @@ -419,6 +441,8 @@ "follow_suggestions.who_to_follow": "Recomendamos seguir", "followed_tags": "Etiquetas seguidas", "footer.about": "Acerca de", + "footer.about_mastodon": "Acerca de Mastodon", + "footer.about_server": "Acerca de {domain}", "footer.about_this_server": "Sobre nosotros", "footer.directory": "Directorio de perfiles", "footer.get_app": "Obtener la aplicación", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 29652f84f4..a09919bdad 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -114,29 +114,30 @@ "alt_text_modal.done": "Hecho", "announcement.announcement": "Comunicación", "annual_report.announcement.action_build": "Preparar mi Wrapstodon", + "annual_report.announcement.action_dismiss": "No, gracias", "annual_report.announcement.action_view": "Ver mi Wrapstodon", "annual_report.announcement.description": "Descubre más sobre tu participación en Mastodon durante el último año.", "annual_report.announcement.title": "Wrapstodon {year} ha llegado", - "annual_report.summary.archetype.booster": "El cazador de tendencias", - "annual_report.summary.archetype.lurker": "El acechador", - "annual_report.summary.archetype.oracle": "El oráculo", - "annual_report.summary.archetype.pollster": "El encuestador", - "annual_report.summary.archetype.replier": "El más sociable", - "annual_report.summary.followers.followers": "seguidores", - "annual_report.summary.followers.total": "{count} en total", - "annual_report.summary.here_it_is": "Aquí está tu resumen de {year}:", - "annual_report.summary.highlighted_post.by_favourites": "publicación con más favoritos", - "annual_report.summary.highlighted_post.by_reblogs": "publicación más impulsada", - "annual_report.summary.highlighted_post.by_replies": "publicación con más respuestas", - "annual_report.summary.highlighted_post.possessive": "de {name}", + "annual_report.nav_item.badge": "Nuevo", + "annual_report.shared_page.donate": "Donar", + "annual_report.shared_page.footer": "Generado con {heart} por el equipo de Mastodon", + "annual_report.summary.archetype.title_public": "El arquetipo de {name}", + "annual_report.summary.archetype.title_self": "Tu arquetipo", + "annual_report.summary.close": "Cerrar", + "annual_report.summary.copy_link": "Copiar enlace", + "annual_report.summary.highlighted_post.boost_count": "Esta publicación fue impulsada {count, plural,one {una vez} other {# veces}}.", + "annual_report.summary.highlighted_post.reply_count": "Esta publicación recibió {count, plural,one {una respuesta} other {# respuestas}}.", + "annual_report.summary.highlighted_post.title": "Publicación más popular", "annual_report.summary.most_used_app.most_used_app": "aplicación más usada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada", - "annual_report.summary.most_used_hashtag.none": "Ninguna", + "annual_report.summary.most_used_hashtag.used_count": "Incluiste esta etiqueta en {count, plural,one {una publicación} other {# publicaciones}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} incluyó esta etiqueta en {count, plural, one {una publicación} other {# publicaciones}}.", "annual_report.summary.new_posts.new_posts": "nuevas publicaciones", "annual_report.summary.percentile.text": "Eso te coloca en el topde usuarios de {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.", + "annual_report.summary.share_elsewhere": "Compartir en otro lugar", "annual_report.summary.share_message": "¡Obtuve el arquetipo {archetype}!", - "annual_report.summary.thanks": "¡Gracias por ser parte de Mastodon!", + "annual_report.summary.share_on_mastodon": "Compartir en Mastodon", "attachments_list.unprocessed": "(sin procesar)", "audio.hide": "Ocultar audio", "block_modal.remote_users_caveat": "Le pediremos al servidor {domain} que respete tu decisión. Sin embargo, el cumplimiento no está garantizado, ya que algunos servidores pueden manejar bloqueos de forma distinta. Los mensajes públicos pueden ser todavía visibles para los usuarios que no hayan iniciado sesión.", diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index 7d361cb914..3ba4bd9657 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -14,7 +14,7 @@ "about.powered_by": "Hajutatud sotsiaalmeedia, mille taga on {mastodon}", "about.rules": "Serveri reeglid", "account.account_note_header": "Isiklik märge", - "account.add_or_remove_from_list": "Lisa või Eemalda loeteludest", + "account.add_or_remove_from_list": "Lisa või eemalda loenditest", "account.badges.bot": "Robot", "account.badges.group": "Grupp", "account.block": "Blokeeri @{name}", @@ -37,7 +37,7 @@ "account.featured": "Esiletõstetud", "account.featured.accounts": "Profiilid", "account.featured.hashtags": "Teemaviited", - "account.featured_tags.last_status_at": "Viimane postitus {date}", + "account.featured_tags.last_status_at": "Viimane postitus: {date}", "account.featured_tags.last_status_never": "Postitusi pole", "account.follow": "Jälgi", "account.follow_back": "Jälgi vastu", @@ -117,26 +117,14 @@ "annual_report.announcement.action_view": "Vaata kokkuvõtet minu tegevusest Mastodonis", "annual_report.announcement.description": "Vaata teavet oma suhestumise kohta Mastodonis eelmisel aastal.", "annual_report.announcement.title": "{year}. aasta Mastodoni kokkuvõte on valmis", - "annual_report.summary.archetype.booster": "Ägesisu küttija", - "annual_report.summary.archetype.lurker": "Hiilija", - "annual_report.summary.archetype.oracle": "Oraakel", - "annual_report.summary.archetype.pollster": "Küsitleja", - "annual_report.summary.archetype.replier": "Sotsiaalne liblikas", - "annual_report.summary.followers.followers": "jälgijad", - "annual_report.summary.followers.total": "{count} kokku", - "annual_report.summary.here_it_is": "Siin on sinu {year} ülevaatlikult:", - "annual_report.summary.highlighted_post.by_favourites": "enim lemmikuks märgitud postitus", - "annual_report.summary.highlighted_post.by_reblogs": "enim jagatud postitus", - "annual_report.summary.highlighted_post.by_replies": "kõige vastatum postitus", - "annual_report.summary.highlighted_post.possessive": "omanik {name}", + "annual_report.summary.highlighted_post.title": "Kõige populaarsemad postitused", "annual_report.summary.most_used_app.most_used_app": "enim kasutatud äpp", "annual_report.summary.most_used_hashtag.most_used_hashtag": "enim kasutatud teemaviide", - "annual_report.summary.most_used_hashtag.none": "Puudub", + "annual_report.summary.most_used_hashtag.used_count": "Sa lisasid selle teemaviite {count, plural, one {ühele postitusele} other {#-le postitusele}}.", "annual_report.summary.new_posts.new_posts": "uus postitus", "annual_report.summary.percentile.text": "See paneb su top {domain} kasutajate hulka.", "annual_report.summary.percentile.we_wont_tell_bernie": "Vägev.", "annual_report.summary.share_message": "Minu arhetüüp on {archetype}!", - "annual_report.summary.thanks": "Tänud olemast osa Mastodonist!", "attachments_list.unprocessed": "(töötlemata)", "audio.hide": "Peida audio", "block_modal.remote_users_caveat": "Serverile {domain} edastatakse palve otsust järgida. Ometi pole see tagatud, kuna mõned serverid võivad blokeeringuid käsitleda omal moel. Avalikud postitused võivad tuvastamata kasutajatele endiselt näha olla.", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index 688ba09767..be79158d98 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -113,25 +113,51 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Deskribatu hau ikusmen arazoak dituzten pertsonentzat…", "alt_text_modal.done": "Egina", "announcement.announcement": "Iragarpena", - "annual_report.summary.archetype.booster": "Sustatzailea", - "annual_report.summary.archetype.lurker": "Begiluzea", - "annual_report.summary.archetype.oracle": "Orakulua", - "annual_report.summary.archetype.pollster": "Bozketazalea", - "annual_report.summary.archetype.replier": "Tolosa", - "annual_report.summary.followers.followers": "jarraitzaileak", - "annual_report.summary.followers.total": "{count} guztira", - "annual_report.summary.here_it_is": "Hona hemen zure {year}. urtearen bilduma:", - "annual_report.summary.highlighted_post.by_favourites": "egindako bidalketa gogokoena", - "annual_report.summary.highlighted_post.by_reblogs": "egindako bidalketa zabalduena", - "annual_report.summary.highlighted_post.by_replies": "erantzun gehien izan dituen bidalketa", - "annual_report.summary.highlighted_post.possessive": "{name}-(r)ena", + "annual_report.announcement.action_build": "Sortu nire Wrapstodon", + "annual_report.announcement.action_dismiss": "Ez, eskerrik asko", + "annual_report.announcement.action_view": "Ikusi nire Wrapstodon", + "annual_report.announcement.description": "Ezagutu azken urtean Mastodonen izan duzun parte-hartzeari buruzko informazio gehiago.", + "annual_report.announcement.title": "Hemen da {2025}(e)ko Wrapstodon", + "annual_report.nav_item.badge": "Berria", + "annual_report.shared_page.donate": "Egin dohaintza", + "annual_report.shared_page.footer": "Mastodonen taldeak {heart} sortua", + "annual_report.summary.archetype.booster.desc_public": "{name}(e)k promozionatzeko argitalpenen bila jarraitu zuen, beste sortzaile batzuk punteria perfektuarekin anplifikatuz.", + "annual_report.summary.archetype.booster.desc_self": "Bultzatu beharreko argitalpenen zelatan egon zinen, punteria perfektua zuten beste sortzaile batzuk anplifikatuz.", + "annual_report.summary.archetype.booster.name": "Arkularia", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Badakigu {name} hor zegoela kanpoan, nonbait, Mastodonez gozatzen bere modu lasaian.", + "annual_report.summary.archetype.lurker.desc_self": "Badakigu hor zinela kanpoan, nonbait, Mastodonez gozatzen zure erara, isilean.", + "annual_report.summary.archetype.lurker.name": "Estoikoa", + "annual_report.summary.archetype.oracle.desc_public": "{name}(e)k erantzun baino argitalpen berri gehiago sortu zituen, eta horrek Mastodon fresko eta etorkizuneko ikuspegiarekin mantendu zuen.", + "annual_report.summary.archetype.oracle.desc_self": "Erantzun baino argitalpen berri gehiago sortu zenituen, eta horrek Mastodon fresko eta etorkizuneko ikuspegiarekin mantendu zuen.", + "annual_report.summary.archetype.oracle.name": "Orakulua", + "annual_report.summary.archetype.pollster.desc_public": "{name}(e)k inkesta gehiago sortu zituen beste argitalpen mota batzuek baino, eta horrek jakin-mina piztu zuen Mastodonen.", + "annual_report.summary.archetype.pollster.desc_self": "Beste argitalpen batzuk baino inkesta gehiago sortu zenituen, eta horrek jakin-mina piztu zuen Mastodonen.", + "annual_report.summary.archetype.pollster.name": "Ameslaria", + "annual_report.summary.archetype.replier.desc_public": "{name}(e)k maiz erantzuten zien beste pertsona batzuen argitalpenei, Mastodon polinizatuz eztabaida berriekin.", + "annual_report.summary.archetype.replier.desc_self": "Maiz erantzuten zenien beste pertsona batzuen argitalpenei, Mastodon polinizatuz eztabaida berriekin.", + "annual_report.summary.archetype.replier.name": "Tximeleta", + "annual_report.summary.archetype.reveal": "Erakutsi nire arketipoa", + "annual_report.summary.archetype.reveal_description": "Eskerrik asko Mastodonen parte izateagatik! Bada garaia jakiteko zer arketipo haragitu duzun {year}(e)an.", + "annual_report.summary.archetype.title_public": "{name}-(r)en arketipoa", + "annual_report.summary.archetype.title_self": "Zure arketipoa", + "annual_report.summary.close": "Itxi", + "annual_report.summary.copy_link": "Kopiatu esteka", + "annual_report.summary.followers.new_followers": "{count, plural, one {jarraitzaile berri} other {jarraitzaile berri}}", + "annual_report.summary.highlighted_post.boost_count": "Bidalketa honek {count, plural, one {bultzada 1 dauka} other {# bultzada dauzka}}.", + "annual_report.summary.highlighted_post.favourite_count": "Bidalketa honek {count, plural, one {gogoko 1 dauka} other {# gogoko dauzka}}.", + "annual_report.summary.highlighted_post.reply_count": "Bidalketa honek {count, plural, one {erantzun 1 dauka} other {# erantzun dauzka}}.", + "annual_report.summary.highlighted_post.title": "Bidalketa ospetsuena", "annual_report.summary.most_used_app.most_used_app": "app erabiliena", "annual_report.summary.most_used_hashtag.most_used_hashtag": "traola erabiliena", - "annual_report.summary.most_used_hashtag.none": "Bat ere ez", + "annual_report.summary.most_used_hashtag.used_count": "Traola hau {count, plural, one {bidalketa baten sartu zenuen} other {# bidalketatan sartu zenuen}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name}(e)k traola hau {count, plural, one {bidalketa baten sartu zuen} other {# bidalketatan sartu zituen}}.", "annual_report.summary.new_posts.new_posts": "bidalketa berriak", "annual_report.summary.percentile.text": "Horrek jartzen zaitu top (e)an {domain} erabiltzaileen artean ", "annual_report.summary.percentile.we_wont_tell_bernie": "Bernieri ez diogu ezer esango ;)..", - "annual_report.summary.thanks": "Eskerrik asko Mastodonen parte izateagatik!", + "annual_report.summary.share_elsewhere": "Partekatu beste edonon", + "annual_report.summary.share_message": "{arketipoa} arketipoa daukat!", + "annual_report.summary.share_on_mastodon": "Partekatu Mastodonen", "attachments_list.unprocessed": "(prozesatu gabe)", "audio.hide": "Ezkutatu audioa", "block_modal.remote_users_caveat": "{domain} zerbitzariari zure erabakia errespeta dezan eskatuko diogu. Halere, araua beteko den ezin da bermatu, zerbitzari batzuk modu desberdinean kudeatzen baitituzte blokeoak. Baliteke argitalpen publikoak saioa hasi ez duten erabiltzaileentzat ikusgai egotea.", @@ -249,7 +275,7 @@ "confirmations.missing_alt_text.secondary": "Bidali edonola ere", "confirmations.missing_alt_text.title": "Testu alternatiboa gehitu?", "confirmations.mute.confirm": "Mututu", - "confirmations.private_quote_notify.cancel": "Ediziora bueltatu", + "confirmations.private_quote_notify.cancel": "Bueltatu ediziora", "confirmations.private_quote_notify.confirm": "Argitaratu bidalketa", "confirmations.private_quote_notify.do_not_show_again": "Ez erakutsi mezu hau berriro", "confirmations.private_quote_notify.message": "Aipatzen ari zaren pertsonak eta aipatutako besteek jakinarazpena jasoko dute eta zure sarrera ikusi ahalko dute, zure jarraitzaileak ez badira ere.", @@ -357,6 +383,7 @@ "empty_column.notification_requests": "Garbi-garbi! Ezertxo ere ez hemen. Jakinarazpenak jasotzen dituzunean, hemen agertuko dira zure ezarpenen arabera.", "empty_column.notifications": "Ez duzu jakinarazpenik oraindik. Jarri besteekin harremanetan elkarrizketa abiatzeko.", "empty_column.public": "Ez dago ezer hemen! Idatzi zerbait publikoki edo jarraitu eskuz beste zerbitzari batzuetako erabiltzaileei hau betetzen joateko", + "error.no_hashtag_feed_access": "Egin bat edo hasi saioa etiketa hau ikusi eta jarraitzeko.", "error.unexpected_crash.explanation": "Gure kodean arazoren bat dela eta, edo nabigatzailearekin bateragarritasun arazoren bat dela eta, orri hau ezin izan da ongi bistaratu.", "error.unexpected_crash.explanation_addons": "Ezin izan da orria behar bezala bistaratu. Errore honen jatorria nabigatzailearen gehigarri batean edo itzulpen automatikoko tresnetan dago ziur aski.", "error.unexpected_crash.next_steps": "Saiatu orria berritzen. Horrek ez badu laguntzen, agian Mastodon erabiltzeko aukera duzu oraindik ere beste nabigatzaile bat edo aplikazio natibo bat erabilita.", @@ -515,6 +542,7 @@ "keyboard_shortcuts.toggle_hidden": "testua erakustea/ezkutatzea abisu baten atzean", "keyboard_shortcuts.toggle_sensitivity": "multimedia erakutsi/ezkutatzeko", "keyboard_shortcuts.toot": "Hasi bidalketa berri bat", + "keyboard_shortcuts.top": "Mugitu zerrendaren hasierara", "keyboard_shortcuts.translate": "bidalketa itzultzeko", "keyboard_shortcuts.unfocus": "testua konposatzeko area / bilaketatik fokua kentzea", "keyboard_shortcuts.up": "zerrendan gora mugitzea", @@ -903,6 +931,7 @@ "status.edited_x_times": "{count, plural, one {behin} other {{count} aldiz}} editatua", "status.embed": "Lortu txertatzeko kodea", "status.favourite": "Gogokoa", + "status.favourites_count": "{count, plural, one {{counter} gogoko} other {{counter} gogoko}}", "status.filter": "Iragazi bidalketa hau", "status.history.created": "{name} erabiltzaileak sortua {date}", "status.history.edited": "{name} erabiltzaileak editatua {date}", @@ -937,12 +966,14 @@ "status.quotes.empty": "Momentuz inork ez du bidalketa hau aipatu. Norbaitek eginez gero, hemen agertuko da.", "status.quotes.local_other_disclaimer": "Egileak errefusatutako aipuak ez dira erakutsiko.", "status.quotes.remote_other_disclaimer": "{domain} zerbitzariko aipuak baino ez daude bermatuta hemen. Egileak errefusatutako aipuak ez dira erakutsiko.", + "status.quotes_count": "{count, plural, one {{counter} aipu} other {{counter} aipu}}", "status.read_more": "Irakurri gehiago", "status.reblog": "Bultzada", "status.reblog_or_quote": "Bultzatu edo aipatu", "status.reblog_private": "Partekatu berriz zure jarraitzaileekin", "status.reblogged_by": "{name}(r)en bultzada", "status.reblogs.empty": "Inork ez dio bultzada eman bidalketa honi oraindik. Inork egiten badu, hemen agertuko da.", + "status.reblogs_count": "{count, plural, one {{counter} bultzaeda} other {{counter} bultzaeda}}", "status.redraft": "Ezabatu eta berridatzi", "status.remove_bookmark": "Kendu laster-marka", "status.remove_favourite": "Kendu gogokoetatik", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 7eda0c0a92..7684a328fb 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -117,26 +117,12 @@ "annual_report.announcement.action_view": "دیدن خلاصهٔ ماستودونم", "annual_report.announcement.description": "کشف بیش‌تر دربارهٔ درگیریتان روی ماستودون در سال گذشته.", "annual_report.announcement.title": "خلاصهٔ ماستودون {year} این‌جاست", - "annual_report.summary.archetype.booster": "باحال‌یاب", - "annual_report.summary.archetype.lurker": "کم‌پیدا", - "annual_report.summary.archetype.oracle": "غیب‌گو", - "annual_report.summary.archetype.pollster": "نظرسنج", - "annual_report.summary.archetype.replier": "پاسخ‌گو", - "annual_report.summary.followers.followers": "دنبال کننده", - "annual_report.summary.followers.total": "در مجموع {count}", - "annual_report.summary.here_it_is": "بازبینی {year} تان:", - "annual_report.summary.highlighted_post.by_favourites": "پرپسندترین فرسته", - "annual_report.summary.highlighted_post.by_reblogs": "پرتقویت‌ترین فرسته", - "annual_report.summary.highlighted_post.by_replies": "پرپاسخ‌ترین فرسته", - "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "پراستفاده‌ترین کاره", "annual_report.summary.most_used_hashtag.most_used_hashtag": "پراستفاده‌ترین برچسب", - "annual_report.summary.most_used_hashtag.none": "هیچ‌کدام", "annual_report.summary.new_posts.new_posts": "فرستهٔ جدید", "annual_report.summary.percentile.text": "بین کاربران {domain} جزوبرتر هستید.", "annual_report.summary.percentile.we_wont_tell_bernie": "به برنی خبر نمی‌دهیم.", "annual_report.summary.share_message": "من کهن‌الگوی {archetype} را گرفتم!", - "annual_report.summary.thanks": "سپاس که بخشی از ماستودون هستید!", "attachments_list.unprocessed": "(پردازش نشده)", "audio.hide": "نهفتن صدا", "block_modal.remote_users_caveat": "از کارساز {domain} خواهیم خواست که به تصمیمتان احترام بگذارد. با این حال تضمینی برای رعایتش وجود ندارد؛ زیرا برخی کارسازها ممکن است مسدودی را متفاوت مدیریت کنند. ممکن است فرسته‌های عمومی همچنان برای کاربران وارد نشده نمایان باشند.", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index e811ba70d1..c0cd9a77cd 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -114,28 +114,51 @@ "alt_text_modal.done": "Valmis", "announcement.announcement": "Tiedote", "annual_report.announcement.action_build": "Koosta oma Wrapstodon", + "annual_report.announcement.action_dismiss": "Ei kiitos", "annual_report.announcement.action_view": "Näytä oma Wrapstodon", "annual_report.announcement.description": "Tutustu toimintaasi Mastodonissa kuluneen vuoden aikana.", "annual_report.announcement.title": "Wrapstodon {year} on täällä", - "annual_report.summary.archetype.booster": "Tehostaja", - "annual_report.summary.archetype.lurker": "Lymyilijä", - "annual_report.summary.archetype.oracle": "Oraakkeli", - "annual_report.summary.archetype.pollster": "Mielipidetutkija", - "annual_report.summary.archetype.replier": "Sosiaalinen perhonen", - "annual_report.summary.followers.followers": "seuraajaa", - "annual_report.summary.followers.total": "{count} yhteensä", - "annual_report.summary.here_it_is": "Tässä on katsaus vuoteesi {year}:", - "annual_report.summary.highlighted_post.by_favourites": "suosikkeihin lisätyin julkaisu", - "annual_report.summary.highlighted_post.by_reblogs": "tehostetuin julkaisu", - "annual_report.summary.highlighted_post.by_replies": "julkaisu, jolla on eniten vastauksia", - "annual_report.summary.highlighted_post.possessive": "Käyttäjän {name}", + "annual_report.nav_item.badge": "Uusi", + "annual_report.shared_page.donate": "Lahjoita", + "annual_report.shared_page.footer": "Luotu {heart}:lla Mastodon-tiimin toimesta", + "annual_report.shared_page.footer_server_info": "{username} käyttää palvelinta {domain}, yhtä monista Mastodonin tarjoamista yhteisöistä.", + "annual_report.summary.archetype.booster.desc_public": "{name} pysyi valppaana tehostettavien julkaisujen suhteen, vahvistaen muita luojia täydellisellä tähtäyksellä.", + "annual_report.summary.archetype.booster.desc_self": "Pysyit valppaana tehostettavien julkaisujen suhteen, vahvistaen muita luojia täydellisellä tähtäyksellä.", + "annual_report.summary.archetype.booster.name": "Jousimies", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Tiedämme, että {name} oli siellä jossakin, nauttien Mastodonista omalla hiljaisella tavallaan.", + "annual_report.summary.archetype.lurker.desc_self": "Tiedämme, että olit siellä jossakin, nauttien Mastodonista omalla hiljaisella tavallasi.", + "annual_report.summary.archetype.lurker.name": "Stoalainen", + "annual_report.summary.archetype.oracle.desc_public": "{name} loi enemmän julkaisuja kuin vastauksia, siten pitäen Mastodonin tuoreena ja valmiina tulevaisuuteen.", + "annual_report.summary.archetype.oracle.desc_self": "Loit enemmän julkaisuja kuin vastauksia, siten pitäen Mastodonin tuoreena ja valmiina tulevaisuuteen.", + "annual_report.summary.archetype.oracle.name": "Oraakkeli", + "annual_report.summary.archetype.pollster.desc_public": "{name} loi enemmän äänestyksiä kuin muita julkaisutyyppejä, siten herättäen uteliaisuutta Mastodonissa.", + "annual_report.summary.archetype.pollster.desc_self": "Loit enemmän äänestyksiä kuin muita julkaisutyyppejä, siten herättäen uteliaisuutta Mastodonissa.", + "annual_report.summary.archetype.pollster.name": "Ihmettelijä", + "annual_report.summary.archetype.replier.desc_public": "{name} vastasi säännöllisesti toisten julkaisuihin, siten pölyttäen Mastodonia uusilla keskusteluilla.", + "annual_report.summary.archetype.replier.desc_self": "Vastasit säännöllisesti toisten julkaisuihin, siten pölyttäen Mastodonia uusilla keskusteluilla.", + "annual_report.summary.archetype.replier.name": "Perhonen", + "annual_report.summary.archetype.reveal": "Paljasta arkkityyppini", + "annual_report.summary.archetype.reveal_description": "Kiitos, että olet osa Mastodonia! Aika selvittää, minkä arkkityypin ruumiillistuma olit vuonna {year}.", + "annual_report.summary.archetype.title_public": "Käyttäjän {name} arkkityyppi", + "annual_report.summary.archetype.title_self": "Arkkityyppisi", + "annual_report.summary.close": "Sulje", + "annual_report.summary.copy_link": "Kopioi linkki", + "annual_report.summary.followers.new_followers": "{count, plural, one {uusi seuraaja} other {uutta seuraajaa}}", + "annual_report.summary.highlighted_post.boost_count": "Tätä julkaisua tehostettiin {count, plural, one {kerran} other {# kertaa}}.", + "annual_report.summary.highlighted_post.favourite_count": "Tämä julkaisu lisättiin suosikkeihin {count, plural, one {kerran} other {# kertaa}}.", + "annual_report.summary.highlighted_post.reply_count": "Tämä julkaisu sai {count, plural, one {1 vastauksen} other {# vastausta}}.", + "annual_report.summary.highlighted_post.title": "Suosituin julkaisu", "annual_report.summary.most_used_app.most_used_app": "käytetyin sovellus", "annual_report.summary.most_used_hashtag.most_used_hashtag": "käytetyin aihetunniste", - "annual_report.summary.most_used_hashtag.none": "Ei mitään", + "annual_report.summary.most_used_hashtag.used_count": "Sisällytit tämän aihetunnisteen {count, plural, one {1 julkaisuun} other {# julkaisuun}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} sisällytti tämän aihetunnisteen {count, plural, one {1 julkaisuun} other {# julkaisuun}}.", "annual_report.summary.new_posts.new_posts": "uutta julkaisua", "annual_report.summary.percentile.text": "Olet osa huippujoukkoa, johon kuuluu{domain}-käyttäjistä.", "annual_report.summary.percentile.we_wont_tell_bernie": "Emme kerro Bernie Sandersille.", - "annual_report.summary.thanks": "Kiitos, että olet osa Mastodonia!", + "annual_report.summary.share_elsewhere": "Jaa muualla", + "annual_report.summary.share_message": "Arkkityyppini on {archetype}!", + "annual_report.summary.share_on_mastodon": "Jaa Mastodonissa", "attachments_list.unprocessed": "(käsittelemätön)", "audio.hide": "Piilota ääni", "block_modal.remote_users_caveat": "Pyydämme palvelinta {domain} kunnioittamaan päätöstäsi. Myötämielisyyttä ei kuitenkaan taata, koska jotkin palvelimet voivat käsitellä estoja eri tavalla. Julkiset julkaisut voivat silti näkyä kirjautumattomille käyttäjille.", @@ -418,6 +441,8 @@ "follow_suggestions.who_to_follow": "Ehdotuksia seurattavaksi", "followed_tags": "Seurattavat aihetunnisteet", "footer.about": "Tietoja", + "footer.about_mastodon": "Tietoja Mastodonista", + "footer.about_server": "Tietoja palvelimesta {domain}", "footer.about_this_server": "Tietoja", "footer.directory": "Profiilihakemisto", "footer.get_app": "Hanki sovellus", diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index 21f03cfb5a..e87ba3cead 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -114,29 +114,51 @@ "alt_text_modal.done": "Liðugt", "announcement.announcement": "Kunngerð", "annual_report.announcement.action_build": "Ger mítt Wrapstodon", + "annual_report.announcement.action_dismiss": "Nei takk", "annual_report.announcement.action_view": "Vís mítt Wrapstodon", "annual_report.announcement.description": "Fá meira at vita um títt virksemi á Mastodon seinasta árið.", "annual_report.announcement.title": "Wrapstodon {year} er komið", - "annual_report.summary.archetype.booster": "Kuli jagarin", - "annual_report.summary.archetype.lurker": "Lúrarin", - "annual_report.summary.archetype.oracle": "Oraklið", - "annual_report.summary.archetype.pollster": "Spyrjarin", - "annual_report.summary.archetype.replier": "Sosiali firvaldurin", - "annual_report.summary.followers.followers": "fylgjarar", - "annual_report.summary.followers.total": "{count} íalt", - "annual_report.summary.here_it_is": "Her er ein samandráttur av {year}:", - "annual_report.summary.highlighted_post.by_favourites": "mest dámdi postur", - "annual_report.summary.highlighted_post.by_reblogs": "oftast stimbraði postur", - "annual_report.summary.highlighted_post.by_replies": "postur við flestum svarum", - "annual_report.summary.highlighted_post.possessive": "hjá {name}", + "annual_report.nav_item.badge": "Nýtt", + "annual_report.shared_page.donate": "Stuðla", + "annual_report.shared_page.footer": "Gjørt við {heart} av Mastodon toyminum", + "annual_report.shared_page.footer_server_info": "{username} brúkar {domain}, ein av fleiri felagsskapum, sum er drivin av Mastodon.", + "annual_report.summary.archetype.booster.desc_public": "{name} helt fram at veiða postar at lyfta, og styrkti aðrar skaparar við perfektum sikti.", + "annual_report.summary.archetype.booster.desc_self": "Tú helt fram at veiða postar at lyfta, og styrkti aðrar skaparar við perfektum sikti.", + "annual_report.summary.archetype.booster.name": "Bogaskjúttin", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Vit vita, at {name} var úti har onkustaðni og neyt Mastodon uppá sín egna stilla máta.", + "annual_report.summary.archetype.lurker.desc_self": "Vit vita, at tú var úti har onkustaðni og neyt Mastodon uppá tín egna stilla máta.", + "annual_report.summary.archetype.lurker.name": "Stóikarin", + "annual_report.summary.archetype.oracle.desc_public": "{name} gjørdi fleiri nýggjar postar enn svar og helt Mastodon feskt og framtíðarrættað.", + "annual_report.summary.archetype.oracle.desc_self": "Tú gjørdi fleiri nýggjar postar enn svar og helt Mastodon feskt og framtíðarrættað.", + "annual_report.summary.archetype.oracle.name": "Oraklið", + "annual_report.summary.archetype.pollster.desc_public": "{name} stovnaði fleiri atkvøðugreiðslur enn onnur sløg av postum og dyrkaði forvitni á Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Tú stovnaði fleiri atkvøðugreiðslur enn onnur sløg av postum og dyrkaði forvitni á Mastodon.", + "annual_report.summary.archetype.pollster.name": "Undrandi", + "annual_report.summary.archetype.replier.desc_public": "{name} svaraði ofta til postar hjá øðrum og ríkaði Mastodon við nýggjum kjaki.", + "annual_report.summary.archetype.replier.desc_self": "Tú svaraði ofta til postar hjá øðrum og ríkaði Mastodon við nýggjum kjaki.", + "annual_report.summary.archetype.replier.name": "Firvaldurin", + "annual_report.summary.archetype.reveal": "Avdúka mítt frumsnið", + "annual_report.summary.archetype.reveal_description": "Takk fyri at tú er partur av Mastodon! Nú er tíðin komin at finna útav hvat frumsnið tú fall inn í í {year}.", + "annual_report.summary.archetype.title_public": "Frumsniðið hjá {name}", + "annual_report.summary.archetype.title_self": "Títt frumsnið", + "annual_report.summary.close": "Lat aftur", + "annual_report.summary.copy_link": "Avrita leinki", + "annual_report.summary.followers.new_followers": "{count, plural, one {{counter} nýggjur fylgjari} other {{counter} nýggir fylgjarar}}", + "annual_report.summary.highlighted_post.boost_count": "Hesin posturin var lyftur {count, plural, one {eina ferð} other {# ferðir}}.", + "annual_report.summary.highlighted_post.favourite_count": "Hesin posturin var yndismerktur {count, plural, one {eina ferð} other {# ferðir}}.", + "annual_report.summary.highlighted_post.reply_count": "Hesin posturin fekk {count, plural, one {eitt svar} other {# svar}}.", + "annual_report.summary.highlighted_post.title": "Best umtókti postur", "annual_report.summary.most_used_app.most_used_app": "mest brúkta app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest brúkta frámerki", - "annual_report.summary.most_used_hashtag.none": "Einki", + "annual_report.summary.most_used_hashtag.used_count": "Tú brúkti hetta frámerkið í {count, plural, one {einum posti} other {# postum}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} brúkti hetta frámerkið í {count, plural, one {einum posti} other {# postum}}.", "annual_report.summary.new_posts.new_posts": "nýggir postar", "annual_report.summary.percentile.text": "Tað fær teg í toppav {domain} brúkarum.", "annual_report.summary.percentile.we_wont_tell_bernie": "Vit fara ikki at fortelja Bernie tað.", + "annual_report.summary.share_elsewhere": "Deil aðrastaðni", "annual_report.summary.share_message": "Eg fekk {archetype} frumsniðið!", - "annual_report.summary.thanks": "Takk fyri at tú er partur av Mastodon!", + "annual_report.summary.share_on_mastodon": "Deil á Mastodon", "attachments_list.unprocessed": "(óviðgjørt)", "audio.hide": "Fjal ljóð", "block_modal.remote_users_caveat": "Vit biðja ambætaran {domain} virða tína avgerð. Kortini er eingin vissa um samsvar, av tí at fleiri ambætarar handfara blokkar ymiskt. Almennir postar kunnu framvegis vera sjónligir fyri brúkarar, sum ikki eru innritaðir.", @@ -419,6 +441,8 @@ "follow_suggestions.who_to_follow": "Hvørji tú átti at fylgt", "followed_tags": "Fylgd frámerki", "footer.about": "Um", + "footer.about_mastodon": "Um Mastodon", + "footer.about_server": "Um {domain}", "footer.about_this_server": "Um", "footer.directory": "Vangaskrá", "footer.get_app": "Heinta appina", diff --git a/app/javascript/mastodon/locales/fr-CA.json b/app/javascript/mastodon/locales/fr-CA.json index 1975ce0c89..95b8efe078 100644 --- a/app/javascript/mastodon/locales/fr-CA.json +++ b/app/javascript/mastodon/locales/fr-CA.json @@ -114,29 +114,51 @@ "alt_text_modal.done": "Terminé", "announcement.announcement": "Annonce", "annual_report.announcement.action_build": "Générer mon Wrapstodon", + "annual_report.announcement.action_dismiss": "Non merci", "annual_report.announcement.action_view": "Voir mon Wrapstodon", "annual_report.announcement.description": "En découvrir plus concernant votre activité sur Mastodon pour l'année écoulée.", "annual_report.announcement.title": "Le Wrapstodon {year} est arrivé", - "annual_report.summary.archetype.booster": "Le chasseur de sang-froid", - "annual_report.summary.archetype.lurker": "Le faucheur", - "annual_report.summary.archetype.oracle": "L’oracle", - "annual_report.summary.archetype.pollster": "Le sondeur", - "annual_report.summary.archetype.replier": "Le papillon social", - "annual_report.summary.followers.followers": "abonné·e·s", - "annual_report.summary.followers.total": "{count} au total", - "annual_report.summary.here_it_is": "Voici votre récap de {year} :", - "annual_report.summary.highlighted_post.by_favourites": "post le plus aimé", - "annual_report.summary.highlighted_post.by_reblogs": "post le plus boosté", - "annual_report.summary.highlighted_post.by_replies": "post avec le plus de réponses", - "annual_report.summary.highlighted_post.possessive": "{name}'s", + "annual_report.nav_item.badge": "Nouveau", + "annual_report.shared_page.donate": "Faire un don", + "annual_report.shared_page.footer": "Généré avec {heart} par l'équipe de Mastodon", + "annual_report.shared_page.footer_server_info": "{username} utilise {domain}, l'une des nombreuses communautés propulsées par Mastodon.", + "annual_report.summary.archetype.booster.desc_public": "{name} fut à l’affût des messages à partager, ciblant avec perfection les créatrices et créateurs à amplifier.", + "annual_report.summary.archetype.booster.desc_self": "Vous avez été à l'affût des messages à partager, ciblant avec perfection les créatrices et créateurs à amplifier.", + "annual_report.summary.archetype.booster.name": "Archer, archère", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Nous savons que {name} a été là, quelque part, profitant calmement de Mastodon à sa manière.", + "annual_report.summary.archetype.lurker.desc_self": "Nous savons que vous avez été là, quelque part, profitant calmement de Mastodon à votre manière.", + "annual_report.summary.archetype.lurker.name": "Stoïque", + "annual_report.summary.archetype.oracle.desc_public": "{name} publia plus de nouveaux messages que de réponses, contribuant à garder Mastodon frais et tourné vers l'avenir.", + "annual_report.summary.archetype.oracle.desc_self": "Vous avez publié plus de nouveaux messages que de réponses, contribuant à garder Mastodon frais et tourné vers l'avenir.", + "annual_report.summary.archetype.oracle.name": "Oracle", + "annual_report.summary.archetype.pollster.desc_public": "{name} publia plus de sondages que n'importe quel autre type de message, cultivant la curiosité sur Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Vous avez publié plus de sondages que n'importe quel autre type de message, cultivant la curiosité sur Mastodon.", + "annual_report.summary.archetype.pollster.name": "Curieux, curieuse", + "annual_report.summary.archetype.replier.desc_public": "{name} répliqua fréquemment aux messages des autres, pollinisant Mastodon de nouvelles discussions.", + "annual_report.summary.archetype.replier.desc_self": "Vous avez fréquemment répliqué aux messages des autres, pollinisant Mastodon de nouvelles discussions.", + "annual_report.summary.archetype.replier.name": "Papillon", + "annual_report.summary.archetype.reveal": "Révéler mon archétype", + "annual_report.summary.archetype.reveal_description": "Merci de faire partie de Mastodon ! Il est temps de découvrir quel archétype vous avez incarné en {year}.", + "annual_report.summary.archetype.title_public": "L'archétype de {name}", + "annual_report.summary.archetype.title_self": "Votre archétype", + "annual_report.summary.close": "Fermer", + "annual_report.summary.copy_link": "Copier le lien", + "annual_report.summary.followers.new_followers": "{count, plural, one {nouvel·le abonné·e} other {nouveaux abonné·e·s}}", + "annual_report.summary.highlighted_post.boost_count": "Ce message a été partagé {count, plural, one {une fois} other {# fois}}.", + "annual_report.summary.highlighted_post.favourite_count": "Ce message a été mis en favoris {count, plural, one {une fois} other {# fois}}.", + "annual_report.summary.highlighted_post.reply_count": "Ce message a reçu {count, plural, one {une réponse} other {# réponses}}.", + "annual_report.summary.highlighted_post.title": "Message le plus populaire", "annual_report.summary.most_used_app.most_used_app": "appli la plus utilisée", "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag le plus utilisé", - "annual_report.summary.most_used_hashtag.none": "Aucun", + "annual_report.summary.most_used_hashtag.used_count": "Vous avez utilisé ce hashtag dans {count, plural, one {un message} other {# messages}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} a inclus ce hashtag dans {count, plural, one {un message} other {# messages}}.", "annual_report.summary.new_posts.new_posts": "nouveaux messages", "annual_report.summary.percentile.text": "Cela vous place dans le topdes utilisateurs de {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Nous ne le dirons pas à Bernie.", + "annual_report.summary.share_elsewhere": "Partager ailleurs", "annual_report.summary.share_message": "J’ai obtenu l’archétype {archetype} !", - "annual_report.summary.thanks": "Merci de faire partie de Mastodon!", + "annual_report.summary.share_on_mastodon": "Partager sur Mastodon", "attachments_list.unprocessed": "(non traité)", "audio.hide": "Masquer l'audio", "block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateur·rice·s non connecté·e·s.", @@ -419,6 +441,8 @@ "follow_suggestions.who_to_follow": "Qui suivre", "followed_tags": "Hashtags suivis", "footer.about": "À propos", + "footer.about_mastodon": "À propos de Mastodon", + "footer.about_server": "À propos de {domain}", "footer.about_this_server": "À propos", "footer.directory": "Annuaire des profils", "footer.get_app": "Télécharger l’application", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 2ad548d9a4..2ef5c9acb4 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -114,29 +114,51 @@ "alt_text_modal.done": "Terminé", "announcement.announcement": "Annonce", "annual_report.announcement.action_build": "Générer mon Wrapstodon", + "annual_report.announcement.action_dismiss": "Non merci", "annual_report.announcement.action_view": "Voir mon Wrapstodon", "annual_report.announcement.description": "En découvrir plus concernant votre activité sur Mastodon pour l'année écoulée.", "annual_report.announcement.title": "Le Wrapstodon {year} est arrivé", - "annual_report.summary.archetype.booster": "Le chasseur de sang-froid", - "annual_report.summary.archetype.lurker": "Le faucheur", - "annual_report.summary.archetype.oracle": "L’oracle", - "annual_report.summary.archetype.pollster": "Le sondeur", - "annual_report.summary.archetype.replier": "Le papillon social", - "annual_report.summary.followers.followers": "abonné·e·s", - "annual_report.summary.followers.total": "{count} au total", - "annual_report.summary.here_it_is": "Voici votre récap de {year} :", - "annual_report.summary.highlighted_post.by_favourites": "post le plus aimé", - "annual_report.summary.highlighted_post.by_reblogs": "post le plus boosté", - "annual_report.summary.highlighted_post.by_replies": "post avec le plus de réponses", - "annual_report.summary.highlighted_post.possessive": "{name}'s", + "annual_report.nav_item.badge": "Nouveau", + "annual_report.shared_page.donate": "Faire un don", + "annual_report.shared_page.footer": "Généré avec {heart} par l'équipe de Mastodon", + "annual_report.shared_page.footer_server_info": "{username} utilise {domain}, l'une des nombreuses communautés propulsées par Mastodon.", + "annual_report.summary.archetype.booster.desc_public": "{name} fut à l’affût des messages à partager, ciblant avec perfection les créatrices et créateurs à amplifier.", + "annual_report.summary.archetype.booster.desc_self": "Vous avez été à l'affût des messages à partager, ciblant avec perfection les créatrices et créateurs à amplifier.", + "annual_report.summary.archetype.booster.name": "Archer, archère", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Nous savons que {name} a été là, quelque part, profitant calmement de Mastodon à sa manière.", + "annual_report.summary.archetype.lurker.desc_self": "Nous savons que vous avez été là, quelque part, profitant calmement de Mastodon à votre manière.", + "annual_report.summary.archetype.lurker.name": "Stoïque", + "annual_report.summary.archetype.oracle.desc_public": "{name} publia plus de nouveaux messages que de réponses, contribuant à garder Mastodon frais et tourné vers l'avenir.", + "annual_report.summary.archetype.oracle.desc_self": "Vous avez publié plus de nouveaux messages que de réponses, contribuant à garder Mastodon frais et tourné vers l'avenir.", + "annual_report.summary.archetype.oracle.name": "Oracle", + "annual_report.summary.archetype.pollster.desc_public": "{name} publia plus de sondages que n'importe quel autre type de message, cultivant la curiosité sur Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Vous avez publié plus de sondages que n'importe quel autre type de message, cultivant la curiosité sur Mastodon.", + "annual_report.summary.archetype.pollster.name": "Curieux, curieuse", + "annual_report.summary.archetype.replier.desc_public": "{name} répliqua fréquemment aux messages des autres, pollinisant Mastodon de nouvelles discussions.", + "annual_report.summary.archetype.replier.desc_self": "Vous avez fréquemment répliqué aux messages des autres, pollinisant Mastodon de nouvelles discussions.", + "annual_report.summary.archetype.replier.name": "Papillon", + "annual_report.summary.archetype.reveal": "Révéler mon archétype", + "annual_report.summary.archetype.reveal_description": "Merci de faire partie de Mastodon ! Il est temps de découvrir quel archétype vous avez incarné en {year}.", + "annual_report.summary.archetype.title_public": "L'archétype de {name}", + "annual_report.summary.archetype.title_self": "Votre archétype", + "annual_report.summary.close": "Fermer", + "annual_report.summary.copy_link": "Copier le lien", + "annual_report.summary.followers.new_followers": "{count, plural, one {nouvel·le abonné·e} other {nouveaux abonné·e·s}}", + "annual_report.summary.highlighted_post.boost_count": "Ce message a été partagé {count, plural, one {une fois} other {# fois}}.", + "annual_report.summary.highlighted_post.favourite_count": "Ce message a été mis en favoris {count, plural, one {une fois} other {# fois}}.", + "annual_report.summary.highlighted_post.reply_count": "Ce message a reçu {count, plural, one {une réponse} other {# réponses}}.", + "annual_report.summary.highlighted_post.title": "Message le plus populaire", "annual_report.summary.most_used_app.most_used_app": "appli la plus utilisée", "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag le plus utilisé", - "annual_report.summary.most_used_hashtag.none": "Aucun", + "annual_report.summary.most_used_hashtag.used_count": "Vous avez utilisé ce hashtag dans {count, plural, one {un message} other {# messages}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} a inclus ce hashtag dans {count, plural, one {un message} other {# messages}}.", "annual_report.summary.new_posts.new_posts": "nouveaux messages", "annual_report.summary.percentile.text": "Cela vous place dans le topdes utilisateurs de {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Nous ne le dirons pas à Bernie.", + "annual_report.summary.share_elsewhere": "Partager ailleurs", "annual_report.summary.share_message": "J’ai obtenu l’archétype {archetype} !", - "annual_report.summary.thanks": "Merci de faire partie de Mastodon!", + "annual_report.summary.share_on_mastodon": "Partager sur Mastodon", "attachments_list.unprocessed": "(non traité)", "audio.hide": "Masquer l'audio", "block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateur·rice·s non connecté·e·s.", @@ -419,6 +441,8 @@ "follow_suggestions.who_to_follow": "Qui suivre", "followed_tags": "Hashtags suivis", "footer.about": "À propos", + "footer.about_mastodon": "À propos de Mastodon", + "footer.about_server": "À propos de {domain}", "footer.about_this_server": "À propos", "footer.directory": "Annuaire des profils", "footer.get_app": "Télécharger l’application", diff --git a/app/javascript/mastodon/locales/fy.json b/app/javascript/mastodon/locales/fy.json index e460b29de0..2a98f29782 100644 --- a/app/javascript/mastodon/locales/fy.json +++ b/app/javascript/mastodon/locales/fy.json @@ -107,25 +107,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Beskriuw dit foar blinen en fisueel beheinde…", "alt_text_modal.done": "Klear", "announcement.announcement": "Oankundiging", - "annual_report.summary.archetype.booster": "De cool-hunter", - "annual_report.summary.archetype.lurker": "De lurker", - "annual_report.summary.archetype.oracle": "It orakel", - "annual_report.summary.archetype.pollster": "De opinypeiler", - "annual_report.summary.archetype.replier": "De sosjale flinter", - "annual_report.summary.followers.followers": "folgers", - "annual_report.summary.followers.total": "totaal {count}", - "annual_report.summary.here_it_is": "Jo jieroersjoch foar {year}:", - "annual_report.summary.highlighted_post.by_favourites": "berjocht mei de measte favoriten", - "annual_report.summary.highlighted_post.by_reblogs": "berjocht mei de measte boosts", - "annual_report.summary.highlighted_post.by_replies": "berjocht mei de measte reaksjes", - "annual_report.summary.highlighted_post.possessive": "{name}’s", "annual_report.summary.most_used_app.most_used_app": "meast brûkte app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "meast brûkte hashtag", - "annual_report.summary.most_used_hashtag.none": "Gjin", "annual_report.summary.new_posts.new_posts": "nije berjochten", "annual_report.summary.percentile.text": "Hjirmei hearre jo ta de top fan {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Wy sille Bernie neat fertelle.", - "annual_report.summary.thanks": "Tank dat jo part binne fan Mastodon!", "attachments_list.unprocessed": "(net ferwurke)", "audio.hide": "Audio ferstopje", "block_modal.remote_users_caveat": "Wy freegje de server {domain} om jo beslút te respektearjen. It neilibben hjirfan is echter net garandearre, omdat guon servers blokkaden oars ynterpretearje kinne. Iepenbiere berjochten binne mooglik noch hieltyd sichtber foar net-oanmelde brûkers.", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index 7172aaacf5..489616943b 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -114,29 +114,50 @@ "alt_text_modal.done": "Déanta", "announcement.announcement": "Fógra", "annual_report.announcement.action_build": "Tóg mo Wrapstodon", + "annual_report.announcement.action_dismiss": "Ní raibh maith agat", "annual_report.announcement.action_view": "Féach ar mo Wrapstodon", "annual_report.announcement.description": "Faigh tuilleadh eolais faoi do rannpháirtíocht ar Mastodon le bliain anuas.", "annual_report.announcement.title": "Tá Wrapstodon {year} tagtha", - "annual_report.summary.archetype.booster": "An sealgair fionnuar", - "annual_report.summary.archetype.lurker": "An lurker", - "annual_report.summary.archetype.oracle": "An oracal", - "annual_report.summary.archetype.pollster": "An pollaire", - "annual_report.summary.archetype.replier": "An féileacán sóisialta", - "annual_report.summary.followers.followers": "leanúna", - "annual_report.summary.followers.total": "{count} san iomlán", - "annual_report.summary.here_it_is": "Seo do {year} faoi athbhreithniú:", - "annual_report.summary.highlighted_post.by_favourites": "post is fearr leat", - "annual_report.summary.highlighted_post.by_reblogs": "post is treisithe", - "annual_report.summary.highlighted_post.by_replies": "post leis an líon is mó freagraí", - "annual_report.summary.highlighted_post.possessive": "{name}'s", + "annual_report.nav_item.badge": "Nua", + "annual_report.shared_page.donate": "Tabhair Síntiús", + "annual_report.shared_page.footer": "Gineadh le {heart} ag foireann Mastodon", + "annual_report.summary.archetype.booster.desc_public": "D’fhan {name} ag cuardach postálacha le cur chun cinn, ag cur le cruthaitheoirí eile le cuspóir foirfe.", + "annual_report.summary.archetype.booster.desc_self": "D’fhan tú ag cuardach postálacha le borradh a chur fúthu, ag cur le cruthaitheoirí eile le cuspóir foirfe.", + "annual_report.summary.archetype.booster.name": "An Saighdeoir", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Tá a fhios againn go raibh {name} amuigh ansin, áit éigin, ag baint taitnimh as Mastodon ar a mbealach ciúin féin.", + "annual_report.summary.archetype.lurker.desc_self": "Tá a fhios againn go raibh tú amuigh ansin, áit éigin, ag baint taitnimh as Mastodon ar do bhealach ciúin féin.", + "annual_report.summary.archetype.lurker.name": "An Stoiceach", + "annual_report.summary.archetype.oracle.desc_public": "Chruthaigh {name} níos mó postálacha nua ná freagraí, rud a choinnigh Mastodon úr agus dírithe ar an todhchaí.", + "annual_report.summary.archetype.oracle.desc_self": "Chruthaigh tú níos mó postálacha nua ná freagraí, rud a choinnigh Mastodon úr agus dírithe ar an todhchaí.", + "annual_report.summary.archetype.oracle.name": "An tOracal", + "annual_report.summary.archetype.pollster.desc_public": "Chruthaigh {name} níos mó pobalbhreitheanna ná cineálacha poist eile, rud a chothaigh fiosracht faoi Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Chruthaigh tú níos mó pobalbhreitheanna ná cineálacha poist eile, rud a chothaigh fiosracht ar Mastodon.", + "annual_report.summary.archetype.pollster.name": "An tIontasóir", + "annual_report.summary.archetype.replier.desc_public": "Is minic a d’fhreagair {name} poist daoine eile, rud a spreag plé nua i Mastodon.", + "annual_report.summary.archetype.replier.desc_self": "Is minic a d’fhreagair tú poist daoine eile, ag maolú Mastodon le plé nua.", + "annual_report.summary.archetype.replier.name": "An Féileacán", + "annual_report.summary.archetype.reveal": "Nocht mo sheandálaíocht", + "annual_report.summary.archetype.reveal_description": "Go raibh maith agat as bheith mar chuid de Mastodon! Tá sé in am a fháil amach cén t-archetíopa a léirigh tú i {year}.", + "annual_report.summary.archetype.title_public": "Seanchineál {name}", + "annual_report.summary.archetype.title_self": "Do sheandálaíocht", + "annual_report.summary.close": "Dún", + "annual_report.summary.copy_link": "Cóipeáil nasc", + "annual_report.summary.followers.new_followers": "{count, plural, one {leantóir nua} two {leantóirí nua} few {leantóirí nua} many {leantóirí nua} other {leantóirí nua}}", + "annual_report.summary.highlighted_post.boost_count": "Borradh a tugadh faoin bpost seo {count, plural, one {uair amháin} two {# uaire} few {# uaire} many {# uaire} other {# uaire}}.", + "annual_report.summary.highlighted_post.favourite_count": "Cuireadh an post seo leis na ceanáin {count, plural, one {uair amháin} two {# uaire} few {# uaire} many {# uaire} other {# uaire}}.", + "annual_report.summary.highlighted_post.reply_count": "Fuair ​​an post seo {count, plural, one {freagra amháin} two {# freagraí} few {# freagraí} many {# freagraí} other {# freagraí}}.", + "annual_report.summary.highlighted_post.title": "An post is mó tóir", "annual_report.summary.most_used_app.most_used_app": "aip is mó a úsáidtear", "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag is mó a úsáidtear", - "annual_report.summary.most_used_hashtag.none": "Dada", + "annual_report.summary.most_used_hashtag.used_count": "Chuir tú an haischlib seo i {count, plural, one {post amháin} two {# poist} few {# poist} many {# poist} other {# poist}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "Chuir {name} an haischlib seo i {count, plural, one {post amháin} two {# poist} few {# poist} many {# poist} other {# poist}}.", "annual_report.summary.new_posts.new_posts": "postanna nua", "annual_report.summary.percentile.text": "Cuireann sé sin i mbarr úsáideoirí {domain}. thú", "annual_report.summary.percentile.we_wont_tell_bernie": "Ní inseoidh muid do Bernie.", + "annual_report.summary.share_elsewhere": "Roinn in áit eile", "annual_report.summary.share_message": "Fuair ​​mé an t-archetíopa {archetype}!", - "annual_report.summary.thanks": "Go raibh maith agat as a bheith mar chuid de Mastodon!", + "annual_report.summary.share_on_mastodon": "Comhroinn ar Mastodon", "attachments_list.unprocessed": "(neamhphróiseáilte)", "audio.hide": "Cuir fuaim i bhfolach", "block_modal.remote_users_caveat": "Iarrfaimid ar an bhfreastalaí {domain} meas a bheith agat ar do chinneadh. Mar sin féin, ní ráthaítear comhlíonadh toisc go bhféadfadh roinnt freastalaithe bloic a láimhseáil ar bhealach difriúil. Seans go mbeidh postálacha poiblí fós le feiceáil ag úsáideoirí nach bhfuil logáilte isteach.", @@ -248,7 +269,7 @@ "confirmations.follow_to_list.title": "Lean an t-úsáideoir?", "confirmations.logout.confirm": "Logáil amach", "confirmations.logout.message": "An bhfuil tú cinnte gur mhaith leat logáil amach?", - "confirmations.logout.title": "Logáil Amach?", + "confirmations.logout.title": "Logáil amach?", "confirmations.missing_alt_text.confirm": "Cuir téacs alt leis", "confirmations.missing_alt_text.message": "Tá meáin gan alt téacs i do phostáil. Má chuirtear tuairiscí leis, cabhraíonn sé seo leat d’inneachar a rochtain do níos mó daoine.", "confirmations.missing_alt_text.secondary": "Post ar aon nós", @@ -456,7 +477,7 @@ "hints.profiles.see_more_followers": "Féach ar a thuilleadh leantóirí ar {domain}", "hints.profiles.see_more_follows": "Féach tuilleadh seo a leanas ar {domain}", "hints.profiles.see_more_posts": "Féach ar a thuilleadh postálacha ar {domain}", - "home.column_settings.show_quotes": "Taispeáin Sleachta", + "home.column_settings.show_quotes": "Taispeáin sleachta", "home.column_settings.show_reblogs": "Taispeáin moltaí", "home.column_settings.show_replies": "Taispeán freagraí", "home.hide_announcements": "Cuir fógraí i bhfolach", @@ -686,7 +707,7 @@ "notifications.column_settings.mention": "Tráchtanna:", "notifications.column_settings.poll": "Torthaí suirbhéanna:", "notifications.column_settings.push": "Brúfhógraí", - "notifications.column_settings.quote": "Luachain:", + "notifications.column_settings.quote": "Sleachta:", "notifications.column_settings.reblog": "Moltaí:", "notifications.column_settings.show": "Taispeáin i gcolún", "notifications.column_settings.sound": "Seinn an fhuaim", @@ -763,14 +784,14 @@ "privacy.public.long": "Duine ar bith ar agus amach Mastodon", "privacy.public.short": "Poiblí", "privacy.quote.anyone": "{visibility}, is féidir le duine ar bith lua", - "privacy.quote.disabled": "{visibility}, comharthaí athfhriotail díchumasaithe", - "privacy.quote.limited": "{visibility}, luachana teoranta", + "privacy.quote.disabled": "{visibility}, sleachta díchumasaithe", + "privacy.quote.limited": "{visibility}, sleachta teoranta", "privacy.unlisted.additional": "Iompraíonn sé seo díreach mar a bheadh ​​poiblí, ach amháin ní bheidh an postáil le feiceáil i bhfothaí beo nó i hashtags, in iniúchadh nó i gcuardach Mastodon, fiú má tá tú liostáilte ar fud an chuntais.", "privacy.unlisted.long": "I bhfolach ó thorthaí cuardaigh Mastodon, treochtaí, agus amlínte poiblí", "privacy.unlisted.short": "Poiblí ciúin", "privacy_policy.last_updated": "Nuashonraithe {date}", "privacy_policy.title": "Polasaí príobháideachais", - "quote_error.edit": "Ní féidir Sleachta a chur leis agus post á chur in eagar.", + "quote_error.edit": "Ní féidir sleachta a chur leis agus post á chur in eagar.", "quote_error.poll": "Ní cheadaítear lua le pobalbhreitheanna.", "quote_error.private_mentions": "Ní cheadaítear lua le tagairtí díreacha.", "quote_error.quote": "Ní cheadaítear ach luachan amháin ag an am.", @@ -885,7 +906,7 @@ "status.admin_account": "Oscail comhéadan modhnóireachta do @{name}", "status.admin_domain": "Oscail comhéadan modhnóireachta le haghaidh {domain}", "status.admin_status": "Oscail an postáil seo sa chomhéadan modhnóireachta", - "status.all_disabled": "Tá borradh agus luachana díchumasaithe", + "status.all_disabled": "Tá treisiúcháin agus sleachta díchumasaithe", "status.block": "Bac @{name}", "status.bookmark": "Leabharmharcanna", "status.cancel_reblog_private": "Dímhol", @@ -945,7 +966,7 @@ "status.quotes.empty": "Níl an post seo luaite ag aon duine go fóill. Nuair a dhéanann duine é, taispeánfar anseo é.", "status.quotes.local_other_disclaimer": "Ní thaispeánfar sleachta ar dhiúltaigh an t-údar dóibh.", "status.quotes.remote_other_disclaimer": "Níl ráthaíocht ann go dtaispeánfar anseo ach sleachta ó {domain}. Ní thaispeánfar sleachta ar dhiúltaigh an t-údar dóibh.", - "status.quotes_count": "{count, plural,\n one {{counter} athfhriotal}\n two {{counter} athfhriotail}\n few {{counter} athfhriotail}\n many {{counter} athfhriotal}\n other {{counter} athfhriotail}\n}", + "status.quotes_count": "{count, plural, one {{counter} sleacht} two {{counter} sleachta} few {{counter} sleachta} many {{counter} sleachta} other {{counter} sleachta}}", "status.read_more": "Léan a thuilleadh", "status.reblog": "Treisiú", "status.reblog_or_quote": "Borradh nó luachan", @@ -1001,7 +1022,7 @@ "upload_button.label": "Cuir íomhánna, físeán nó comhad fuaime leis", "upload_error.limit": "Sáraíodh an teorainn uaslódála comhaid.", "upload_error.poll": "Ní cheadaítear uaslódáil comhad le pobalbhreith.", - "upload_error.quote": "Ní cheadaítear uaslódáil comhaid le comharthaí athfhriotail.", + "upload_error.quote": "Ní cheadaítear uaslódáil comhaid le sleachta.", "upload_form.drag_and_drop.instructions": "Chun ceangaltán meán a phiocadh suas, brúigh spás nó cuir isteach. Agus tú ag tarraingt, bain úsáid as na heochracha saigheada chun an ceangaltán meán a bhogadh i dtreo ar bith. Brúigh spás nó cuir isteach arís chun an ceangaltán meán a scaoileadh ina phost nua, nó brúigh éalú chun cealú.", "upload_form.drag_and_drop.on_drag_cancel": "Cuireadh an tarraingt ar ceal. Scaoileadh ceangaltán meán {item}.", "upload_form.drag_and_drop.on_drag_end": "Scaoileadh ceangaltán meán {item}.", @@ -1027,11 +1048,11 @@ "video.volume_up": "Toirt suas", "visibility_modal.button_title": "Socraigh infheictheacht", "visibility_modal.direct_quote_warning.text": "Má shábhálann tú na socruithe reatha, déanfar an luachan leabaithe a thiontú ina nasc.", - "visibility_modal.direct_quote_warning.title": "Ní féidir luachana a leabú i luanna príobháideacha", + "visibility_modal.direct_quote_warning.title": "Ní féidir sleachta a leabú i dtráchtanna príobháideacha", "visibility_modal.header": "Infheictheacht agus idirghníomhaíocht", "visibility_modal.helper.direct_quoting": "Ní féidir le daoine eile tráchtanna príobháideacha a scríobhadh ar Mastodon a lua.", "visibility_modal.helper.privacy_editing": "Ní féidir infheictheacht a athrú tar éis post a fhoilsiú.", - "visibility_modal.helper.privacy_private_self_quote": "Ní féidir féin-luachanna ó phoist phríobháideacha a chur ar fáil don phobal.", + "visibility_modal.helper.privacy_private_self_quote": "Ní féidir féin-sleachta ó phoist phríobháideacha a chur ar fáil don phobal.", "visibility_modal.helper.private_quoting": "Ní féidir le daoine eile poist atá scríofa ar Mastodon agus atá dírithe ar leanúna amháin a lua.", "visibility_modal.helper.unlisted_quoting": "Nuair a luann daoine thú, beidh a bpost i bhfolach ó amlínte treochta freisin.", "visibility_modal.instructions": "Rialaigh cé a fhéadfaidh idirghníomhú leis an bpost seo. Is féidir leat socruithe a chur i bhfeidhm ar gach post amach anseo trí nascleanúint a dhéanamh chuig Sainroghanna > Réamhshocruithe Postála.", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index e24a7d4608..16ce197f3f 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -113,25 +113,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Mìnich seo dhan fheadhainn air a bheil cion-lèirsinne…", "alt_text_modal.done": "Deiseil", "announcement.announcement": "Brath-fios", - "annual_report.summary.archetype.booster": "Brosnaiche", - "annual_report.summary.archetype.lurker": "Eala-bhalbh", - "annual_report.summary.archetype.oracle": "Coinneach Odhar", - "annual_report.summary.archetype.pollster": "Cunntair nam beachd", - "annual_report.summary.archetype.replier": "Ceatharnach nam freagairt", - "annual_report.summary.followers.followers": "luchd-leantainn", - "annual_report.summary.followers.total": "{count} gu h-iomlan", - "annual_report.summary.here_it_is": "Seo mar a chaidh {year} leat:", - "annual_report.summary.highlighted_post.by_favourites": "am post as annsa", - "annual_report.summary.highlighted_post.by_reblogs": "am post air a bhrosnachadh as trice", - "annual_report.summary.highlighted_post.by_replies": "am post dhan deach fhreagairt as trice", - "annual_report.summary.highlighted_post.possessive": "Aig {name},", "annual_report.summary.most_used_app.most_used_app": "an aplacaid a chaidh a cleachdadh as trice", "annual_report.summary.most_used_hashtag.most_used_hashtag": "an taga hais a chaidh a cleachdadh as trice", - "annual_report.summary.most_used_hashtag.none": "Chan eil gin", "annual_report.summary.new_posts.new_posts": "postaichean ùra", "annual_report.summary.percentile.text": "Tha thu am measgdhen luchd-cleachdaidh as cliùitiche air {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Ainmeil ’nad latha ’s ’nad linn.", - "annual_report.summary.thanks": "Mòran taing airson conaltradh air Mastodon!", "attachments_list.unprocessed": "(gun phròiseasadh)", "audio.hide": "Falaich an fhuaim", "block_modal.remote_users_caveat": "Iarraidh sinn air an fhrithealaiche {domain} gun gèill iad ri do cho-dhùnadh. Gidheadh, chan eil barantas gun gèill iad on a làimhsicheas cuid a fhrithealaichean bacaidhean air dòigh eadar-dhealaichte. Dh’fhaoidte gum faic daoine gun chlàradh a-steach na postaichean poblach agad fhathast.", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index dad94113a9..b68b33b4ec 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -114,29 +114,50 @@ "alt_text_modal.done": "Feito", "announcement.announcement": "Anuncio", "annual_report.announcement.action_build": "Crear o meu Wrapstodon", + "annual_report.announcement.action_dismiss": "Non, grazas", "annual_report.announcement.action_view": "Ver o meu Wrapstodon", "annual_report.announcement.description": "Olla o que andiveches facendo en Mastodon durante o último ano.", "annual_report.announcement.title": "Chegou o Wrapstodon de {year}", - "annual_report.summary.archetype.booster": "O Telexornal", - "annual_report.summary.archetype.lurker": "Volleur", - "annual_report.summary.archetype.oracle": "Sabichón", - "annual_report.summary.archetype.pollster": "I.G.E.", - "annual_report.summary.archetype.replier": "Lareteire", - "annual_report.summary.followers.followers": "seguidoras", - "annual_report.summary.followers.total": "{count} en total", - "annual_report.summary.here_it_is": "Este é o resumo do teu {year}:", - "annual_report.summary.highlighted_post.by_favourites": "a publicación mais favorecida", - "annual_report.summary.highlighted_post.by_reblogs": "a publicación con mais promocións", - "annual_report.summary.highlighted_post.by_replies": "a publicación con mais respostas", - "annual_report.summary.highlighted_post.possessive": "de {name}", + "annual_report.nav_item.badge": "Novidade", + "annual_report.shared_page.donate": "Doar", + "annual_report.shared_page.footer": "Creado con {heart} polo equipo de Mastodon", + "annual_report.summary.archetype.booster.desc_public": "{name} á caza de publicacións para promover, dando relevancia a outras creadoras.", + "annual_report.summary.archetype.booster.desc_self": "Á caza de publicacións para promover, dando relevancia a outras creadoras.", + "annual_report.summary.archetype.booster.name": "Arqueire", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Sabemos que {name} andivo por aí, nalgures, desfrutando de Mastodon paseniño e ao seu xeito.", + "annual_report.summary.archetype.lurker.desc_self": "Sabemos que andiveches por aí, nalgures, desfrutando de Mastodon tranquilamente e ao teu xeito.", + "annual_report.summary.archetype.lurker.name": "Xubilade", + "annual_report.summary.archetype.oracle.desc_public": "{name} creou máis publicacións que respostas, mantendo Mastodon ao día e ollando ao futuro.", + "annual_report.summary.archetype.oracle.desc_self": "Creaches máis publicacións que respostas, mantendo Mastodon ao día e ollando o futuro.", + "annual_report.summary.archetype.oracle.name": "O Oráculo", + "annual_report.summary.archetype.pollster.desc_public": "{name} creou máis enquisas que publicacións normais, cultivando a curiosidade en Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Creaches máis enquisas que publicacións normais, cultivando a curiosidade en Mastodon.", + "annual_report.summary.archetype.pollster.name": "O mar de dúbidas", + "annual_report.summary.archetype.replier.desc_public": "{name} respondeu con frecuencia a outras persoas, polinizando Mastodon con novas conversas.", + "annual_report.summary.archetype.replier.desc_self": "Respondeches con frecuencia a outras persoas, polinizando Mastodon con novas conversas.", + "annual_report.summary.archetype.replier.name": "A Bolboreta", + "annual_report.summary.archetype.reveal": "Mostrar o meu arquetipo", + "annual_report.summary.archetype.reveal_description": "Grazas por ser parte de Mastodon! É hora de coñecer o teu arquetipo de usuaria no {year}.", + "annual_report.summary.archetype.title_public": "Arquetipo de {name}", + "annual_report.summary.archetype.title_self": "O teu arquetipo", + "annual_report.summary.close": "Fechar", + "annual_report.summary.copy_link": "Copiar ligazón", + "annual_report.summary.followers.new_followers": "{count, plural, one {nova seguidora} other {nevas seguidoras}}", + "annual_report.summary.highlighted_post.boost_count": "Esta publicación promoveuse {count, plural, one {unha vez} other {# veces}}.", + "annual_report.summary.highlighted_post.favourite_count": "Esta publicación favoreceuse {count, plural, one {unha vez} other {# veces}}.", + "annual_report.summary.highlighted_post.reply_count": "Esta publicación tivo {count, plural, one {unha resposta} other {# respostas}}.", + "annual_report.summary.highlighted_post.title": "Publicación máis popular", "annual_report.summary.most_used_app.most_used_app": "app que mais usaches", "annual_report.summary.most_used_hashtag.most_used_hashtag": "o cancelo mais utilizado", - "annual_report.summary.most_used_hashtag.none": "Nada", + "annual_report.summary.most_used_hashtag.used_count": "Incluíches este cancelo en {count, plural, one {1 publicación} other {# publicacións}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} incluíu este cancelo en {count, plural, one {1 publicación} other {# publicacións}}.", "annual_report.summary.new_posts.new_posts": "novas publicacións", "annual_report.summary.percentile.text": "Sitúante no top das usuarias de {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Moito tes que contarnos!", + "annual_report.summary.share_elsewhere": "Compárteo onde queiras", "annual_report.summary.share_message": "Resulta que son… {archetype}!", - "annual_report.summary.thanks": "Grazas por ser parte de Mastodon!", + "annual_report.summary.share_on_mastodon": "Compartir en Mastodon", "attachments_list.unprocessed": "(sen procesar)", "audio.hide": "Agochar audio", "block_modal.remote_users_caveat": "Ímoslle pedir ao servidor {domain} que respecte a túa decisión. Emporiso, non hai garantía de que atenda a petición xa que os servidores xestionan os bloqueos de formas diferentes. As publicacións públicas poderían aínda ser visibles para usuarias que non iniciaron sesión.", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index ea0bc4b44f..b2abc99d02 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -114,29 +114,50 @@ "alt_text_modal.done": "סיום", "announcement.announcement": "הכרזה", "annual_report.announcement.action_build": "בנה לי את הסיכומודון שלי", + "annual_report.announcement.action_dismiss": "לא תודה", "annual_report.announcement.action_view": "לצפייה בסיכומודון שלי", "annual_report.announcement.description": "ללמוד עוד על דבפוסי השימוש שלך במסטודון לאורך השנה החולפת.", "annual_report.announcement.title": "סיכומודון {year} הגיע", - "annual_report.summary.archetype.booster": "ההד-וניסט(ית)", - "annual_report.summary.archetype.lurker": "השורץ.ת השקט.ה", - "annual_report.summary.archetype.oracle": "כבוד הרב.ה", - "annual_report.summary.archetype.pollster": "הסקרן.ית", - "annual_report.summary.archetype.replier": "הפרפר.ית החברתי.ת", - "annual_report.summary.followers.followers": "עוקבים", - "annual_report.summary.followers.total": "{count} בסך הכל", - "annual_report.summary.here_it_is": "והנה סיכום {year} שלך:", - "annual_report.summary.highlighted_post.by_favourites": "התות הכי מחובב", - "annual_report.summary.highlighted_post.by_reblogs": "התות הכי מהודהד", - "annual_report.summary.highlighted_post.by_replies": "התות עם מספר התשובות הגבוה ביותר", - "annual_report.summary.highlighted_post.possessive": "של {name}", + "annual_report.nav_item.badge": "חדש", + "annual_report.shared_page.donate": "לתרומה", + "annual_report.shared_page.footer": "נוצר עם כל ה-{heart} על ידי צוות מסטודון", + "annual_report.summary.archetype.booster.desc_public": "{name} צדו הודעות מעניינות להדהד, והגבירו קולותיהם של יוצרים אחרים בדיוק של חתול המזנק על הטרף.", + "annual_report.summary.archetype.booster.desc_self": "צדת הודעות מעניינות להדהד, והגברת קולותיהם של יוצרים אחרים בדיוק של חתול המזנק על הטרף.", + "annual_report.summary.archetype.booster.name": "החתול הצייד", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "למיטב ידיעתנו {name} היו שם, איפשהוא, נהנים ממסטודון בדרכם השקטה.", + "annual_report.summary.archetype.lurker.desc_self": "למיטב ידיעתנו היית שם, איפשהוא, נהנית ממסטודון בדרכך השקטה.", + "annual_report.summary.archetype.lurker.name": "הסטואי.ת", + "annual_report.summary.archetype.oracle.desc_public": "{name} יצרו יותר הודעות מאשר תגובות, ושמרו על מסטודון רעננה ועם פנים לעתיד.", + "annual_report.summary.archetype.oracle.desc_self": "יצרת יותר הודעות מאשר תגובות, ושמרת על מסטודון רעננה ועם פנים לעתיד.", + "annual_report.summary.archetype.oracle.name": "כבוד הרב.ה", + "annual_report.summary.archetype.pollster.desc_public": "{name} יצרו יותר סקרים מאשר כל סוג הודעה אחר, וכך הרבו סקרנות במסטודון.", + "annual_report.summary.archetype.pollster.desc_self": "יצרת יותר סקרים מאשר כל סוג הודעה אחר, וכך הרבת סקרנות במסטודון.", + "annual_report.summary.archetype.pollster.name": "התוהה", + "annual_report.summary.archetype.replier.desc_public": "{name} ענו תכופות לאחרים, והפרו את מסטודון בדיונים חדשים.", + "annual_report.summary.archetype.replier.desc_self": "ענית תכופות לאחרים, והפרית את מסטודון בדיונים חדשים.", + "annual_report.summary.archetype.replier.name": "הפרפר", + "annual_report.summary.archetype.reveal": "גלו את הארכיטיפ שלכם", + "annual_report.summary.archetype.reveal_description": "תודה שאתם חלק ממסטודון! הגיע הזמן לגלות מה הארכיטיפ שגילמתן בשנת {year}.", + "annual_report.summary.archetype.title_public": "הארכיטיפ של {name}", + "annual_report.summary.archetype.title_self": "הארכיטיפ שלך", + "annual_report.summary.close": "סגירה", + "annual_report.summary.copy_link": "העתק קישור", + "annual_report.summary.followers.new_followers": "{count, plural,one {עוקב חדש} other {עוקבים חדשים}}", + "annual_report.summary.highlighted_post.boost_count": "הודעה זו הודהדה {count, plural,one {פעם אחת}other {# פעמים}}.", + "annual_report.summary.highlighted_post.favourite_count": "הודעה זו חובבה {count, plural,one {פעם אחת}other {# פעמים}}.", + "annual_report.summary.highlighted_post.reply_count": "הודעה זו נענתה על ידי {count, plural,one {תגובה אחת}other {# תגובות}}.", + "annual_report.summary.highlighted_post.title": "ההודעה הפופולרית ביותר", "annual_report.summary.most_used_app.most_used_app": "היישומון שהכי בשימוש", "annual_report.summary.most_used_hashtag.most_used_hashtag": "התג בשימוש הרב ביותר", - "annual_report.summary.most_used_hashtag.none": "אף אחד", + "annual_report.summary.most_used_hashtag.used_count": "כללת את התגית הזו {count, plural,one {בהודעה אחת}other {ב-# הודעות}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} כללו את התגית {count, plural,one {בהודעה אחת}other {ב־# הודעות}}.", "annual_report.summary.new_posts.new_posts": "הודעות חדשות", "annual_report.summary.percentile.text": "ממקם אותך באחוזון של משמשי {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "לא נגלה לברני.", + "annual_report.summary.share_elsewhere": "שיתוף במקום אחר", "annual_report.summary.share_message": "זוהיתי כדוגמא לטיפוס {archetype}!", - "annual_report.summary.thanks": "תודה על היותך חלק ממסטודון!", + "annual_report.summary.share_on_mastodon": "לשתף במסטודון", "attachments_list.unprocessed": "(לא מעובד)", "audio.hide": "השתק", "block_modal.remote_users_caveat": "אנו נבקש מהשרת {domain} לכבד את החלטתך. עם זאת, ציות למוסכמות איננו מובטח כיוון ששרתים מסויימים עשויים לטפל בחסימות בצורה אחרת. הודעות פומביות עדיין יהיו גלויות לעיני משתמשים שאינם מחוברים.", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index c62a332a96..755dbd1bed 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -117,25 +117,43 @@ "annual_report.announcement.action_view": "Saját Wrapstodon megtekintése", "annual_report.announcement.description": "Fedezz fel többet a Mastodonon az elmúlt évben végzett tevékenységeidről.", "annual_report.announcement.title": "A Wrapstodon {year} megérkezett", - "annual_report.summary.archetype.booster": "A cool-vadász", - "annual_report.summary.archetype.lurker": "A settenkedő", - "annual_report.summary.archetype.oracle": "Az orákulum", - "annual_report.summary.archetype.pollster": "A közvélemény-kutató", - "annual_report.summary.archetype.replier": "A társasági pillangó", - "annual_report.summary.followers.followers": "követő", - "annual_report.summary.followers.total": "{count} összesen", - "annual_report.summary.here_it_is": "Itt a {year}. év értékelése:", - "annual_report.summary.highlighted_post.by_favourites": "legkedvencebb bejegyzés", - "annual_report.summary.highlighted_post.by_reblogs": "legtöbbet megtolt bejegyzés", - "annual_report.summary.highlighted_post.by_replies": "bejegyzés a legtöbb válasszal", - "annual_report.summary.highlighted_post.possessive": "{name} fióktól", + "annual_report.shared_page.donate": "Adományozás", + "annual_report.shared_page.footer": "A Mastodon által {heart}-tel előállítva", + "annual_report.summary.archetype.booster.desc_public": "{name} megtolandó bejegyzésekre vadászott, tökéletes célzással felerősítve mások üzeneteit.", + "annual_report.summary.archetype.booster.desc_self": "Megtolandó bejegyzésekre vadásztál, tökéletes célzással felerősítve mások üzeneteit.", + "annual_report.summary.archetype.booster.name": "Az íjász", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Tudjuk, hogy {name} ott volt, valahol, a saját csendes módján élvezve a Mastodont.", + "annual_report.summary.archetype.lurker.desc_self": "Tudjuk, hogy ott voltál, valahol, a saját csendes módodon élvezve a Mastodont.", + "annual_report.summary.archetype.lurker.name": "A sztoikus", + "annual_report.summary.archetype.oracle.desc_public": "{name} több bejegyzést hozott létre, mint választ, így a Mastodon friss és jövőbe tekintő marad.", + "annual_report.summary.archetype.oracle.desc_self": "Több bejegyzést hoztál létre, mint választ, így a Mastodon friss és jövőbe tekintő marad.", + "annual_report.summary.archetype.oracle.name": "Az orákulum", + "annual_report.summary.archetype.pollster.desc_public": "{name} több szavazást hozott létre, mint bármilyen más bejegyzést, ezzel támogatva a kíváncsiságot a Mastodonon.", + "annual_report.summary.archetype.pollster.desc_self": "Több szavazást hoztál létre, mint bármilyen más bejegyzést, ezzel támogatva a kíváncsiságot a Mastodonon.", + "annual_report.summary.archetype.pollster.name": "A csodálkozó", + "annual_report.summary.archetype.replier.desc_public": "{name} gyakran válaszolt más emberek bejegyzéseire, új témákat porozva be a Mastodonon.", + "annual_report.summary.archetype.replier.desc_self": "Gyakran válaszoltál más emberek bejegyzéseire, új témákat porozva be a Mastodonon.", + "annual_report.summary.archetype.replier.name": "A pillangó", + "annual_report.summary.archetype.reveal": "Saját archetípus felfedése", + "annual_report.summary.archetype.reveal_description": "Köszönjük, hogy a Mastodon része vagy! Tudj meg többet az archetípusodról {year} évében.", + "annual_report.summary.archetype.title_public": "{name} archetípusa", + "annual_report.summary.archetype.title_self": "Saját archetípus", + "annual_report.summary.close": "Bezárás", + "annual_report.summary.followers.new_followers": "{count, plural, one {új követő} other {új követők}}", + "annual_report.summary.highlighted_post.boost_count": "Ez a bejegyzés {count, plural, one {egyszer} other {# alkalommal}} volt megtolva.", + "annual_report.summary.highlighted_post.favourite_count": "Ez a bejegyzés {count, plural, one {egyszer} other {# alkalommal}} volt kedvencnek jelölve.", + "annual_report.summary.highlighted_post.reply_count": "Ez a bejegyzés {count, plural, one {egy választ} other {# választ}} kapott.", + "annual_report.summary.highlighted_post.title": "Legnépszerűbb bejegyzés", "annual_report.summary.most_used_app.most_used_app": "legtöbbet használt app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "legtöbbet használt hashtag", - "annual_report.summary.most_used_hashtag.none": "Nincs", + "annual_report.summary.most_used_hashtag.used_count": "Ez a hashtag {count, plural, one {egy bejegyzésedben} other {# bejegyzésedben}} szerepel.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} {count, plural, one {egy bejegyzésében} other {# bejegyzésében}} használta ezt a hashtaget.", "annual_report.summary.new_posts.new_posts": "új bejegyzés", "annual_report.summary.percentile.text": "Ezzel a csúcs{domain} felhasználó között vagy.", "annual_report.summary.percentile.we_wont_tell_bernie": "Nem mondjuk el Bernie-nek.", - "annual_report.summary.thanks": "Kösz, hogy a Mastodon része vagy!", + "annual_report.summary.share_message": "{archetype} lett az archetípusom!", + "annual_report.summary.share_on_mastodon": "Megosztás a Mastodonon", "attachments_list.unprocessed": "(feldolgozatlan)", "audio.hide": "Hang elrejtése", "block_modal.remote_users_caveat": "Arra kérjük a {domain} kiszolgálót, hogy tartsa tiszteletben a döntésedet. Ugyanakkor az együttműködés nem garantált, mivel néhány kiszolgáló másképp kezelheti a letiltásokat. A nyilvános bejegyzések a be nem jelentkezett felhasználók számára továbbra is látszódhatnak.", diff --git a/app/javascript/mastodon/locales/ia.json b/app/javascript/mastodon/locales/ia.json index 4202a855c8..a32a39617b 100644 --- a/app/javascript/mastodon/locales/ia.json +++ b/app/javascript/mastodon/locales/ia.json @@ -113,25 +113,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Describe isto pro personas con impedimentos visual…", "alt_text_modal.done": "Preste", "announcement.announcement": "Annuncio", - "annual_report.summary.archetype.booster": "Le impulsator", - "annual_report.summary.archetype.lurker": "Le lector", - "annual_report.summary.archetype.oracle": "Le oraculo", - "annual_report.summary.archetype.pollster": "Le sondagista", - "annual_report.summary.archetype.replier": "Le responditor", - "annual_report.summary.followers.followers": "sequitores", - "annual_report.summary.followers.total": "{count} in total", - "annual_report.summary.here_it_is": "Ecce tu summario de {year}:", - "annual_report.summary.highlighted_post.by_favourites": "message le plus favorite", - "annual_report.summary.highlighted_post.by_reblogs": "message le plus impulsate", - "annual_report.summary.highlighted_post.by_replies": "message le plus respondite", - "annual_report.summary.highlighted_post.possessive": "{name}, ecce tu…", "annual_report.summary.most_used_app.most_used_app": "application le plus usate", "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag le plus usate", - "annual_report.summary.most_used_hashtag.none": "Necun", "annual_report.summary.new_posts.new_posts": "nove messages", "annual_report.summary.percentile.text": "Isto te pone in le primeusatores de {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Tu es un primo inter pares.", - "annual_report.summary.thanks": "Gratias pro facer parte de Mastodon!", "attachments_list.unprocessed": "(non processate)", "audio.hide": "Celar audio", "block_modal.remote_users_caveat": "Nos demandera al servitor {domain} de respectar tu decision. Nonobstante, le conformitate non es garantite perque alcun servitores pote tractar le blocadas de maniera differente. Le messages public pote esser totevia visibile pro le usatores non authenticate.", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index 8ee2672250..adf604a5d5 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -90,25 +90,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Priskribar co por personi kun viddeskapableso…", "alt_text_modal.done": "Finis", "announcement.announcement": "Anunco", - "annual_report.summary.archetype.booster": "La plurrepetanto", - "annual_report.summary.archetype.lurker": "La plurcelanto", - "annual_report.summary.archetype.oracle": "La pluraktivo", - "annual_report.summary.archetype.pollster": "La votinquestoiganto", - "annual_report.summary.archetype.replier": "La plurrespondanto", - "annual_report.summary.followers.followers": "sequanti", - "annual_report.summary.followers.total": "{count} sumo", - "annual_report.summary.here_it_is": "Caibe es vua rivido ye {year}:", - "annual_report.summary.highlighted_post.by_favourites": "maxim prizita mesajo", - "annual_report.summary.highlighted_post.by_reblogs": "maxim repetita mesajo", - "annual_report.summary.highlighted_post.by_replies": "mesajo kun la maxim multa respondi", - "annual_report.summary.highlighted_post.possessive": "di {name}", "annual_report.summary.most_used_app.most_used_app": "maxim uzita aplikajo", "annual_report.summary.most_used_hashtag.most_used_hashtag": "maxim uzita gretvorto", - "annual_report.summary.most_used_hashtag.none": "Nulo", "annual_report.summary.new_posts.new_posts": "nova afishi", "annual_report.summary.percentile.text": "To pozas vu sur la supro di uzanti di {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Ni ne dicas ad Bernio.", - "annual_report.summary.thanks": "Danki por partoprenar sur Mastodon!", "attachments_list.unprocessed": "(neprocedita)", "audio.hide": "Celez audio", "block_modal.remote_users_caveat": "Ni questionos {domain} di la servilo por respektar vua decido. Publika posti forsan ankore estas videbla a neenirinta uzanti.", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index 5462f0c0ba..d83074a08a 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -114,29 +114,51 @@ "alt_text_modal.done": "Lokið", "announcement.announcement": "Auglýsing", "annual_report.announcement.action_build": "Byggja Wrapstodon fyrir mig", + "annual_report.announcement.action_dismiss": "Nei takk", "annual_report.announcement.action_view": "Skoða minn Wrapstodon", "annual_report.announcement.description": "Skoðaðu meira um virkni þína á Mastodon á síðastliðnu ári.", "annual_report.announcement.title": "Wrapstodon {year} er komið", - "annual_report.summary.archetype.booster": "Svali gaurinn", - "annual_report.summary.archetype.lurker": "Lurkurinn", - "annual_report.summary.archetype.oracle": "Völvan", - "annual_report.summary.archetype.pollster": "Kannanafíkillinn", - "annual_report.summary.archetype.replier": "Félagsveran", - "annual_report.summary.followers.followers": "fylgjendur", - "annual_report.summary.followers.total": "{count} alls", - "annual_report.summary.here_it_is": "Hér er yfirlitið þitt fyrir {year}:", - "annual_report.summary.highlighted_post.by_favourites": "færsla sett oftast í eftirlæti", - "annual_report.summary.highlighted_post.by_reblogs": "færsla oftast endurbirt", - "annual_report.summary.highlighted_post.by_replies": "færsla með flestum svörum", - "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.nav_item.badge": "Nýtt", + "annual_report.shared_page.donate": "Styrkja", + "annual_report.shared_page.footer": "{heart}-kveðjur frá Mastodon-teyminu", + "annual_report.shared_page.footer_server_info": "{username} notar {domain}, einu af samfélögunum sem Mastodon drífur.", + "annual_report.summary.archetype.booster.desc_public": "{name} var á höttunum eftir færslum til að endurbirta og hitti þannig í mark með að magna upp það sem aðrir voru að gera.", + "annual_report.summary.archetype.booster.desc_self": "Þú varst á höttunum eftir færslum til að endurbirta og hittir þannig í mark með að magna upp það sem aðrir voru að gera.", + "annual_report.summary.archetype.booster.name": "Veiðmaðurinn", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Við vitum að {name} var þarna úti, einhversstaðar, að njóta Mastodon á sínum eigin hljóðlátu forsendum.", + "annual_report.summary.archetype.lurker.desc_self": "Við vitum að þú varst þarna úti, einhversstaðar, að njóta Mastodon á þínum eigin hljóðlátu forsendum.", + "annual_report.summary.archetype.lurker.name": "Heimspekingurinn", + "annual_report.summary.archetype.oracle.desc_public": "{name} útbjó fleiri færslur en svör og hélt þannig Mastodon fersku og vísandi til framtíðar.", + "annual_report.summary.archetype.oracle.desc_self": "Þú útbjóst fleiri færslur en svör og hélst þannig Mastodon fersku og vísandi til framtíðar.", + "annual_report.summary.archetype.oracle.name": "Völvan", + "annual_report.summary.archetype.pollster.desc_public": "{name} útbjó fleiri kannanir en aðrar gerðir af færslum og ræktaði þannig forvitni á ökrum Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Þú útbjóst fleiri kannanir en aðrar gerðir af færslum og ræktaðir þannig forvitni á ökrum Mastodon.", + "annual_report.summary.archetype.pollster.name": "Könnuðurinn", + "annual_report.summary.archetype.replier.desc_public": "{name} svaraði oft færslum annara og frjóvgaði Mastodon með nýjum samræðum.", + "annual_report.summary.archetype.replier.desc_self": "Þú svaraðir oft færslum annara og frjóvgaðir Mastodon með nýjum samræðum.", + "annual_report.summary.archetype.replier.name": "Fiðrildið", + "annual_report.summary.archetype.reveal": "Uppljóstra um erkitýpuna mína", + "annual_report.summary.archetype.reveal_description": "Takk fyrir að vera hluti af Mastodon! Nú er tíminn til að sjá hvaða erkitýpu þú líktist árið {year}.", + "annual_report.summary.archetype.title_public": "Erkitýpan fyrir {name}", + "annual_report.summary.archetype.title_self": "Erkitýpan þín", + "annual_report.summary.close": "Loka", + "annual_report.summary.copy_link": "Afrita tengil", + "annual_report.summary.followers.new_followers": "{count, plural, one {nýr fylgjandi} other {nýir fylgjendur}}", + "annual_report.summary.highlighted_post.boost_count": "Þessi færsla var endurbirt {count, plural, one {einu sinni} other {# sinnum}}.", + "annual_report.summary.highlighted_post.favourite_count": "Þessi færsla var sett í eftirlæti {count, plural, one {einu sinni} other {# sinnum}}.", + "annual_report.summary.highlighted_post.reply_count": "Þessi færsla fékk {count, plural, one {eitt svar} other {# svör}}.", + "annual_report.summary.highlighted_post.title": "Vinsælasta færslan", "annual_report.summary.most_used_app.most_used_app": "mest notaða forrit", "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest notaða myllumerki", - "annual_report.summary.most_used_hashtag.none": "Ekkert", + "annual_report.summary.most_used_hashtag.used_count": "Þú hafðir þetta myllumerki með í {count, plural, one {einni færslu} other {# færslum}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} hafði þetta myllumerki með í {count, plural, one {einni færslu} other {# færslum}}.", "annual_report.summary.new_posts.new_posts": "nýjar færslur", "annual_report.summary.percentile.text": "Þetta setur þig á meðalof {domain} virkustu notendanna.", "annual_report.summary.percentile.we_wont_tell_bernie": "Við förum ekkert að raupa um þetta.", + "annual_report.summary.share_elsewhere": "Deila annarsstaðar", "annual_report.summary.share_message": "Ég er víst {archetype}-týpan!", - "annual_report.summary.thanks": "Takk fyrir að vera hluti af Mastodon-samfélaginu!", + "annual_report.summary.share_on_mastodon": "Deila á Mastodon", "attachments_list.unprocessed": "(óunnið)", "audio.hide": "Fela hljóð", "block_modal.remote_users_caveat": "Við munum biðja {domain} netþjóninn um að virða ákvörðun þína. Hitt er svo annað mál hvort hann fari eftir þessu, ekki er hægt að tryggja eftirfylgni því sumir netþjónar meðhöndla útilokanir á sinn hátt. Opinberar færslur gætu verið sýnilegar notendum sem ekki eru skráðir inn.", @@ -419,6 +441,8 @@ "follow_suggestions.who_to_follow": "Hverjum á að fylgjast með", "followed_tags": "Vöktuð myllumerki", "footer.about": "Nánari upplýsingar", + "footer.about_mastodon": "Um Mastodon", + "footer.about_server": "Um {domain}", "footer.about_this_server": "Nánari upplýsingar", "footer.directory": "Notandasniðamappa", "footer.get_app": "Ná í forritið", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index d6a3d994ea..3f50907859 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -31,7 +31,7 @@ "account.edit_profile_short": "Modifica", "account.enable_notifications": "Avvisami quando @{name} pubblica un post", "account.endorse": "In evidenza sul profilo", - "account.familiar_followers_many": "Seguito da {name1}, {name2}, e {othersCount, plural, one {un altro che conosci} other {# altri che conosci}}", + "account.familiar_followers_many": "Seguito da {name1}, {name2}, e {othersCount, plural, one {un altro che conosci} other {altri # che conosci}}", "account.familiar_followers_one": "Seguito da {name1}", "account.familiar_followers_two": "Seguito da {name1} e {name2}", "account.featured": "In primo piano", @@ -114,29 +114,51 @@ "alt_text_modal.done": "Fatto", "announcement.announcement": "Annuncio", "annual_report.announcement.action_build": "Costruisci il mio Wrapstodon", + "annual_report.announcement.action_dismiss": "No, grazie", "annual_report.announcement.action_view": "Visualizza il mio Wrapstodon", "annual_report.announcement.description": "Scopri di più sul tuo coinvolgimento su Mastodon nell'ultimo anno.", "annual_report.announcement.title": "Wrapstodon {year} è arrivato", - "annual_report.summary.archetype.booster": "Cacciatore/trice di tendenze", - "annual_report.summary.archetype.lurker": "L'osservatore/trice", - "annual_report.summary.archetype.oracle": "L'oracolo", - "annual_report.summary.archetype.pollster": "Sondaggista", - "annual_report.summary.archetype.replier": "Utente socievole", - "annual_report.summary.followers.followers": "seguaci", - "annual_report.summary.followers.total": "{count} in totale", - "annual_report.summary.here_it_is": "Ecco il tuo {year} in sintesi:", - "annual_report.summary.highlighted_post.by_favourites": "il post più apprezzato", - "annual_report.summary.highlighted_post.by_reblogs": "il post più condiviso", - "annual_report.summary.highlighted_post.by_replies": "il post con più risposte", - "annual_report.summary.highlighted_post.possessive": "di {name}", + "annual_report.nav_item.badge": "Nuovo", + "annual_report.shared_page.donate": "Dona", + "annual_report.shared_page.footer": "Generato con {heart} dal team di Mastodon", + "annual_report.shared_page.footer_server_info": "{username} usa {domain}, una delle tante comunità basate su Mastodon.", + "annual_report.summary.archetype.booster.desc_public": "{name} è rimasto/a alla ricerca di post da condividere, amplificando il lavoro di altri creatori con precisione mirata.", + "annual_report.summary.archetype.booster.desc_self": "Sei rimasto/a alla ricerca di post da condividere, amplificando il lavoro di altri creatori con precisione mirata.", + "annual_report.summary.archetype.booster.name": "L'Arciere", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Sappiamo che {name} era là fuori, da qualche parte, a godersi Mastodon in tutta tranquillità.", + "annual_report.summary.archetype.lurker.desc_self": "Sappiamo che eri là fuori, da qualche parte, a goderti Mastodon in tutta tranquillità.", + "annual_report.summary.archetype.lurker.name": "Lo Stoico", + "annual_report.summary.archetype.oracle.desc_public": "{name} ha creato più nuovi post che risposte, mantenendo Mastodon fresco e orientato al futuro.", + "annual_report.summary.archetype.oracle.desc_self": "Hai creato più nuovi post che risposte, mantenendo Mastodon fresco e orientato al futuro.", + "annual_report.summary.archetype.oracle.name": "L'Oracolo", + "annual_report.summary.archetype.pollster.desc_public": "{name} ha creato più sondaggi rispetto ad altri tipi di post, alimentando la curiosità su Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Hai creato più sondaggi rispetto ad altri tipi di post, alimentando la curiosità su Mastodon.", + "annual_report.summary.archetype.pollster.name": "L'Esploratore", + "annual_report.summary.archetype.replier.desc_public": "{name} ha frequentemente risposto ai post di altre persone, alimentando Mastodon con nuove discussioni.", + "annual_report.summary.archetype.replier.desc_self": "Hai frequentemente risposto ai post di altre persone, alimentando Mastodon con nuove discussioni.", + "annual_report.summary.archetype.replier.name": "La Farfalla", + "annual_report.summary.archetype.reveal": "Rivela il mio archetipo", + "annual_report.summary.archetype.reveal_description": "Grazie per far parte di Mastodon! È il momento di scoprire quale archetipo hai incarnato nel {year}.", + "annual_report.summary.archetype.title_public": "Archetipo di {name}", + "annual_report.summary.archetype.title_self": "Il tuo archetipo", + "annual_report.summary.close": "Chiudi", + "annual_report.summary.copy_link": "Copia il сollegamento", + "annual_report.summary.followers.new_followers": "{count, plural, one {nuovo seguace} other {nuovi seguaci}}", + "annual_report.summary.highlighted_post.boost_count": "Questo post è stato condiviso {count, plural, one {1 volta} other {# volte}}.", + "annual_report.summary.highlighted_post.favourite_count": "Questo post è stato aggiunto ai preferiti {count, plural, one {1 volta} other {# volte}}.", + "annual_report.summary.highlighted_post.reply_count": "Questo post ha ricevuto {count, plural, one {1 risposta} other {# risposte}}.", + "annual_report.summary.highlighted_post.title": "Il post più popolare", "annual_report.summary.most_used_app.most_used_app": "l'app più utilizzata", "annual_report.summary.most_used_hashtag.most_used_hashtag": "l'hashtag più usato", - "annual_report.summary.most_used_hashtag.none": "Nessuno", + "annual_report.summary.most_used_hashtag.used_count": "Hai incluso questo hashtag in {count, plural, one {1 post} other {# post}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} ha incluso questo hashtag in {count, plural, one {1 post} other {# post}}.", "annual_report.summary.new_posts.new_posts": "nuovi post", "annual_report.summary.percentile.text": "Ciò ti colloca in cimaagli utenti di {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Non lo diremo a Bernie.", + "annual_report.summary.share_elsewhere": "Condividi altrove", "annual_report.summary.share_message": "Ho ottenuto l'archetipo: {archetype}!", - "annual_report.summary.thanks": "Grazie per far parte di Mastodon!", + "annual_report.summary.share_on_mastodon": "Condividi su Mastodon", "attachments_list.unprocessed": "(non elaborato)", "audio.hide": "Nascondi audio", "block_modal.remote_users_caveat": "Chiederemo al server {domain} di rispettare la tua decisione. Tuttavia, la conformità non è garantita poiché alcuni server potrebbero gestire i blocchi in modo diverso. I post pubblici potrebbero essere ancora visibili agli utenti che non hanno effettuato l'accesso.", @@ -419,6 +441,8 @@ "follow_suggestions.who_to_follow": "Chi seguire", "followed_tags": "Hashtag seguiti", "footer.about": "Info", + "footer.about_mastodon": "Riguardo Mastodon", + "footer.about_server": "Riguardo {domain}", "footer.about_this_server": "Info", "footer.directory": "Cartella dei profili", "footer.get_app": "Scarica l'app", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index e693387b12..428009b298 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -113,25 +113,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "目が不自由な方のために説明してください…", "alt_text_modal.done": "完了", "announcement.announcement": "お知らせ", - "annual_report.summary.archetype.booster": "トレンドハンター", - "annual_report.summary.archetype.lurker": "ROM専", - "annual_report.summary.archetype.oracle": "予言者", - "annual_report.summary.archetype.pollster": "調査員", - "annual_report.summary.archetype.replier": "社交家", - "annual_report.summary.followers.followers": "フォロワー", - "annual_report.summary.followers.total": "合計{count}", - "annual_report.summary.here_it_is": "こちらがあなたの{year}年の振り返りです", - "annual_report.summary.highlighted_post.by_favourites": "最もお気に入りされた投稿", - "annual_report.summary.highlighted_post.by_reblogs": "最もブーストされた投稿", - "annual_report.summary.highlighted_post.by_replies": "最も返信が多かった投稿", - "annual_report.summary.highlighted_post.possessive": "{name}の", "annual_report.summary.most_used_app.most_used_app": "最も使用されているアプリ", "annual_report.summary.most_used_hashtag.most_used_hashtag": "最も使用されたハッシュタグ", - "annual_report.summary.most_used_hashtag.none": "なし", "annual_report.summary.new_posts.new_posts": "新しい投稿", "annual_report.summary.percentile.text": "{domain}で 上位に入ります!", "annual_report.summary.percentile.we_wont_tell_bernie": "バー二ーには秘密にしておくよ。", - "annual_report.summary.thanks": "Mastodonの一員になってくれてありがとう!", "attachments_list.unprocessed": "(未処理)", "audio.hide": "音声を閉じる", "block_modal.remote_users_caveat": "このサーバーはあなたのブロックの意思を尊重するように {domain} へ通知します。しかし、サーバーによってはブロック機能の扱いが異なる場合もありえるため、相手のサーバー側で求める通りの処理が行われる確証はありません。また、公開投稿はユーザーがログアウト状態であれば閲覧できる可能性があります。", diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json index 36ecff0b43..05ea5f312e 100644 --- a/app/javascript/mastodon/locales/kab.json +++ b/app/javascript/mastodon/locales/kab.json @@ -92,13 +92,9 @@ "alt_text_modal.cancel": "Semmet", "alt_text_modal.done": "Immed", "announcement.announcement": "Ulɣu", - "annual_report.summary.followers.followers": "imeḍfaṛen", - "annual_report.summary.followers.total": "{count} deg aɣrud", "annual_report.summary.most_used_app.most_used_app": "asnas yettwasqedcen s waṭas", - "annual_report.summary.most_used_hashtag.none": "Ula yiwen", "annual_report.summary.new_posts.new_posts": "tisuffaɣ timaynutin", "annual_report.summary.percentile.we_wont_tell_bernie": "Ur as-neqqar i yiwen.", - "annual_report.summary.thanks": "Tanemmirt imi i tettekkiḍ deg Mastodon!", "audio.hide": "Ffer amesli", "block_modal.show_less": "Ssken-d drus", "block_modal.show_more": "Ssken-d ugar", diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json index 8e29c3fbee..7784f3d9e6 100644 --- a/app/javascript/mastodon/locales/kk.json +++ b/app/javascript/mastodon/locales/kk.json @@ -9,6 +9,7 @@ "about.domain_blocks.silenced.title": "Шектеулі", "about.domain_blocks.suspended.explanation": "Бұл сервердің деректері өңделмейді, сақталмайды және айырбасталмайды, сондықтан бұл сервердің қолданушыларымен кез келген әрекеттесу немесе байланыс мүмкін емес.", "about.domain_blocks.suspended.title": "Тоқтатылған", + "about.language_label": "Тіл", "about.not_available": "Бұл ақпарат бұл серверде қолжетімді емес.", "about.powered_by": "{mastodon} негізіндегі орталықсыз әлеуметтік желі", "about.rules": "Сервер ережелері", @@ -19,11 +20,13 @@ "account.block_domain": "{domain} доменін бұғаттау", "account.block_short": "Бұғаттау", "account.blocked": "Бұғатталған", + "account.blocking": "Бұғаттау", "account.cancel_follow_request": "Withdraw follow request", "account.direct": "@{name} жеке айту", "account.disable_notifications": "@{name} постары туралы ескертпеу", "account.domain_blocking": "Доменді бұғаттау", "account.edit_profile": "Профильді өңдеу", + "account.edit_profile_short": "Түзеу", "account.enable_notifications": "@{name} постары туралы ескерту", "account.endorse": "Профильде ұсыну", "account.familiar_followers_many": "{name1}, {name2} және {othersCount, plural, one {сіз білетін тағы бір адам} other {сіз білетін тағы # адам}} жазылған", @@ -91,7 +94,11 @@ "alert.rate_limited.title": "Бағалау шектеулі", "alert.unexpected.message": "Бір нәрсе дұрыс болмады.", "alert.unexpected.title": "Өй!", + "alt_text_badge.title": "Балама мазмұны", + "alt_text_modal.add_alt_text": "Балама мазмұнды қосу", + "alt_text_modal.done": "Дайын", "announcement.announcement": "Хабарландыру", + "annual_report.summary.close": "Жабу", "boost_modal.combo": "Келесіде өткізіп жіберу үшін басыңыз {combo}", "bundle_column_error.retry": "Қайтадан көріңіз", "bundle_modal_error.close": "Жабу", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index e3552abd2d..6dfb494886 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -113,25 +113,38 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "시각 장애가 있는 사람들을 위한 설명을 작성하세요…", "alt_text_modal.done": "완료", "announcement.announcement": "공지사항", - "annual_report.summary.archetype.booster": "연쇄부스트마", - "annual_report.summary.archetype.lurker": "은둔자", - "annual_report.summary.archetype.oracle": "예언자", - "annual_report.summary.archetype.pollster": "여론조사원", - "annual_report.summary.archetype.replier": "답글나비", - "annual_report.summary.followers.followers": "팔로워", - "annual_report.summary.followers.total": "총 {count}", - "annual_report.summary.here_it_is": "{year}년 결산입니다:", - "annual_report.summary.highlighted_post.by_favourites": "가장 많은 좋아요를 받은 게시물", - "annual_report.summary.highlighted_post.by_reblogs": "가장 많이 부스트된 게시물", - "annual_report.summary.highlighted_post.by_replies": "가장 많은 답글을 받은 게시물", - "annual_report.summary.highlighted_post.possessive": "{name} 님의", + "annual_report.announcement.action_build": "랩스토돈 만들기", + "annual_report.announcement.action_view": "랩스토돈 보기", + "annual_report.announcement.title": "{year} 랩스토돈이 도착했습니다", + "annual_report.summary.archetype.booster.desc_public": "{name} 님은 부스트할 게시물을 기다리고 정확한 조준으로 다른 제작자들을 밀어주었습니다.", + "annual_report.summary.archetype.booster.desc_self": "당신은 부스트할 게시물을 기다리고 정확한 조준으로 다른 제작자들을 밀어주었습니다.", + "annual_report.summary.archetype.booster.name": "궁수", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.name": "금욕주의자", + "annual_report.summary.archetype.oracle.desc_public": "{name} 님은 답글보다 새로운 글을 많이 작성해 마스토돈을 신선하고 미래지향적으로 만들었습니다.", + "annual_report.summary.archetype.oracle.desc_self": "당신은 답글보다 새로운 글을 많이 작성해 마스토돈을 신선하고 미래지향적으로 만들었습니다.", + "annual_report.summary.archetype.oracle.name": "예언자", + "annual_report.summary.archetype.pollster.desc_public": "{name} 님은 다른 게시물보다 투표를 많이 만들었고 마스토돈에서 호기심을 일궈냈습니다.", + "annual_report.summary.archetype.pollster.desc_self": "당신은 다른 게시물보다 투표를 많이 만들었고 마스토돈에서 호기심을 일궈냈습니다.", + "annual_report.summary.archetype.pollster.name": "호기심쟁이", + "annual_report.summary.archetype.replier.desc_public": "{name} 님은 다른 사람의 게시물에 자주 답글을 남겨 마스토돈에 새로운 논의거리를 만들어냈습니다.", + "annual_report.summary.archetype.replier.desc_self": "당신은 다른 사람의 게시물에 자주 답글을 남겨 마스토돈에 새로운 논의거리를 만들어냈습니다.", + "annual_report.summary.archetype.replier.name": "나비", + "annual_report.summary.archetype.reveal": "내 특성을 확인합니다", + "annual_report.summary.archetype.reveal_description": "마스토돈의 일원이 되어주셔서 감사합니다! {year} 년엔 어떤 특성을 부여받는지 알아봅시다.", + "annual_report.summary.archetype.title_public": "{name} 님의 특성", + "annual_report.summary.archetype.title_self": "당신의 특성", + "annual_report.summary.close": "닫기", + "annual_report.summary.highlighted_post.boost_count": "이 게시물은 {count, plural,other {# 번}} 부스트되었습니다.", + "annual_report.summary.highlighted_post.favourite_count": "이 게시물은 {count, plural,other {# 번}} 마음에 들었습니다.", + "annual_report.summary.highlighted_post.reply_count": "이 게시물은 {count, plural, other {# 개}}의 답글을 받았습니다.", + "annual_report.summary.highlighted_post.title": "가장 인기있는 게시물", "annual_report.summary.most_used_app.most_used_app": "가장 많이 사용한 앱", "annual_report.summary.most_used_hashtag.most_used_hashtag": "가장 많이 사용한 해시태그", - "annual_report.summary.most_used_hashtag.none": "없음", "annual_report.summary.new_posts.new_posts": "새 게시물", "annual_report.summary.percentile.text": "{domain} 사용자의 상위입니다.", "annual_report.summary.percentile.we_wont_tell_bernie": "종부세는 안 걷을게요", - "annual_report.summary.thanks": "마스토돈과 함께 해주셔서 감사합니다!", + "annual_report.summary.share_message": "나는 {archetype} 특성을 부여받았습니다!", "attachments_list.unprocessed": "(처리 안 됨)", "audio.hide": "소리 숨기기", "block_modal.remote_users_caveat": "우리는 {domain} 서버가 당신의 결정을 존중해 주길 부탁할 것입니다. 하지만 몇몇 서버는 차단을 다르게 취급할 수 있기 때문에 규정이 준수되는 것을 보장할 수는 없습니다. 공개 게시물은 로그인 하지 않은 사용자들에게 여전히 보여질 수 있습니다.", @@ -513,6 +526,7 @@ "keyboard_shortcuts.toggle_hidden": "CW로 가려진 텍스트를 표시/비표시", "keyboard_shortcuts.toggle_sensitivity": "미디어 보이기/숨기기", "keyboard_shortcuts.toot": "새 게시물 작성", + "keyboard_shortcuts.top": "목록의 최상단으로 이동", "keyboard_shortcuts.translate": "게시물 번역", "keyboard_shortcuts.unfocus": "작성창에서 포커스 해제", "keyboard_shortcuts.up": "리스트에서 위로 이동", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index f2efc7f3c6..778ff2684a 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -95,9 +95,6 @@ "alt_text_modal.change_thumbnail": "Wêneyê biçûk biguherîne", "alt_text_modal.done": "Qediya", "announcement.announcement": "Daxuyanî", - "annual_report.summary.followers.followers": "şopîner", - "annual_report.summary.followers.total": "{count} tevahî", - "annual_report.summary.most_used_hashtag.none": "Ne yek", "annual_report.summary.new_posts.new_posts": "şandiyên nû", "attachments_list.unprocessed": "(bêpêvajo)", "audio.hide": "Dengê veşêre", diff --git a/app/javascript/mastodon/locales/lad.json b/app/javascript/mastodon/locales/lad.json index 9e6f503983..4ba1450029 100644 --- a/app/javascript/mastodon/locales/lad.json +++ b/app/javascript/mastodon/locales/lad.json @@ -109,18 +109,9 @@ "alt_text_modal.change_thumbnail": "Troka minyatura", "alt_text_modal.done": "Fecho", "announcement.announcement": "Pregon", - "annual_report.summary.archetype.pollster": "El anketero", - "annual_report.summary.followers.followers": "suivantes", - "annual_report.summary.followers.total": "{count} en total", - "annual_report.summary.highlighted_post.by_favourites": "la puvlikasyon mas favoritada", - "annual_report.summary.highlighted_post.by_reblogs": "la puvlikasyon mas repartajada", - "annual_report.summary.highlighted_post.by_replies": "la puvlikasyon kon mas repuestas", - "annual_report.summary.highlighted_post.possessive": "de {name}", "annual_report.summary.most_used_app.most_used_app": "la aplikasyon mas uzada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "la etiketa mas uzada", - "annual_report.summary.most_used_hashtag.none": "Dinguno", "annual_report.summary.new_posts.new_posts": "puvlikasyones muevas", - "annual_report.summary.thanks": "Mersi por ser parte de Mastodon!", "attachments_list.unprocessed": "(no prosesado)", "audio.hide": "Eskonde audio", "block_modal.show_less": "Amostra manko", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index f9edb7bfb5..f6da5eb632 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -117,26 +117,12 @@ "annual_report.announcement.action_view": "Peržiūrėti mano Wrapstodon", "annual_report.announcement.description": "Sužinokite daugiau apie savo aktyvumą Mastodon\"e per pastaruosius metus.", "annual_report.announcement.title": "Wrapstodon {year} jau čia", - "annual_report.summary.archetype.booster": "Šaunus medžiotojas", - "annual_report.summary.archetype.lurker": "Stebėtojas", - "annual_report.summary.archetype.oracle": "Vydūnas", - "annual_report.summary.archetype.pollster": "Apklausos rengėjas", - "annual_report.summary.archetype.replier": "Socialinis drugelis", - "annual_report.summary.followers.followers": "sekėjai (-ų)", - "annual_report.summary.followers.total": "iš viso {count}", - "annual_report.summary.here_it_is": "Štai jūsų {year} apžvalga:", - "annual_report.summary.highlighted_post.by_favourites": "labiausiai pamėgtas įrašas", - "annual_report.summary.highlighted_post.by_reblogs": "labiausiai pasidalintas įrašas", - "annual_report.summary.highlighted_post.by_replies": "įrašas su daugiausiai atsakymų", - "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "labiausiai naudota programa", "annual_report.summary.most_used_hashtag.most_used_hashtag": "labiausiai naudota grotažymė", - "annual_report.summary.most_used_hashtag.none": "Nieko", "annual_report.summary.new_posts.new_posts": "nauji įrašai", "annual_report.summary.percentile.text": "Tai reiškia, kad esate tarppopuliariausių {domain} naudotojų.", "annual_report.summary.percentile.we_wont_tell_bernie": "Mes nesakysime Bernie.", "annual_report.summary.share_message": "Aš gavau „{archetype}“!", - "annual_report.summary.thanks": "Dėkojame, kad esate „Mastodon“ dalis!", "attachments_list.unprocessed": "(neapdorotas)", "audio.hide": "Slėpti garsą", "block_modal.remote_users_caveat": "Paprašysime serverio {domain} gerbti tavo sprendimą. Tačiau atitiktis negarantuojama, nes kai kurie serveriai gali skirtingai tvarkyti blokavimus. Vieši įrašai vis tiek gali būti matomi neprisijungusiems naudotojams.", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index eeda75d85d..260b4486b8 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -113,23 +113,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Aprakstīt šo cilvēkiem ar redzes traucējumiem…", "alt_text_modal.done": "Gatavs", "announcement.announcement": "Paziņojums", - "annual_report.summary.archetype.lurker": "Glūņa", - "annual_report.summary.archetype.oracle": "Orākuls", - "annual_report.summary.archetype.replier": "Sabiedriskais tauriņš", - "annual_report.summary.followers.followers": "sekotāji", - "annual_report.summary.followers.total": "pavisam {count}", - "annual_report.summary.here_it_is": "Šeit ir {year}. gada pārskats:", - "annual_report.summary.highlighted_post.by_favourites": "izlasēm visvairāk pievienotais ieraksts", - "annual_report.summary.highlighted_post.by_reblogs": "vispastiprinātākais ieraksts", - "annual_report.summary.highlighted_post.by_replies": "ieraksts ar vislielāko atbilžu skaitu", - "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "visizmantotākā lietotne", "annual_report.summary.most_used_hashtag.most_used_hashtag": "visizmantotākais tēmturis", - "annual_report.summary.most_used_hashtag.none": "Nav", "annual_report.summary.new_posts.new_posts": "jauni ieraksti", "annual_report.summary.percentile.text": "Tas ievieto Tevi virsējosno {domain} lietotājiem.", "annual_report.summary.percentile.we_wont_tell_bernie": "Mēs neteiksim Bērnijam.", - "annual_report.summary.thanks": "Paldies, ka esi daļa no Mastodon!", "attachments_list.unprocessed": "(neapstrādāti)", "audio.hide": "Slēpt audio", "block_modal.remote_users_caveat": "Mēs lūgsim serverim {domain} ņemt vērā Tavu lēmumu. Tomēr sadarbība nav garantēta, jo atsevišķi serveri bloķēšanu var apstrādāt citādi. Publiski ieraksti, iespējams, joprojām būs redzami lietotājiem, kuri nav pieteikušies.", @@ -244,7 +232,9 @@ "confirmations.missing_alt_text.title": "Pievienot aprakstošo tekstu?", "confirmations.mute.confirm": "Apklusināt", "confirmations.private_quote_notify.cancel": "Atgriezties pie labošanas", + "confirmations.private_quote_notify.confirm": "Publicēt ierakstu", "confirmations.private_quote_notify.do_not_show_again": "Nerādīt vairāk šo paziņojumu", + "confirmations.private_quote_notify.title": "Dalīties ar sekotājiem un pieminētajiem lietotājiem?", "confirmations.quiet_post_quote_info.got_it": "Sapratu", "confirmations.redraft.confirm": "Dzēst un pārrakstīt", "confirmations.redraft.message": "Vai tiešām vēlies izdzēst šo ierakstu un veidot jaunu tā uzmetumu? Pievienošana izlasēs un pastiprinājumi tiks zaudēti, un sākotnējā ieraksta atbildes paliks bez saiknes ar to.", @@ -423,6 +413,9 @@ "home.pending_critical_update.title": "Ir pieejams būtisks drošības atjauninājums.", "home.show_announcements": "Rādīt paziņojumus", "ignore_notifications_modal.ignore": "Neņemt vērā paziņojumus", + "ignore_notifications_modal.limited_accounts_title": "Neņemt vērā paziņojumus no moderētiem kontiem?", + "ignore_notifications_modal.new_accounts_title": "Neņemt vērā paziņojumus no jauniem kontiem?", + "ignore_notifications_modal.not_followers_title": "Neņemt vērā paziņojumus no cilvēkiem, kas tev neseko?", "ignore_notifications_modal.not_following_title": "Neņemt vērā paziņojumus no cilvēkiem, kuriem neseko?", "info_button.label": "Palīdzība", "interaction_modal.go": "Aiziet", @@ -457,6 +450,7 @@ "keyboard_shortcuts.open_media": "Atvērt multividi", "keyboard_shortcuts.pinned": "Atvērt piesprausto ierakstu sarakstu", "keyboard_shortcuts.profile": "Atvērt autora profilu", + "keyboard_shortcuts.quote": "Citēt ierakstu", "keyboard_shortcuts.reply": "Atbildēt", "keyboard_shortcuts.requests": "Atvērt sekošanas pieprasījumu sarakstu", "keyboard_shortcuts.search": "Fokusēt meklēšanas joslu", diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json index 46011b09a8..71013cf3e6 100644 --- a/app/javascript/mastodon/locales/ms.json +++ b/app/javascript/mastodon/locales/ms.json @@ -94,25 +94,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Terangkan untuk OKU penglihatan…", "alt_text_modal.done": "Selesai", "announcement.announcement": "Pengumuman", - "annual_report.summary.archetype.booster": "Si pencapap", - "annual_report.summary.archetype.lurker": "Si penghendap", - "annual_report.summary.archetype.oracle": "Si penilik", - "annual_report.summary.archetype.pollster": "Si peninjau", - "annual_report.summary.archetype.replier": "Si peramah", - "annual_report.summary.followers.followers": "pengikut", - "annual_report.summary.followers.total": "sebanyak {count}", - "annual_report.summary.here_it_is": "Ini ulasan {year} anda:", - "annual_report.summary.highlighted_post.by_favourites": "hantaran paling disukai ramai", - "annual_report.summary.highlighted_post.by_reblogs": "hantaran paling digalak ramai", - "annual_report.summary.highlighted_post.by_replies": "hantaran paling dibalas ramai", - "annual_report.summary.highlighted_post.possessive": "oleh", "annual_report.summary.most_used_app.most_used_app": "aplikasi paling banyak digunakan", "annual_report.summary.most_used_hashtag.most_used_hashtag": "tanda pagar paling banyak digunakan", - "annual_report.summary.most_used_hashtag.none": "Tiada", "annual_report.summary.new_posts.new_posts": "hantaran baharu", "annual_report.summary.percentile.text": "Anda berkedudukan pengguna {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Rahsia anda selamat bersama kami. ;)", - "annual_report.summary.thanks": "Terima kasih kerana setia bersama Mastodon!", "attachments_list.unprocessed": "(belum diproses)", "audio.hide": "Sembunyikan audio", "block_modal.remote_users_caveat": "Kami akan meminta pelayan {domain} untuk menghormati keputusan anda. Bagaimanapun, pematuhan tidak dijamin kerana ada pelayan yang mungkin menangani sekatan dengan cara berbeza. Hantaran awam mungkin masih tampak kepada pengguna yang tidak log masuk.", diff --git a/app/javascript/mastodon/locales/nan.json b/app/javascript/mastodon/locales/nan.json index 9f5e53ef24..366f568f0a 100644 --- a/app/javascript/mastodon/locales/nan.json +++ b/app/javascript/mastodon/locales/nan.json @@ -114,29 +114,50 @@ "alt_text_modal.done": "做好ah", "announcement.announcement": "公告", "annual_report.announcement.action_build": "建立我ê Wrapstodon", + "annual_report.announcement.action_dismiss": "毋免,多謝。", "annual_report.announcement.action_view": "看我ê Wrapstodon", "annual_report.announcement.description": "發現其他關係lí佇最近tsi̍t年參與Mastodon ê狀況。", "annual_report.announcement.title": "Wrapstodon {year} 已經kàu ah", - "annual_report.summary.archetype.booster": "追求趣味ê", - "annual_report.summary.archetype.lurker": "有讀無PO ê", - "annual_report.summary.archetype.oracle": "先知", - "annual_report.summary.archetype.pollster": "愛發動投票ê", - "annual_report.summary.archetype.replier": "社交ê蝴蝶", - "annual_report.summary.followers.followers": "跟tuè lí ê", - "annual_report.summary.followers.total": "Lóng總有 {count} ê", - "annual_report.summary.here_it_is": "下kha是lí {year} 年ê回顧:", - "annual_report.summary.highlighted_post.by_favourites": "Hōo足tsē lâng收藏ê PO文", - "annual_report.summary.highlighted_post.by_reblogs": "Hōo足tsē lâng轉ê PO文", - "annual_report.summary.highlighted_post.by_replies": "有上tsē回應ê PO文", - "annual_report.summary.highlighted_post.possessive": "{name} ê", + "annual_report.nav_item.badge": "新ê", + "annual_report.shared_page.donate": "寄付", + "annual_report.shared_page.footer": "由 Mastodon 團隊用 {heart} 產生", + "annual_report.summary.archetype.booster.desc_public": "{name} 不斷走tshuē通轉送 ê PO文,靠完美ê對千,放大其他ê創作者。", + "annual_report.summary.archetype.booster.desc_self": " Lí不斷走tshuē通轉送 ê PO文,靠完美ê對千,放大其他ê創作者。", + "annual_report.summary.archetype.booster.name": "射手", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Guán知 {name} 捌佇某物所在,用伊恬靜ê方法享受Mastodon。", + "annual_report.summary.archetype.lurker.desc_self": "Guán知lí捌佇某物所在,用li恬靜ê方法享受Mastodon。", + "annual_report.summary.archetype.lurker.name": "Stoic主義者", + "annual_report.summary.archetype.oracle.desc_public": "{name} 發表ê新ê PO文較tsē回應,保持 Mastodon tshinn-tshioh kap面對未來。", + "annual_report.summary.archetype.oracle.desc_self": "Lí發表ê新ê PO文較tsē回應,保持 Mastodon tshinn-tshioh kap面對未來。", + "annual_report.summary.archetype.oracle.name": "先知", + "annual_report.summary.archetype.pollster.desc_public": "{name} 建立投票較tsē其他PO文類型,佇Mastodon培養好奇。", + "annual_report.summary.archetype.pollster.desc_self": "Lí建立投票較tsē其他PO文類型,佇Mastodon培養好奇。", + "annual_report.summary.archetype.pollster.name": "思考者", + "annual_report.summary.archetype.replier.desc_public": "{name} 定定應別lâng ê PO文,用新ê討論kā Mastodon授粉。", + "annual_report.summary.archetype.replier.desc_self": "You 定定應別lâng ê PO文,用新ê討論kā Mastodon授粉。", + "annual_report.summary.archetype.replier.name": "Ia̍h仔", + "annual_report.summary.archetype.reveal": "顯露我ê原形", + "annual_report.summary.archetype.reveal_description": "感謝lí成做Mastodon ê一部份!Tsit-má tshuē出lí佇 {year} 年表現ê原形。", + "annual_report.summary.archetype.title_public": "{name} ê原形", + "annual_report.summary.archetype.title_self": "Lí ê原形", + "annual_report.summary.close": "關", + "annual_report.summary.copy_link": "Khóo-pih連結", + "annual_report.summary.followers.new_followers": "{count, plural, other {新ê跟tuè ê}}", + "annual_report.summary.highlighted_post.boost_count": "Tsit篇PO文予lâng轉送 {count, plural, other {# kái}}。", + "annual_report.summary.highlighted_post.favourite_count": "Tsit篇PO文予lâng收藏 {count, plural, other {# kái}}。", + "annual_report.summary.highlighted_post.reply_count": "Tsit篇PO文得著 {count, plural, other {# 篇回應}}。", + "annual_report.summary.highlighted_post.title": "上hang ê PO文", "annual_report.summary.most_used_app.most_used_app": "上tsē lâng用ê app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "上tsia̍p用ê hashtag", - "annual_report.summary.most_used_hashtag.none": "無", + "annual_report.summary.most_used_hashtag.used_count": "Lí佇{count, plural, other { # 篇PO文}}內包含tsit ê hashtag。", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} 佇{count, plural, other { # 篇PO文}}內包含tsit ê hashtag。", "annual_report.summary.new_posts.new_posts": "新ê PO文", "annual_report.summary.percentile.text": "Tse 予lí變做 {domain} ê用戶ê ", "annual_report.summary.percentile.we_wont_tell_bernie": "Gún bē kā Bernie講。", + "annual_report.summary.share_elsewhere": "分享kàu別位", "annual_report.summary.share_message": "我得著 {archetype} ê典型!", - "annual_report.summary.thanks": "多謝成做Mastodon ê成員!", + "annual_report.summary.share_on_mastodon": "佇Mastodon分享", "attachments_list.unprocessed": "(Iáu bē處理)", "audio.hide": "Tshàng聲音", "block_modal.remote_users_caveat": "Guán ē要求服侍器 {domain} 尊重lí ê決定。但是bô法度保證ta̍k ê服侍器lóng遵守,因為tsi̍t-kuá服侍器huân-sè用別款方法處理封鎖。公開ê PO文可能iáu是ē hōo bô登入ê用者看著。", diff --git a/app/javascript/mastodon/locales/ne.json b/app/javascript/mastodon/locales/ne.json index 5b6b099486..2d861e470b 100644 --- a/app/javascript/mastodon/locales/ne.json +++ b/app/javascript/mastodon/locales/ne.json @@ -77,8 +77,6 @@ "alert.unexpected.message": "एउटा अनपेक्षित त्रुटि भयो।", "alt_text_modal.cancel": "रद्द गर्नुहोस्", "announcement.announcement": "घोषणा", - "annual_report.summary.followers.followers": "फलोअरहरु", - "annual_report.summary.highlighted_post.by_reblogs": "सबैभन्दा बढि बूस्ट गरिएको पोस्ट", "annual_report.summary.new_posts.new_posts": "नयाँ पोस्टहरू", "block_modal.remote_users_caveat": "हामी सर्भर {domain} लाई तपाईंको निर्णयको सम्मान गर्न सोध्नेछौं। तर, हामी अनुपालनको ग्यारेन्टी दिन सक्दैनौं किनभने केही सर्भरहरूले ब्लकहरू फरक रूपमा ह्यान्डल गर्न सक्छन्। सार्वजनिक पोस्टहरू लग इन नभएका प्रयोगकर्ताहरूले देख्न सक्छन्।", "block_modal.show_less": "कम देखाउनुहोस्", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index 28406163ba..792f6afd1d 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -114,29 +114,51 @@ "alt_text_modal.done": "Klaar", "announcement.announcement": "Mededeling", "annual_report.announcement.action_build": "Bouw mijn Wrapstodon", + "annual_report.announcement.action_dismiss": "Nee, bedankt", "annual_report.announcement.action_view": "Bekijk mijn Wrapstodon", "annual_report.announcement.description": "Ontdek meer over jouw engagement op Mastodon over het afgelopen jaar.", "annual_report.announcement.title": "Wrapstodon {year} is gearriveerd", - "annual_report.summary.archetype.booster": "De cool-hunter", - "annual_report.summary.archetype.lurker": "De lurker", - "annual_report.summary.archetype.oracle": "Het orakel", - "annual_report.summary.archetype.pollster": "De opiniepeiler", - "annual_report.summary.archetype.replier": "De sociale vlinder", - "annual_report.summary.followers.followers": "volgers", - "annual_report.summary.followers.total": "totaal {count}", - "annual_report.summary.here_it_is": "Hier is jouw terugblik op {year}:", - "annual_report.summary.highlighted_post.by_favourites": "bericht met de meeste favorieten", - "annual_report.summary.highlighted_post.by_reblogs": "bericht met de meeste boosts", - "annual_report.summary.highlighted_post.by_replies": "bericht met de meeste reacties", - "annual_report.summary.highlighted_post.possessive": "{name}'s", + "annual_report.nav_item.badge": "Nieuw", + "annual_report.shared_page.donate": "Doneren", + "annual_report.shared_page.footer": "Met {heart} gegenereerd door het Mastodonteam", + "annual_report.shared_page.footer_server_info": "{username} gebruikt {domain}, een van de vele door Mastodon mogelijk gemaakte gemeenschappen.", + "annual_report.summary.archetype.booster.desc_public": "{name} bleef op jacht naar berichten om te kunnen boosten, waardoor het geluid van andere gebruikers werd versterkt.", + "annual_report.summary.archetype.booster.desc_self": "Jij bleef op jacht naar berichten om te kunnen boosten, waardoor je het geluid van andere gebruikers versterkte.", + "annual_report.summary.archetype.booster.name": "De Boogschutter", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "We weten dat {name} ergens in stilte van Mastodon aan het genieten was.", + "annual_report.summary.archetype.lurker.desc_self": "We weten dat je ergens in stilte van Mastodon aan het genieten was.", + "annual_report.summary.archetype.lurker.name": "De Stoïcijn", + "annual_report.summary.archetype.oracle.desc_public": "{name} heeft meer nieuwe berichten dan reacties geplaatst, waardoor Mastodon fris en toekomstgericht blijft.", + "annual_report.summary.archetype.oracle.desc_self": "Je hebt meer nieuwe berichten dan reacties geplaatst, waardoor Mastodon fris en toekomstgericht blijft.", + "annual_report.summary.archetype.oracle.name": "Het Orakel", + "annual_report.summary.archetype.pollster.desc_public": "{name} heeft meer polls aangemaakt dan andere soorten berichten, en daarmee de nieuwsgierigheid op Mastodon gecultiveerd.", + "annual_report.summary.archetype.pollster.desc_self": "Je hebt meer polls aangemaakt dan andere soorten berichten, en daarmee de nieuwsgierigheid op Mastodon gecultiveerd.", + "annual_report.summary.archetype.pollster.name": "De Dromer", + "annual_report.summary.archetype.replier.desc_public": "{name} reageerde regelmatig op berichten van andere mensen, waardoor nieuwe discussies op Mastodon tot bloei kwamen.", + "annual_report.summary.archetype.replier.desc_self": "Je reageerde regelmatig op berichten van andere mensen, waardoor nieuwe discussies op Mastodon tot bloei kwamen.", + "annual_report.summary.archetype.replier.name": "De Vlinder", + "annual_report.summary.archetype.reveal": "Onthul mijn archetype", + "annual_report.summary.archetype.reveal_description": "Bedankt dat je deel uitmaakt van Mastodon! Tijd om te ontdekken welk archetype je in {year} belichaamde.", + "annual_report.summary.archetype.title_public": "Het archetype van {name}", + "annual_report.summary.archetype.title_self": "Jouw archetype", + "annual_report.summary.close": "Sluiten", + "annual_report.summary.copy_link": "Link kopiëren", + "annual_report.summary.followers.new_followers": "{count, plural, one {nieuwe volger} other {nieuwe volgers}}", + "annual_report.summary.highlighted_post.boost_count": "Dit bericht is {count, plural, one {één keer} other {# keer}} geboost.", + "annual_report.summary.highlighted_post.favourite_count": "Dit bericht is {count, plural, one {één keer} other {# keer}} als favoriet gemarkeerd.", + "annual_report.summary.highlighted_post.reply_count": "Dit bericht heeft {count, plural, one {één reactie} other {# reacties}}.", + "annual_report.summary.highlighted_post.title": "Meest populaire berichten", "annual_report.summary.most_used_app.most_used_app": "meest gebruikte app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "meest gebruikte hashtag", - "annual_report.summary.most_used_hashtag.none": "Geen", + "annual_report.summary.most_used_hashtag.used_count": "Je hebt deze hashtag in {count, plural, one{één bericht} other {# berichten}} gebruikt.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} heeft deze hashtag in {count, plural, one {één bericht} other {# berichten}} gebruikt.", "annual_report.summary.new_posts.new_posts": "nieuwe berichten", "annual_report.summary.percentile.text": "Hiermee behoor je tot de top van {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "We zullen Bernie niets vertellen.", + "annual_report.summary.share_elsewhere": "Ergens anders delen", "annual_report.summary.share_message": "Ik heb het archetype {archetype}!", - "annual_report.summary.thanks": "Bedankt dat je deel uitmaakt van Mastodon!", + "annual_report.summary.share_on_mastodon": "Op Mastodon delen", "attachments_list.unprocessed": "(niet verwerkt)", "audio.hide": "Audio verbergen", "block_modal.remote_users_caveat": "We vragen de server {domain} om je besluit te respecteren. Het naleven hiervan is echter niet gegarandeerd, omdat sommige servers blokkades anders kunnen interpreteren. Openbare berichten zijn mogelijk nog steeds zichtbaar voor niet-ingelogde gebruikers.", @@ -419,6 +441,8 @@ "follow_suggestions.who_to_follow": "Wie te volgen", "followed_tags": "Gevolgde hashtags", "footer.about": "Over", + "footer.about_mastodon": "Over Mastodon", + "footer.about_server": "Over {domain}", "footer.about_this_server": "Over", "footer.directory": "Gebruikersgids", "footer.get_app": "App downloaden", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index 6180bd4c65..7ab269682b 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -117,25 +117,11 @@ "annual_report.announcement.action_view": "Sjå min Årstodon", "annual_report.announcement.description": "Sjå meir om kva du har gjort på Mastodon siste året.", "annual_report.announcement.title": "Årstodon {year} er her", - "annual_report.summary.archetype.booster": "Den som jaktar på noko kult", - "annual_report.summary.archetype.lurker": "Den som heng på hjørnet", - "annual_report.summary.archetype.oracle": "Orakelet", - "annual_report.summary.archetype.pollster": "Meiningsmålaren", - "annual_report.summary.archetype.replier": "Den sosiale sumarfuglen", - "annual_report.summary.followers.followers": "fylgjarar", - "annual_report.summary.followers.total": "{count} i alt", - "annual_report.summary.here_it_is": "Her er eit gjensyn med {year}:", - "annual_report.summary.highlighted_post.by_favourites": "det mest omtykte innlegget", - "annual_report.summary.highlighted_post.by_reblogs": "det mest framheva innlegget", - "annual_report.summary.highlighted_post.by_replies": "innlegget med flest svar", - "annual_report.summary.highlighted_post.possessive": "som {name} laga", "annual_report.summary.most_used_app.most_used_app": "mest brukte app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest brukte emneknagg", - "annual_report.summary.most_used_hashtag.none": "Ingen", "annual_report.summary.new_posts.new_posts": "nye innlegg", "annual_report.summary.percentile.text": "Du er av deiivrigaste brukarane på {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Ikkje eit ord til pressa.", - "annual_report.summary.thanks": "Takk for at du er med i Mastodon!", "attachments_list.unprocessed": "(ubehandla)", "audio.hide": "Gøym lyd", "block_modal.remote_users_caveat": "Me vil be tenaren {domain} om å respektera di avgjerd. Me kan ikkje garantera at det vert gjort, sidan nokre tenarar kan handtera blokkering ulikt. Offentlege innlegg kan framleis vera synlege for ikkje-innlogga brukarar.", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index 8cb67c97b0..8a2ce940ea 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -107,25 +107,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Beskriv dette for folk med synsproblemer…", "alt_text_modal.done": "Ferdig", "announcement.announcement": "Kunngjøring", - "annual_report.summary.archetype.booster": "Den iskalde jeger", - "annual_report.summary.archetype.lurker": "Det snikende ullteppe", - "annual_report.summary.archetype.oracle": "Allviteren", - "annual_report.summary.archetype.pollster": "Meningsmåleren", - "annual_report.summary.archetype.replier": "Festens midtpunkt", - "annual_report.summary.followers.followers": "følgere", - "annual_report.summary.followers.total": "{count} tilsammen", - "annual_report.summary.here_it_is": "Her er ditt {year} ditt sett sammlet:", - "annual_report.summary.highlighted_post.by_favourites": "mest likte innlegg", - "annual_report.summary.highlighted_post.by_reblogs": "mest opphøyde innlegg", - "annual_report.summary.highlighted_post.by_replies": "innlegg med de fleste tilbakemeldinger", - "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "mest brukte applikasjoner", "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest brukte evne knagg", - "annual_report.summary.most_used_hashtag.none": "Ingen", "annual_report.summary.new_posts.new_posts": "nye innlegg", "annual_report.summary.percentile.text": "Det gjør at du er i toppav brukere på {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Vi skal ikke si noe til Bernie.", - "annual_report.summary.thanks": "Takk for at du er med på Mastodon!", "attachments_list.unprocessed": "(ubehandlet)", "audio.hide": "Skjul lyd", "block_modal.remote_users_caveat": "Vi vil be serveren {domain} om å respektere din beslutning. Det er imidlertid ingen garanti at det blir overholdt, siden noen servere kan håndtere blokkeringer på forskjellig vis. Offentlige innlegg kan fortsatt være synlige for ikke-innloggede brukere.", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index 549203306b..d1d8daa211 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -91,8 +91,6 @@ "alt_text_modal.change_thumbnail": "Cambiar de miniatura", "alt_text_modal.done": "Acabat", "announcement.announcement": "Anóncia", - "annual_report.summary.followers.followers": "seguidors", - "annual_report.summary.followers.total": "{count} en total", "attachments_list.unprocessed": "(pas tractat)", "audio.hide": "Amagar àudio", "block_modal.show_less": "Ne veire mens", diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json index 5d49bfa40a..3f519d8c09 100644 --- a/app/javascript/mastodon/locales/pa.json +++ b/app/javascript/mastodon/locales/pa.json @@ -85,16 +85,8 @@ "alt_text_modal.cancel": "ਰੱਦ ਕਰੋ", "alt_text_modal.done": "ਮੁਕੰਮਲ", "announcement.announcement": "ਹੋਕਾ", - "annual_report.summary.followers.followers": "ਫ਼ਾਲੋਅਰ", - "annual_report.summary.followers.total": "{count} ਕੁੱਲ", - "annual_report.summary.highlighted_post.by_favourites": "ਸਭ ਤੋਂ ਵੱਧ ਪਸੰਦ ਕੀਤੀ ਪੋਸਟ", - "annual_report.summary.highlighted_post.by_reblogs": "ਸਭ ਤੋਂ ਵੱਧ ਬੂਸਟ ਕੀਤੀ ਪੋਸਟ", - "annual_report.summary.highlighted_post.by_replies": "ਸਭ ਤੋਂ ਵੱਧ ਜਵਾਬ ਦਿੱਤੀ ਗਈ ਪੋਸਟ", - "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "ਸਭ ਤੋਂ ਵੱਧ ਵਰਤੀ ਐਪ", - "annual_report.summary.most_used_hashtag.none": "ਕੋਈ ਨਹੀਂ", "annual_report.summary.new_posts.new_posts": "ਨਵੀਆਂ ਪੋਸਟਾਂ", - "annual_report.summary.thanks": "Mastodon ਦਾ ਹਿੱਸਾ ਬਣਨ ਵਾਸਤੇ ਧੰਨਵਾਦ ਹੈ!", "audio.hide": "ਆਡੀਓ ਨੂੰ ਲੁਕਾਓ", "block_modal.show_less": "ਘੱਟ ਦਿਖਾਓ", "block_modal.show_more": "ਵੱਧ ਦਿਖਾਓ", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 8f2d33c5fa..a6fd027f7a 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -113,25 +113,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Opisz to dla osób niedowidzących…", "alt_text_modal.done": "Gotowe", "announcement.announcement": "Ogłoszenie", - "annual_report.summary.archetype.booster": "Łowca treści", - "annual_report.summary.archetype.lurker": "Czyhający", - "annual_report.summary.archetype.oracle": "Wyrocznia", - "annual_report.summary.archetype.pollster": "Ankieter", - "annual_report.summary.archetype.replier": "Towarzyski motyl", - "annual_report.summary.followers.followers": "obserwujących", - "annual_report.summary.followers.total": "łącznie {count}", - "annual_report.summary.here_it_is": "Oto przegląd twojego {year} roku:", - "annual_report.summary.highlighted_post.by_favourites": "najbardziej lubiany wpis", - "annual_report.summary.highlighted_post.by_reblogs": "najczęściej podbijany wpis", - "annual_report.summary.highlighted_post.by_replies": "wpis z największą liczbą komentarzy", - "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "najczęściej używana aplikacja", "annual_report.summary.most_used_hashtag.most_used_hashtag": "najczęściej używany hashtag", - "annual_report.summary.most_used_hashtag.none": "Brak", "annual_report.summary.new_posts.new_posts": "nowe wpisy", "annual_report.summary.percentile.text": "To plasuje cię w czołówce użytkowników {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Nie powiemy Berniemu.", - "annual_report.summary.thanks": "Dziękujemy, że jesteś częścią Mastodona!", "attachments_list.unprocessed": "(nieprzetworzone)", "audio.hide": "Ukryj dźwięk", "block_modal.remote_users_caveat": "Poprosimy serwer {domain} o uszanowanie twojej decyzji. Nie jest to jednak gwarantowane, bo niektóre serwery mogą obsługiwać blokady w inny sposób. Publiczne wpisy mogą być nadal widoczne dla niezalogowanych użytkowników.", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 158da029d7..cb5c702888 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -11,7 +11,7 @@ "about.domain_blocks.suspended.title": "Suspenso", "about.language_label": "Idioma", "about.not_available": "Esta informação não foi disponibilizada neste servidor.", - "about.powered_by": "Redes sociais descentralizadas alimentadas por {mastodon}", + "about.powered_by": "Rede social descentralizada baseada no {mastodon}", "about.rules": "Regras do servidor", "account.account_note_header": "Nota pessoal", "account.add_or_remove_from_list": "Adicionar ou remover de listas", @@ -55,8 +55,8 @@ "account.follows.empty": "Nada aqui.", "account.follows_you": "Segue você", "account.go_to_profile": "Ir ao perfil", - "account.hide_reblogs": "Ocultar impulsionamentos de @{name}", - "account.in_memoriam": "Em memória.", + "account.hide_reblogs": "Ocultar impulsos de @{name}", + "account.in_memoriam": "In Memoriam.", "account.joined_short": "Entrou", "account.languages": "Mudar idiomas inscritos", "account.link_verified_on": "A propriedade deste link foi verificada em {date}", @@ -79,7 +79,7 @@ "account.requested_follow": "{name} quer te seguir", "account.requests_to_follow_you": "Pediu para seguir você", "account.share": "Compartilhar perfil de @{name}", - "account.show_reblogs": "Mostrar impulsionamentos de @{name}", + "account.show_reblogs": "Mostrar impulsos de @{name}", "account.statuses_counter": "{count, plural, one {{counter} publicação} other {{counter} publicações}}", "account.unblock": "Desbloquear @{name}", "account.unblock_domain": "Desbloquear domínio {domain}", @@ -106,36 +106,58 @@ "alert.unexpected.title": "Eita!", "alt_text_badge.title": "Texto alternativo", "alt_text_modal.add_alt_text": "Adicione texto alternativo", - "alt_text_modal.add_text_from_image": "Adicione texto da imagem", + "alt_text_modal.add_text_from_image": "Adicione texto a partir da imagem", "alt_text_modal.cancel": "Cancelar", "alt_text_modal.change_thumbnail": "Alterar miniatura", - "alt_text_modal.describe_for_people_with_hearing_impairments": "Descreva isso para pessoas com deficiências auditivas…", + "alt_text_modal.describe_for_people_with_hearing_impairments": "Descreva isto para pessoas com deficiências auditivas…", "alt_text_modal.describe_for_people_with_visual_impairments": "Descreva isto para pessoas com deficiências visuais…", "alt_text_modal.done": "Feito", "announcement.announcement": "Comunicados", "annual_report.announcement.action_build": "Gerar meu Wrapstodon", + "annual_report.announcement.action_dismiss": "Não, obrigado/a", "annual_report.announcement.action_view": "Ver meu Wrapstodon", "annual_report.announcement.description": "Descubra mais sobre seu engajamento no Mastodon ao longo do último ano.", "annual_report.announcement.title": "Chegou o Wrapstodon de {year}", - "annual_report.summary.archetype.booster": "Caçador legal", - "annual_report.summary.archetype.lurker": "O espreitador", - "annual_report.summary.archetype.oracle": "O oráculo", - "annual_report.summary.archetype.pollster": "O pesquisador", - "annual_report.summary.archetype.replier": "A borboleta social", - "annual_report.summary.followers.followers": "seguidores", - "annual_report.summary.followers.total": "{count} total", - "annual_report.summary.here_it_is": "Aqui está seu {year} em retrospectiva:", - "annual_report.summary.highlighted_post.by_favourites": "publicação mais favoritada", - "annual_report.summary.highlighted_post.by_reblogs": "publicação mais impulsionada", - "annual_report.summary.highlighted_post.by_replies": "publicação com mais respostas", - "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.nav_item.badge": "Novo", + "annual_report.shared_page.donate": "Doe", + "annual_report.shared_page.footer": "Criado com {heart} pela equipe do Mastodon", + "annual_report.summary.archetype.booster.desc_public": "{name} se manteve na caça por publicações para impulsionar, amplificando outros criadores com uma mira perfeita.", + "annual_report.summary.archetype.booster.desc_self": "Você se manteve na caça por publicações para impulsionar, amplificando outros criadores com uma mira perfeita.", + "annual_report.summary.archetype.booster.name": "O Arqueiro", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Sabemos que {name} esteve por aí, em algum lugar, aproveitando o Mastodon do seu próprio jeito silencioso.", + "annual_report.summary.archetype.lurker.desc_self": "Sabemos que você esteve por aí, em algum lugar, aproveitando o Mastodon do seu próprio jeito silencioso.", + "annual_report.summary.archetype.lurker.name": "O Estoico", + "annual_report.summary.archetype.oracle.desc_public": "{name} criou mais publicações novas que respostas, mantendo o Mastodon fresco e em direção ao futuro.", + "annual_report.summary.archetype.oracle.desc_self": "Você criou mais publicações novas que respostas, mantendo o Mastodon fresco e em direção ao futuro.", + "annual_report.summary.archetype.oracle.name": "O Oráculo", + "annual_report.summary.archetype.pollster.desc_public": "{name} criou mais enquetes que quaisquer outros tipos de publicações, cultivando curiosidade no Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Você criou mais enquetes que quaisquer outros tipos de publicações, cultivando curiosidade no Mastodon.", + "annual_report.summary.archetype.pollster.name": "O Questionador", + "annual_report.summary.archetype.replier.desc_public": "{name} frequentemente respondeu às publicações de outras pessoas, polinizando o Mastodon com novas discussões.", + "annual_report.summary.archetype.replier.desc_self": "Você frequentemente respondeu às publicações de outras pessoas, polinizando o Mastodon com novas discussões.", + "annual_report.summary.archetype.replier.name": "A Borboleta", + "annual_report.summary.archetype.reveal": "Revele meu arquétipo", + "annual_report.summary.archetype.reveal_description": "Obrigado por ser parte do Mastodon! Está na hora de descobrir qual arquétipo você incorporou em {year}.", + "annual_report.summary.archetype.title_public": "Arquétipo de {name}", + "annual_report.summary.archetype.title_self": "Seu arquétipo", + "annual_report.summary.close": "Fechar", + "annual_report.summary.copy_link": "Copiar link", + "annual_report.summary.followers.new_followers": "{count, plural, one {novo(a) seguidor(a)} other {novos seguidores}}", + "annual_report.summary.highlighted_post.boost_count": "Esta publicação foi impulsionada {count, plural, one {uma vez} other {# vezes}}.", + "annual_report.summary.highlighted_post.favourite_count": "Esta publicação foi favoritada {count, plural, one {uma vez} other {# vezes}}.", + "annual_report.summary.highlighted_post.reply_count": "Esta postagem recebeu {count, plural, one {uma resposta} other {# respostas}}.", + "annual_report.summary.highlighted_post.title": "Publicação mais popular", "annual_report.summary.most_used_app.most_used_app": "aplicativo mais usado", "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag mais usada", - "annual_report.summary.most_used_hashtag.none": "Nenhuma", + "annual_report.summary.most_used_hashtag.used_count": "Você incluiu esta hashtag em {count, plural, one {uma publicação} other {# publicações}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} incluiu esta hashtag em {count, plural, one {uma publicação} other {# publicações}}.", "annual_report.summary.new_posts.new_posts": "novas publicações", "annual_report.summary.percentile.text": "Isso lhe coloca no topode usuários de {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Não contaremos ao Bernie.", - "annual_report.summary.thanks": "Obrigada por fazer parte do Mastodon!", + "annual_report.summary.share_elsewhere": "Compartilhar em outro lugar", + "annual_report.summary.share_message": "Eu obtive o arquétipo {archetype}!", + "annual_report.summary.share_on_mastodon": "Compartilhar no Mastodon", "attachments_list.unprocessed": "(não processado)", "audio.hide": "Ocultar áudio", "block_modal.remote_users_caveat": "Pediremos ao servidor {domain} que respeite sua decisão. No entanto, a conformidade não é garantida, já que alguns servidores podem lidar com bloqueios de maneira diferente. As publicações públicas ainda podem estar visíveis para usuários não logados.", @@ -145,10 +167,10 @@ "block_modal.they_cant_see_posts": "Não poderá ver suas publicações e você não verá as dele/a.", "block_modal.they_will_know": "Poderá ver que você bloqueou.", "block_modal.title": "Bloquear usuário?", - "block_modal.you_wont_see_mentions": "Você não verá publicações que mencionem o usuário.", + "block_modal.you_wont_see_mentions": "Você não verá publicações que mencionem este usuário.", "boost_modal.combo": "Pressione {combo} para pular isto na próxima vez", "boost_modal.reblog": "Impulsionar a publicação?", - "boost_modal.undo_reblog": "Retirar o impulso do post?", + "boost_modal.undo_reblog": "Retirar o impulso da publicação?", "bundle_column_error.copy_stacktrace": "Copiar relatório do erro", "bundle_column_error.error.body": "A página solicitada não pôde ser renderizada. Pode ser devido a um erro no nosso código, ou um problema de compatibilidade do seu navegador.", "bundle_column_error.error.title": "Ah, não!", @@ -162,7 +184,7 @@ "bundle_modal_error.message": "Algo deu errado ao carregar esta tela.", "bundle_modal_error.retry": "Tente novamente", "carousel.current": "Slide {current, number} / {max, number}", - "carousel.slide": "Slide {current, number} of {max, number}", + "carousel.slide": "Slide {current, number} de {max, number}", "closed_registrations.other_server_instructions": "Como o Mastodon é descentralizado, você pode criar uma conta em outro servidor e ainda pode interagir com este.", "closed_registrations_modal.description": "Não é possível criar uma conta em {domain} no momento, mas atente que você não precisa de uma conta especificamente em {domain} para usar o Mastodon.", "closed_registrations_modal.find_another_server": "Encontrar outro servidor", @@ -179,8 +201,8 @@ "column.edit_list": "Editar lista", "column.favourites": "Favoritos", "column.firehose": "Feeds ao vivo", - "column.firehose_local": "Transmissão ao vivo deste servidor", - "column.firehose_singular": "Transmissão ao vivo", + "column.firehose_local": "Feed ao vivo deste servidor", + "column.firehose_singular": "Feed ao vivo", "column.follow_requests": "Seguidores pendentes", "column.home": "Página inicial", "column.list_members": "Gerenciar membros da lista", @@ -235,7 +257,7 @@ "confirmations.delete_list.title": "Excluir lista?", "confirmations.discard_draft.confirm": "Descartar e continuar", "confirmations.discard_draft.edit.cancel": "Continuar editando", - "confirmations.discard_draft.edit.message": "Continuar vai descartar quaisquer mudanças feitas à publicação sendo editada.", + "confirmations.discard_draft.edit.message": "Continuar descartará quaisquer mudanças feitas à publicação sendo editada.", "confirmations.discard_draft.edit.title": "Descartar mudanças na sua publicação?", "confirmations.discard_draft.post.cancel": "Continuar rascunho", "confirmations.discard_draft.post.message": "Continuar eliminará a publicação que está sendo elaborada no momento.", @@ -263,7 +285,7 @@ "confirmations.quiet_post_quote_info.message": "Ao citar uma publicação pública silenciosa, sua postagem será oculta das linhas de tempo em tendência.", "confirmations.quiet_post_quote_info.title": "Citando publicações públicas silenciadas", "confirmations.redraft.confirm": "Excluir e rascunhar", - "confirmations.redraft.message": "Você tem certeza de que quer apagar essa publicação e rascunhá-la? Favoritos e impulsos serão perdidos, e respostas à postagem original ficarão órfãs.", + "confirmations.redraft.message": "Você tem certeza de que quer apagar esta publicação e rascunhá-la? Favoritos e impulsos serão perdidos, e respostas à publicação original ficarão órfãs.", "confirmations.redraft.title": "Excluir e rascunhar publicação?", "confirmations.remove_from_followers.confirm": "Remover seguidor", "confirmations.remove_from_followers.message": "{name} vai parar de te seguir. Tem certeza de que deseja continuar?", @@ -304,8 +326,8 @@ "domain_block_modal.title": "Bloquear domínio?", "domain_block_modal.you_will_lose_num_followers": "Você perderá {followersCount, plural, one {{followersCountDisplay} seguidor} other {{followersCountDisplay} seguidores}} e {followingCount, plural, one {{followingCountDisplay} pessoa que você segue} other {{followingCountDisplay} pessoas que você segue}}.", "domain_block_modal.you_will_lose_relationships": "Você irá perder todos os seguidores e pessoas que você segue neste servidor.", - "domain_block_modal.you_wont_see_posts": "Você não verá postagens ou notificações de usuários neste servidor.", - "domain_pill.activitypub_lets_connect": "Ele permite que você se conecte e interaja com pessoas não apenas no Mastodon, mas também em diferentes aplicativos sociais.", + "domain_block_modal.you_wont_see_posts": "Você não verá publicações ou notificações de usuários neste servidor.", + "domain_pill.activitypub_lets_connect": "Permite que você se conecte e interaja com pessoas não apenas no Mastodon, mas também em diferentes aplicativos sociais.", "domain_pill.activitypub_like_language": "ActivityPub é como a linguagem que o Mastodon fala com outras redes sociais.", "domain_pill.server": "Servidor", "domain_pill.their_handle": "Identificador dele/a:", @@ -347,13 +369,13 @@ "empty_column.bookmarked_statuses": "Nada aqui. Quando você salvar um toot, ele aparecerá aqui.", "empty_column.community": "A linha local está vazia. Publique algo para começar!", "empty_column.direct": "Você ainda não tem mensagens privadas. Quando você enviar ou receber uma, será exibida aqui.", - "empty_column.disabled_feed": "Este feed foi desativado pelos administradores do servidor.", + "empty_column.disabled_feed": "Este feed foi desativado pelos administradores de seu servidor.", "empty_column.domain_blocks": "Nada aqui.", "empty_column.explore_statuses": "Nada está em alta no momento. Volte mais tarde!", "empty_column.favourited_statuses": "Você ainda não tem publicações favoritas. Quanto você marcar uma como favorita, ela aparecerá aqui.", "empty_column.favourites": "Ninguém marcou esta publicação como favorita até agora. Quando alguém o fizer, será listado aqui.", "empty_column.follow_requests": "Nada aqui. Quando você tiver seguidores pendentes, eles aparecerão aqui.", - "empty_column.followed_tags": "Você ainda não seguiu nenhuma hashtag. Quando seguir uma, elas serão exibidas aqui.", + "empty_column.followed_tags": "Você ainda não seguiu nenhuma hashtag. Quando seguir, elas serão exibidas aqui.", "empty_column.hashtag": "Nada aqui.", "empty_column.home": "Sua página inicial está vazia! Siga mais pessoas para começar: {suggestions}", "empty_column.list": "Nada aqui. Quando membros da lista tootarem, eles aparecerão aqui.", @@ -374,13 +396,13 @@ "explore.trending_statuses": "Publicações", "explore.trending_tags": "Hashtags", "featured_carousel.current": "Publicação {current, number} / {max, number}", - "featured_carousel.header": "{count, plural, one {Postagem fixada} other {Postagens fixadas}}", - "featured_carousel.slide": "Publicação {current, number} of {max, number}", + "featured_carousel.header": "{count, plural, one {Publicação fixada} other {Publicações fixadas}}", + "featured_carousel.slide": "Publicação {current, number} de {max, number}", "filter_modal.added.context_mismatch_explanation": "Esta categoria de filtro não se aplica ao contexto no qual você acessou esta publicação. Se quiser que a publicação seja filtrada nesse contexto também, você terá que editar o filtro.", "filter_modal.added.context_mismatch_title": "Incompatibilidade de contexto!", "filter_modal.added.expired_explanation": "Esta categoria de filtro expirou, você precisará alterar a data de expiração para aplicar.", "filter_modal.added.expired_title": "Filtro expirado!", - "filter_modal.added.review_and_configure": "Para revisar e configurar ainda mais esta categoria de filtro, vá até {settings_link}.", + "filter_modal.added.review_and_configure": "Para revisar e configurar ainda mais esta categoria de filtro, vá para {settings_link}.", "filter_modal.added.review_and_configure_title": "Configurações de filtro", "filter_modal.added.settings_link": "página de configurações", "filter_modal.added.short_explanation": "Esta publicação foi adicionada à seguinte categoria de filtro: {title}.", @@ -612,7 +634,7 @@ "notification.admin.report_statuses": "{name} Reportou {target} para {category}", "notification.admin.report_statuses_other": "{name} denunciou {target}", "notification.admin.sign_up": "{name} se inscreveu", - "notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# other} other {# outros}}", + "notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# outro} other {# outros}} se inscreveram", "notification.annual_report.message": "O seu #Wrapstodon de {year} está esperando! Desvende seus destaques do ano e momentos memoráveis no Mastodon!", "notification.annual_report.view": "Ver #Wrapstodon", "notification.favourite": "{name} favoritou sua publicação", @@ -622,7 +644,7 @@ "notification.follow": "{name} te seguiu", "notification.follow.name_and_others": "{name} e {count, plural, one {# outro} other {# outros}} seguiram você", "notification.follow_request": "{name} quer te seguir", - "notification.follow_request.name_and_others": "{name} e {count, plural, one {# other} other {# outros}} pediu para seguir você", + "notification.follow_request.name_and_others": "{name} e {count, plural, one {# outro} other {# outros}} pediram para seguir você", "notification.label.mention": "Menção", "notification.label.private_mention": "Menção privada", "notification.label.private_reply": "Resposta privada", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index 671930e673..9676206e2c 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -114,28 +114,51 @@ "alt_text_modal.done": "Concluído", "announcement.announcement": "Mensagem de manutenção", "annual_report.announcement.action_build": "Criar o meu Wrapstodon", + "annual_report.announcement.action_dismiss": "Não, obrigado", "annual_report.announcement.action_view": "Ver o meu Wrapstodon", "annual_report.announcement.description": "Descobre mais sobre o teu envolvimento com o Mastodon durante o último ano.", "annual_report.announcement.title": "Chegou o Wrapstodon {year}", - "annual_report.summary.archetype.booster": "O caçador de tendências", - "annual_report.summary.archetype.lurker": "O espreitador", - "annual_report.summary.archetype.oracle": "O oráculo", - "annual_report.summary.archetype.pollster": "O sondagens", - "annual_report.summary.archetype.replier": "A borboleta social", - "annual_report.summary.followers.followers": "seguidores", - "annual_report.summary.followers.total": "{count} no total", - "annual_report.summary.here_it_is": "Aqui está um resumo do ano {year}:", - "annual_report.summary.highlighted_post.by_favourites": "publicação mais favorita", - "annual_report.summary.highlighted_post.by_reblogs": "publicação mais partilhada", - "annual_report.summary.highlighted_post.by_replies": "publicação com o maior número de respostas", - "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.nav_item.badge": "Novo", + "annual_report.shared_page.donate": "Doar", + "annual_report.shared_page.footer": "Gerado com {heart} pela equipa do Mastodon", + "annual_report.shared_page.footer_server_info": "{username} utiliza {domain}, uma das muitas comunidades baseadas no Mastodon.", + "annual_report.summary.archetype.booster.desc_public": "{name} permaneceu à procura de publicações para partilhar, promovendo outros criadores com uma precisão perfeita.", + "annual_report.summary.archetype.booster.desc_self": "Permaneceu à procura de publicações para partilhar, promovendo outros criadores com uma precisão perfeita.", + "annual_report.summary.archetype.booster.name": "O Arqueiro", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Sabemos que {name} esteve por aí, algures, a apreciar o Mastodon na sua maneira discreta.", + "annual_report.summary.archetype.lurker.desc_self": "Sabemos que esteve por aí, algures, a apreciar o Mastodon na sua maneira discreta.", + "annual_report.summary.archetype.lurker.name": "O Estoico", + "annual_report.summary.archetype.oracle.desc_public": "{name} criou mais publicações novas do que respostas, mantendo o Mastodon atualizado e voltado para o futuro.", + "annual_report.summary.archetype.oracle.desc_self": "Criou mais publicações novas do que respostas, mantendo o Mastodon atualizado e voltado para o futuro.", + "annual_report.summary.archetype.oracle.name": "O Oráculo", + "annual_report.summary.archetype.pollster.desc_public": "{name} criou mais sondagens do que outros tipos de publicações, cultivando a curiosidade no Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Criou mais sondagens do que outros tipos de publicações, cultivando a curiosidade no Mastodon.", + "annual_report.summary.archetype.pollster.name": "O Questionador", + "annual_report.summary.archetype.replier.desc_public": "{name} respondeu frequentemente às publicações de outras pessoas, polinizando o Mastodon com novas discussões.", + "annual_report.summary.archetype.replier.desc_self": "Respondeu frequentemente às publicações de outras pessoas, polinizando o Mastodon com novas discussões.", + "annual_report.summary.archetype.replier.name": "A Borboleta", + "annual_report.summary.archetype.reveal": "Revelar o meu arquétipo", + "annual_report.summary.archetype.reveal_description": "Obrigado por fazer parte do Mastodon! É hora de descobrir qual arquétipo você encarnou em {year}.", + "annual_report.summary.archetype.title_public": "Arquétipo de {name}", + "annual_report.summary.archetype.title_self": "O seu arquétipo", + "annual_report.summary.close": "Fechar", + "annual_report.summary.copy_link": "Copiar hiperligação", + "annual_report.summary.followers.new_followers": "{count, plural, one {novo seguidor} other {novos seguidores}}", + "annual_report.summary.highlighted_post.boost_count": "Esta publicação foi partilhada {count, plural, one {uma vez} other {# vezes}}.", + "annual_report.summary.highlighted_post.favourite_count": "Esta publicação foi colocada nos favoritos {count, plural, one {uma vez} other {# vezes}}.", + "annual_report.summary.highlighted_post.reply_count": "Esta publicação teve {count, plural, one {uma resposta} other {# respostas}}.", + "annual_report.summary.highlighted_post.title": "Publicação mais popular", "annual_report.summary.most_used_app.most_used_app": "aplicação mais utilizada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta mais utilizada", - "annual_report.summary.most_used_hashtag.none": "Nenhuma", + "annual_report.summary.most_used_hashtag.used_count": "Incluiu esta etiqueta {count, plural, one {numa publicação} other {em # publicações}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} incluiu esta etiqueta {count, plural, one {numa publicação} other {em # publicações}}.", "annual_report.summary.new_posts.new_posts": "novas publicações", "annual_report.summary.percentile.text": "Isso coloca-te no topodos utilizadores de {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Este segredo fica entre nós.", - "annual_report.summary.thanks": "Obrigado por fazeres parte do Mastodon!", + "annual_report.summary.share_elsewhere": "Partilhar noutro local", + "annual_report.summary.share_message": "Eu obtive o arquétipo {archetype}!", + "annual_report.summary.share_on_mastodon": "Partilhar no Mastodon", "attachments_list.unprocessed": "(não processado)", "audio.hide": "Ocultar áudio", "block_modal.remote_users_caveat": "Vamos pedir ao servidor {domain} para respeitar a tua decisão. No entanto, não é garantido o seu cumprimento, uma vez que alguns servidores podem tratar os bloqueios de forma diferente. As publicações públicas podem continuar a ser visíveis para utilizadores não autenticados.", @@ -418,6 +441,8 @@ "follow_suggestions.who_to_follow": "Quem seguir", "followed_tags": "Etiquetas seguidas", "footer.about": "Sobre", + "footer.about_mastodon": "Sobre o Mastodon", + "footer.about_server": "Sobre {domain}", "footer.about_this_server": "Sobre", "footer.directory": "Diretório de perfis", "footer.get_app": "Obter a aplicação", @@ -1032,7 +1057,7 @@ "visibility_modal.helper.privacy_editing": "A visibilidade não pode ser alterada após a publicação ser publicada.", "visibility_modal.helper.privacy_private_self_quote": "As autocitações de publicações privadas não podem ser tornadas públicas.", "visibility_modal.helper.private_quoting": "As publicações apenas para seguidores criadas no Mastodon não podem ser citadas por outras pessoas.", - "visibility_modal.helper.unlisted_quoting": "Quando as pessoas o citarem, as publicações delas serão também ocultadas das tendências.", + "visibility_modal.helper.unlisted_quoting": "Quando as pessoas o citarem, as respetivas publicações também serão ocultadas dos destaques.", "visibility_modal.instructions": "Controle quem pode interagir com esta publicação. Também pode definir esta configuração para todas as publicações futuras, em Preferências > Padrões de publicação.", "visibility_modal.privacy_label": "Visibilidade", "visibility_modal.quote_followers": "Apenas seguidores", diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json index 9bf8150ba0..8f48769643 100644 --- a/app/javascript/mastodon/locales/ro.json +++ b/app/javascript/mastodon/locales/ro.json @@ -82,19 +82,8 @@ "alert.unexpected.title": "Ups!", "alt_text_badge.title": "Text alternativ", "announcement.announcement": "Anunț", - "annual_report.summary.archetype.lurker": "Pânditorul", - "annual_report.summary.archetype.oracle": "Oracolul", - "annual_report.summary.archetype.pollster": "Sondatorul", - "annual_report.summary.archetype.replier": "Fluturele social", - "annual_report.summary.followers.followers": "urmăritori", - "annual_report.summary.followers.total": "{count} total", - "annual_report.summary.here_it_is": "Iată rezumatul dvs. al anului {year}:", - "annual_report.summary.highlighted_post.by_favourites": "cea mai favorizată postare", - "annual_report.summary.highlighted_post.by_reblogs": "cea mai boostată postare", - "annual_report.summary.highlighted_post.by_replies": "postarea cu cele mai multe răspunsuri", "annual_report.summary.most_used_app.most_used_app": "cea mai utilizată aplicație", "annual_report.summary.most_used_hashtag.most_used_hashtag": "cel mai utilizat hashtag", - "annual_report.summary.most_used_hashtag.none": "Niciunul", "annual_report.summary.new_posts.new_posts": "postări noi", "attachments_list.unprocessed": "(neprocesate)", "audio.hide": "Ascunde audio", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 2461dcf7e4..e6891eaced 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -113,25 +113,25 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Добавьте описание для людей с нарушениями зрения…", "alt_text_modal.done": "Готово", "announcement.announcement": "Объявление", - "annual_report.summary.archetype.booster": "Репостер", - "annual_report.summary.archetype.lurker": "Молчун", - "annual_report.summary.archetype.oracle": "Гуру", - "annual_report.summary.archetype.pollster": "Опросчик", - "annual_report.summary.archetype.replier": "Душа компании", - "annual_report.summary.followers.followers": "подписчиков", - "annual_report.summary.followers.total": "{count} за всё время", - "annual_report.summary.here_it_is": "Вот ваши итоги {year} года:", - "annual_report.summary.highlighted_post.by_favourites": "пост с наибольшим количеством звёздочек", - "annual_report.summary.highlighted_post.by_reblogs": "самый популярный пост", - "annual_report.summary.highlighted_post.by_replies": "пост с наибольшим количеством ответов", - "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.announcement.action_dismiss": "Нет, спасибо", + "annual_report.announcement.action_view": "Посмотреть мой Wrapstodon", + "annual_report.announcement.title": "Wrapstodon {year} уже здесь", + "annual_report.nav_item.badge": "Новый", + "annual_report.shared_page.donate": "Пожертвовать", + "annual_report.shared_page.footer": "Сгенерировано с {heart} командой Mastodon", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.reveal": "Показать мой архетип", + "annual_report.summary.archetype.title_public": "Архетип {name}", + "annual_report.summary.archetype.title_self": "Ваш архетип", + "annual_report.summary.close": "Закрыть", + "annual_report.summary.copy_link": "Скопировать ссылку", "annual_report.summary.most_used_app.most_used_app": "наиболее часто используемое приложение", "annual_report.summary.most_used_hashtag.most_used_hashtag": "наиболее часто используемый хештег", - "annual_report.summary.most_used_hashtag.none": "Нет", "annual_report.summary.new_posts.new_posts": "новых постов", "annual_report.summary.percentile.text": "Всё это помещает вас в топпользователей {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Роскомнадзор об этом не узнает.", - "annual_report.summary.thanks": "Спасибо за то, что были вместе с Mastodon!", + "annual_report.summary.share_elsewhere": "Поделиться на других", + "annual_report.summary.share_on_mastodon": "Поделиться в Mastodon", "attachments_list.unprocessed": "(не обработан)", "audio.hide": "Скрыть аудио", "block_modal.remote_users_caveat": "Мы попросим сервер {domain} уважать ваше решение, однако нельзя гарантировать, что он будет соблюдать блокировку, поскольку некоторые серверы могут по-разному обрабатывать запросы. Публичные посты по-прежнему могут быть видны неавторизованным пользователям.", diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json index 8b4f4cc3d5..5ba3d1cd96 100644 --- a/app/javascript/mastodon/locales/sc.json +++ b/app/javascript/mastodon/locales/sc.json @@ -104,16 +104,10 @@ "alt_text_modal.change_thumbnail": "Càmbia sa miniadura", "alt_text_modal.done": "Fatu", "announcement.announcement": "Annùntziu", - "annual_report.summary.archetype.booster": "Semper a s'ùrtima", - "annual_report.summary.followers.followers": "sighiduras", - "annual_report.summary.followers.total": "{count} totale", - "annual_report.summary.highlighted_post.possessive": "de {name}", "annual_report.summary.most_used_app.most_used_app": "aplicatzione prus impreada", "annual_report.summary.most_used_hashtag.most_used_hashtag": "eticheta prus impreada", - "annual_report.summary.most_used_hashtag.none": "Peruna", "annual_report.summary.new_posts.new_posts": "publicatziones noas", "annual_report.summary.percentile.we_wont_tell_bernie": "No dd'amus a nàrrere a Bernie.", - "annual_report.summary.thanks": "Gràtzias de èssere parte de Mastodon!", "attachments_list.unprocessed": "(non protzessadu)", "audio.hide": "Cua s'àudio", "block_modal.remote_users_caveat": "Amus a pedire a su serbidore {domain} de rispetare sa detzisione tua. Nointames custu, su rispetu no est garantidu ca unos cantos serbidores diant pòdere gestire is blocos de manera diferente. Is publicatzione pùblicas diant pòdere ancora èssere visìbiles a is utentes chi no ant fatu s'atzessu.", diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json index 8b6ab56883..7b7ec1f8a2 100644 --- a/app/javascript/mastodon/locales/si.json +++ b/app/javascript/mastodon/locales/si.json @@ -105,25 +105,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "දෘශ්‍යාබාධිත පුද්ගලයින් සඳහා මෙය විස්තර කරන්න…", "alt_text_modal.done": "කළා", "announcement.announcement": "නිවේදනය", - "annual_report.summary.archetype.booster": "සිසිල් දඩයක්කාරයා", - "annual_report.summary.archetype.lurker": "සැඟවී සිටින්නා", - "annual_report.summary.archetype.oracle": "ඔරකල්", - "annual_report.summary.archetype.pollster": "ඡන්ද විමසන්නා", - "annual_report.summary.archetype.replier": "සමාජ සමනලයා", - "annual_report.summary.followers.followers": "අනුගාමිකයින්", - "annual_report.summary.followers.total": "මුළු {count}", - "annual_report.summary.here_it_is": "මෙන්න ඔබේ {year} සමාලෝචනය:", - "annual_report.summary.highlighted_post.by_favourites": "වඩාත්ම කැමති පළ කිරීම", - "annual_report.summary.highlighted_post.by_reblogs": "වඩාත්ම ප්‍රවර්ධනය කරන ලද පළ කිරීම", - "annual_report.summary.highlighted_post.by_replies": "වැඩිම පිළිතුරු සහිත පළ කිරීම", - "annual_report.summary.highlighted_post.possessive": "{name}ගේ", "annual_report.summary.most_used_app.most_used_app": "වැඩිපුරම භාවිතා කරන යෙදුම", "annual_report.summary.most_used_hashtag.most_used_hashtag": "වැඩිපුරම භාවිතා කරන ලද හැෂ් ටැගය", - "annual_report.summary.most_used_hashtag.none": "කිසිවක් නැත", "annual_report.summary.new_posts.new_posts": "නව පළ කිරීම්", "annual_report.summary.percentile.text": "එය ඔබව {domain} පරිශීලකයින්ගෙන් ඉහළමඅතරට ගෙන එයි.", "annual_report.summary.percentile.we_wont_tell_bernie": "අපි බර්නිට කියන්නේ නැහැ.", - "annual_report.summary.thanks": "මැස්ටෝඩන් හි කොටසක් වීම ගැන ස්තූතියි!", "attachments_list.unprocessed": "(සකසා නැති)", "audio.hide": "හඬපටය සඟවන්න", "block_modal.remote_users_caveat": "ඔබගේ තීරණයට ගරු කරන ලෙස අපි සේවාදායකයාගෙන් {domain} ඉල්ලා සිටිමු. කෙසේ වෙතත්, සමහර සේවාදායකයන් අවහිර කිරීම් වෙනස් ලෙස හසුරුවන බැවින් අනුකූලතාව සහතික නොවේ. පොදු පළ කිරීම් තවමත් ලොග් වී නොමැති පරිශීලකයින්ට දෘශ්‍යමාන විය හැකිය.", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index c440c78623..87282c41df 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -113,25 +113,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Opíšte obsah pre ľudí so zrakovým postihnutím…", "alt_text_modal.done": "Hotovo", "announcement.announcement": "Oznámenie", - "annual_report.summary.archetype.booster": "Zdieľač*ka", - "annual_report.summary.archetype.lurker": "Sliedič*ka", - "annual_report.summary.archetype.oracle": "Divoká karta", - "annual_report.summary.archetype.pollster": "Anketár*ka", - "annual_report.summary.archetype.replier": "Hlasná trúba", - "annual_report.summary.followers.followers": "sledovatelia", - "annual_report.summary.followers.total": "{count} celkovo", - "annual_report.summary.here_it_is": "Tu je tvoja {year} v zhrnutí:", - "annual_report.summary.highlighted_post.by_favourites": "najviac obľúbený príspevok", - "annual_report.summary.highlighted_post.by_reblogs": "najviac zdieľaný príspevok", - "annual_report.summary.highlighted_post.by_replies": "príspevok s najviac odpoveďami", - "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "najviac používaná aplikácia", "annual_report.summary.most_used_hashtag.most_used_hashtag": "najviac užívaný hashtag", - "annual_report.summary.most_used_hashtag.none": "Žiaden", "annual_report.summary.new_posts.new_posts": "nové príspevky", "annual_report.summary.percentile.text": "Takže patríte do topúčtov na {domain}", "annual_report.summary.percentile.we_wont_tell_bernie": "Nepovieme Berniemu.", - "annual_report.summary.thanks": "Vďaka, že si súčasťou Mastodonu!", "attachments_list.unprocessed": "(nespracované)", "audio.hide": "Skryť zvuk", "block_modal.remote_users_caveat": "Požiadame server {domain} o rešpektovanie vášho rozhodnutia. Nevieme to však zaručiť, keďže niektoré servery pristupujú k blokovaniu inak. Verejné príspevky sa stále môžu zobrazovať neprihláseným ľuďom.", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index 7f7d8bd991..30c72c87f0 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -103,25 +103,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Podaj opis za slabovidne ...", "alt_text_modal.done": "Opravljeno", "announcement.announcement": "Oznanilo", - "annual_report.summary.archetype.booster": "Lovec na trende", - "annual_report.summary.archetype.lurker": "Tiholazec", - "annual_report.summary.archetype.oracle": "Orakelj", - "annual_report.summary.archetype.pollster": "Anketar", - "annual_report.summary.archetype.replier": "Priljudnež", - "annual_report.summary.followers.followers": "sledilcev", - "annual_report.summary.followers.total": "skupaj {count}", - "annual_report.summary.here_it_is": "Tule je povzetek vašega leta {year}:", - "annual_report.summary.highlighted_post.by_favourites": "- najpriljubljenejša objava", - "annual_report.summary.highlighted_post.by_reblogs": "- največkrat izpostavljena objava", - "annual_report.summary.highlighted_post.by_replies": "- objava z največ odgovori", - "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "najpogosteje uporabljena aplikacija", "annual_report.summary.most_used_hashtag.most_used_hashtag": "največkrat uporabljen ključnik", - "annual_report.summary.most_used_hashtag.none": "Brez", "annual_report.summary.new_posts.new_posts": "nove objave", "annual_report.summary.percentile.text": "S tem ste se uvrstili med zgornjih uporabnikov domene {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Živi duši ne bomo povedali.", - "annual_report.summary.thanks": "Hvala, ker ste del Mastodona!", "attachments_list.unprocessed": "(neobdelano)", "audio.hide": "Skrij zvok", "block_modal.remote_users_caveat": "Strežnik {domain} bomo pozvali, naj spoštuje vašo odločitev. Kljub temu pa ni gotovo, da bo strežnik prošnjo upošteval, saj nekateri strežniki blokiranja obravnavajo drugače. Javne objave bodo morda še vedno vidne neprijavljenim uporabnikom.", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index af268b1e49..0c8e1fc071 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -113,21 +113,44 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Përshkruajeni këtë për persona me mangësi shikimi…", "alt_text_modal.done": "U bë", "announcement.announcement": "Lajmërim", - "annual_report.summary.archetype.oracle": "Orakulli", - "annual_report.summary.followers.followers": "ndjekës", - "annual_report.summary.followers.total": "{count} gjithsej", - "annual_report.summary.here_it_is": "Ja {year} juaj e shqyrtuar:", - "annual_report.summary.highlighted_post.by_favourites": "potimi më i parapëlqyer", - "annual_report.summary.highlighted_post.by_reblogs": "postimi me më shumë përforcime", - "annual_report.summary.highlighted_post.by_replies": "postimi me më tepër përgjigje", - "annual_report.summary.highlighted_post.possessive": "nga {name}", + "annual_report.announcement.action_dismiss": "Jo, faleminderit", + "annual_report.nav_item.badge": "E re", + "annual_report.shared_page.donate": "Dhuroni", + "annual_report.shared_page.footer": "Hartuar me {heart} nga ekipi i Mastodon-it", + "annual_report.shared_page.footer_server_info": "{username} përdor {domain}, një nga bashkësitë e shumta të bazuara në Mastodon.", + "annual_report.summary.archetype.booster.name": "Harkëtari", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "E dimë se {name} qe vërdallë, diku, duke shijuar Mastodon-in në mënyrën e vet të qetë.", + "annual_report.summary.archetype.lurker.desc_self": "E dimë se qetë vërdallë, diku, duke shijuar Mastodon-in në mënyrën tuaj të qetë.", + "annual_report.summary.archetype.lurker.name": "Stoiku", + "annual_report.summary.archetype.oracle.desc_public": "{name} krijoi postime të reja, më shumë se përgjigje, duke e mbajtur Mastodon-in të freskët dhe me sytë nga ardhmja.", + "annual_report.summary.archetype.oracle.desc_self": "Krijuat postime të reja, më shumë se përgjigje, duke e mbajtur Mastodon-in të freskët dhe me sytë nga e ardhmja.", + "annual_report.summary.archetype.oracle.name": "Orakulli", + "annual_report.summary.archetype.pollster.desc_public": "{name} krijoi më tepër pyetësorë se sa lloje të tjera postimesh, duke kultivuar kureshtjen në Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Krijuat më tepër pyetësorë, se sa lloje të tjera postimesh, duke kultivuar kureshtjen në Mastodon.", + "annual_report.summary.archetype.replier.desc_public": "{name} u përgjigj shpesh te postime të njerëzve të tjerë, duke pjalmuar Mastodon-in me diskutime të reja.", + "annual_report.summary.archetype.replier.desc_self": "U përgjigjët shpesh te postime të njerëzve të tjerë, duke pjalmuar Mastodon-in me diskutime të reja.", + "annual_report.summary.archetype.replier.name": "Flutura", + "annual_report.summary.archetype.reveal": "Zbulo me se ngjaj", + "annual_report.summary.archetype.reveal_description": "Faleminderit për qenien pjesë e Mastodon-it! Koha për të mësuar cilin model trupëzuat gjatë {year}.", + "annual_report.summary.archetype.title_public": "Modeli për {name}", + "annual_report.summary.archetype.title_self": "Modeli juaj", + "annual_report.summary.close": "Mbylle", + "annual_report.summary.copy_link": "Kopjoji lidhjen", + "annual_report.summary.followers.new_followers": "{count, plural, one {ndjekës i ri} other {ndjekës të rinj}}", + "annual_report.summary.highlighted_post.boost_count": "Ky postim qe përforcuar {count, plural, one {një herë} other {# herë}}.", + "annual_report.summary.highlighted_post.favourite_count": "Ky postim u vu si i parapëlqyer {count, plural, one {një herë} other {# herë}}.", + "annual_report.summary.highlighted_post.reply_count": "Ky postim pati {count, plural, one {një përgjigje} other {# përgjigje}}.", + "annual_report.summary.highlighted_post.title": "Postimi më popullor", "annual_report.summary.most_used_app.most_used_app": "aplikacioni më i përdorur", "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag-u më i përdorur", - "annual_report.summary.most_used_hashtag.none": "Asnjë", + "annual_report.summary.most_used_hashtag.used_count": "Këtë hashtag e përfshitë në {count, plural, one {një postim} other {# postime}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} përfshiu këtë hashtag në {count, plural, one {një postim} other {# postime}}.", "annual_report.summary.new_posts.new_posts": "postime të reja", "annual_report.summary.percentile.text": "Kjo ju vendos te kryesues të përdoruesve të {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Nuk do t’ia themi Bernit.", - "annual_report.summary.thanks": "Faleminderit që jeni pjesë e Mastodon-it!", + "annual_report.summary.share_elsewhere": "Ndajeni me të tjerë gjetkë", + "annual_report.summary.share_on_mastodon": "Ndajeni në Mastodon me të tjerë", "attachments_list.unprocessed": "(e papërpunuar)", "audio.hide": "Fshihe audion", "block_modal.remote_users_caveat": "Do t’i kërkojmë shërbyesit {domain} të respektojë vendimin tuaj. Por, pajtimi s’është i garantuar, ngaqë disa shërbyes mund t’i trajtojnë ndryshe bllokimet. Psotimet publike mundet të jenë ende të dukshme për përdorues pa bërë hyrje në llogari.", @@ -410,6 +433,8 @@ "follow_suggestions.who_to_follow": "Cilët të ndiqen", "followed_tags": "Hashtag-ë të ndjekur", "footer.about": "Mbi", + "footer.about_mastodon": "Mbi Mastodon-in", + "footer.about_server": "Mbi {domain}", "footer.about_this_server": "Mbi", "footer.directory": "Drejtori profilesh", "footer.get_app": "Merreni aplikacionin", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index 368498b1ce..bbd3b68a7c 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -113,25 +113,17 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Beskriv detta för personer med synnedsättning…", "alt_text_modal.done": "Klar", "announcement.announcement": "Kungörelse", - "annual_report.summary.archetype.booster": "Häftighetsjägaren", - "annual_report.summary.archetype.lurker": "Smygaren", - "annual_report.summary.archetype.oracle": "Oraklet", - "annual_report.summary.archetype.pollster": "Frågaren", - "annual_report.summary.archetype.replier": "Den sociala fjärilen", - "annual_report.summary.followers.followers": "följare", - "annual_report.summary.followers.total": "{count} totalt", - "annual_report.summary.here_it_is": "Här är en tillbakablick på ditt {year}:", - "annual_report.summary.highlighted_post.by_favourites": "mest favoritmarkerat inlägg", - "annual_report.summary.highlighted_post.by_reblogs": "mest boostat inlägg", - "annual_report.summary.highlighted_post.by_replies": "inlägg med flest svar", - "annual_report.summary.highlighted_post.possessive": "{name}s", + "annual_report.announcement.action_dismiss": "Nej tack", + "annual_report.nav_item.badge": "Ny", + "annual_report.shared_page.donate": "Donera", + "annual_report.summary.copy_link": "Kopiera länk", "annual_report.summary.most_used_app.most_used_app": "mest använda app", "annual_report.summary.most_used_hashtag.most_used_hashtag": "mest använda hashtag", - "annual_report.summary.most_used_hashtag.none": "Inga", "annual_report.summary.new_posts.new_posts": "nya inlägg", "annual_report.summary.percentile.text": "Det placerar dig i toppbland {domain} användare.", "annual_report.summary.percentile.we_wont_tell_bernie": "Vi berättar inte för Bernie.", - "annual_report.summary.thanks": "Tack för att du är en del av Mastodon!", + "annual_report.summary.share_elsewhere": "Dela någon annanstans", + "annual_report.summary.share_on_mastodon": "Dela på Mastodon", "attachments_list.unprocessed": "(obehandlad)", "audio.hide": "Dölj audio", "block_modal.remote_users_caveat": "Vi kommer att be servern {domain} att respektera ditt beslut. Dock garanteras inte efterlevnad eftersom vissa servrar kan hantera blockeringar på olika sätt. Offentliga inlägg kan fortfarande vara synliga för icke-inloggade användare.", @@ -414,6 +406,8 @@ "follow_suggestions.who_to_follow": "Rekommenderade profiler", "followed_tags": "Följda hashtags", "footer.about": "Om", + "footer.about_mastodon": "Om Mastodon", + "footer.about_server": "Om {domain}", "footer.about_this_server": "Om", "footer.directory": "Profilkatalog", "footer.get_app": "Skaffa appen", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 1ba0486357..eb2a814d61 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -110,23 +110,10 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "อธิบายสิ่งนี้สำหรับผู้คนที่มีความบกพร่องทางการมองเห็น…", "alt_text_modal.done": "เสร็จสิ้น", "announcement.announcement": "ประกาศ", - "annual_report.summary.archetype.booster": "ผู้ล่าความเจ๋ง", - "annual_report.summary.archetype.lurker": "ผู้ซุ่มอ่านข่าว", - "annual_report.summary.archetype.oracle": "ผู้ให้คำปรึกษา", - "annual_report.summary.archetype.pollster": "ผู้สำรวจความคิดเห็น", - "annual_report.summary.archetype.replier": "ผู้ชอบเข้าสังคม", - "annual_report.summary.followers.followers": "ผู้ติดตาม", - "annual_report.summary.followers.total": "รวม {count}", - "annual_report.summary.highlighted_post.by_favourites": "โพสต์ที่ได้รับการชื่นชอบมากที่สุด", - "annual_report.summary.highlighted_post.by_reblogs": "โพสต์ที่ได้รับการดันมากที่สุด", - "annual_report.summary.highlighted_post.by_replies": "โพสต์ที่มีการตอบกลับมากที่สุด", - "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "แอปที่ใช้มากที่สุด", "annual_report.summary.most_used_hashtag.most_used_hashtag": "แฮชแท็กที่ใช้มากที่สุด", - "annual_report.summary.most_used_hashtag.none": "ไม่มี", "annual_report.summary.new_posts.new_posts": "โพสต์ใหม่", "annual_report.summary.percentile.we_wont_tell_bernie": "เราจะไม่บอก Bernie", - "annual_report.summary.thanks": "ขอบคุณสำหรับการเป็นส่วนหนึ่งของ Mastodon!", "attachments_list.unprocessed": "(ยังไม่ได้ประมวลผล)", "audio.hide": "ซ่อนเสียง", "block_modal.remote_users_caveat": "เราจะขอให้เซิร์ฟเวอร์ {domain} เคารพการตัดสินใจของคุณ อย่างไรก็ตาม ไม่รับประกันการปฏิบัติตามข้อกำหนดเนื่องจากเซิร์ฟเวอร์บางแห่งอาจจัดการการปิดกั้นแตกต่างกัน โพสต์สาธารณะอาจยังคงปรากฏแก่ผู้ใช้ที่ไม่ได้เข้าสู่ระบบ", diff --git a/app/javascript/mastodon/locales/tok.json b/app/javascript/mastodon/locales/tok.json index 7ed0b16de1..8faa4fa17f 100644 --- a/app/javascript/mastodon/locales/tok.json +++ b/app/javascript/mastodon/locales/tok.json @@ -112,25 +112,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "jan li ken ala lukin la o pana e toki pi sona lukin…", "alt_text_modal.done": "o pana", "announcement.announcement": "toki suli", - "annual_report.summary.archetype.booster": "jan ni li alasa e pona", - "annual_report.summary.archetype.lurker": "jan ni li lukin taso", - "annual_report.summary.archetype.oracle": "jan ni li sona suli", - "annual_report.summary.archetype.pollster": "jan ni li wile sona e pilin jan", - "annual_report.summary.archetype.replier": "jan ni li toki tawa jan mute", - "annual_report.summary.followers.followers": "jan kute sina", - "annual_report.summary.followers.total": "ale la {count}", - "annual_report.summary.here_it_is": "toki lili la tenpo sike nanpa {year} li sama ni tawa sina:", - "annual_report.summary.highlighted_post.by_favourites": "toki ni li pona suli tawa jan", - "annual_report.summary.highlighted_post.by_reblogs": "jan ante li pana suli e toki ni", - "annual_report.summary.highlighted_post.by_replies": "la jan ante li toki suli tan toki ni", - "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "ilo pi kepeken suli", "annual_report.summary.most_used_hashtag.most_used_hashtag": "kulupu toki pi kepeken suli", - "annual_report.summary.most_used_hashtag.none": "ala", "annual_report.summary.new_posts.new_posts": "toki suli sin", "annual_report.summary.percentile.text": "ni la sina nanpa sewipi jan ale lon {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "sona ni li len tawa ale.", - "annual_report.summary.thanks": "sina lon kulupu Mastodon la sina pona a!", "attachments_list.unprocessed": "(nasin open)", "audio.hide": "o len e kalama", "block_modal.remote_users_caveat": "mi pana e wile sina tawa ma {domain}. taso ma li ken kepeken nasin ante la pakala li ken. jan li awen ken lukin e toki kepeken sijelo ala.", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 54a993acf6..fed0220a7b 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -114,29 +114,49 @@ "alt_text_modal.done": "Tamamlandı", "announcement.announcement": "Duyuru", "annual_report.announcement.action_build": "Wrapstodon'umu Oluştur", + "annual_report.announcement.action_dismiss": "Hayır teşekkürler", "annual_report.announcement.action_view": "Wrapstodon'umu Görüntüle", "annual_report.announcement.description": "Mastodon'daki geçen yıldaki etkileşimleriniz hakkında daha fazlasını öğrenin.", "annual_report.announcement.title": "{year} Wrapstodon'u yayında", - "annual_report.summary.archetype.booster": "Trend takipçisi", - "annual_report.summary.archetype.lurker": "Gizli meraklı", - "annual_report.summary.archetype.oracle": "Kahin", - "annual_report.summary.archetype.pollster": "Anketör", - "annual_report.summary.archetype.replier": "Sosyal kelebek", - "annual_report.summary.followers.followers": "takipçiler", - "annual_report.summary.followers.total": "{count} toplam", - "annual_report.summary.here_it_is": "İşte {year} yılı değerlendirmeniz:", - "annual_report.summary.highlighted_post.by_favourites": "en çok beğenilen gönderi", - "annual_report.summary.highlighted_post.by_reblogs": "en çok paylaşılan gönderi", - "annual_report.summary.highlighted_post.by_replies": "en çok yanıt alan gönderi", - "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.shared_page.donate": "Bağış Yap", + "annual_report.shared_page.footer": "Mastodon ekibi tarafından {heart} ile oluşturulmuştur", + "annual_report.summary.archetype.booster.desc_public": "{name} mükemmel bir hedefle diğer içerik üreticilerini desteklemek için paylaşımları yeniden yayınlamaya devam etti.", + "annual_report.summary.archetype.booster.desc_self": "Mükemmel bir hedefle diğer içerik üreticilerini desteklemek için paylaşımları yeniden yayınlamaya devam ettin.", + "annual_report.summary.archetype.booster.name": "Okçu", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "{name} orada, bir yerlerde, kendi sessiz tarzıyla Mastodon'un tadını çıkarıyor, biliyoruz.", + "annual_report.summary.archetype.lurker.desc_self": "Orada, bir yerlerde, kendi sessiz tarzınla Mastodon'un tadını çıkarıyorsun, biliyoruz.", + "annual_report.summary.archetype.lurker.name": "Stoacı", + "annual_report.summary.archetype.oracle.desc_public": "{name} yanıtlardan daha çok yeni gönderi oluşturarak Mastodon'u taze ve geleceğe dönük tuttu.", + "annual_report.summary.archetype.oracle.desc_self": "Yanıtlardan daha çok yeni gönderi oluşturarak Mastodon'u taze ve geleceğe dönük tuttun.", + "annual_report.summary.archetype.oracle.name": "Kahin", + "annual_report.summary.archetype.pollster.desc_public": "{name} diğer gönderi türlerinden çok anket oluşturarak Mastodon'da merak uyandırdı.", + "annual_report.summary.archetype.pollster.desc_self": "Diğer gönderi türlerinden çok anket oluşturarak Mastodon'da merak uyandırdın.", + "annual_report.summary.archetype.pollster.name": "Meraklı", + "annual_report.summary.archetype.replier.desc_public": "{name} sık sık diğer kullanıcıların gönderilerine yanıt vererek Mastodon'a yeni tartışmalar kazandırdı.", + "annual_report.summary.archetype.replier.desc_self": "Sık sık diğer kullanıcıların gönderilerine yanıt vererek Mastodon'a yeni tartışmalar kazandırdın.", + "annual_report.summary.archetype.replier.name": "Kelebek", + "annual_report.summary.archetype.reveal": "Arketipimi Göster", + "annual_report.summary.archetype.reveal_description": "Mastodon'un bir parçası olduğun için teşekkürler! {year} yılında hangi arketipi temsil ettiğini öğrenme zamanı geldi.", + "annual_report.summary.archetype.title_public": "{name} kullanıcısının arketipi", + "annual_report.summary.archetype.title_self": "Arketipin", + "annual_report.summary.close": "Kapat", + "annual_report.summary.copy_link": "Bağlantıyı kopyala", + "annual_report.summary.followers.new_followers": "{count, plural, one {1 yeni takipçi} other {# yeni takipçi}}", + "annual_report.summary.highlighted_post.boost_count": "Bu gönderi {count, plural, one {1 kez} other {# kez}} yeniden paylaşıldı.", + "annual_report.summary.highlighted_post.favourite_count": "Bu gönderi {count, plural, one {1 kez} other {# kez}} beğenildi.", + "annual_report.summary.highlighted_post.reply_count": "Bu gönderi {count, plural, one {1 yanıt} other {# yanıt}} aldı.", + "annual_report.summary.highlighted_post.title": "En popüler gönderi", "annual_report.summary.most_used_app.most_used_app": "en çok kullanılan uygulama", "annual_report.summary.most_used_hashtag.most_used_hashtag": "en çok kullanılan etiket", - "annual_report.summary.most_used_hashtag.none": "Yok", + "annual_report.summary.most_used_hashtag.used_count": "Bu etiketi {count, plural, one {1 gönderi} other {# gönderi}}de kullandınız.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} bu etiketi {count, plural, one {1 gönderi} other {# gönderi}}de kullandı.", "annual_report.summary.new_posts.new_posts": "yeni gönderiler", "annual_report.summary.percentile.text": "{domain} kullanıcılarınınüst dilimindesiniz", "annual_report.summary.percentile.we_wont_tell_bernie": "Bernie'ye söylemeyiz.", + "annual_report.summary.share_elsewhere": "Başka yerde paylaş", "annual_report.summary.share_message": "{archetype} arketipindeyim!", - "annual_report.summary.thanks": "Mastodon'un bir parçası olduğunuz için teşekkürler!", + "annual_report.summary.share_on_mastodon": "Mastodon'da Paylaş", "attachments_list.unprocessed": "(işlenmemiş)", "audio.hide": "Sesi gizle", "block_modal.remote_users_caveat": "{domain} sunucusundan kararınıza saygı duymasını isteyeceğiz. Ancak, Uymaları garanti değildir çünkü bazı sunucular engellemeyi farklı şekilde yapıyorlar. Herkese açık gönderiler giriş yapmamış kullanıcılara görüntülenmeye devam edebilir.", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index dc48e9dafd..38ec3d3e1c 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -110,25 +110,11 @@ "alt_text_modal.describe_for_people_with_visual_impairments": "Опишіть цю ідею для людей із порушеннями зору…", "alt_text_modal.done": "Готово", "announcement.announcement": "Оголошення", - "annual_report.summary.archetype.booster": "Мисливець на дописи", - "annual_report.summary.archetype.lurker": "Причаєнець", - "annual_report.summary.archetype.oracle": "Оракул", - "annual_report.summary.archetype.pollster": "Опитувач", - "annual_report.summary.archetype.replier": "Душа компанії", - "annual_report.summary.followers.followers": "підписники", - "annual_report.summary.followers.total": "Загалом {count}", - "annual_report.summary.here_it_is": "Ось ваші підсумки {year} року:", - "annual_report.summary.highlighted_post.by_favourites": "найуподобаніші дописи", - "annual_report.summary.highlighted_post.by_reblogs": "найпоширюваніші дописи", - "annual_report.summary.highlighted_post.by_replies": "найкоментованіші дописи", - "annual_report.summary.highlighted_post.possessive": "{name}", "annual_report.summary.most_used_app.most_used_app": "найчастіше використовуваний застосунок", "annual_report.summary.most_used_hashtag.most_used_hashtag": "найчастіший хештег", - "annual_report.summary.most_used_hashtag.none": "Немає", "annual_report.summary.new_posts.new_posts": "нові дописи", "annual_report.summary.percentile.text": "Це виводить вас у топ користувачів Mastodon.", "annual_report.summary.percentile.we_wont_tell_bernie": "Ми не скажемо Bernie.", - "annual_report.summary.thanks": "Дякуємо, що ви є частиною Mastodon!", "attachments_list.unprocessed": "(не оброблено)", "audio.hide": "Сховати аудіо", "block_modal.remote_users_caveat": "Ми попросимо сервер {domain} поважати ваше рішення. Однак дотримання вимог не гарантується, оскільки деякі сервери можуть обробляти блоки по-різному. Загальнодоступні дописи все ще можуть бути видимими для користувачів, які не увійшли в систему.", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 79528fb9f6..a5feaebc44 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -114,29 +114,51 @@ "alt_text_modal.done": "Xong", "announcement.announcement": "Có gì mới?", "annual_report.announcement.action_build": "Tạo Wrapstodon của tôi", + "annual_report.announcement.action_dismiss": "Không, cảm ơn", "annual_report.announcement.action_view": "Xem Wrapstodon của tôi", "annual_report.announcement.description": "Tìm hiểu thêm về mức độ tương tác của bạn trên Mastodon trong năm qua.", "annual_report.announcement.title": "Wrapstodon {year} đã đến", - "annual_report.summary.archetype.booster": "Hiệp sĩ ngầu", - "annual_report.summary.archetype.lurker": "Kẻ rình mò", - "annual_report.summary.archetype.oracle": "Nhà tiên tri", - "annual_report.summary.archetype.pollster": "Chuyên gia khảo sát", - "annual_report.summary.archetype.replier": "Bướm xã hội", - "annual_report.summary.followers.followers": "người theo dõi", - "annual_report.summary.followers.total": "tổng {count}", - "annual_report.summary.here_it_is": "Nhìn lại năm {year} của bạn:", - "annual_report.summary.highlighted_post.by_favourites": "tút được thích nhiều nhất", - "annual_report.summary.highlighted_post.by_reblogs": "tút được đăng lại nhiều nhất", - "annual_report.summary.highlighted_post.by_replies": "tút được trả lời nhiều nhất", - "annual_report.summary.highlighted_post.possessive": "{name}", + "annual_report.nav_item.badge": "Mới", + "annual_report.shared_page.donate": "Quyên góp", + "annual_report.shared_page.footer": "Tạo bằng {heart} bởi đội ngũ Mastodon", + "annual_report.shared_page.footer_server_info": "{username} ở {domain}, một trong nhiều cộng đồng Mastodon.", + "annual_report.summary.archetype.booster.desc_public": "{name} thích tìm kiếm và đăng lại các tút, lan tỏa những người sáng tạo khác với mục tiêu hoàn hảo.", + "annual_report.summary.archetype.booster.desc_self": "Bạn thích tìm kiếm và đăng lại các tút, lan tỏa những người sáng tạo khác với mục tiêu hoàn hảo.", + "annual_report.summary.archetype.booster.name": "Cung Thủ", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Chúng tôi biết {name} đang ở đâu đó ngoài kia, tận hưởng Mastodon theo cách riêng của họ.", + "annual_report.summary.archetype.lurker.desc_self": "Chúng tôi biết bạn đang ở đâu đó ngoài kia, tận hưởng Mastodon theo cách riêng.", + "annual_report.summary.archetype.lurker.name": "Lãng Nhân", + "annual_report.summary.archetype.oracle.desc_public": "{name} tạo ra nhiều tút mới hơn là trả lời, giúp Mastodon luôn mới mẻ và hướng tới tương lai.", + "annual_report.summary.archetype.oracle.desc_self": "Bạn tạo ra nhiều tút mới hơn là trả lời, giúp Mastodon luôn mới mẻ và hướng tới tương lai.", + "annual_report.summary.archetype.oracle.name": "Tiên Tri", + "annual_report.summary.archetype.pollster.desc_public": "{name} tạo ra nhiều cuộc vốt hơn các loại tút khác, khơi dậy sự tò mò trên Mastodon.", + "annual_report.summary.archetype.pollster.desc_self": "Bạn tạo ra nhiều cuộc vốt hơn các loại tút khác, khơi dậy sự tò mò trên Mastodon.", + "annual_report.summary.archetype.pollster.name": "Mọt Sách", + "annual_report.summary.archetype.replier.desc_public": "{name} thường xuyên trả lời tút của người khác, mang đến cho Mastodon những cuộc thảo luận mới.", + "annual_report.summary.archetype.replier.desc_self": "Bạn thường xuyên trả lời tút của người khác, mang đến cho Mastodon những cuộc thảo luận mới.", + "annual_report.summary.archetype.replier.name": "Bướm Xinh", + "annual_report.summary.archetype.reveal": "Bật mí nguyên mẫu của tôi", + "annual_report.summary.archetype.reveal_description": "Cảm ơn bạn đã là một phần của Mastodon! Đã đến lúc tìm hiểu xem bạn thuộc nguyên mẫu nào vào năm {year}.", + "annual_report.summary.archetype.title_public": "Nguyên mẫu của {name}", + "annual_report.summary.archetype.title_self": "Nguyên mẫu của bạn", + "annual_report.summary.close": "Đóng", + "annual_report.summary.copy_link": "Sao chép liên kết", + "annual_report.summary.followers.new_followers": "{count, plural, other {người theo dõi mới}}", + "annual_report.summary.highlighted_post.boost_count": "Tút này được đăng lại {count, plural, other {# lần}}.", + "annual_report.summary.highlighted_post.favourite_count": "Tút này được thích {count, plural, other {# lần}}.", + "annual_report.summary.highlighted_post.reply_count": "Tút này có {count, plural, other {# lượt trả lời}}.", + "annual_report.summary.highlighted_post.title": "Tút nổi tiếng nhất", "annual_report.summary.most_used_app.most_used_app": "app dùng nhiều nhất", "annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag dùng nhiều nhất", - "annual_report.summary.most_used_hashtag.none": "Không có", + "annual_report.summary.most_used_hashtag.used_count": "Bạn đã dùng hashtag này trong {count, plural, other {# tút}}.", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} đã dùng hashtag này trong {count, plural, other {# tút}}.", "annual_report.summary.new_posts.new_posts": "tút mới", "annual_report.summary.percentile.text": "Bạn thuộc topthành viên của {domain}.", "annual_report.summary.percentile.we_wont_tell_bernie": "Chúng tôi sẽ không kể cho Bernie.", + "annual_report.summary.share_elsewhere": "Chia sẻ nơi khác", "annual_report.summary.share_message": "Tôi là điển hình {archetype}!", - "annual_report.summary.thanks": "Cảm ơn đã trở thành một phần của Mastodon!", + "annual_report.summary.share_on_mastodon": "Chia sẻ lên Mastodon", "attachments_list.unprocessed": "(chưa xử lí)", "audio.hide": "Ẩn âm thanh", "block_modal.remote_users_caveat": "Chúng tôi sẽ yêu cầu {domain} tôn trọng quyết định của bạn. Tuy nhiên, việc tuân thủ không được đảm bảo vì một số máy chủ có thể xử lý việc chặn theo cách khác nhau. Các tút công khai vẫn có thể hiển thị đối với người dùng chưa đăng nhập.", @@ -419,6 +441,8 @@ "follow_suggestions.who_to_follow": "Gợi ý theo dõi", "followed_tags": "Hashtag theo dõi", "footer.about": "Giới thiệu", + "footer.about_mastodon": "Về Mastodon", + "footer.about_server": "Về {domain}", "footer.about_this_server": "Giới thiệu", "footer.directory": "Danh bạ", "footer.get_app": "Ứng dụng", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 274d3bc598..cb63df5e99 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -114,29 +114,50 @@ "alt_text_modal.done": "完成", "announcement.announcement": "公告", "annual_report.announcement.action_build": "构建我的 Wrapstodon 年度回顾", + "annual_report.announcement.action_dismiss": "不了,谢谢", "annual_report.announcement.action_view": "查看我的 Wrapstodon 年度回顾", "annual_report.announcement.description": "探索更多关于您过去一年在 Mastodon 上的互动情况。", "annual_report.announcement.title": "Wrapstodon {year} 年度回顾来啦", - "annual_report.summary.archetype.booster": "潮流捕手", - "annual_report.summary.archetype.lurker": "吃瓜群众", - "annual_report.summary.archetype.oracle": "未卜先知", - "annual_report.summary.archetype.pollster": "民调专家", - "annual_report.summary.archetype.replier": "社交蝴蝶", - "annual_report.summary.followers.followers": "关注者", - "annual_report.summary.followers.total": "共 {count} 人", - "annual_report.summary.here_it_is": "您的 {year} 年度回顾在此:", - "annual_report.summary.highlighted_post.by_favourites": "最受欢迎的嘟文", - "annual_report.summary.highlighted_post.by_reblogs": "传播最广的嘟文", - "annual_report.summary.highlighted_post.by_replies": "评论最多的嘟文", - "annual_report.summary.highlighted_post.possessive": "{name} 的", + "annual_report.nav_item.badge": "新", + "annual_report.shared_page.donate": "捐助", + "annual_report.shared_page.footer": "由 Mastodon 团队用 {heart} 生成", + "annual_report.summary.archetype.booster.desc_public": "{name}持续寻找值得转嘟的嘟文,以精准眼光放大其他创作者的影响力。", + "annual_report.summary.archetype.booster.desc_self": "你持续寻找值得转嘟的嘟文,以精准眼光放大其他创作者的影响力。", + "annual_report.summary.archetype.booster.name": "转发游侠", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "我们知道{name}曾在联邦宇宙的某个角落驻足,以自己的方式静静享受着Mastodon。", + "annual_report.summary.archetype.lurker.desc_self": "我们知道你曾在联邦宇宙的某个角落驻足,以自己的方式静静享受着Mastodon。", + "annual_report.summary.archetype.lurker.name": "吃瓜群众", + "annual_report.summary.archetype.oracle.desc_public": "{name}发布的新嘟文远多于回复,为Mastodon注入无限活力与未来。", + "annual_report.summary.archetype.oracle.desc_self": "你发布的新嘟文远多于回复,为Mastodon注入无限活力与未来。", + "annual_report.summary.archetype.oracle.name": "创作先知", + "annual_report.summary.archetype.pollster.desc_public": "{name}发起投票的次数远多于其他嘟文类型,不断激发Mastodon上大家的好奇心。", + "annual_report.summary.archetype.pollster.desc_self": "你发起投票的次数远多于其他嘟文类型,不断激发Mastodon上大家的好奇心。", + "annual_report.summary.archetype.pollster.name": "探求先锋", + "annual_report.summary.archetype.replier.desc_public": "{name}经常回复其他人的嘟文,为Mastodon培育新讨论的萌芽。", + "annual_report.summary.archetype.replier.desc_self": "你经常回复其他人的嘟文,为Mastodon培育新讨论的萌芽。", + "annual_report.summary.archetype.replier.name": "社交蝴蝶", + "annual_report.summary.archetype.reveal": "揭示我的画像", + "annual_report.summary.archetype.reveal_description": "感谢你成为Mastodon的一份子!是时候揭晓你{year}年的用户画像啦。", + "annual_report.summary.archetype.title_public": "{name}的画像", + "annual_report.summary.archetype.title_self": "你的画像", + "annual_report.summary.close": "关闭", + "annual_report.summary.copy_link": "复制链接", + "annual_report.summary.followers.new_followers": "{count, plural, other {位新关注者}}", + "annual_report.summary.highlighted_post.boost_count": "此嘟文被转嘟了 {count, plural, other {# 次}}。", + "annual_report.summary.highlighted_post.favourite_count": "此嘟文收到了 {count, plural, other {# 次}}喜欢。", + "annual_report.summary.highlighted_post.reply_count": "此嘟文收到了 {count, plural, other {# 条回复}}。", + "annual_report.summary.highlighted_post.title": "最热门的嘟文", "annual_report.summary.most_used_app.most_used_app": "最常用的应用", "annual_report.summary.most_used_hashtag.most_used_hashtag": "最常用的话题", - "annual_report.summary.most_used_hashtag.none": "无", + "annual_report.summary.most_used_hashtag.used_count": "你在 {count, plural, other {# 条嘟文}}中使用了此话题标签。", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} 在 {count, plural, other {# 条嘟文}}中使用了此话题标签。", "annual_report.summary.new_posts.new_posts": "新嘟文", "annual_report.summary.percentile.text": "这使你跻身 {domain} 用户的前", "annual_report.summary.percentile.we_wont_tell_bernie": " ", + "annual_report.summary.share_elsewhere": "分享到其他地方", "annual_report.summary.share_message": "我今年的画像是{archetype}!", - "annual_report.summary.thanks": "感谢您成为 Mastodon 的一员!", + "annual_report.summary.share_on_mastodon": "在Mastodon上分享", "attachments_list.unprocessed": "(未处理)", "audio.hide": "隐藏音频", "block_modal.remote_users_caveat": "我们将要求站点 {domain} 尊重你的决定。然而,我们无法保证对方一定遵从,因为某些站点可能会以不同的方案处理屏蔽操作。公开嘟文仍然可能对未登录用户可见。", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index dbb7752e97..8d86bd981d 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -105,7 +105,6 @@ "alt_text_modal.cancel": "取消", "alt_text_modal.done": "完成", "announcement.announcement": "公告", - "annual_report.summary.thanks": "感謝您成為 Mastodon 的一份子!", "attachments_list.unprocessed": "(未處理)", "audio.hide": "隱藏音訊", "block_modal.remote_users_caveat": "我們會要求 {domain} 伺服器尊重你的決定。然而,由於部份伺服器可能以不同方式處理封鎖,因此無法保證一定會成功。公開帖文仍然有機會被未登入的使用者看見。", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 21e2bde3f9..78d191efa3 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -114,29 +114,51 @@ "alt_text_modal.done": "完成", "announcement.announcement": "公告", "annual_report.announcement.action_build": "建立我的 Mastodon 年度回顧 (Wrapstodon)", + "annual_report.announcement.action_dismiss": "不需要,謝謝", "annual_report.announcement.action_view": "檢視我的 Mastodon 年度回顧 (Wrapstodon)", "annual_report.announcement.description": "探索更多關於您過去一年於 Mastodon 上的互動情況。", "annual_report.announcement.title": "您的 Mastodon 年度回顧 {year} 已抵達", - "annual_report.summary.archetype.booster": "酷炫獵人", - "annual_report.summary.archetype.lurker": "潛水高手", - "annual_report.summary.archetype.oracle": "先知", - "annual_report.summary.archetype.pollster": "民調專家", - "annual_report.summary.archetype.replier": "社交菁英", - "annual_report.summary.followers.followers": "跟隨者", - "annual_report.summary.followers.total": "總共 {count} 人", - "annual_report.summary.here_it_is": "以下是您的 {year} 年度回顧:", - "annual_report.summary.highlighted_post.by_favourites": "最多被加至最愛的嘟文", - "annual_report.summary.highlighted_post.by_reblogs": "最多轉嘟的嘟文", - "annual_report.summary.highlighted_post.by_replies": "最多回覆的嘟文", - "annual_report.summary.highlighted_post.possessive": "{name} 的", + "annual_report.nav_item.badge": "新報告", + "annual_report.shared_page.donate": "捐款", + "annual_report.shared_page.footer": "由 Mastodon 團隊 {heart} 產生", + "annual_report.shared_page.footer_server_info": "{username} 使用 {domain},運行 Mastodon 的眾多社群之一。", + "annual_report.summary.archetype.booster.desc_public": "{name} 持續追尋值得轉嘟的嘟文,以精準眼光放大其他創作者之影響力。", + "annual_report.summary.archetype.booster.desc_self": "您持續追尋值得轉嘟的嘟文,以精準眼光放大其他創作者之影響力。", + "annual_report.summary.archetype.booster.name": "弓箭手", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "我們知道 {name} 曾於聯邦宇宙的某個角落駐足,以靜謐的方式獨享 Mastodon。", + "annual_report.summary.archetype.lurker.desc_self": "我們知道您曾於聯邦宇宙的某個角落駐足,以靜謐的方式獨享 Mastodon。", + "annual_report.summary.archetype.lurker.name": "斯多葛主義信徒", + "annual_report.summary.archetype.oracle.desc_public": "{name} 發表的新嘟文多於回嘟,使 Mastodon 注入活力並展望未來。", + "annual_report.summary.archetype.oracle.desc_self": "您發表的新嘟文多於回嘟,使 Mastodon 注入活力並展望未來。", + "annual_report.summary.archetype.oracle.name": "先知", + "annual_report.summary.archetype.pollster.desc_public": "{name} 發起投票多於其他嘟文類型,使 Mastodon 充滿探索與好奇。", + "annual_report.summary.archetype.pollster.desc_self": "您發起投票多於其他嘟文類型,使 Mastodon 充滿探索與好奇。", + "annual_report.summary.archetype.pollster.name": "探究者", + "annual_report.summary.archetype.replier.desc_public": "{name} 經常回覆他人嘟文,替 Mastodon 帶來源源不絕的新討論。", + "annual_report.summary.archetype.replier.desc_self": "您經常回覆他人嘟文,替 Mastodon 帶來源源不絕的新討論。", + "annual_report.summary.archetype.replier.name": "花蝴蝶", + "annual_report.summary.archetype.reveal": "揭露我的類型稱號", + "annual_report.summary.archetype.reveal_description": "感謝您成為 Mastodon 的一分子!是時候揭曉您於 {year} 年份的代表類型。", + "annual_report.summary.archetype.title_public": "{name} 的類型稱號", + "annual_report.summary.archetype.title_self": "您的類型稱號", + "annual_report.summary.close": "關閉", + "annual_report.summary.copy_link": "複製連結", + "annual_report.summary.followers.new_followers": "{count, plural, other {位新跟隨者}}", + "annual_report.summary.highlighted_post.boost_count": "此嘟文被轉嘟 {count, plural, other {# 次}}。", + "annual_report.summary.highlighted_post.favourite_count": "此嘟文被加入最愛 {count, plural, other {# 次}}。", + "annual_report.summary.highlighted_post.reply_count": "此嘟文獲得 {count, plural, other {# 則回覆}}。", + "annual_report.summary.highlighted_post.title": "最受歡迎的嘟文", "annual_report.summary.most_used_app.most_used_app": "最常使用的應用程式", "annual_report.summary.most_used_hashtag.most_used_hashtag": "最常使用的主題標籤", - "annual_report.summary.most_used_hashtag.none": "無最常用之主題標籤", + "annual_report.summary.most_used_hashtag.used_count": "您於 {count, plural, other {# 則嘟文}}中使用此主題標籤。", + "annual_report.summary.most_used_hashtag.used_count_public": "{name} 於 {count, plural, other {# 則嘟文}}中使用此主題標籤。", "annual_report.summary.new_posts.new_posts": "新嘟文", "annual_report.summary.percentile.text": "這讓您成為前{domain} 的使用者。", "annual_report.summary.percentile.we_wont_tell_bernie": "我們不會告訴 Bernie。", + "annual_report.summary.share_elsewhere": "分享至其他地方", "annual_report.summary.share_message": "我獲得 {archetype} 稱號!", - "annual_report.summary.thanks": "感謝您成為 Mastodon 的一份子!", + "annual_report.summary.share_on_mastodon": "於 Mastodon 上分享", "attachments_list.unprocessed": "(未處理)", "audio.hide": "隱藏音訊", "block_modal.remote_users_caveat": "我們會要求 {domain} 伺服器尊重您的決定。然而,我們無法保證所有伺服器皆會遵守,某些伺服器可能以不同方式處理封鎖。未登入之使用者仍可能看見您的公開嘟文。", @@ -358,16 +380,16 @@ "empty_column.hashtag": "這個主題標籤下什麼也沒有。", "empty_column.home": "您的首頁時間軸是空的!跟隨更多人將它填滿吧!", "empty_column.list": "這份列表下什麼也沒有。當此列表的成員嘟出新的嘟文時,它們將顯示於此。", - "empty_column.mutes": "您尚未靜音任何使用者。", + "empty_column.mutes": "您還沒有靜音任何使用者。", "empty_column.notification_requests": "清空啦!已經沒有任何推播通知。當您收到新推播通知時,它們將依照您的設定於此顯示。", "empty_column.notifications": "您還沒有收到任何推播通知,當您與別人開始互動時,它將於此顯示。", "empty_column.public": "這裡什麼都沒有!嘗試寫些公開的嘟文,或著自己跟隨其他伺服器的使用者後就會有嘟文出現了", "error.no_hashtag_feed_access": "加入或登入 Mastodon 以檢視與跟隨此主題標籤。", "error.unexpected_crash.explanation": "由於發生系統故障或瀏覽器相容性問題,無法正常顯示此頁面。", "error.unexpected_crash.explanation_addons": "此頁面無法被正常顯示,這可能是由瀏覽器附加元件或網頁自動翻譯工具造成的。", - "error.unexpected_crash.next_steps": "請嘗試重新整理頁面。如果狀況沒有改善,您可以使用不同的瀏覽器或應用程式以檢視來使用 Mastodon。", - "error.unexpected_crash.next_steps_addons": "請嘗試關閉它們然後重新整理頁面。如果狀況沒有改善,您可以使用不同的瀏覽器或應用程式來檢視來使用 Mastodon。", - "errors.unexpected_crash.copy_stacktrace": "複製 stacktrace 到剪貼簿", + "error.unexpected_crash.next_steps": "請嘗試重新整理頁面。如果狀況沒有改善,您可以透過不同的瀏覽器或應用程式以使用 Mastodon。", + "error.unexpected_crash.next_steps_addons": "請嘗試關閉它們然後重新整理頁面。如果狀況沒有改善,您可以透過不同的瀏覽器或應用程式以使用 Mastodon。", + "errors.unexpected_crash.copy_stacktrace": "複製 stacktrace 至剪貼簿", "errors.unexpected_crash.report_issue": "回報問題", "explore.suggested_follows": "使用者", "explore.title": "熱門", @@ -381,12 +403,12 @@ "filter_modal.added.context_mismatch_title": "不符合情境!", "filter_modal.added.expired_explanation": "此過濾器類別已失效,您需要更新過期日期以套用。", "filter_modal.added.expired_title": "過期的過濾器!", - "filter_modal.added.review_and_configure": "要檢視與進一步設定此過濾器類別,請至 {settings_link}。", + "filter_modal.added.review_and_configure": "如欲檢視與進一步設定此過濾器類別,請至 {settings_link}。", "filter_modal.added.review_and_configure_title": "過濾器設定", "filter_modal.added.settings_link": "設定頁面", "filter_modal.added.short_explanation": "此嘟文已被新增至以下過濾器類別:{title}。", "filter_modal.added.title": "已新增過濾器!", - "filter_modal.select_filter.context_mismatch": "不是用目前情境", + "filter_modal.select_filter.context_mismatch": "不適用目前情境", "filter_modal.select_filter.expired": "已過期", "filter_modal.select_filter.prompt_new": "新類別:{name}", "filter_modal.select_filter.search": "搜尋或新增", @@ -404,13 +426,13 @@ "follow_requests.unlocked_explanation": "即便您的帳號未被鎖定,{domain} 的管理員認為您可能想要自己審核這些帳號的跟隨請求。", "follow_suggestions.curated_suggestion": "精選內容", "follow_suggestions.dismiss": "不再顯示", - "follow_suggestions.featured_longer": "{domain} 團隊精選", + "follow_suggestions.featured_longer": "{domain} 團隊精心挑選", "follow_suggestions.friends_of_friends_longer": "受您跟隨之使用者愛戴的風雲人物", - "follow_suggestions.hints.featured": "這個個人檔案是 {domain} 管理團隊精心挑選的。", - "follow_suggestions.hints.friends_of_friends": "這個個人檔案於您跟隨的帳號中很受歡迎。", - "follow_suggestions.hints.most_followed": "這個個人檔案是 {domain} 中最受歡迎的帳號之一。", - "follow_suggestions.hints.most_interactions": "這個個人檔案最近於 {domain} 受到非常多關注。", - "follow_suggestions.hints.similar_to_recently_followed": "這個個人檔案與您最近跟隨之帳號類似。", + "follow_suggestions.hints.featured": "此個人檔案是 {domain} 管理團隊精心挑選。", + "follow_suggestions.hints.friends_of_friends": "此個人檔案於您跟隨的帳號中很受歡迎。", + "follow_suggestions.hints.most_followed": "此個人檔案是 {domain} 中最受歡迎的帳號之一。", + "follow_suggestions.hints.most_interactions": "此個人檔案最近於 {domain} 受到非常多關注。", + "follow_suggestions.hints.similar_to_recently_followed": "此個人檔案與您最近跟隨之帳號類似。", "follow_suggestions.personalized_suggestion": "個人化推薦", "follow_suggestions.popular_suggestion": "熱門推薦", "follow_suggestions.popular_suggestion_longer": "{domain} 上的人氣王", @@ -419,6 +441,8 @@ "follow_suggestions.who_to_follow": "推薦跟隨帳號", "followed_tags": "已跟隨主題標籤", "footer.about": "關於", + "footer.about_mastodon": "關於 Mastodon", + "footer.about_server": "關於 {domain}", "footer.about_this_server": "關於", "footer.directory": "個人檔案目錄", "footer.get_app": "取得應用程式", @@ -615,7 +639,7 @@ "notification.admin.sign_up": "{name} 已經註冊", "notification.admin.sign_up.name_and_others": "{name} 與{count, plural, other {其他 # 個人}}已註冊", "notification.annual_report.message": "您的 {year} #Wrapstodon 正等著您!揭開您 Mastodon 上的年度精彩時刻與值得回憶的難忘時光!", - "notification.annual_report.view": "檢視 #Wrapstodon", + "notification.annual_report.view": "檢視 #Wrapstodon 年度回顧", "notification.favourite": "{name} 已將您的嘟文加入最愛", "notification.favourite.name_and_others_with_link": "{name} 與{count, plural, other {其他 # 個人}}已將您的嘟文加入最愛", "notification.favourite_pm": "{name} 將您的私訊加入最愛", diff --git a/config/locales/activerecord.ca.yml b/config/locales/activerecord.ca.yml index f53f7f364a..f92aca17a2 100644 --- a/config/locales/activerecord.ca.yml +++ b/config/locales/activerecord.ca.yml @@ -32,6 +32,12 @@ ca: attributes: url: invalid: no és un enllaç vàlid + collection: + attributes: + collection_items: + too_many: n'hi ha massa. %{count} és el màxim permès + tag: + unusable: pot no ser emprat doorkeeper/application: attributes: website: diff --git a/config/locales/activerecord.en-GB.yml b/config/locales/activerecord.en-GB.yml index 2402b2f7f2..cd94e09422 100644 --- a/config/locales/activerecord.en-GB.yml +++ b/config/locales/activerecord.en-GB.yml @@ -7,7 +7,7 @@ en-GB: options: Choices user: agreement: Service agreement - email: E-mail address + email: Email address locale: Locale password: Password user/account: @@ -26,7 +26,7 @@ en-GB: fields: fields_with_values_missing_labels: contains values with missing labels username: - invalid: must contain only letters, numbers and underscores + invalid: must contain only letters, numbers, and underscores reserved: is reserved admin/webhook: attributes: @@ -64,7 +64,7 @@ en-GB: date_of_birth: below_limit: is below the age limit email: - blocked: uses a disallowed e-mail provider + blocked: uses a disallowed email provider unreachable: does not seem to exist role_id: elevated: cannot be higher than your current role @@ -80,4 +80,4 @@ en-GB: webhook: attributes: events: - invalid_permissions: cannot include events you don't have the rights to + invalid_permissions: cannot include events to which you don't have the rights diff --git a/config/locales/activerecord.eu.yml b/config/locales/activerecord.eu.yml index c0ac1bb338..4324106061 100644 --- a/config/locales/activerecord.eu.yml +++ b/config/locales/activerecord.eu.yml @@ -32,6 +32,12 @@ eu: attributes: url: invalid: ez da baliozko URL bat + collection: + attributes: + collection_items: + too_many: gehiegi dira, eta ez dira onartzen %{count} baino gehiago + tag: + unusable: baliteke ez erabiltzea doorkeeper/application: attributes: website: diff --git a/config/locales/activerecord.ko.yml b/config/locales/activerecord.ko.yml index 3aa991734b..05be315583 100644 --- a/config/locales/activerecord.ko.yml +++ b/config/locales/activerecord.ko.yml @@ -32,6 +32,10 @@ ko: attributes: url: invalid: 올바른 URL이 아닙니다 + collection: + attributes: + tag: + unusable: 사용할 수 없음 doorkeeper/application: attributes: website: diff --git a/config/locales/be.yml b/config/locales/be.yml index 3212b7cbb3..bbe64c5951 100644 --- a/config/locales/be.yml +++ b/config/locales/be.yml @@ -7,6 +7,8 @@ be: hosted_on: Mastodon месціцца на %{domain} title: Пра нас accounts: + errors: + cannot_be_added_to_collections: Гэты ўліковы запіс нельга дадаць у калекцыі. followers: few: Падпісчыка many: Падпісчыкаў @@ -2274,4 +2276,5 @@ be: otp_required: Каб выкарыстоўваць ключы бяспекі, спачатку ўключыце двухфактарную аўтэнтыфікацыю. registered_on: Зарэгістраваны %{date} wrapstodon: + description: Паглядзіце, як %{name} карыстаў(-ла)ся Mastodon у гэтым годзе! title: Вынікадон %{year} для %{name} diff --git a/config/locales/ca.yml b/config/locales/ca.yml index bc7cd7673a..baf33daacf 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -7,6 +7,8 @@ ca: hosted_on: Mastodon allotjat a %{domain} title: Quant a accounts: + errors: + cannot_be_added_to_collections: Aquest compte no es pot afegir a coŀleccions. followers: one: Seguidor other: Seguidors @@ -2160,4 +2162,5 @@ ca: otp_required: Per a usar claus de seguretat, activeu primer l'autenticació de dos factors. registered_on: Registrat en %{date} wrapstodon: + description: Mira com %{name} ha fet servir Mastodon enguany. title: Wrapstodon %{year} per a %{name} diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 25d61bbb0d..90f118e824 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -7,6 +7,8 @@ cs: hosted_on: Mastodon na doméně %{domain} title: O službě accounts: + errors: + cannot_be_added_to_collections: Tento účet nelze přidat do kolekcí. followers: few: Sledující many: Sledujících @@ -2274,4 +2276,5 @@ cs: otp_required: Pro použití bezpečnostních klíčů prosím nejprve zapněte dvoufázové ověřování. registered_on: Přidán %{date} wrapstodon: + description: Podívejte se, jak %{name} používali Mastodon v tomto roce! title: Wrapstodon %{year} pro %{name} diff --git a/config/locales/cy.yml b/config/locales/cy.yml index ad153fdac3..ab45735c67 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -7,6 +7,8 @@ cy: hosted_on: Mastodon wedi ei weinyddu ar %{domain} title: Ynghylch accounts: + errors: + cannot_be_added_to_collections: Does dim modd ychwanegu'r cyfrif hwn at gasgliadau. followers: few: Dilynwyr many: Dilynwyr @@ -1862,16 +1864,22 @@ cy: body: 'Caswoch eich crybwyll gan %{name} yn:' subject: Cawsoch eich crybwyll gan %{name} title: Crywbylliad newydd + moderation_warning: + subject: Rydych wedi derbyn rhybudd gan gymedrolwr poll: subject: Mae arolwg gan %{name} wedi dod i ben quote: body: 'Mae %{name} wedi dyfynnu eich postiad :' subject: Mae %{name} wedi dyfynnu eich postiad title: Dyfyniad newydd + quoted_update: + subject: Golygodd %{name} bostiad rydych chi wedi'i ddyfynnu reblog: body: 'Cafodd eich postiad ei hybu gan %{name}:' subject: Rhoddodd %{name} hwb i'ch postiad title: Hwb newydd + severed_relationships: + subject: Rydych chi wedi colli cysylltiadau oherwydd penderfyniad cymedroli status: subject: "%{name} newydd ei bostio" update: @@ -2355,3 +2363,6 @@ cy: not_supported: Nid yw'r porwr hwn yn cynnal allweddi diogelwch otp_required: I ddefnyddio allweddi diogelwch, galluogwch ddilysu dau ffactor yn gyntaf. registered_on: Cofrestrwyd ar %{date} + wrapstodon: + description: Gweler sut defnyddiodd %{name} Mastodon eleni! + title: Wrapstodon %{year} ar gyfer %{name} diff --git a/config/locales/da.yml b/config/locales/da.yml index 09bcb6fdf0..e15eeb7dda 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -7,6 +7,8 @@ da: hosted_on: Mastodon hostet på %{domain} title: Om accounts: + errors: + cannot_be_added_to_collections: Denne konto kan ikke tilføjes til samlinger. followers: one: Følger other: Følgere @@ -2186,4 +2188,5 @@ da: otp_required: For at bruge sikkerhedsnøgler skal tofaktorgodkendelse først aktiveres. registered_on: Registreret d. %{date} wrapstodon: + description: Se hvordan %{name} brugte Mastodon i år! title: Wrapstodon %{year} for %{name} diff --git a/config/locales/de.yml b/config/locales/de.yml index 13fd701bca..04dc47b038 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -7,6 +7,8 @@ de: hosted_on: Mastodon, gehostet auf %{domain} title: Über accounts: + errors: + cannot_be_added_to_collections: Dieses Konto darf keinen Sammlungen hinzugefügt werden. followers: one: Follower other: Follower @@ -54,15 +56,15 @@ de: title: Rolle für %{username} ändern confirm: Bestätigen confirmed: Bestätigt - confirming: Bestätigung + confirming: Bestätigung ausstehend custom: Angepasst delete: Daten löschen deleted: Gelöscht demote: Zurückstufen - destroyed_msg: Daten von %{username} wurden zum Löschen in die Warteschlange eingereiht + destroyed_msg: Die Daten von %{username} befinden sich nun in der Warteschlange und werden in Kürze gelöscht disable: Einfrieren disable_sign_in_token_auth: E-Mail-Token-Authentisierung deaktivieren - disable_two_factor_authentication: Zwei-Faktor-Authentisierung deaktivieren + disable_two_factor_authentication: Zwei-Faktor-Authentisierung (2FA) deaktivieren disabled: Eingefroren display_name: Anzeigename domain: Domain @@ -80,7 +82,7 @@ de: invite_request_text: Begründung für das Beitreten invited_by: Eingeladen von ip: IP-Adresse - joined: Mitglied seit + joined: Registriert am location: all: Alle local: Lokal @@ -103,12 +105,12 @@ de: most_recent_activity: Letzte Aktivität most_recent_ip: Letzte IP-Adresse no_account_selected: Keine Konten wurden geändert, da keine ausgewählt wurden - no_limits_imposed: Keine Beschränkungen + no_limits_imposed: Keine Einschränkungen no_role_assigned: Keine Rolle zugewiesen not_subscribed: Nicht abonniert pending: Überprüfung ausstehend perform_full_suspension: Sperren - previous_strikes: Vorherige Maßnahmen + previous_strikes: Frühere Maßnahmen previous_strikes_description_html: one: Gegen dieses Konto wurde eine Maßnahme verhängt. other: Gegen dieses Konto wurden %{count} Maßnahmen verhängt. @@ -129,14 +131,14 @@ de: resend_confirmation: already_confirmed: Dieses Profil wurde bereits bestätigt send: Bestätigungslink erneut zusenden - success: Bestätigungslink erfolgreich gesendet! + success: Bestätigungslink erfolgreich verschickt! reset: Zurücksetzen reset_password: Passwort zurücksetzen resubscribe: Erneut abonnieren role: Rolle search: Suchen search_same_email_domain: Andere Konten mit der gleichen E-Mail-Domain - search_same_ip: Andere Konten mit derselben IP-Adresse + search_same_ip: Andere Konten mit der gleichen IP-Adresse security: Sicherheit security_measures: only_password: Nur Passwort @@ -145,7 +147,7 @@ de: sensitized: Mit Inhaltswarnung versehen shared_inbox_url: Geteilte Posteingangsadresse show: - created_reports: Erstellte Meldungen + created_reports: Eingereichte Meldungen targeted_reports: Von Anderen gemeldet silence: Stummschalten silenced: Stummgeschaltet @@ -209,7 +211,7 @@ de: disable_custom_emoji: Eigenes Emoji deaktivieren disable_relay: Relais deaktivieren disable_sign_in_token_auth_user: E-Mail-Token-Authentisierung für dieses Konto deaktivieren - disable_user: Benutzer*in deaktivieren + disable_user: Profil deaktivieren enable_custom_emoji: Eigenes Emoji aktivieren enable_relay: Relais aktivieren enable_sign_in_token_auth_user: E-Mail-Token-Authentisierung für dieses Konto aktivieren @@ -333,8 +335,8 @@ de: scheduled_for: Geplant für %{time} scheduled_msg: Ankündigung ist zur Veröffentlichung vorgemerkt! title: Ankündigungen - unpublish: Veröffentlichung rückgängig machen - unpublished_msg: Ankündigung ist jetzt nicht mehr sichtbar! + unpublish: Ankündigung zurücknehmen + unpublished_msg: Ankündigung erfolgreich zurückgenommen! updated_msg: Ankündigung erfolgreich aktualisiert! critical_update_pending: Kritisches Update ausstehend custom_emojis: @@ -376,7 +378,7 @@ de: interactions: Interaktionen media_storage: Medien new_users: neue Profile - opened_reports: eingereichte Meldungen + opened_reports: Unbearbeitete Meldungen pending_appeals_html: one: "%{count} ausstehender Einspruch" other: "%{count} ausstehende Einsprüche" @@ -1505,7 +1507,7 @@ de: too_large: Datei ist zu groß failures: Fehler imported: Importiert - mismatched_types_warning: Möglicherweise hast du den falschen Typ für diesen Import ausgewählt. Bitte überprüfe alles noch einmal. + mismatched_types_warning: Möglicherweise hast du das falsche Format für diesen Import ausgewählt. Bitte überprüfe alles noch einmal. modes: merge: Zusammenführen merge_long: Bestehende Datensätze beibehalten und neue hinzufügen @@ -2025,7 +2027,7 @@ de: too_many_requests: Der Übersetzungsdienst hat kürzlich zu viele Anfragen erhalten. two_factor_authentication: add: Hinzufügen - disable: Zwei-Faktor-Authentisierung deaktivieren + disable: Zwei-Faktor-Authentisierung (2FA) deaktivieren disabled_success: Zwei-Faktor-Authentisierung erfolgreich deaktiviert edit: Bearbeiten enabled: Zwei-Faktor-Authentisierung (2FA) ist aktiviert @@ -2155,7 +2157,7 @@ de: users: follow_limit_reached: Du kannst nicht mehr als %{limit} Profilen folgen go_to_sso_account_settings: Kontoeinstellungen des Identitätsanbieters aufrufen - invalid_otp_token: Ungültiger Code der Zwei-Faktor-Authentisierung + invalid_otp_token: Ungültiger Code der Zwei-Faktor-Authentisierung (2FA) otp_lost_help_html: Wenn du sowohl die E-Mail-Adresse als auch das Passwort nicht mehr weißt, melde dich bitte bei uns unter %{email} rate_limited: Zu viele Authentisierungsversuche. Bitte versuche es später noch einmal. seamless_external_login: Du bist über einen externen Dienst angemeldet, daher sind Passwort- und E-Mail-Einstellungen nicht verfügbar. @@ -2186,4 +2188,5 @@ de: otp_required: Um Sicherheitsschlüssel zu verwenden, aktiviere zunächst die Zwei-Faktor-Authentisierung. registered_on: Registriert am %{date} wrapstodon: + description: Sieh dir an, wie %{name} dieses Jahr Mastodon verwendet hat! title: Wrapstodon %{year} für %{name} diff --git a/config/locales/devise.el.yml b/config/locales/devise.el.yml index eaab37f48d..86134b9491 100644 --- a/config/locales/devise.el.yml +++ b/config/locales/devise.el.yml @@ -8,7 +8,7 @@ el: failure: already_authenticated: Έχεις ήδη συνδεθεί. closed_registrations: Η προσπάθεια εγγραφής σας έχει αποκλειστεί λόγω μιας πολιτικής δικτύου. Αν πιστεύετε ότι πρόκειται για σφάλμα, επικοινωνήστε με το %{email}. - inactive: Ο λογαριασμός σου δεν έχει ενεργοποιηθεί ακόμα. + inactive: Ο λογαριασμός σου δεν έχει ενεργοποιηθεί ακόμη. invalid: Λάθος %{authentication_keys} ή συνθηματικό. last_attempt: Έχεις μια ακόμα προσπάθεια πριν κλειδωθεί ο λογαριασμός σου. locked: Ο λογαριασμός σου κλειδώθηκε. diff --git a/config/locales/devise.en-GB.yml b/config/locales/devise.en-GB.yml index 118423c966..c4650577d7 100644 --- a/config/locales/devise.en-GB.yml +++ b/config/locales/devise.en-GB.yml @@ -23,66 +23,66 @@ en-GB: action: Verify email address action_with_app: Confirm and return to %{app} explanation: You have created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email. - explanation_when_pending: You applied for an invite to %{host} with this email address. Once you confirm your e-mail address, we will review your application. You can log in to change your details or delete your account, but you cannot access most of the functions until your account is approved. If your application is rejected, your data will be removed, so no further action will be required from you. If this wasn't you, please ignore this email. + explanation_when_pending: You applied for an invite to %{host} with this email address. Once you confirm your email address, we will review your application. You can log in to change your details or delete your account, but you cannot access most of the functions until your account is approved. If your application is rejected, your data will be removed, so no further action will be required from you. If this wasn't you, please ignore this email. extra_html: Please also check out the rules of the server and our terms of service. - subject: 'Mastodon: Confirmation instructions for %{instance}' + subject: 'Mastodon: confirmation instructions for %{instance}' title: Verify email address email_changed: explanation: 'The email address for your account is being changed to:' extra: If you did not change your email, it is likely that someone has gained access to your account. Please change your password immediately or contact the server admin if you're locked out of your account. - subject: 'Mastodon: Email changed' + subject: 'Mastodon: email changed' title: New email address password_change: explanation: The password for your account has been changed. extra: If you did not change your password, it is likely that someone has gained access to your account. Please change your password immediately or contact the server admin if you're locked out of your account. - subject: 'Mastodon: Password changed' + subject: 'Mastodon: password changed' title: Password changed reconfirmation_instructions: explanation: Confirm the new address to change your email. extra: If this change wasn't initiated by you, please ignore this email. The email address for the Mastodon account won't change until you access the link above. - subject: 'Mastodon: Confirm email for %{instance}' + subject: 'Mastodon: confirm email for %{instance}' title: Verify email address reset_password_instructions: action: Change password explanation: You requested a new password for your account. extra: If you didn't request this, please ignore this email. Your password won't change until you access the link above and create a new one. - subject: 'Mastodon: Reset password instructions' + subject: 'Mastodon: reset password instructions' title: Password reset two_factor_disabled: - explanation: Login is now possible using only e-mail address and password. - subject: 'Mastodon: Two-factor authentication disabled' + explanation: Login is now possible using only email address and password. + subject: 'Mastodon: two-factor authentication disabled' subtitle: Two-factor authentication for your account has been disabled. title: 2FA disabled two_factor_enabled: explanation: A token generated by the paired TOTP app will be required for login. - subject: 'Mastodon: Two-factor authentication enabled' + subject: 'Mastodon: two-factor authentication enabled' subtitle: Two-factor authentication has been enabled for your account. title: 2FA enabled two_factor_recovery_codes_changed: explanation: The previous recovery codes have been invalidated and new ones generated. - subject: 'Mastodon: Two-factor recovery codes re-generated' + subject: 'Mastodon: two-factor recovery codes re-generated' subtitle: The previous recovery codes have been invalidated and new ones generated. title: 2FA recovery codes changed unlock_instructions: - subject: 'Mastodon: Unlock instructions' + subject: 'Mastodon: unlock instructions' webauthn_credential: added: explanation: The following security key has been added to your account - subject: 'Mastodon: New security key' + subject: 'Mastodon: new security key' title: A new security key has been added deleted: explanation: The following security key has been deleted from your account - subject: 'Mastodon: Security key deleted' + subject: 'Mastodon: security key deleted' title: One of your security keys has been deleted webauthn_disabled: explanation: Authentication with security keys has been disabled for your account. extra: Login is now possible using only the token generated by the paired TOTP app. - subject: 'Mastodon: Authentication with security keys disabled' + subject: 'Mastodon: authentication with security keys disabled' title: Security keys disabled webauthn_enabled: explanation: Security key authentication has been enabled for your account. extra: Your security key can now be used for login. - subject: 'Mastodon: Security key authentication enabled' + subject: 'Mastodon: security key authentication enabled' title: Security keys enabled omniauth_callbacks: failure: Could not authenticate you from %{kind} because “%{reason}”. diff --git a/config/locales/doorkeeper.de.yml b/config/locales/doorkeeper.de.yml index 6d0e3010af..98a6d45da5 100644 --- a/config/locales/doorkeeper.de.yml +++ b/config/locales/doorkeeper.de.yml @@ -101,7 +101,7 @@ de: temporarily_unavailable: Der Autorisierungs-Server ist aufgrund von zwischenzeitlicher Überlastung oder Wartungsarbeiten derzeit nicht in der Lage, die Anfrage zu bearbeiten. unauthorized_client: Der Client ist nicht dazu autorisiert, diese Anfrage mit dieser Methode auszuführen. unsupported_grant_type: Der Autorisierungs-Typ wird nicht vom Autorisierungs-Server unterstützt. - unsupported_response_type: Der Autorisierungs-Server unterstützt diesen Antwort-Typ nicht. + unsupported_response_type: Der Autorisierungsserver unterstützt dieses Antwortformat nicht. flash: applications: create: diff --git a/config/locales/doorkeeper.en-GB.yml b/config/locales/doorkeeper.en-GB.yml index 63a4575e83..5b4b99858c 100644 --- a/config/locales/doorkeeper.en-GB.yml +++ b/config/locales/doorkeeper.en-GB.yml @@ -96,7 +96,7 @@ en-GB: expired: The access token expired revoked: The access token was revoked unknown: The access token is invalid - resource_owner_authenticator_not_configured: Resource Owner find failed due to Doorkeeper.configure.resource_owner_authenticator being unconfiged. + resource_owner_authenticator_not_configured: Resource Owner find failed due to Doorkeeper.configure.resource_owner_authenticator being unconfigured. server_error: The authorisation server encountered an unexpected condition which prevented it from fulfilling the request. temporarily_unavailable: The authorisation server is currently unable to handle the request due to a temporary overloading or maintenance of the server. unauthorized_client: The client is not authorised to perform this request using this method. @@ -130,7 +130,7 @@ en-GB: crypto: End-to-end encryption favourites: Favourites filters: Filters - follow: Follows, Mutes and Blocks + follow: Follows, Mutes, and Blocks follows: Follows lists: Lists media: Media attachments diff --git a/config/locales/el.yml b/config/locales/el.yml index a17c20bdec..67e3f337ad 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -7,6 +7,8 @@ el: hosted_on: Το Mastodon φιλοξενείται στο %{domain} title: Σχετικά accounts: + errors: + cannot_be_added_to_collections: Αυτός ο λογαριασμός δεν μπορεί να προστεθεί σε συλλογές. followers: one: Ακόλουθος other: Ακόλουθοι @@ -308,7 +310,7 @@ el: update_status_html: Ο/Η %{name} ενημέρωσε την ανάρτηση του/της %{target} update_user_role_html: Ο/Η %{name} άλλαξε τον ρόλο %{target} update_username_block_html: "%{name} ενημέρωσε κανόνα για ονόματα χρηστών που περιέχουν %{target}" - deleted_account: διαγεγραμμένος λογαριασμός + deleted_account: λογαριασμός διαγράφηκε empty: Δεν βρέθηκαν αρχεία καταγραφής. filter_by_action: Φιλτράρισμα ανά ενέργεια filter_by_user: Φιλτράρισμα ανά χρήστη @@ -751,7 +753,7 @@ el: description_html: Με τους ρόλους χρηστών, μπορείς να προσαρμόσεις σε ποιες λειτουργίες και περιοχές του Mastodon, οι χρήστες σας μπορούν να έχουν πρόσβαση. edit: Επεξεργασία ρόλου '%{name}' everyone: Προεπιλεγμένα δικαιώματα - everyone_full_description_html: Αυτός είναι ο βασικός ρόλος που επηρεάζει όλους τους χρήστες, ακόμη και εκείνους που δεν έχουν κάποιον ρόλο. Όλοι οι άλλοι ρόλοι κληρονομούν δικαιώματα από αυτόν. + everyone_full_description_html: Αυτός είναι ο βασικός ρόλος που επηρεάζει όλους τους χρήστες, ακόμα και εκείνους που δεν έχουν κάποιον ρόλο. Όλοι οι άλλοι ρόλοι κληρονομούν δικαιώματα από αυτόν. permissions_count: one: "%{count} δικαίωμα" other: "%{count} δικαιώματα" @@ -805,7 +807,7 @@ el: delete: Διαγραφή description_html: Ενώ οι περισσότεροι ισχυρίζονται ότι έχουν διαβάσει και συμφωνούν με τους όρους της υπηρεσίας, συνήθως οι άνθρωποι δεν διαβάζουν μέχρι μετά την εμφάνιση ενός προβλήματος. Κάνε ευκολότερο να δουν τους κανόνες του διακομιστή σας με μια ματιά παρέχοντας τους σε μια λίστα. Προσπάθησε να κρατήσεις τους μεμονωμένους κανόνες σύντομους και απλούς, αλλά προσπάθησε να μην τους χωρίσεις σε πολλά ξεχωριστά αντικείμενα. edit: Επεξεργασία κανόνα - empty: Δεν έχουν οριστεί ακόμα κανόνες διακομιστή. + empty: Δεν έχουν οριστεί ακόμη κανόνες διακομιστή. move_down: Μετακίνηση κάτω move_up: Μετακίνηση πάνω title: Κανόνες διακομιστή @@ -1015,7 +1017,7 @@ el: going_live_on_html: Ενεργό, σε ισχύ από %{date} history: Ιστορικό live: Ενεργό - no_history: Δεν υπάρχουν ακόμα καταγεγραμμένες αλλαγές στους όρους παροχής υπηρεσιών. + no_history: Δεν υπάρχουν ακόμη καταγεγραμμένες αλλαγές στους όρους παροχής υπηρεσιών. no_terms_of_service_html: Δεν έχετε ρυθμίσει τους όρους της υπηρεσίας. Οι όροι της υπηρεσίας αποσκοπούν στην παροχή σαφήνειας και την προστασία σου από πιθανές υποχρεώσεις σε διαφορές με τους χρήστες σου. notified_on_html: Οι χρήστες ειδοποιήθηκαν στις %{date} notify_users: Ειδοποίηση χρηστών @@ -1137,7 +1139,7 @@ el: disable: Απενεργοποίηση disabled: Απενεργοποιημένα edit: Επεξεργασία σημείου τερματισμού - empty: Δεν έχεις ακόμα ρυθμισμένα σημεία τερματισμού webhook. + empty: Δεν έχεις ακόμη ρυθμισμένα σημεία τερματισμού webhook. enable: Ενεργοποίηση enabled: Ενεργό enabled_events: @@ -1226,7 +1228,7 @@ el: apply_for_account: Ζήτα έναν λογαριασμό captcha_confirmation: help_html: Εάν αντιμετωπίζεις προβλήματα με την επίλυση του CAPTCHA, μπορείς να επικοινωνήσεις μαζί μας μέσω %{email} και μπορούμε να σε βοηθήσουμε. - hint_html: Και κάτι ακόμα! Πρέπει να επιβεβαιώσουμε ότι είσαι άνθρωπος (αυτό γίνεται για να κρατήσουμε μακριά το σπαμ!). Λύσε το CAPTCHA παρακάτω και κάνε κλικ "Συνέχεια". + hint_html: Και κάτι ακόμα! Πρέπει να επιβεβαιώσουμε ότι είσαι άνθρωπος (αυτό γίνεται για να κρατήσουμε μακριά το σπαμ!). Λύσε το CAPTCHA παρακάτω και πάτα "Συνέχεια". title: Ελεγχος ασφαλείας confirmations: awaiting_review: Η διεύθυνση email σου επιβεβαιώθηκε! Το προσωπικό του %{domain} εξετάζει τώρα την εγγραφή σου. Θα λάβεις ένα email εάν εγκρίνουν τον λογαριασμό σου! @@ -1827,7 +1829,7 @@ el: over_total_limit: Έχεις υπερβεί το όριο των %{limit} προγραμματισμένων αναρτήσεων too_soon: η ημερομηνία πρέπει να είναι στο μέλλον self_destruct: - lead_html: Δυστυχώς, το %{domain} κλείνει οριστικά. Αν είχατε λογαριασμό εκεί, δεν θα μπορείτε να συνεχίσετε τη χρήση του, αλλά μπορείτε ακόμα να ζητήσετε ένα αντίγραφο ασφαλείας των δεδομένων σας. + lead_html: Δυστυχώς, το %{domain} κλείνει οριστικά. Αν είχατε λογαριασμό εκεί, δεν θα μπορείτε να συνεχίσετε τη χρήση του, αλλά μπορείτε ακόμη να ζητήσετε ένα αντίγραφο ασφαλείας των δεδομένων σας. title: Αυτός ο διακομιστής κλείνει οριστικά sessions: activity: Τελευταία δραστηριότητα @@ -1967,7 +1969,7 @@ el: ignore_favs: Αγνόηση αγαπημένων ignore_reblogs: Αγνόηση ενισχύσεων interaction_exceptions: Εξαιρέσεις βασισμένες σε αλληλεπιδράσεις - interaction_exceptions_explanation: Σημείωσε ότι δεν υπάρχει εγγύηση για πιθανή διαγραφή αναρτήσεων αν αυτά πέσουν κάτω από το όριο αγαπημένων ή ενισχύσεων ακόμα και αν κάποτε το είχαν ξεπεράσει. + interaction_exceptions_explanation: Σημείωσε ότι δεν υπάρχει εγγύηση για πιθανή διαγραφή αναρτήσεων αν αυτά πέσουν κάτω από το όριο αγαπημένων ή ενισχύσεων ακόμη και αν κάποτε το είχαν ξεπεράσει. keep_direct: Διατήρηση άμεσων μηνυμάτων keep_direct_hint: Δεν διαγράφει κανένα από τα άμεσα μηνύματά σου keep_media: Διατήρηση αναρτήσεων με συνημμένα πολυμέσων @@ -2092,8 +2094,8 @@ el: disable: Δεν μπορείς πλέον να χρησιμοποιήσεις τον λογαριασμό σου, αλλά το προφίλ σου και άλλα δεδομένα παραμένουν άθικτα. Μπορείς να ζητήσεις ένα αντίγραφο ασφαλείας των δεδομένων σου, να αλλάξεις τις ρυθμίσεις του λογαριασμού σου ή να διαγράψεις τον λογαριασμό σου. mark_statuses_as_sensitive: Μερικές από τις αναρτήσεις σου έχουν επισημανθεί ως ευαίσθητες από τους συντονιστές του %{instance}. Αυτό σημαίνει ότι οι άνθρωποι θα πρέπει να πατήσουν τα πολυμέσα στις αναρτήσεις πριν εμφανιστεί μια προεπισκόπηση. Μπορείς να επισημάνεις τα πολυμέσα ως ευαίσθητα όταν δημοσιεύεις στο μέλλον. sensitive: Από δω και στο εξής, όλα τα μεταφορτωμένα αρχεία πολυμέσων σου θα επισημανθούν ως ευαίσθητα και κρυμμένα πίσω από μια προειδοποίηση που πρέπει να πατηθεί. - silence: Μπορείς ακόμα να χρησιμοποιείς τον λογαριασμό σου, αλλά μόνο άτομα που σε ακολουθούν ήδη θα δουν τις αναρτήσεις σου σε αυτόν τον διακομιστή και μπορεί να αποκλειστείς από διάφορες δυνατότητες ανακάλυψης. Ωστόσο, οι άλλοι μπορούν ακόμα να σε ακολουθήσουν με μη αυτόματο τρόπο. - suspend: Δε μπορείς πλέον να χρησιμοποιήσεις τον λογαριασμό σου και το προφίλ σου και άλλα δεδομένα δεν είναι πλέον προσβάσιμα. Μπορείς ακόμα να συνδεθείς για να αιτηθείς αντίγραφο των δεδομένων σου μέχρι να αφαιρεθούν πλήρως σε περίπου 30 μέρες αλλά, θα διατηρήσουμε κάποια βασικά δεδομένα για να σε αποτρέψουμε να παρακάμψεις την αναστολή. + silence: Μπορείς ακόμη να χρησιμοποιείς τον λογαριασμό σου, αλλά μόνο άτομα που σε ακολουθούν ήδη θα δουν τις αναρτήσεις σου σε αυτόν τον διακομιστή και μπορεί να αποκλειστείς από διάφορες δυνατότητες ανακάλυψης. Ωστόσο, οι άλλοι μπορούν ακόμη να σε ακολουθήσουν με μη αυτόματο τρόπο. + suspend: Δε μπορείς πλέον να χρησιμοποιήσεις τον λογαριασμό σου, και το προφίλ σου και άλλα δεδομένα δεν είναι πλέον προσβάσιμα. Μπορείς ακόμη να συνδεθείς για να αιτηθείς αντίγραφο των δεδομένων σου μέχρι να αφαιρεθούν πλήρως σε περίπου 30 μέρες αλλά, θα διατηρήσουμε κάποια βασικά δεδομένα για να σε αποτρέψουμε να παρακάμψεις την αναστολή. reason: 'Αιτιολογία:' statuses: 'Αναφερόμενες αναρτήσεις:' subject: @@ -2161,7 +2163,7 @@ el: seamless_external_login: Επειδή έχεις συνδεθεί μέσω τρίτης υπηρεσίας, οι ρυθμίσεις συνθηματικού και email δεν είναι διαθέσιμες. signed_in_as: 'Έχεις συνδεθεί ως:' verification: - extra_instructions_html: Συμβουλή: Ο σύνδεσμος στην ιστοσελίδα σου μπορεί να είναι αόρατος. Το σημαντικό μέρος είναι το rel="me" που αποτρέπει την μίμηση σε ιστοσελίδες με περιεχόμενο παραγόμενο από χρήστες. Μπορείς ακόμη να χρησιμοποιήσεις μια ετικέτα συνδέσμου στην κεφαλίδα της σελίδας αντί για a, αλλά ο κώδικας HTML πρέπει να είναι προσβάσιμος χωρίς την εκτέλεση JavaScript. + extra_instructions_html: Συμβουλή: Ο σύνδεσμος στην ιστοσελίδα σου μπορεί να είναι αόρατος. Το σημαντικό μέρος είναι το rel="me" που αποτρέπει την μίμηση σε ιστοσελίδες με περιεχόμενο παραγόμενο από χρήστες. Μπορείς ακόμα να χρησιμοποιήσεις μια ετικέτα συνδέσμου στην κεφαλίδα της σελίδας αντί για a, αλλά ο κώδικας HTML πρέπει να είναι προσβάσιμος χωρίς την εκτέλεση JavaScript. here_is_how: Δείτε πώς hint_html: Η επαλήθευση της ταυτότητας στο Mastodon είναι για όλους. Βασισμένο σε ανοιχτά πρότυπα ιστού, τώρα και για πάντα δωρεάν. Το μόνο που χρειάζεσαι είναι μια προσωπική ιστοσελίδα που ο κόσμος να σε αναγνωρίζει από αυτή. Όταν συνδέεσαι σε αυτήν την ιστοσελίδα από το προφίλ σου, θα ελέγξουμε ότι η ιστοσελίδα συνδέεται πίσω στο προφίλ σου και θα δείξει μια οπτική ένδειξη σε αυτό. instructions_html: Αντέγραψε και επικόλλησε τον παρακάτω κώδικα στην HTML της ιστοσελίδας σου. Στη συνέχεια, πρόσθεσε τη διεύθυνση της ιστοσελίδας σου σε ένα από τα επιπλέον πεδία στο προφίλ σου από την καρτέλα "Επεξεργασία προφίλ" και αποθήκευσε τις αλλαγές. @@ -2181,9 +2183,10 @@ el: success: Το κλειδί ασφαλείας σου διαγράφηκε με επιτυχία. invalid_credential: Άκυρο κλειδί ασφαλείας nickname_hint: Βάλε το ψευδώνυμο του νέου κλειδιού ασφαλείας σου - not_enabled: Δεν έχεις ενεργοποιήσει το WebAuthn ακόμα + not_enabled: Δεν έχεις ενεργοποιήσει το WebAuthn ακόμη not_supported: Αυτό το πρόγραμμα περιήγησης δεν υποστηρίζει κλειδιά ασφαλείας otp_required: Για να χρησιμοποιήσεις κλειδιά ασφαλείας, ενεργοποίησε πρώτα την ταυτοποίηση δύο παραγόντων. registered_on: Εγγραφή στις %{date} wrapstodon: + description: Δείτε πώς ο/η %{name} χρησιμοποίησε το Mastodon φέτος! title: Wrapstodon %{year} για %{name} diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml index 7a08b1c63e..2e0e1d47fa 100644 --- a/config/locales/en-GB.yml +++ b/config/locales/en-GB.yml @@ -7,6 +7,8 @@ en-GB: hosted_on: Mastodon hosted on %{domain} title: About accounts: + errors: + cannot_be_added_to_collections: This account cannot be added to collections. followers: one: Follower other: Followers @@ -102,7 +104,7 @@ en-GB: moderation_notes: Moderation notes most_recent_activity: Most recent activity most_recent_ip: Most recent IP - no_account_selected: No accounts were changed as none were selected + no_account_selected: No accounts were changed, as none were selected no_limits_imposed: No limits imposed no_role_assigned: No role assigned not_subscribed: Not subscribed @@ -154,7 +156,7 @@ en-GB: subscribe: Subscribe suspend: Suspend suspended: Suspended - suspension_irreversible: The data of this account has been irreversibly deleted. You can unsuspend the account to make it usable but it will not recover any data it previously had. + suspension_irreversible: The data of this account has been irreversibly deleted. You can unsuspend the account to make it usable, but it will not recover any data it previously had. suspension_reversible_hint_html: The account has been suspended, and the data will be fully removed on %{date}. Until then, the account can be restored without any ill effects. If you wish to remove all of the account's data immediately, you can do so below. title: Accounts unblock_email: Unblock email address @@ -273,7 +275,7 @@ en-GB: destroy_unavailable_domain_html: "%{name} stopped delivery to domain %{target}" destroy_user_role_html: "%{name} deleted %{target} role" destroy_username_block_html: "%{name} removed rule for usernames containing %{target}" - disable_2fa_user_html: "%{name} disabled two factor requirement for user %{target}" + disable_2fa_user_html: "%{name} disabled two-factor requirement for user %{target}" disable_custom_emoji_html: "%{name} disabled emoji %{target}" disable_relay_html: "%{name} disabled the relay %{target}" disable_sign_in_token_auth_user_html: "%{name} disabled email token authentication for %{target}" @@ -326,7 +328,7 @@ en-GB: title: New announcement preview: disclaimer: As users cannot opt out of them, email notifications should be limited to important announcements such as personal data breach or server closure notifications. - explanation_html: 'The email will be sent to %{display_count} users. The following text will be included in the e-mail:' + explanation_html: 'The email will be sent to %{display_count} users. The following text will be included in the email:' title: Preview announcement notification publish: Publish published_msg: Announcement successfully published! @@ -363,7 +365,7 @@ en-GB: not_permitted: You are not permitted to perform this action overwrite: Overwrite shortcode: Shortcode - shortcode_hint: At least 2 characters, only alphanumeric characters and underscores + shortcode_hint: At least two characters, only alphanumeric characters and underscores title: Custom emojis uncategorized: Uncategorised unlist: Unlist @@ -443,7 +445,7 @@ en-GB: private_comment: Private comment private_comment_hint: Comment about this domain limitation for internal use by the moderators. public_comment: Public comment - public_comment_hint: Comment about this domain limitation for the general public, if advertising the list of domain limitations is enabled. + public_comment_hint: Comment about this domain limitation for the general public if advertising the list of domain limitations is enabled. reject_media: Reject media files reject_media_hint: Removes locally stored media files and refuses to download any in the future. Irrelevant for suspensions reject_reports: Reject reports @@ -547,7 +549,7 @@ en-GB: content_policies: comment: Internal note description_html: You can define content policies that will be applied to all accounts from this domain and any of its subdomains. - limited_federation_mode_description_html: You can chose whether to allow federation with this domain. + limited_federation_mode_description_html: You can choose whether to allow federation with this domain. policies: reject_media: Reject media reject_reports: Reject reports @@ -616,15 +618,15 @@ en-GB: created_msg: Successfully added new IP rule delete: Delete expires_in: - '1209600': 2 weeks - '15778476': 6 months - '2629746': 1 month - '31556952': 1 year - '86400': 1 day - '94670856': 3 years + '1209600': two weeks + '15778476': six months + '2629746': one month + '31556952': one year + '86400': one day + '94670856': three years new: title: Create new IP rule - no_ip_block_selected: No IP rules were changed as none were selected + no_ip_block_selected: No IP rules were changed, as none were selected title: IP rules relationships: title: "%{acct}'s relationships" @@ -640,7 +642,7 @@ en-GB: inbox_url: Relay URL pending: Waiting for relay's approval save_and_enable: Save and enable - setup: Setup a relay connection + setup: Set up a relay connection signatures_not_enabled: Relays may not work correctly while secure mode or limited federation mode is enabled status: Status title: Relays @@ -657,12 +659,12 @@ en-GB: actions: delete_description_html: The reported posts will be deleted and a strike will be recorded to help you escalate on future infractions by the same account. mark_as_sensitive_description_html: The media in the reported posts will be marked as sensitive and a strike will be recorded to help you escalate on future infractions by the same account. - other_description_html: See more options for controlling the account's behaviour and customise communication to the reported account. + other_description_html: See more options for controlling the account's behaviour and customising communication to the reported account. resolve_description_html: No action will be taken against the reported account, no strike recorded, and the report will be closed. - silence_description_html: The account will be visible only to those who already follow it or manually look it up, severely limiting its reach. Can always be reverted. Closes all reports against this account. - suspend_description_html: The account and all its contents will be inaccessible and eventually deleted, and interacting with it will be impossible. Reversible within 30 days. Closes all reports against this account. + silence_description_html: The account will be visible only to those who already follow it or manually look it up, severely limiting its reach. This can always be reverted. This closes all reports against this account. + suspend_description_html: The account and all its contents will be inaccessible and eventually deleted, and interacting with it will be impossible. This is reversible within 30 days. This closes all reports against this account. actions_description_html: Decide which action to take to resolve this report. If you take a punitive action against the reported account, an email notification will be sent to them, except when the Spam category is selected. - actions_description_remote_html: Decide which action to take to resolve this report. This will only affect how your server communicates with this remote account and handle its content. + actions_description_remote_html: Decide which action to take to resolve this report. This will only affect how your server communicates with this remote account and handles its content. actions_no_posts: This report doesn't have any associated posts to delete add_to_report: Add more to report already_suspended_badges: @@ -724,7 +726,7 @@ en-GB: suspend_html: Suspend @%{acct}, making their profile and contents inaccessible and impossible to interact with close_report: 'Mark report #%{id} as resolved' close_reports_html: Mark all reports against @%{acct} as resolved - delete_data_html: Delete @%{acct}'s profile and contents 30 days from now unless they get unsuspended in the meantime + delete_data_html: Delete @%{acct}'s profile and contents 30 days from now, unless they get unsuspended in the meantime preview_preamble_html: "@%{acct} will receive a warning with the following contents:" record_strike_html: Record a strike against @%{acct} to help you escalate on future violations from this account send_email_html: Send @%{acct} a warning email @@ -748,7 +750,7 @@ en-GB: moderation: Moderation special: Special delete: Delete - description_html: With user roles, you can customize which functions and areas of Mastodon your users can access. + description_html: With user roles, you can customise which functions and areas of Mastodon your users can access. edit: Edit '%{name}' role everyone: Default permissions everyone_full_description_html: This is the base role affecting all users, even those without an assigned role. All other roles inherit permissions from it. @@ -815,11 +817,11 @@ en-GB: settings: about: manage_rules: Manage server rules - preamble: Provide in-depth information about how the server is operated, moderated, funded. - rules_hint: There is a dedicated area for rules that your users are expected to adhere to. + preamble: Provide in-depth information about how the server is operated, moderated, and funded. + rules_hint: There is a dedicated area for rules to which your users are expected to adhere. title: About allow_referrer_origin: - desc: When your users click links to external sites, their browser may send the address of your Mastodon server as the referrer. Disable this if this would uniquely identify your users, e.g. if this is a personal Mastodon server. + desc: When your users click links to external sites, their browser may send the address of your Mastodon server as the referrer. Disable this if this would uniquely identify your users, eg if this is a personal Mastodon server. title: Allow external sites to see your Mastodon server as a traffic source appearance: preamble: Customise Mastodon's web interface. @@ -880,7 +882,7 @@ en-GB: delete: Delete uploaded file destroyed_msg: Site upload successfully deleted! software_updates: - critical_update: Critical — please update quickly + critical_update: Critical – please update quickly description: It is recommended to keep your Mastodon installation up to date to benefit from the latest fixes and features. Moreover, it is sometimes critical to update Mastodon in a timely manner to avoid security issues. For these reasons, Mastodon checks for updates every 30 minutes, and will notify you according to your email notification preferences. documentation_link: Learn more release_notes: Release notes @@ -889,7 +891,7 @@ en-GB: types: major: Major release minor: Minor release - patch: Patch release — bugfixes and easy to apply changes + patch: Patch release – bug fixes and easy to apply changes version: Version statuses: account: Author @@ -918,7 +920,7 @@ en-GB: replied_to_html: Replied to %{acct_link} status_changed: Post changed status_title: Post by @%{name} - title: Account posts - @%{name} + title: Account posts – @%{name} trending: Trending view_publicly: View publicly view_quoted_post: View quoted post @@ -973,7 +975,7 @@ en-GB: message_html: A critical Mastodon update is available, please update as quickly as possible. software_version_patch_check: action: See available updates - message_html: A bugfix Mastodon update is available. + message_html: A bug fix Mastodon update is available. upload_check_privacy_error: action: Check here for more information message_html: "Your web server is misconfigured. The privacy of your users is at risk." @@ -1020,7 +1022,7 @@ en-GB: notified_on_html: Users notified on %{date} notify_users: Notify users preview: - explanation_html: 'The email will be sent to %{display_count} users who have signed up before %{date}. The following text will be included in the e-mail:' + explanation_html: 'The email will be sent to %{display_count} users who have signed up before %{date}. The following text will be included in the email:' send_preview: Send preview to %{email} send_to_all: one: Send %{display_count} email @@ -1044,12 +1046,12 @@ en-GB: confirm_allow_provider: Are you sure you want to allow selected providers? confirm_disallow: Are you sure you want to disallow selected links? confirm_disallow_provider: Are you sure you want to disallow selected providers? - description_html: These are links that are currently being shared a lot by accounts that your server sees posts from. It can help your users find out what's going on in the world. No links are displayed publicly until you approve the publisher. You can also allow or reject individual links. + description_html: These are links that are currently being shared a lot by accounts from which your server sees posts. It can help your users find out what's going on in the world. No links are displayed publicly until you approve the publisher. You can also allow or reject individual links. disallow: Disallow link disallow_provider: Disallow publisher - no_link_selected: No links were changed as none were selected + no_link_selected: No links were changed, as none were selected publishers: - no_publisher_selected: No publishers were changed as none were selected + no_publisher_selected: No publishers were changed, as none were selected shared_by_over_week: one: Shared by one person over the last week other: Shared by %{count} people over the last week @@ -1074,7 +1076,7 @@ en-GB: description_html: These are posts that your server knows about that are currently being shared and favourited a lot at the moment. It can help your new and returning users to find more people to follow. No posts are displayed publicly until you approve the author, and the author allows their account to be suggested to others. You can also allow or reject individual posts. disallow: Disallow post disallow_account: Disallow author - no_status_selected: No trending posts were changed as none were selected + no_status_selected: No trending posts were changed, as none were selected not_discoverable: Author has not opted-in to being discoverable shared_by: one: Shared or favourited one time @@ -1090,7 +1092,7 @@ en-GB: tag_uses_measure: total uses description_html: These are hashtags that are currently appearing in a lot of posts that your server sees. It can help your users find out what people are talking the most about at the moment. No hashtags are displayed publicly until you approve them. listable: Can be suggested - no_tag_selected: No tags were changed as none were selected + no_tag_selected: No tags were changed, as none were selected not_listable: Won't be suggested not_trendable: Won't appear under trends not_usable: Cannot be used @@ -1243,7 +1245,7 @@ en-GB: description: prefix_invited_by_user: "@%{name} invites you to join this server of Mastodon!" prefix_sign_up: Sign up on Mastodon today! - suffix: With an account, you will be able to follow people, post updates and exchange messages with users from any Mastodon server and more! + suffix: With an account, you will be able to follow people, post updates, and exchange messages with users from any Mastodon server and more! didnt_get_confirmation: Didn't receive a confirmation link? dont_have_your_security_key: Don't have your security key? forgot_password: Forgot your password? @@ -1313,7 +1315,7 @@ en-GB: title: Author attribution challenge: confirm: Continue - hint_html: "Tip: We won't ask you for your password again for the next hour." + hint_html: "Tip: we won't ask you for your password again for the next hour." invalid_password: Invalid password prompt: Confirm password to continue crypto: @@ -1414,7 +1416,7 @@ en-GB: archive_takeout: date: Date download: Download your archive - hint_html: You can request an archive of your posts and uploaded media. The exported data will be in the ActivityPub format, readable by any compliant software. You can request an archive every 7 days. + hint_html: You can request an archive of your posts and uploaded media. The exported data will be in the ActivityPub format, readable by any compliant software. You can request an archive every seven days. in_progress: Compiling your archive... request: Request your archive size: Size @@ -1429,7 +1431,7 @@ en-GB: add_new: Add new errors: limit: You have already featured the maximum number of hashtags - hint_html: "What are featured hashtags? They are displayed prominently on your public profile and allow people to browse your public posts specifically under those hashtags. They are a great tool for keeping track of creative works or long-term projects." + hint_html: "Feature your most important hashtags on your profile. A great tool for keeping track of your creative works and long-term projects, featured hashtags are displayed prominently on your profile and allow quick access to your own posts." filters: contexts: account: Profiles @@ -1568,8 +1570,8 @@ en-GB: muting: Importing muted accounts type: Import type type_groups: - constructive: Follows & Bookmarks - destructive: Blocks & mutes + constructive: Follows and bookmarks + destructive: Blocks and mutes types: blocking: Blocking list bookmarks: Bookmarks @@ -1642,7 +1644,7 @@ en-GB: images_and_video: Cannot attach a video to a post that already contains images not_found: Media %{ids} not found or already attached to another post not_ready: Cannot attach files that have not finished processing. Try again in a moment! - too_many: Cannot attach more than 4 files + too_many: Cannot attach more than four files migrations: acct: Moved to cancel: Cancel redirect @@ -1776,11 +1778,11 @@ en-GB: privacy: hint_html: "Customise how you want your profile and your posts to be found. A variety of features in Mastodon can help you reach a wider audience when enabled. Take a moment to review these settings to make sure they fit your use case." privacy: Privacy - privacy_hint_html: Control how much you want to disclose for the benefit of others. People discover interesting profiles and cool apps by browsing other people's follows and seeing which apps they post from, but you may prefer to keep it hidden. + privacy_hint_html: Control how much you want to disclose for the benefit of others. People discover interesting profiles and cool apps by browsing other people's follows and seeing from which apps they post, but you may prefer to keep it hidden. reach: Reach reach_hint_html: Control whether you want to be discovered and followed by new people. Do you want your posts to appear on the Explore screen? Do you want other people to see you in their follow recommendations? Do you want to accept all new followers automatically, or have granular control over each one? search: Search - search_hint_html: Control how you want to be found. Do you want people to find you by what you've publicly posted about? Do you want people outside Mastodon to find your profile when searching the web? Please mind that total exclusion from all search engines cannot be guaranteed for public information. + search_hint_html: Control how you want to be found. Do you want people to find you by what you've publicly posted about? Do you want people outside Mastodon to find your profile when searching the web? Please bear in mind that total exclusion from all search engines cannot be guaranteed for public information. title: Privacy and reach privacy_policy: title: Privacy Policy @@ -1991,9 +1993,9 @@ en-GB: '7889238': 3 months min_age_label: Age threshold min_favs: Keep posts favourited at least - min_favs_hint: Doesn't delete any of your posts that has received at least this number of favourites. Leave blank to delete posts regardless of their number of favourites + min_favs_hint: Doesn't delete any of your posts that have received at least this number of favourites. Leave blank to delete posts regardless of their number of favourites min_reblogs: Keep posts boosted at least - min_reblogs_hint: Doesn't delete any of your posts that has been boosted at least this number of times. Leave blank to delete posts regardless of their number of boosts + min_reblogs_hint: Doesn't delete any of your posts that have been boosted at least this number of times. Leave blank to delete posts regardless of their number of boosts stream_entries: sensitive_content: Sensitive content strikes: @@ -2075,8 +2077,8 @@ en-GB: terms_of_service_changed: agreement: By continuing to use %{domain}, you are agreeing to these terms. If you disagree with the updated terms, you may terminate your agreement with %{domain} at any time by deleting your account. changelog: 'At a glance, here is what this update means for you:' - description: 'You are receiving this e-mail because we''re making some changes to our terms of service at %{domain}. These updates will take effect on %{date}. We encourage you to review the updated terms in full here:' - description_html: You are receiving this e-mail because we're making some changes to our terms of service at %{domain}. These updates will take effect on %{date}. We encourage you to review the updated terms in full here. + description: 'You are receiving this email because we''re making some changes to our terms of service at %{domain}. These updates will take effect on %{date}. We encourage you to review the updated terms in full here:' + description_html: You are receiving this email because we're making some changes to our terms of service at %{domain}. These updates will take effect on %{date}. We encourage you to review the updated terms in full here. sign_off: The %{domain} team subject: Updates to our terms of service subtitle: The terms of service of %{domain} are changing @@ -2139,9 +2141,9 @@ en-GB: follows_title: Who to follow follows_view_more: View more people to follow hashtags_recent_count: - one: "%{people} person in the past 2 days" - other: "%{people} people in the past 2 days" - hashtags_subtitle: Explore what’s trending since past 2 days + one: "%{people} person in the past two days" + other: "%{people} people in the past two days" + hashtags_subtitle: Explore what’s trending since the past two days hashtags_title: Trending hashtags hashtags_view_more: View more trending hashtags post_action: Compose @@ -2161,9 +2163,9 @@ en-GB: seamless_external_login: You are logged in via an external service, so password and email settings are not available. signed_in_as: 'Logged in as:' verification: - extra_instructions_html: Tip: The link on your website can be invisible. The important part is rel="me" which prevents impersonation on websites with user-generated content. You can even use a link tag in the header of the page instead of a, but the HTML must be accessible without executing JavaScript. + extra_instructions_html: Tip: the link on your website can be invisible. The important part is rel="me" which prevents impersonation on websites with user-generated content. You can even use a link tag in the header of the page instead of a, but the HTML must be accessible without executing JavaScript. here_is_how: Here's how - hint_html: "Verifying your identity on Mastodon is for everyone. Based on open web standards, now and forever free. All you need is a personal website that people recognize you by. When you link to this website from your profile, we will check that the website links back to your profile and show a visual indicator on it." + hint_html: "Verifying your identity on Mastodon is for everyone. Based on open web standards, now and forever free. All you need is a personal website that people recognise you by. When you link to this website from your profile, we will check that the website links back to your profile and show a visual indicator on it." instructions_html: Copy and paste the code below into the HTML of your website. Then add the address of your website into one of the extra fields on your profile from the "Edit profile" tab and save changes. verification: Verification verified_links: Your verified links @@ -2186,4 +2188,5 @@ en-GB: otp_required: To use security keys please enable two-factor authentication first. registered_on: Registered on %{date} wrapstodon: + description: See how %{name} used Mastodon this year! title: Wrapstodon %{year} for %{name} diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index 097329cc5b..a6e118e008 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -7,6 +7,8 @@ es-AR: hosted_on: Mastodon alojado en %{domain} title: Información accounts: + errors: + cannot_be_added_to_collections: Esta cuenta no se puede añadir a las colecciones. followers: one: Seguidor other: Seguidores @@ -2186,4 +2188,5 @@ es-AR: otp_required: Para usar llaves de seguridad, por favor, primero habilitá la autenticación de dos factores. registered_on: Registrado el %{date} wrapstodon: + description: "¡Enterate cómo %{name} usó Mastodon este año!" title: MastodonAnual %{year} para %{name} diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index 0ca9c86c04..56b539d6b4 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -7,6 +7,8 @@ es-MX: hosted_on: Mastodon alojado en %{domain} title: Acerca de accounts: + errors: + cannot_be_added_to_collections: Esta cuenta no se puede añadir a las colecciones. followers: one: Seguidor other: Seguidores @@ -40,14 +42,14 @@ es-MX: avatar: Foto de perfil by_domain: Dominio change_email: - changed_msg: Correo cambiado exitosamente! + changed_msg: "¡Correo electrónico cambiado correctamente!" current_email: Correo electrónico actual label: Cambiar el correo electrónico new_email: Nuevo correo electrónico submit: Cambiar el correo electrónico title: Cambiar el correo electrónico de %{username} change_role: - changed_msg: Rol cambiado exitosamente! + changed_msg: "¡Rol cambiado correctamente!" edit_roles: Administrar roles de usuario label: Cambiar de rol no_role: Sin rol @@ -105,7 +107,7 @@ es-MX: no_account_selected: Ninguna cuenta se cambió como ninguna fue seleccionada no_limits_imposed: Sin límites impuestos no_role_assigned: Sin rol asignado - not_subscribed: No se está suscrito + not_subscribed: No suscrito pending: Revisión pendiente perform_full_suspension: Suspender previous_strikes: Amonestaciones previas @@ -139,10 +141,10 @@ es-MX: search_same_ip: Otros usuarios con la misma IP security: Seguridad security_measures: - only_password: Sólo contraseña + only_password: Solo contraseña password_and_2fa: Contraseña y 2FA sensitive: Sensible - sensitized: marcado como sensible + sensitized: Marcado como sensible shared_inbox_url: URL de bandeja compartida show: created_reports: Reportes hechos por esta cuenta @@ -161,10 +163,10 @@ es-MX: unblocked_email_msg: Desbloqueo exitoso de la dirección de correo de %{username} unconfirmed_email: Correo electrónico sin confirmar undo_sensitized: Desmarcar como sensible - undo_silenced: Des-silenciar - undo_suspension: Des-suspender + undo_silenced: Deshacer límite + undo_suspension: Deshacer suspensión unsilenced_msg: Se quitó con éxito el límite de la cuenta %{username} - unsubscribe: Desuscribir + unsubscribe: Cancelar suscripción unsuspended_msg: Se quitó con éxito la suspensión de la cuenta de %{username} username: Nombre de usuario view_domain: Ver resumen del dominio @@ -312,7 +314,7 @@ es-MX: empty: No se encontraron registros. filter_by_action: Filtrar por acción filter_by_user: Filtrar por usuario - title: Log de auditoría + title: Registro de auditoría unavailable_instance: "(nombre de dominio no disponible)" announcements: back: Volver a la sección de anuncios @@ -359,7 +361,7 @@ es-MX: listed: Listados new: title: Añadir nuevo emoji personalizado - no_emoji_selected: No se cambió ningún emoji ya que no se seleccionó ninguno + no_emoji_selected: No se modificó ningún emoji, ya que no se seleccionó ninguno not_permitted: No tienes permiso para realizar esta acción overwrite: Sobrescribir shortcode: Código de atajo @@ -373,8 +375,8 @@ es-MX: upload: Subir dashboard: active_users: usuarios activos - interactions: interaccciones - media_storage: Almacenamiento + interactions: interacciones + media_storage: Almacenamiento multimedia new_users: nuevos usuarios opened_reports: informes abiertos pending_appeals_html: @@ -413,7 +415,7 @@ es-MX: confirm_suspension: cancel: Cancelar confirm: Suspender - permanent_action: Deshacer la suspensión no recuperará ningún data o relaciones. + permanent_action: Anular la suspensión no restaurará ningún dato ni relación. preamble_html: Estás a punto de suspender a %{domain} y sus subdominios. remove_all_data: Esto eliminará todo el contenido, multimedia y datos de perfil de las cuentas de este dominio de tu servidor. stop_communication: Tu servidor dejará de comunicarse con estos servidores. @@ -436,7 +438,7 @@ es-MX: silence: Limitar suspend: Suspender title: Nuevo bloque de dominio - no_domain_block_selected: No se cambió ningún bloqueo de dominio ya que ninguno fue seleccionado + no_domain_block_selected: No se modificó ningún bloqueo de dominio, ya que no se seleccionó ninguno not_permitted: No tienes permiso para realizar esta acción obfuscate: Ocultar nombre de dominio obfuscate_hint: Oculta parcialmente el nombre de dominio en la lista si mostrar la lista de limitaciones de dominio está habilitado @@ -624,12 +626,12 @@ es-MX: '94670856': 3 años new: title: Crear nueva regla IP - no_ip_block_selected: No se han cambiado reglas IP ya que no se ha seleccionado ninguna + no_ip_block_selected: No se modificó ninguna regla de IP, ya que no se seleccionó ninguna title: Reglas IP relationships: title: Relaciones de %{acct} relays: - add_new: Añadir un nuevo relés + add_new: Añadir nuevo relé delete: Borrar description_html: Un relés de federación es un servidor intermedio que intercambia grandes volúmenes de publicaciones públicas entre servidores que se suscriben y publican en él. Puede ayudar a servidores pequeños y medianos a descubrir contenido del fediverso, que de otra manera requeriría que los usuarios locales siguiesen manualmente a personas de servidores remotos. disable: Deshabilitar @@ -659,7 +661,7 @@ es-MX: mark_as_sensitive_description_html: Los archivos multimedia en las publicaciones reportadas se marcarán como sensibles y se aplicará una amonestación para ayudarte a escalar las futuras infracciones de la misma cuenta. other_description_html: Ver más opciones para controlar el comportamiento de la cuenta y personalizar la comunicación de la cuenta reportada. resolve_description_html: No se tomarán medidas contra la cuenta denunciada, no se registrará la amonestación, y se cerrará el informe. - silence_description_html: La cuenta será visible sólo para aquellos que ya la sigan o la busquen manualmente, limitando severamente su visibilidad. Siempre puede ser revertido. Cierra todos los reportes contra esta cuenta. + silence_description_html: La cuenta será visible solo para aquellos que ya la sigan o la busquen manualmente, limitando severamente su visibilidad. Siempre puede ser revertido. Cierra todos los reportes contra esta cuenta. suspend_description_html: La cuenta y todos sus contenidos serán inaccesibles y eventualmente eliminados, e interactuar con ella será imposible. Reversible durante 30 días. Cierra todos los reportes contra esta cuenta. actions_description_html: Decide qué medidas tomar para resolver esta denuncia. Si tomas una acción punitiva contra la cuenta denunciada, se le enviará a dicha cuenta una notificación por correo electrónico, excepto cuando se seleccione la categoría Spam. actions_description_remote_html: Decide qué medidas tomar para resolver este reporte. Esto solo afectará a la forma en que tu servidor se comunica con esta cuenta remota y gestiona su contenido. @@ -2186,4 +2188,5 @@ es-MX: otp_required: Para usar claves de seguridad, por favor habilite primero la autenticación de doble factor. registered_on: Registrado el %{date} wrapstodon: + description: "¡Ve cómo %{name} usó Mastodon este año!" title: Wrapstodon %{year} para %{name} diff --git a/config/locales/es.yml b/config/locales/es.yml index 1dd2760b40..ccee7cab64 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -7,6 +7,8 @@ es: hosted_on: Mastodon alojado en %{domain} title: Acerca de accounts: + errors: + cannot_be_added_to_collections: Esta cuenta no se puede añadir a las colecciones. followers: one: Seguidor other: Seguidores @@ -2186,4 +2188,5 @@ es: otp_required: Para usar claves de seguridad, por favor habilite primero la autenticación de doble factor. registered_on: Registrado el %{date} wrapstodon: + description: "¡Mira cómo %{name} ha usado Mastodon este año!" title: Wrapstodon %{year} para %{name} diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 8375136962..c2cf09a635 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -7,6 +7,8 @@ fi: hosted_on: Mastodon palvelimella %{domain} title: Tietoja accounts: + errors: + cannot_be_added_to_collections: Tätä tiliä ei voi lisätä kokoelmiin. followers: one: seuraaja other: seuraajaa @@ -2185,3 +2187,6 @@ fi: not_supported: Tämä selain ei tue suojausavaimia otp_required: Jos haluat käyttää suojausavaimia, ota ensin kaksivaiheinen todennus käyttöön. registered_on: Rekisteröity %{date} + wrapstodon: + description: Katso, kuinka %{name} käytti Mastodonia tänä vuonna! + title: Käyttäjän %{name} Wrapstodon vuodelle %{year} diff --git a/config/locales/fo.yml b/config/locales/fo.yml index a94f0d1fed..4216367aef 100644 --- a/config/locales/fo.yml +++ b/config/locales/fo.yml @@ -7,6 +7,8 @@ fo: hosted_on: Mastodon hýst á %{domain} title: Um accounts: + errors: + cannot_be_added_to_collections: Hendan kontan kann ikki leggjast afturat søvnum. followers: one: Fylgjari other: Fylgjarar @@ -2186,4 +2188,5 @@ fo: otp_required: Fyri at brúka trygdarlyklar er neyðugt at gera váttan í tveimum stigum virkna fyrst. registered_on: Skrásett %{date} wrapstodon: + description: Sí hvussu %{name} brúkti Mastodon í ár! title: Wrapstodon %{year} fyri %{name} diff --git a/config/locales/fr-CA.yml b/config/locales/fr-CA.yml index 78e0d4263a..555e8a5aaa 100644 --- a/config/locales/fr-CA.yml +++ b/config/locales/fr-CA.yml @@ -7,6 +7,8 @@ fr-CA: hosted_on: Serveur Mastodon hébergé sur %{domain} title: À propos accounts: + errors: + cannot_be_added_to_collections: Ce compte ne peut pas être ajouté aux collections. followers: one: Abonné·e other: Abonné·e·s @@ -2189,4 +2191,5 @@ fr-CA: otp_required: Pour utiliser les clés de sécurité, veuillez d'abord activer l'authentification à deux facteurs. registered_on: Inscrit le %{date} wrapstodon: + description: Voir comment %{name} a utilisé Mastodon cette année ! title: Wrapstodon %{year} pour %{name} diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 0767c223bb..c54aa06805 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -7,6 +7,8 @@ fr: hosted_on: Serveur Mastodon hébergé sur %{domain} title: À propos accounts: + errors: + cannot_be_added_to_collections: Ce compte ne peut pas être ajouté aux collections. followers: one: Abonné·e other: Abonné·e·s @@ -2189,4 +2191,5 @@ fr: otp_required: Pour utiliser les clés de sécurité, veuillez d'abord activer l'authentification à deux facteurs. registered_on: Inscrit le %{date} wrapstodon: + description: Voir comment %{name} a utilisé Mastodon cette année ! title: Wrapstodon %{year} pour %{name} diff --git a/config/locales/ga.yml b/config/locales/ga.yml index 9c5ea95f84..72d9262cca 100644 --- a/config/locales/ga.yml +++ b/config/locales/ga.yml @@ -7,6 +7,8 @@ ga: hosted_on: Mastodon arna óstáil ar %{domain} title: Maidir le accounts: + errors: + cannot_be_added_to_collections: Ní féidir an cuntas seo a chur le bailiúcháin. followers: few: Leantóirí many: Leantóirí @@ -2320,4 +2322,5 @@ ga: otp_required: Chun eochracha slándála a úsáid cumasaigh fíordheimhniú dhá fhachtóir ar dtús. registered_on: Cláraithe ar %{date} wrapstodon: + description: Féach conas a d'úsáid %{name} Mastodon i mbliana! title: Wrapstodon %{year} do %{name} diff --git a/config/locales/gl.yml b/config/locales/gl.yml index b9c4ba5427..615f15f0da 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -7,6 +7,8 @@ gl: hosted_on: Mastodon aloxado en %{domain} title: Sobre accounts: + errors: + cannot_be_added_to_collections: Non se pode engadir esta conta ás coleccións. followers: one: Seguidora other: Seguidoras @@ -2186,4 +2188,5 @@ gl: otp_required: Para usar chaves de seguridade tes que activar primeiro o segundo factor. registered_on: Rexistrado o %{date} wrapstodon: + description: Mira como usou %{name} Mastodon este ano! title: Wrapstodon %{year} de %{name} diff --git a/config/locales/he.yml b/config/locales/he.yml index 6550f17cf5..98baeb601c 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -7,6 +7,8 @@ he: hosted_on: מסטודון שיושב בכתובת %{domain} title: אודות accounts: + errors: + cannot_be_added_to_collections: לא ניתן להוסיף חשבון זה לאוספים. followers: many: עוקבים one: עוקב @@ -2274,4 +2276,5 @@ he: otp_required: על מנת להשתמש במפתחות אבטחה אנא אפשר.י אימות דו-שלבי קודם. registered_on: נרשם ב %{date} wrapstodon: + description: ראו איך %{name} השתמשו במסטודון השנה! title: סיכומודון %{year} עבור %{name} diff --git a/config/locales/hu.yml b/config/locales/hu.yml index abaa78e1e4..d89078d8fd 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -7,6 +7,8 @@ hu: hosted_on: "%{domain} Mastodon-kiszolgáló" title: Névjegy accounts: + errors: + cannot_be_added_to_collections: Ez a fiók nem adható hozzá gyűjteményekhez. followers: one: Követő other: Követő @@ -2185,3 +2187,6 @@ hu: not_supported: Ez a böngésző nem támogatja a biztonsági kulcsokat otp_required: A biztonsági kulcsok használatához először engedélyezd a kétlépcsős hitelesítést. registered_on: 'Regisztráció ekkor: %{date}' + wrapstodon: + description: Nézd meg, hogy %{name} hogyan használta a Mastodont az éven! + title: Wrapstodon %{year} – %{name} diff --git a/config/locales/is.yml b/config/locales/is.yml index f964c1ad2e..72c8607e9d 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -7,6 +7,8 @@ is: hosted_on: Mastodon hýst á %{domain} title: Um hugbúnaðinn accounts: + errors: + cannot_be_added_to_collections: Þessum aðgangi er ekki hægt að bæta í söfn. followers: one: fylgjandi other: fylgjendur @@ -2190,4 +2192,5 @@ is: otp_required: Til að nota öryggislykla skaltu fyrst virkja tveggja-þátta auðkenningu. registered_on: Skráði sig %{date} wrapstodon: + description: Sjáðu hvernig %{name} notaði Mastodon á árinu! title: Wrapstodon %{year} fyrir %{name} diff --git a/config/locales/it.yml b/config/locales/it.yml index 1be6d50ad3..77072e7a37 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -7,6 +7,8 @@ it: hosted_on: Mastodon ospitato su %{domain} title: Info accounts: + errors: + cannot_be_added_to_collections: Questo account non può essere aggiunto alle collezioni. followers: one: Seguace other: Seguaci @@ -2186,4 +2188,5 @@ it: otp_required: Per utilizzare le chiavi di sicurezza, prima abilita l'autenticazione a due fattori. registered_on: Registrato il %{date} wrapstodon: + description: Guarda come %{name} ha utilizzato Mastodon quest'anno! title: Wrapstodon %{year} per %{name} diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 4f2e8a5385..36dabb67cf 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -7,6 +7,8 @@ ko: hosted_on: "%{domain}에서 호스팅 되는 마스토돈" title: 정보 accounts: + errors: + cannot_be_added_to_collections: 이 계정은 컬렉션에 추가할 수 없습니다. followers: other: 팔로워 following: 팔로잉 @@ -2136,3 +2138,5 @@ ko: not_supported: 이 브라우저는 보안 키를 지원하지 않습니다 otp_required: 보안 키를 사용하기 위해서는 2단계 인증을 먼저 활성화 해 주세요 registered_on: "%{date}에 등록됨" + wrapstodon: + title: "%{name} 님의 %{year} 랩스토돈" diff --git a/config/locales/nan.yml b/config/locales/nan.yml index 34c702a714..e51b8f506b 100644 --- a/config/locales/nan.yml +++ b/config/locales/nan.yml @@ -7,6 +7,8 @@ nan: hosted_on: 佇 %{domain} 運作 ê Mastodon站 title: 關係本站 accounts: + errors: + cannot_be_added_to_collections: Tsit ê口座袂當加入kàu集合。 followers: other: 跟tuè ê following: Leh跟tuè @@ -1488,6 +1490,34 @@ nan: overwrite_preambles: blocking_html: other: Lí teh-beh用 %{filename} ê %{count} ê口座替換lí ê封鎖列單。 + bookmarks_html: + other: Lí teh-beh用 %{filename} ê %{count} ê PO文替換lí ê冊籤。 + domain_blocking_html: + other: Lí teh-beh用 %{filename} ê %{count} ê域名替換lí ê域名封鎖列單。 + following_html: + other: Lí當beh跟tuè%{filename} 內底ê %{count} ê口座,而且停止跟tuè別lâng。 + lists_html: + other: Lí當beh用 %{filename} ê內容取代lí ê列單%{count} ê口座會加添kàu新列單。 + muting_html: + other: Lí teh-beh用 %{filename} ê %{count} ê口座替換lí ê消音口座ê列單。 + preambles: + blocking_html: + other: Lí teh-beh kā %{filename}內底ê%{count} ê口座封鎖。 + bookmarks_html: + other: Lí當beh對 %{filename} 加添 %{count} 篇PO文kàu lí ê 冊籤。 + domain_blocking_html: + other: Lí teh-beh kā %{filename}內底ê%{count} ê域名封鎖。 + following_html: + other: Lí teh-beh kā %{filename}內底ê%{count} ê口座跟tuè。 + lists_html: + other: Lí當beh對 %{filename}%{count} ê口座 kàu lí ê列單。若無列單通加添,新ê列單ē建立。 + muting_html: + other: Lí teh-beh kā %{filename}內底ê%{count} ê口座消音。 + preface: Lí ē當輸入lí對別ê服侍器輸出ê資料,比如lí所跟tuè ê á是封鎖ê ê列單。 + recent_imports: 最近輸入ê + login_activities: + authentication_methods: + webauthn: 安全檢查 scheduled_statuses: too_soon: Tio̍h用未來ê日期。 statuses: diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 72c8ece6f2..bacad16d67 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -7,6 +7,8 @@ nl: hosted_on: Mastodon op %{domain} title: Over accounts: + errors: + cannot_be_added_to_collections: Dit account kan niet aan collecties worden toegevoegd. followers: one: Volger other: Volgers @@ -2186,4 +2188,5 @@ nl: otp_required: Om beveiligingssleutels te kunnen gebruiken, moet je eerst tweestapsverificatie inschakelen. registered_on: Geregistreerd op %{date} wrapstodon: + description: Bekijk hoe %{name} dit jaar Mastodon heeft gebruikt! title: Wrapstodon %{year} voor %{name} diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 657ab9f6ad..7e3344efff 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -7,6 +7,8 @@ pt-BR: hosted_on: Mastodon hospedado em %{domain} title: Sobre accounts: + errors: + cannot_be_added_to_collections: Esta conta não pode ser adicionada a coleções. followers: one: Seguidor other: Seguidores @@ -2187,4 +2189,5 @@ pt-BR: otp_required: Para usar chaves de segurança, ative a autenticação de dois fatores. registered_on: Registrado em %{date} wrapstodon: + description: Veja como %{name} usou o Mastodon este ano! title: Wrapstodon de %{year} para %{name} diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 5aca8c4ec4..bb1919e69c 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -7,6 +7,8 @@ pt-PT: hosted_on: Mastodon alojado em %{domain} title: Sobre accounts: + errors: + cannot_be_added_to_collections: Esta conta não pode ser adicionada às coleções. followers: one: Seguidor other: Seguidores @@ -1715,7 +1717,7 @@ pt-PT: subject: "%{name} citou a sua publicação" title: Nova citação quoted_update: - subject: "%{name} editou uma publicação que citaste" + subject: "%{name} editou uma publicação que citou" reblog: body: 'A tua publicação foi partilhada por %{name}:' subject: "%{name} partilhou a sua publicação" @@ -2185,3 +2187,6 @@ pt-PT: not_supported: Este navegador não funciona com chaves de segurança otp_required: Para utilizares chaves de segurança, ativa primeiro a autenticação de dois fatores. registered_on: Registado em %{date} + wrapstodon: + description: Veja como %{name} utilizou o Mastodon este ano! + title: Wrapstodon %{year} de %{name} diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 4e61fd52b3..7441211dd1 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -521,10 +521,12 @@ ru: registrations: confirm: Подтвердить reject: Отклонить + title: Подтвердить регистрацию FASP save: Сохранить select_capabilities: Выберите возможности sign_in: status: Пост + title: Fediverse Auxiliary Service Providers title: FASP follow_recommendations: description_html: "Рекомендации профилей помогают новым пользователям быстрее найти что-нибудь интересное. Если пользователь мало взаимодействовал с другими и составить персонализированные рекомендации не получается, будут предложены указанные здесь профили. Эти рекомендации обновляются ежедневно из совокупности учётных записей с наибольшим количеством недавних взаимодействий и наибольшим количеством подписчиков с этого сервера для данного языка." diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml index f033d90dcf..5d1885a155 100644 --- a/config/locales/simple_form.el.yml +++ b/config/locales/simple_form.el.yml @@ -49,7 +49,7 @@ el: email: Θα σου σταλεί email επιβεβαίωσης header: WEBP, PNG, GIF ή JPG. Το πολύ %{size}. Θα υποβαθμιστεί σε %{dimensions}px inbox_url: Αντέγραψε το URL της αρχικής σελίδας του ανταποκριτή που θέλεις να χρησιμοποιήσεις - irreversible: Οι φιλτραρισμένες αναρτήσεις θα εξαφανιστούν αμετάκλητα, ακόμα και αν το φίλτρο αργότερα αφαιρεθεί + irreversible: Οι φιλτραρισμένες αναρτήσεις θα εξαφανιστούν αμετάκλητα, ακόμη και αν το φίλτρο αργότερα αφαιρεθεί locale: Η γλώσσα χρήσης, των email και των ειδοποιήσεων push password: Χρησιμοποίησε τουλάχιστον 8 χαρακτήρες phrase: Θα ταιριάζει ανεξαρτήτως πεζών/κεφαλαίων ή προειδοποίησης περιεχομένου μιας ανάρτησης @@ -95,7 +95,7 @@ el: favicon: WEBP, PNG, GIF ή JPG. Παρακάμπτει το προεπιλεγμένο favicon του Mastodon με ένα προσαρμοσμένο εικονίδιο. landing_page: Επιλέγει ποια σελίδα βλέπουν οι νέοι επισκέπτες όταν φτάνουν για πρώτη φορά στο διακομιστή σας. Αν επιλέξετε "Τάσεις", τότε οι τάσεις πρέπει να είναι ενεργοποιημένες στις Ρυθμίσεις Ανακάλυψης. Αν επιλέξετε "Τοπική ροή", τότε το "Πρόσβαση σε ζωντανές ροές με τοπικές αναρτήσεις" πρέπει να οριστεί σε "Όλοι" στις Ρυθμίσεις Ανακάλυψης. mascot: Παρακάμπτει την εικονογραφία στην προηγμένη διεπαφή ιστού. - media_cache_retention_period: Τα αρχεία πολυμέσων από αναρτήσεις που γίνονται από απομακρυσμένους χρήστες αποθηκεύονται προσωρινά στο διακομιστή σου. Όταν οριστεί μια θετική τιμή, τα μέσα θα διαγραφούν μετά τον καθορισμένο αριθμό ημερών. Αν τα δεδομένα πολυμέσων ζητηθούν μετά τη διαγραφή τους, θα γίνει ε, αν το πηγαίο περιεχόμενο είναι ακόμα διαθέσιμο. Λόγω περιορισμών σχετικά με το πόσο συχνά οι κάρτες προεπισκόπησης συνδέσμων συνδέονται σε ιστοσελίδες τρίτων, συνιστάται να ορίσεις αυτή την τιμή σε τουλάχιστον 14 ημέρες ή οι κάρτες προεπισκόπησης συνδέσμων δεν θα ενημερώνονται κατ' απάιτηση πριν από εκείνη την ώρα. + media_cache_retention_period: Τα αρχεία πολυμέσων από αναρτήσεις που γίνονται από απομακρυσμένους χρήστες αποθηκεύονται προσωρινά στο διακομιστή σου. Όταν οριστεί μια θετική τιμή, τα μέσα θα διαγραφούν μετά τον καθορισμένο αριθμό ημερών. Αν τα δεδομένα πολυμέσων ζητηθούν μετά τη διαγραφή τους, θα γίνει λήψη τους ξανά, αν το πηγαίο περιεχόμενο είναι ακόμη διαθέσιμο. Λόγω περιορισμών σχετικά με το πόσο συχνά οι κάρτες προεπισκόπησης συνδέσμων συνδέονται σε ιστοσελίδες τρίτων, συνιστάται να ορίσεις αυτή την τιμή σε τουλάχιστον 14 ημέρες ή οι κάρτες προεπισκόπησης συνδέσμων δεν θα ενημερώνονται κατ' απάιτηση πριν από εκείνη την ώρα. min_age: Οι χρήστες θα κληθούν να επιβεβαιώσουν την ημερομηνία γέννησής τους κατά την εγγραφή peers_api_enabled: Μια λίστα με ονόματα τομέα που συνάντησε αυτός ο διακομιστής στο fediverse. Δεν περιλαμβάνονται δεδομένα εδώ για το αν συναλλάσσετε με ένα συγκεκριμένο διακομιστή, μόνο ότι ο διακομιστής σας το ξέρει. Χρησιμοποιείται από υπηρεσίες που συλλέγουν στατιστικά στοιχεία για την συναλλαγή με γενική έννοια. profile_directory: Ο κατάλογος προφίλ παραθέτει όλους τους χρήστες που έχουν επιλέξει να είναι ανακαλύψιμοι. @@ -109,7 +109,7 @@ el: status_page_url: Το URL μιας σελίδας όπου κάποιος μπορεί να δει την κατάσταση αυτού του διακομιστή κατά τη διάρκεια μιας διακοπής λειτουργίας theme: Θέμα που βλέπουν αποσυνδεδεμένοι επισκέπτες ή νέοι χρήστες. thumbnail: Μια εικόνα περίπου 2:1 που εμφανίζεται παράλληλα με τις πληροφορίες του διακομιστή σου. - trendable_by_default: Παράλειψη χειροκίνητης αξιολόγησης του περιεχομένου σε τάση. Μεμονωμένα στοιχεία μπορούν ακόμα να αφαιρεθούν από τις τάσεις μετέπειτα. + trendable_by_default: Παράλειψη χειροκίνητης αξιολόγησης του περιεχομένου σε τάση. Μεμονωμένα στοιχεία μπορούν ακόμη να αφαιρεθούν από τις τάσεις μετέπειτα. trends: Τάσεις δείχνουν ποιες δημοσιεύσεις, ετικέτες και ειδήσεις προκαλούν έλξη στο διακομιστή σας. form_challenge: current_password: Μπαίνεις σε ασφαλή περιοχή diff --git a/config/locales/simple_form.en-GB.yml b/config/locales/simple_form.en-GB.yml index a749302353..39889086b1 100644 --- a/config/locales/simple_form.en-GB.yml +++ b/config/locales/simple_form.en-GB.yml @@ -10,13 +10,13 @@ en-GB: indexable: Your public posts may appear in search results on Mastodon. People who have interacted with your posts may be able to search them regardless. note: 'You can @mention other people or #hashtags.' show_collections: People will be able to browse through your follows and followers. People that you follow will see that you follow them regardless. - unlocked: People will be able to follow you without requesting approval. Uncheck if you want to review follow requests and choose whether to accept or reject new followers. + unlocked: People will be able to follow you without requesting approval. Untick if you want to review follow requests and choose whether to accept or reject new followers. account_alias: acct: Specify the username@domain of the account you want to move from account_migration: acct: Specify the username@domain of the account you want to move to account_warning_preset: - text: You can use post syntax, such as URLs, hashtags and mentions + text: You can use post syntax, such as URLs, hashtags, and mentions title: Optional. Not visible to the recipient admin_account_action: include_statuses: The user will see which posts have caused the moderation action or warning @@ -29,9 +29,9 @@ en-GB: sensitive: Force all this user's media attachments to be flagged as sensitive. silence: Prevent the user from being able to post with public visibility, hide their posts and notifications from people not following them. Closes all reports against this account. suspend: Prevent any interaction from or to this account and delete its contents. Revertible within 30 days. Closes all reports against this account. - warning_preset_id: Optional. You can still add custom text to end of the preset + warning_preset_id: Optional. You can still add custom text to the end of the preset announcement: - all_day: When checked, only the dates of the time range will be displayed + all_day: When ticked, only the dates of the time range will be displayed ends_at: Optional. Announcement will be automatically unpublished at this time scheduled_at: Leave blank to publish the announcement immediately starts_at: Optional. In case your announcement is bound to a specific time range @@ -43,20 +43,20 @@ en-GB: avatar: WEBP, PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px bot: Signal to others that the account mainly performs automated actions and might not be monitored context: One or multiple contexts where the filter should apply - current_password: For security purposes please enter the password of the current account + current_password: For security purposes, please enter the password of the current account current_username: To confirm, please enter the username of the current account digest: Only sent after a long period of inactivity and only if you have received any personal messages in your absence - email: You will be sent a confirmation e-mail + email: You will be sent a confirmation email header: WEBP, PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px - inbox_url: Copy the URL from the frontpage of the relay you want to use - irreversible: Filtered posts will disappear irreversibly, even if filter is later removed - locale: The language of the user interface, e-mails and push notifications - password: Use at least 8 characters + inbox_url: Copy the URL from the front page of the relay you want to use + irreversible: Filtered posts will disappear irreversibly, even if the filter is later removed + locale: The language of the user interface, emails, and push notifications + password: Use at least eight characters phrase: Will be matched regardless of casing in text or content warning of a post scopes: Which APIs the application will be allowed to access. If you select a top-level scope, you don't need to select individual ones. setting_advanced_layout: Display Mastodon as a multi-column layout, allowing you to view the timeline, notifications, and a third column of your choosing. Not recommended for smaller screens. setting_aggregate_reblogs: Do not show new boosts for posts that have been recently boosted (only affects newly-received boosts) - setting_always_send_emails: Normally e-mail notifications won't be sent when you are actively using Mastodon + setting_always_send_emails: Normally email notifications won't be sent when you are actively using Mastodon setting_boost_modal: When enabled, boosting will first open a confirmation dialogue in which you can change the visibility of your boost. setting_default_quote_policy_private: Followers-only posts authored on Mastodon can't be quoted by others. setting_default_quote_policy_unlisted: When people quote you, their post will also be hidden from trending timelines. @@ -67,14 +67,14 @@ en-GB: setting_emoji_style: How to display emojis. "Auto" will try using native emoji, but falls back to Twemoji for legacy browsers. setting_quick_boosting_html: When enabled, clicking on the %{boost_icon} Boost icon will immediately boost instead of opening the boost/quote dropdown menu. Relocates the quoting action to the %{options_icon} (Options) menu. setting_system_scrollbars_ui: Applies only to desktop browsers based on Safari and Chrome - setting_use_blurhash: Gradients are based on the colors of the hidden visuals but obfuscate any details + setting_use_blurhash: Gradients are based on the colours of the hidden visuals but obfuscate any details setting_use_pending_items: Hide timeline updates behind a click instead of automatically scrolling the feed username: You can use letters, numbers, and underscores whole_word: When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word domain_allow: domain: This domain will be able to fetch data from this server and incoming data from it will be processed and stored email_domain_block: - domain: This can be the domain name that shows up in the e-mail address or the MX record it uses. They will be checked upon sign-up. + domain: This can be the domain name that shows up in the email address or the MX record it uses. They will be checked upon sign-up. with_dns_records: An attempt to resolve the given domain's DNS records will be made and the results will also be blocked featured_tag: name: 'Here are some of the hashtags you used the most recently:' @@ -90,14 +90,14 @@ en-GB: backups_retention_period: Users have the ability to generate archives of their posts to download later. When set to a positive value, these archives will be automatically deleted from your storage after the specified number of days. bootstrap_timeline_accounts: These accounts will be pinned to the top of new users' follow recommendations. Provide a comma-separated list of accounts. closed_registrations_message: Displayed when sign-ups are closed - content_cache_retention_period: All posts from other servers (including boosts and replies) will be deleted after the specified number of days, without regard to any local user interaction with those posts. This includes posts where a local user has marked it as bookmarks or favorites. Private mentions between users from different instances will also be lost and impossible to restore. Use of this setting is intended for special purpose instances and breaks many user expectations when implemented for general purpose use. + content_cache_retention_period: All posts from other servers (including boosts and replies) will be deleted after the specified number of days, without regard to any local user interaction with those posts. This includes posts where a local user has marked it as bookmarks or favourites. Private mentions between users from different instances will also be lost and impossible to restore. Use of this setting is intended for special purpose instances and breaks many user expectations when implemented for general purpose use. custom_css: You can apply custom styles on the web version of Mastodon. favicon: WEBP, PNG, GIF or JPG. Overrides the default Mastodon favicon with a custom icon. landing_page: Selects what page new visitors see when they first arrive on your server. If you select "Trends", then Trends needs to be enabled in the Discovery Settings. If you select "Local feed", then "Access to live feeds featuring local posts" needs to be set to "Everyone" in the Discovery Settings. mascot: Overrides the illustration in the advanced web interface. media_cache_retention_period: Media files from posts made by remote users are cached on your server. When set to a positive value, media will be deleted after the specified number of days. If the media data is requested after it is deleted, it will be re-downloaded, if the source content is still available. Due to restrictions on how often link preview cards poll third-party sites, it is recommended to set this value to at least 14 days, or link preview cards will not be updated on demand before that time. min_age: Users will be asked to confirm their date of birth during sign-up - peers_api_enabled: A list of domain names this server has encountered in the fediverse. No data is included here about whether you federate with a given server, just that your server knows about it. This is used by services that collect statistics on federation in a general sense. + peers_api_enabled: A list of domain names this server has encountered in the Fediverse. No data is included here about whether you federate with a given server, just that your server knows about it. This is used by services that collect statistics on federation in a general sense. profile_directory: The profile directory lists all users who have opted-in to be discoverable. require_invite_text: When sign-ups require manual approval, make the “Why do you want to join?” text input mandatory rather than optional site_contact_email: How people can reach you for legal or support inquiries. @@ -110,7 +110,7 @@ en-GB: theme: Theme that logged out visitors and new users see. thumbnail: A roughly 2:1 image displayed alongside your server information. trendable_by_default: Skip manual review of trending content. Individual items can still be removed from trends after the fact. - trends: Trends show which posts, hashtags and news stories are gaining traction on your server. + trends: Trends show which posts, hashtags, and news stories are gaining traction on your server. form_challenge: current_password: You are entering a secure area imports: @@ -131,7 +131,7 @@ en-GB: text: Describe a rule or requirement for users on this server. Try to keep it short and simple sessions: otp: 'Enter the two-factor code generated by your phone app or use one of your recovery codes:' - webauthn: If it's an USB key be sure to insert it and, if necessary, tap it. + webauthn: If it's a USB key be sure to insert it and, if necessary, tap it. settings: indexable: Your profile page may appear in search results on Google, Bing, and others. show_application: You will always be able to see which app published your post regardless. @@ -145,11 +145,11 @@ en-GB: admin_email: Legal notices include counternotices, court orders, takedown requests, and law enforcement requests. arbitration_address: Can be the same as Physical address above, or “N/A” if using email. arbitration_website: Can be a web form, or “N/A” if using email. - choice_of_law: City, region, territory or state the internal substantive laws of which shall govern any and all claims. + choice_of_law: City, region, territory, or state, the internal substantive laws of which shall govern any and all claims. dmca_address: For US operators, use the address registered in the DMCA Designated Agent Directory. A P.O. Box listing is available upon direct request, use the DMCA Designated Agent Post Office Box Waiver Request to email the Copyright Office and describe that you are a home-based content moderator who fears revenge or retribution for your actions and need to use a P.O. Box to remove your home address from public view. dmca_email: Can be the same email used for “Email address for legal notices” above. domain: Unique identification of the online service you are providing. - jurisdiction: List the country where whoever pays the bills lives. If it’s a company or other entity, list the country where it’s incorporated, and the city, region, territory or state as appropriate. + jurisdiction: List the country where whoever pays the bills lives. If it’s a company or other entity, list the country where it’s incorporated, and the city, region, territory, or state as appropriate. min_age: Should not be below the minimum age required by the laws of your jurisdiction. user: chosen_languages: When checked, only posts in selected languages will be displayed in public timelines @@ -158,7 +158,7 @@ en-GB: other: We have to make sure you're at least %{count} to use %{domain}. We won't store this. role: The role controls which permissions the user has. user_role: - color: Color to be used for the role throughout the UI, as RGB in hex format + color: Colour to be used for the role throughout the UI, as RGB in hex format highlighted: This makes the role publicly visible name: Public name of the role, if role is set to be displayed as a badge permissions_as_keys: Users with this role will have access to... @@ -170,7 +170,7 @@ en-GB: webhook: events: Select events to send template: Compose your own JSON payload using variable interpolation. Leave blank for default JSON. - url: Where events will be sent to + url: Where events will be sent labels: account: attribution_domains: Websites allowed to credit you @@ -189,8 +189,8 @@ en-GB: text: Preset text title: Title admin_account_action: - include_statuses: Include reported posts in the e-mail - send_email_notification: Notify the user per e-mail + include_statuses: Include reported posts in the email + send_email_notification: Notify the user per email text: Custom warning type: Action types: @@ -219,7 +219,7 @@ en-GB: current_password: Current password data: Data display_name: Display name - email: E-mail address + email: Email address expires_in: Expire after fields: Profile metadata header: Header @@ -227,7 +227,7 @@ en-GB: inbox_url: URL of the relay inbox irreversible: Drop instead of hide locale: Interface language - max_uses: Max number of uses + max_uses: Maximum number of uses new_password: New password note: Bio otp_attempt: Two-factor code @@ -235,7 +235,7 @@ en-GB: phrase: Keyword or phrase setting_advanced_layout: Enable advanced web interface setting_aggregate_reblogs: Group boosts in timelines - setting_always_send_emails: Always send e-mail notifications + setting_always_send_emails: Always send email notifications setting_auto_play_gif: Auto-play animated GIFs setting_boost_modal: Control boosting visibility setting_default_language: Posting language @@ -259,7 +259,7 @@ en-GB: setting_system_scrollbars_ui: Use system's default scrollbar setting_theme: Site theme setting_trends: Show today's trends - setting_unfollow_modal: Show confirmation dialog before unfollowing someone + setting_unfollow_modal: Show confirmation dialogue before unfollowing someone setting_use_blurhash: Show colourful gradients for hidden media setting_use_pending_items: Slow mode severity: Severity @@ -295,13 +295,13 @@ en-GB: min_age: Minimum age requirement peers_api_enabled: Publish list of discovered servers in the API profile_directory: Enable profile directory - registrations_mode: Who can sign-up + registrations_mode: Who can sign up remote_live_feed_access: Access to live feeds featuring remote posts remote_topic_feed_access: Access to hashtag and link feeds featuring remote posts require_invite_text: Require a reason to join show_domain_blocks: Show domain blocks show_domain_blocks_rationale: Show why domains were blocked - site_contact_email: Contact e-mail + site_contact_email: Contact email site_contact_username: Contact username site_extended_description: Extended description site_short_description: Server description @@ -344,7 +344,7 @@ en-GB: critical: Notify on critical updates only label: A new Mastodon version is available none: Never notify of updates (not recommended) - patch: Notify on bugfix updates + patch: Notify on bug fix updates trending_tag: New trend requires review rule: hint: Additional information diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml index 2f0e09bc94..5d96fd0721 100644 --- a/config/locales/simple_form.ko.yml +++ b/config/locales/simple_form.ko.yml @@ -54,6 +54,7 @@ ko: password: 최소 8글자 phrase: 게시물 내용이나 열람주의 내용 안에서 대소문자 구분 없이 매칭 됩니다 scopes: 애플리케이션에 허용할 API들입니다. 최상위 스코프를 선택하면 개별적인 것은 선택하지 않아도 됩니다. + setting_advanced_layout: 마스토돈을 멀티컬럼으로 보여주어 타임라인, 알림, 그리고 내가 원하는 컬럼을 한 번에 볼 수 있도록 합니다. 작은 화면에선 추천하지 않습니다. setting_aggregate_reblogs: 최근에 부스트 됐던 게시물은 새로 부스트 되어도 보여주지 않기 (새로 받은 부스트에만 적용됩니다) setting_always_send_emails: 기본적으로 마스토돈을 활동적으로 사용하고 있을 때에는 이메일 알림이 보내지지 않습니다 setting_boost_modal: 활성화하면 부스트하기 전에 부스트의 공개설정을 바꿀 수 있는 확인창이 먼저 뜨게 됩니다. diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml index e371d0ac07..e114ee0d23 100644 --- a/config/locales/simple_form.zh-TW.yml +++ b/config/locales/simple_form.zh-TW.yml @@ -109,8 +109,8 @@ zh-TW: status_page_url: 當服務中斷時,可以提供使用者了解伺服器資訊頁面之 URL theme: 未登入之訪客或新使用者所見之佈景主題。 thumbnail: 大約 2:1 圖片會顯示於您伺服器資訊之旁。 - trendable_by_default: 跳過手動審核熱門內容。仍能於登上熱門趨勢後移除個別內容。 - trends: 熱門趨勢將顯示於您伺服器上正在吸引大量注意力的嘟文、主題標籤、或者新聞。 + trendable_by_default: 跳過手動審核熱門內容。您仍能於登上熱門趨勢後移除個別內容。 + trends: 熱門趨勢將顯示於您伺服器上正在吸引大量注意力之嘟文、主題標籤、或新聞。 form_challenge: current_password: 您正要進入安全區域 imports: @@ -354,7 +354,7 @@ zh-TW: tag: listable: 允許此主題標籤於搜尋及個人檔案目錄中顯示 name: 主題標籤 - trendable: 允許此主題標籤於熱門趨勢下顯示 + trendable: 允許此主題標籤於熱門趨勢中顯示 usable: 允許嘟文使用此主題標籤 terms_of_service: changelog: 有何異動? diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 8171dcea85..89eeac7c54 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -7,6 +7,8 @@ sq: hosted_on: Server Mastodon i strehuar në %{domain} title: Mbi accounts: + errors: + cannot_be_added_to_collections: Kjo llogari s’mund të shtohet në koleksione. followers: one: Ndjekës other: Ndjekës @@ -2169,3 +2171,5 @@ sq: not_supported: Ky shfletues nuk mbulon kyçe sigurie otp_required: Që të përdoren kyçe sigurie, ju lutemi, së pari aktivizoni mirëfilltësimin dyfaktorësh. registered_on: Regjistruar më %{date} + wrapstodon: + description: Shihni si u përdor Mastodon-in këtë vit nga %{name}! diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 749088b719..13f1e6a62f 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -7,6 +7,8 @@ tr: hosted_on: Mastodon %{domain} üzerinde barındırılıyor title: Hakkında accounts: + errors: + cannot_be_added_to_collections: Bu hesap koleksiyonlara eklenemez. followers: one: Takipçi other: Takipçiler @@ -2186,4 +2188,5 @@ tr: otp_required: Güvenlik anahtarlarını kullanmak için lütfen önce iki adımlı kimlik doğrulamayı etkinleştirin. registered_on: "%{date} tarihinde kaydoldu" wrapstodon: + description: "%{name} kullanıcısının bu yıl Mastodon'u nasıl kullandığını görün!" title: "%{name} için %{year} Wrapstodon'u" diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 59bd33fffd..4e4c8c7624 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -7,6 +7,8 @@ vi: hosted_on: "%{domain} vận hành nhờ Mastodon" title: Giới thiệu accounts: + errors: + cannot_be_added_to_collections: Tài khoản này không thể thêm vào bộ sưu tập. followers: other: Người theo dõi following: Theo dõi @@ -2142,4 +2144,5 @@ vi: otp_required: Để dùng khóa bảo mật, trước tiên hãy kích hoạt xác thực 2 bước. registered_on: Đăng ký vào %{date} wrapstodon: + description: Xem năm nay %{name} đã dùng Mastodon như thế nào! title: Wrapstodon %{year} cho %{name} diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index bfe2c9917a..9dffdcd249 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -7,6 +7,8 @@ zh-CN: hosted_on: 运行在 %{domain} 上的 Mastodon 实例 title: 关于本站 accounts: + errors: + cannot_be_added_to_collections: 此账号无法被添加到关注列表内。 followers: other: 关注者 following: 正在关注 @@ -2142,4 +2144,5 @@ zh-CN: otp_required: 要使用安全密钥,请先启用双因素认证。 registered_on: 注册于 %{date} wrapstodon: + description: 来看看%{name}今年是怎么使用Mastodon的! title: "%{name}的%{year}年Wrapstodon年度回顾" diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index ec19a24247..07edf91c9a 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -7,6 +7,8 @@ zh-TW: hosted_on: 於 %{domain} 託管之 Mastodon 站點 title: 關於本站 accounts: + errors: + cannot_be_added_to_collections: 此帳號無法被加至集合中。 followers: other: 跟隨者 following: 正在跟隨 @@ -2148,4 +2150,5 @@ zh-TW: otp_required: 請先啟用兩階段驗證以使用安全金鑰。 registered_on: 註冊於 %{date} wrapstodon: + description: 來瞧瞧 %{name} 今年是如何使用 Mastodon 吧! title: "%{name} 的 %{year} Mastodon 年度回顧 (Wrapstodon)" From 42d4753d3060cf3ca3952de192e408d188457c42 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 17 Dec 2025 14:15:05 +0100 Subject: [PATCH 05/13] Update dependency vite-tsconfig-paths to v6.0.2 (#37279) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index cac2a0c716..eeb029e59f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14069,8 +14069,8 @@ __metadata: linkType: hard "vite-tsconfig-paths@npm:^6.0.0": - version: 6.0.1 - resolution: "vite-tsconfig-paths@npm:6.0.1" + version: 6.0.2 + resolution: "vite-tsconfig-paths@npm:6.0.2" dependencies: debug: "npm:^4.1.1" globrex: "npm:^0.1.2" @@ -14080,7 +14080,7 @@ __metadata: peerDependenciesMeta: vite: optional: true - checksum: 10c0/c0702f1d2b9d2e3e6ebb44d8e9c27b17b1102e86946ab54b6bbd290419b134e84df4e451b55db973bc97d9de5689df6f67e479633df20244aa0c62ffd0b16e43 + checksum: 10c0/878189e38a253b699998f94706b15718a03d59467b091e064f33090240f9ccfa4bf273c3b30b5f9711822c56a58b786c3e6c6cebb8859e56ec5ab49e360ff8c0 languageName: node linkType: hard From a5362a40023b416649e8784e57f43d017b721ded Mon Sep 17 00:00:00 2001 From: Nicholas La Roux Date: Wed, 17 Dec 2025 09:06:45 -0500 Subject: [PATCH 06/13] Upgrade Bundler from 4.0.1 to 4.0.2 (#37283) --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0692e07135..20e4ff9fe7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1093,4 +1093,4 @@ RUBY VERSION ruby 3.4.1p0 BUNDLED WITH - 4.0.1 + 4.0.2 From d6a40c2891770d2bd5dfa881d482a34c4acd646f Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 17 Dec 2025 15:28:53 +0100 Subject: [PATCH 07/13] Fix hashtag autocomplete replacing suggestion's first characters with input (#37281) --- app/javascript/mastodon/actions/compose.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/javascript/mastodon/actions/compose.js b/app/javascript/mastodon/actions/compose.js index bd1cb3ca9b..6e39db4756 100644 --- a/app/javascript/mastodon/actions/compose.js +++ b/app/javascript/mastodon/actions/compose.js @@ -673,7 +673,16 @@ export function selectComposeSuggestion(position, token, suggestion, path) { dispatch(useEmoji(suggestion)); } else if (suggestion.type === 'hashtag') { - completion = token + suggestion.name.slice(token.length - 1); + // TODO: it could make sense to keep the “most capitalized” of the two + const tokenName = token.slice(1); // strip leading '#' + const suggestionPrefix = suggestion.name.slice(0, tokenName.length); + const prefixMatchesSuggestion = suggestionPrefix.localeCompare(tokenName, undefined, { sensitivity: 'accent' }) === 0; + if (prefixMatchesSuggestion) { + completion = token + suggestion.name.slice(tokenName.length); + } else { + completion = `${token.slice(0, 1)}${suggestion.name}`; + } + startPosition = position - 1; } else if (suggestion.type === 'account') { completion = `@${getState().getIn(['accounts', suggestion.id, 'acct'])}`; From 71af094f9735cea10cb0e2da92ebac1608393ebb Mon Sep 17 00:00:00 2001 From: diondiondion Date: Wed, 17 Dec 2025 15:38:46 +0100 Subject: [PATCH 08/13] Fix notifications page error in Tor browser (#37285) --- .../components/status_action_bar/remove_quote_hint.module.css | 3 +++ .../components/status_action_bar/remove_quote_hint.tsx | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 app/javascript/mastodon/components/status_action_bar/remove_quote_hint.module.css diff --git a/app/javascript/mastodon/components/status_action_bar/remove_quote_hint.module.css b/app/javascript/mastodon/components/status_action_bar/remove_quote_hint.module.css new file mode 100644 index 0000000000..5045b6d1b9 --- /dev/null +++ b/app/javascript/mastodon/components/status_action_bar/remove_quote_hint.module.css @@ -0,0 +1,3 @@ +.inlineIcon { + vertical-align: middle; +} diff --git a/app/javascript/mastodon/components/status_action_bar/remove_quote_hint.tsx b/app/javascript/mastodon/components/status_action_bar/remove_quote_hint.tsx index 69795945a0..cfa72feb68 100644 --- a/app/javascript/mastodon/components/status_action_bar/remove_quote_hint.tsx +++ b/app/javascript/mastodon/components/status_action_bar/remove_quote_hint.tsx @@ -12,6 +12,8 @@ import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react'; import { Button } from '../button'; import { Icon } from '../icon'; +import classes from './remove_quote_hint.module.css'; + const DISMISSIBLE_BANNER_ID = 'notifications/remove_quote_hint'; /** @@ -92,7 +94,7 @@ export const RemoveQuoteHint: React.FC<{ id: 'status.more', defaultMessage: 'More', })} - style={{ verticalAlign: 'middle' }} + className={classes.inlineIcon} /> ), }} From dbc5af6641b06e19b2dbb36274bb647b7564d3f5 Mon Sep 17 00:00:00 2001 From: Echo Date: Wed, 17 Dec 2025 15:40:34 +0100 Subject: [PATCH 09/13] Remove rendering of custom emoji using the database (#37284) --- .storybook/main.ts | 1 + .../components/emoji/emoji.stories.tsx | 15 ++--- .../mastodon/features/emoji/render.test.ts | 31 ++--------- .../mastodon/features/emoji/render.ts | 55 +++++++++---------- app/javascript/testing/factories.ts | 4 +- 5 files changed, 41 insertions(+), 65 deletions(-) diff --git a/.storybook/main.ts b/.storybook/main.ts index c249d1c06d..2f70c80dbf 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -27,6 +27,7 @@ const config: StorybookConfig = { 'oops.gif', 'oops.png', ].map((path) => ({ from: `../public/${path}`, to: `/${path}` })), + { from: '../app/javascript/images/logo.svg', to: '/custom-emoji/logo.svg' }, ], viteFinal(config) { // For an unknown reason, Storybook does not use the root diff --git a/app/javascript/mastodon/components/emoji/emoji.stories.tsx b/app/javascript/mastodon/components/emoji/emoji.stories.tsx index fcc81db6c3..e7d1887aa9 100644 --- a/app/javascript/mastodon/components/emoji/emoji.stories.tsx +++ b/app/javascript/mastodon/components/emoji/emoji.stories.tsx @@ -2,6 +2,9 @@ import type { ComponentProps } from 'react'; import type { Meta, StoryObj } from '@storybook/react-vite'; +import { customEmojiFactory } from '@/testing/factories'; + +import { CustomEmojiProvider } from './context'; import { Emoji } from './index'; type EmojiProps = ComponentProps & { @@ -34,7 +37,11 @@ const meta = { }, }, render(args) { - return ; + return ( + + + + ); }, } satisfies Meta; @@ -49,9 +56,3 @@ export const CustomEmoji: Story = { code: ':custom:', }, }; - -export const LegacyEmoji: Story = { - args: { - code: ':copyright:', - }, -}; diff --git a/app/javascript/mastodon/features/emoji/render.test.ts b/app/javascript/mastodon/features/emoji/render.test.ts index 782148b36e..dffebd1f8c 100644 --- a/app/javascript/mastodon/features/emoji/render.test.ts +++ b/app/javascript/mastodon/features/emoji/render.test.ts @@ -83,12 +83,8 @@ describe('stringToEmojiState', () => { }); }); - test('returns custom emoji state for valid custom emoji', () => { - expect(stringToEmojiState(':smile:')).toEqual({ - type: 'custom', - code: 'smile', - data: undefined, - }); + test('returns null for custom emoji without data', () => { + expect(stringToEmojiState(':smile:')).toBeNull(); }); test('returns custom emoji state with data when provided', () => { @@ -108,7 +104,6 @@ describe('stringToEmojiState', () => { test('returns null for invalid emoji strings', () => { expect(stringToEmojiState('notanemoji')).toBeNull(); - expect(stringToEmojiState(':invalid-emoji:')).toBeNull(); }); }); @@ -142,21 +137,13 @@ describe('loadEmojiDataToState', () => { }); }); - test('loads custom emoji data into state', async () => { - const dbCall = vi - .spyOn(db, 'loadCustomEmojiByShortcode') - .mockResolvedValueOnce(customEmojiFactory()); + test('returns null for custom emoji without data', async () => { const customState = { type: 'custom', code: 'smile', } as const satisfies EmojiStateCustom; const result = await loadEmojiDataToState(customState, 'en'); - expect(dbCall).toHaveBeenCalledWith('smile'); - expect(result).toEqual({ - type: 'custom', - code: 'smile', - data: customEmojiFactory(), - }); + expect(result).toBeNull(); }); test('loads unicode data using legacy shortcode', async () => { @@ -194,16 +181,6 @@ describe('loadEmojiDataToState', () => { expect(result).toBeNull(); }); - test('returns null if custom emoji not found in database', async () => { - vi.spyOn(db, 'loadCustomEmojiByShortcode').mockResolvedValueOnce(undefined); - const customState = { - type: 'custom', - code: 'smile', - } as const satisfies EmojiStateCustom; - const result = await loadEmojiDataToState(customState, 'en'); - expect(result).toBeNull(); - }); - test('retries loading emoji data once if initial load fails', async () => { const dbCall = vi .spyOn(db, 'loadEmojiByHexcode') diff --git a/app/javascript/mastodon/features/emoji/render.ts b/app/javascript/mastodon/features/emoji/render.ts index e00525fe0a..38bc7fd7e5 100644 --- a/app/javascript/mastodon/features/emoji/render.ts +++ b/app/javascript/mastodon/features/emoji/render.ts @@ -5,7 +5,6 @@ import { EMOJI_TYPE_CUSTOM, } from './constants'; import { - loadCustomEmojiByShortcode, loadEmojiByHexcode, loadLegacyShortcodesByShortcode, LocaleNotLoadedError, @@ -80,7 +79,7 @@ export function tokenizeText(text: string): TokenizedText { export function stringToEmojiState( code: string, customEmoji: ExtraCustomEmojiMap = {}, -): EmojiState | null { +): EmojiStateUnicode | Required | null { if (isUnicodeEmoji(code)) { return { type: EMOJI_TYPE_UNICODE, @@ -90,11 +89,13 @@ export function stringToEmojiState( if (isCustomEmoji(code)) { const shortCode = code.slice(1, -1); - return { - type: EMOJI_TYPE_CUSTOM, - code: shortCode, - data: customEmoji[shortCode], - }; + if (customEmoji[shortCode]) { + return { + type: EMOJI_TYPE_CUSTOM, + code: shortCode, + data: customEmoji[shortCode], + }; + } } return null; @@ -115,33 +116,29 @@ export async function loadEmojiDataToState( return state; } + // Don't try to load data for custom emoji. + if (state.type === EMOJI_TYPE_CUSTOM) { + return null; + } + // First, try to load the data from IndexedDB. try { const legacyCode = await loadLegacyShortcodesByShortcode(state.code); // This is duplicative, but that's because TS can't distinguish the state type easily. - if (state.type === EMOJI_TYPE_UNICODE || legacyCode) { - const data = await loadEmojiByHexcode( - legacyCode?.hexcode ?? state.code, - locale, - ); - if (data) { - return { - ...state, - type: EMOJI_TYPE_UNICODE, - data, - // TODO: Use CLDR shortcodes when the picker supports them. - shortcode: legacyCode?.shortcodes.at(0), - }; - } - } else { - const data = await loadCustomEmojiByShortcode(state.code); - if (data) { - return { - ...state, - data, - }; - } + const data = await loadEmojiByHexcode( + legacyCode?.hexcode ?? state.code, + locale, + ); + if (data) { + return { + ...state, + type: EMOJI_TYPE_UNICODE, + data, + // TODO: Use CLDR shortcodes when the picker supports them. + shortcode: legacyCode?.shortcodes.at(0), + }; } + // If not found, assume it's not an emoji and return null. log( 'Could not find emoji %s of type %s for locale %s', diff --git a/app/javascript/testing/factories.ts b/app/javascript/testing/factories.ts index 72d7abe000..28c0eca809 100644 --- a/app/javascript/testing/factories.ts +++ b/app/javascript/testing/factories.ts @@ -128,8 +128,8 @@ export function customEmojiFactory( ): CustomEmojiData { return { shortcode: 'custom', - static_url: 'emoji/custom/static', - url: 'emoji/custom', + static_url: '/custom-emoji/logo.svg', + url: '/custom-emoji/logo.svg', visible_in_picker: true, ...data, }; From c4a760d6ba4394f07d1147259ebf280b0bade33f Mon Sep 17 00:00:00 2001 From: diondiondion Date: Wed, 17 Dec 2025 15:42:07 +0100 Subject: [PATCH 10/13] Improve search menu keyboard navigation (#37255) --- .../features/compose/components/search.tsx | 77 +++++++++++++------ 1 file changed, 54 insertions(+), 23 deletions(-) diff --git a/app/javascript/mastodon/features/compose/components/search.tsx b/app/javascript/mastodon/features/compose/components/search.tsx index 285a352268..c2855e8cb5 100644 --- a/app/javascript/mastodon/features/compose/components/search.tsx +++ b/app/javascript/mastodon/features/compose/components/search.tsx @@ -1,4 +1,11 @@ -import { useCallback, useState, useRef, useEffect, useMemo } from 'react'; +import { + useCallback, + useState, + useRef, + useEffect, + useMemo, + useId, +} from 'react'; import { defineMessages, @@ -432,12 +439,17 @@ export const Search: React.FC<{ switch (e.key) { case 'Escape': e.preventDefault(); - unfocus(); + searchInputRef.current?.focus(); + setExpanded(false); break; case 'ArrowDown': e.preventDefault(); + if (!expanded) { + setExpanded(true); + } + if (navigableOptions.length > 0) { setSelectedOption( Math.min(selectedOption + 1, navigableOptions.length - 1), @@ -476,10 +488,10 @@ export const Search: React.FC<{ break; } }, - [unfocus, navigableOptions, selectedOption, submit, value], + [expanded, navigableOptions, selectedOption, submit, value], ); - const handleFocus = useCallback(() => { + const handleInputFocus = useCallback(() => { setExpanded(true); setSelectedOption(-1); @@ -495,10 +507,16 @@ export const Search: React.FC<{ } }, [setExpanded, setSelectedOption, singleColumn]); - const handleBlur = useCallback(() => { + const handleInputBlur = useCallback(() => { setSelectedOption(-1); }, [setSelectedOption]); + const getOptionFocusHandler = useCallback((index: number) => { + return () => { + setSelectedOption(index); + }; + }, []); + const formRef = useRef(null); useEffect(() => { @@ -526,6 +544,8 @@ export const Search: React.FC<{ return () => null; }, [expanded]); + const searchOptionsHeading = useId(); + return (
-
+ {/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */} +
{!hasValue && ( <>

@@ -565,6 +592,7 @@ export const Search: React.FC<{ tabIndex={0} role='button' onMouseDown={action} + onFocus={getOptionFocusHandler(i)} className={classNames( 'search__popout__menu__item search__popout__menu__item--flex', { selected: selectedOption === i }, @@ -606,6 +634,7 @@ export const Search: React.FC<{ - ))} + {searchOptions.map(({ key, label, action }, i) => { + const currentIndex = (quickActions.length || recent.length) + i; + return ( + + ); + })}

) : (
From 7e817f2471f150b0aa32b2e3f6d8e03ebb706522 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 17 Dec 2025 09:48:58 -0500 Subject: [PATCH 11/13] Extract `filter_keywords` helper method for listing filter keyword groups (#35921) --- app/helpers/filters_helper.rb | 8 ++++++++ app/views/filters/_filter.html.haml | 4 +--- spec/helpers/filters_helper_spec.rb | 24 ++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 spec/helpers/filters_helper_spec.rb diff --git a/app/helpers/filters_helper.rb b/app/helpers/filters_helper.rb index 22a1c172de..ec0d557883 100644 --- a/app/helpers/filters_helper.rb +++ b/app/helpers/filters_helper.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true module FiltersHelper + KEYWORDS_LIMIT = 5 + def filter_action_label(action) safe_join( [ @@ -9,4 +11,10 @@ module FiltersHelper ] ) end + + def filter_keywords(filter) + filter.keywords.map(&:keyword).take(KEYWORDS_LIMIT).tap do |list| + list << '…' if filter.keywords.size > KEYWORDS_LIMIT + end.join(', ') + end end diff --git a/app/views/filters/_filter.html.haml b/app/views/filters/_filter.html.haml index 15326f3006..bf2f4dd7d1 100644 --- a/app/views/filters/_filter.html.haml +++ b/app/views/filters/_filter.html.haml @@ -19,9 +19,7 @@ .permissions-list__item__text__title = t('filters.index.keywords', count: filter.keywords.size) .permissions-list__item__text__type - - keywords = filter.keywords.map(&:keyword) - - keywords = keywords.take(5) + ['…'] if keywords.size > 5 # TODO - = keywords.join(', ') + = filter_keywords(filter) - unless filter.statuses.empty? %li.permissions-list__item .permissions-list__item__icon diff --git a/spec/helpers/filters_helper_spec.rb b/spec/helpers/filters_helper_spec.rb new file mode 100644 index 0000000000..7cbacdfa34 --- /dev/null +++ b/spec/helpers/filters_helper_spec.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe FiltersHelper do + describe '#filter_keywords' do + subject { helper.filter_keywords(filter) } + + let(:filter) { Fabricate.build :custom_filter, keywords: } + let(:keywords) { words.map { |keyword| Fabricate.build(:custom_filter_keyword, keyword:) } } + + context 'with few keywords' do + let(:words) { %w(One) } + + it { is_expected.to eq('One') } + end + + context 'with many keywords' do + let(:words) { %w(One Two Three Four Five Six Seven Eight Nine Ten) } + + it { is_expected.to eq('One, Two, Three, Four, Five, …') } + end + end +end From 3d55dcdf7fbbebe3006ef86e765e9fc2455d34e1 Mon Sep 17 00:00:00 2001 From: Echo Date: Wed, 17 Dec 2025 15:58:22 +0100 Subject: [PATCH 12/13] Emoji: Refresh custom emoji on new (#37271) --- .../mastodon/actions/importer/emoji.ts | 22 ++++++ .../mastodon/actions/importer/index.js | 9 +++ .../mastodon/actions/importer/normalizer.js | 6 ++ .../mastodon/features/emoji/database.test.ts | 17 ++++- .../mastodon/features/emoji/database.ts | 24 +++++- .../mastodon/features/emoji/index.ts | 75 ++++++++++++------- .../mastodon/features/emoji/loader.ts | 2 +- 7 files changed, 123 insertions(+), 32 deletions(-) create mode 100644 app/javascript/mastodon/actions/importer/emoji.ts diff --git a/app/javascript/mastodon/actions/importer/emoji.ts b/app/javascript/mastodon/actions/importer/emoji.ts new file mode 100644 index 0000000000..c4baa57d56 --- /dev/null +++ b/app/javascript/mastodon/actions/importer/emoji.ts @@ -0,0 +1,22 @@ +import type { ApiCustomEmojiJSON } from '@/mastodon/api_types/custom_emoji'; +import { loadCustomEmoji } from '@/mastodon/features/emoji'; + +export async function importCustomEmoji(emojis: ApiCustomEmojiJSON[]) { + if (emojis.length === 0) { + return; + } + + // First, check if we already have them all. + const { searchCustomEmojisByShortcodes, clearEtag } = + await import('@/mastodon/features/emoji/database'); + + const existingEmojis = await searchCustomEmojisByShortcodes( + emojis.map((emoji) => emoji.shortcode), + ); + + // If there's a mismatch, re-import all custom emojis. + if (existingEmojis.length < emojis.length) { + await clearEtag('custom'); + await loadCustomEmoji(); + } +} diff --git a/app/javascript/mastodon/actions/importer/index.js b/app/javascript/mastodon/actions/importer/index.js index 6a85231bb6..fe31b84bff 100644 --- a/app/javascript/mastodon/actions/importer/index.js +++ b/app/javascript/mastodon/actions/importer/index.js @@ -1,6 +1,7 @@ import { createPollFromServerJSON } from 'mastodon/models/poll'; import { importAccounts } from './accounts'; +import { importCustomEmoji } from './emoji'; import { normalizeStatus } from './normalizer'; import { importPolls } from './polls'; @@ -39,6 +40,10 @@ export function importFetchedAccounts(accounts) { if (account.moved) { processAccount(account.moved); } + + if (account.emojis && account.username === account.acct) { + importCustomEmoji(account.emojis); + } } accounts.forEach(processAccount); @@ -80,6 +85,10 @@ export function importFetchedStatuses(statuses, options = {}) { if (status.card) { status.card.authors.forEach(author => author.account && pushUnique(accounts, author.account)); } + + if (status.emojis && status.account.username === status.account.acct) { + importCustomEmoji(status.emojis); + } } statuses.forEach(processStatus); diff --git a/app/javascript/mastodon/actions/importer/normalizer.js b/app/javascript/mastodon/actions/importer/normalizer.js index 075dc84ef1..854865104a 100644 --- a/app/javascript/mastodon/actions/importer/normalizer.js +++ b/app/javascript/mastodon/actions/importer/normalizer.js @@ -2,6 +2,8 @@ import escapeTextContentForBrowser from 'escape-html'; import { expandSpoilers } from '../../initial_state'; +import { importCustomEmoji } from './emoji'; + const domParser = new DOMParser(); export function searchTextFromRawStatus (status) { @@ -151,5 +153,9 @@ export function normalizeAnnouncement(announcement) { normalAnnouncement.contentHtml = normalAnnouncement.content; + if (normalAnnouncement.emojis) { + importCustomEmoji(normalAnnouncement.emojis); + } + return normalAnnouncement; } diff --git a/app/javascript/mastodon/features/emoji/database.test.ts b/app/javascript/mastodon/features/emoji/database.test.ts index 5931a238ea..6b6ea952b7 100644 --- a/app/javascript/mastodon/features/emoji/database.test.ts +++ b/app/javascript/mastodon/features/emoji/database.test.ts @@ -43,11 +43,26 @@ describe('emoji database', () => { describe('putCustomEmojiData', () => { test('loads custom emoji into indexedDB', async () => { const { db } = await testGet(); - await putCustomEmojiData([customEmojiFactory()]); + await putCustomEmojiData({ emojis: [customEmojiFactory()] }); await expect(db.get('custom', 'custom')).resolves.toEqual( customEmojiFactory(), ); }); + + test('clears existing custom emoji if specified', async () => { + const { db } = await testGet(); + await putCustomEmojiData({ + emojis: [customEmojiFactory({ shortcode: 'emoji1' })], + }); + await putCustomEmojiData({ + emojis: [customEmojiFactory({ shortcode: 'emoji2' })], + clear: true, + }); + await expect(db.get('custom', 'emoji1')).resolves.toBeUndefined(); + await expect(db.get('custom', 'emoji2')).resolves.toEqual( + customEmojiFactory({ shortcode: 'emoji2' }), + ); + }); }); describe('putLegacyShortcodes', () => { diff --git a/app/javascript/mastodon/features/emoji/database.ts b/app/javascript/mastodon/features/emoji/database.ts index 2e8de71221..9e03b53d3c 100644 --- a/app/javascript/mastodon/features/emoji/database.ts +++ b/app/javascript/mastodon/features/emoji/database.ts @@ -161,11 +161,26 @@ export async function putEmojiData(emojis: UnicodeEmojiData[], locale: Locale) { await trx.done; } -export async function putCustomEmojiData(emojis: CustomEmojiData[]) { +export async function putCustomEmojiData({ + emojis, + clear = false, +}: { + emojis: CustomEmojiData[]; + clear?: boolean; +}) { const db = await loadDB(); const trx = db.transaction('custom', 'readwrite'); + + // When importing from the API, clear everything first. + if (clear) { + await trx.store.clear(); + log('Cleared existing custom emojis in database'); + } + await Promise.all(emojis.map((emoji) => trx.store.put(emoji))); await trx.done; + + log('Imported %d custom emojis into database', emojis.length); } export async function putLegacyShortcodes(shortcodes: ShortcodesDataset) { @@ -188,6 +203,13 @@ export async function putLatestEtag(etag: string, localeString: string) { await db.put('etags', etag, locale); } +export async function clearEtag(localeString: string) { + const locale = toSupportedLocaleOrCustom(localeString); + const db = await loadDB(); + await db.delete('etags', locale); + log('Cleared etag for %s', locale); +} + export async function loadEmojiByHexcode( hexcode: string, localeString: string, diff --git a/app/javascript/mastodon/features/emoji/index.ts b/app/javascript/mastodon/features/emoji/index.ts index bd38dea77a..b0b0fb49b2 100644 --- a/app/javascript/mastodon/features/emoji/index.ts +++ b/app/javascript/mastodon/features/emoji/index.ts @@ -3,7 +3,6 @@ import type { Locale } from 'emojibase'; import { initialState } from '@/mastodon/initial_state'; import type { EMOJI_DB_NAME_SHORTCODES, EMOJI_TYPE_CUSTOM } from './constants'; -import { importLegacyShortcodes, localeToShortcodesPath } from './loader'; import { toSupportedLocale } from './locale'; import type { LocaleOrCustom } from './types'; import { emojiLogger } from './utils'; @@ -16,48 +15,54 @@ let worker: Worker | null = null; const log = emojiLogger('index'); -const WORKER_TIMEOUT = 1_000; // 1 second +// This is too short, but better to fallback quickly than wait. +const WORKER_TIMEOUT = 1_000; export function initializeEmoji() { log('initializing emojis'); + + // Create a temp worker, and assign it to the module-level worker once we know it's ready. + let tempWorker: Worker | null = null; if (!worker && 'Worker' in window) { try { - worker = new EmojiWorker(); + tempWorker = new EmojiWorker(); } catch (err) { console.warn('Error creating web worker:', err); } } - if (worker) { - const timeoutId = setTimeout(() => { - log('worker is not ready after timeout'); - worker = null; - void fallbackLoad(); - }, WORKER_TIMEOUT); - worker.addEventListener('message', (event: MessageEvent) => { - const { data: message } = event; - if (message === 'ready') { - log('worker ready, loading data'); - clearTimeout(timeoutId); - messageWorker('custom'); - messageWorker('shortcodes'); - void loadEmojiLocale(userLocale); - } else { - log('got worker message: %s', message); - } - }); - } else { + if (!tempWorker) { void fallbackLoad(); + return; } + + const timeoutId = setTimeout(() => { + log('worker is not ready after timeout'); + void fallbackLoad(); + }, WORKER_TIMEOUT); + + tempWorker.addEventListener('message', (event: MessageEvent) => { + const { data: message } = event; + + worker ??= tempWorker; + + if (message === 'ready') { + log('worker ready, loading data'); + clearTimeout(timeoutId); + messageWorker('shortcodes'); + void loadCustomEmoji(); + void loadEmojiLocale(userLocale); + } else { + log('got worker message: %s', message); + } + }); } async function fallbackLoad() { log('falling back to main thread for loading'); - const { importCustomEmojiData } = await import('./loader'); - const emojis = await importCustomEmojiData(); - if (emojis) { - log('loaded %d custom emojis', emojis.length); - } + + await loadCustomEmoji(); + const { importLegacyShortcodes } = await import('./loader'); const shortcodes = await importLegacyShortcodes(); if (shortcodes.length) { log('loaded %d legacy shortcodes', shortcodes.length); @@ -67,11 +72,11 @@ async function fallbackLoad() { async function loadEmojiLocale(localeString: string) { const locale = toSupportedLocale(localeString); - const { importEmojiData, localeToEmojiPath: localeToPath } = + const { importEmojiData, localeToEmojiPath, localeToShortcodesPath } = await import('./loader'); if (worker) { - const path = await localeToPath(locale); + const path = await localeToEmojiPath(locale); const shortcodesPath = await localeToShortcodesPath(locale); log('asking worker to load locale %s from %s', locale, path); messageWorker(locale, path, shortcodesPath); @@ -83,6 +88,18 @@ async function loadEmojiLocale(localeString: string) { } } +export async function loadCustomEmoji() { + if (worker) { + messageWorker('custom'); + } else { + const { importCustomEmojiData } = await import('./loader'); + const emojis = await importCustomEmojiData(); + if (emojis && emojis.length > 0) { + log('loaded %d custom emojis', emojis.length); + } + } +} + function messageWorker( locale: typeof EMOJI_TYPE_CUSTOM | typeof EMOJI_DB_NAME_SHORTCODES, ): void; diff --git a/app/javascript/mastodon/features/emoji/loader.ts b/app/javascript/mastodon/features/emoji/loader.ts index b2407697df..0dfa22b99d 100644 --- a/app/javascript/mastodon/features/emoji/loader.ts +++ b/app/javascript/mastodon/features/emoji/loader.ts @@ -76,7 +76,7 @@ export async function importCustomEmojiData() { if (!emojis) { return; } - await putCustomEmojiData(emojis); + await putCustomEmojiData({ emojis, clear: true }); return emojis; } From 009275e66b55729f754da7b4c814b37b67dc76dc Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 17 Dec 2025 10:19:21 -0500 Subject: [PATCH 13/13] Use `link_to` for contribute translation link (#36011) --- app/views/settings/preferences/appearance/show.html.haml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/settings/preferences/appearance/show.html.haml b/app/views/settings/preferences/appearance/show.html.haml index e6e96f97d5..45a27eb482 100644 --- a/app/views/settings/preferences/appearance/show.html.haml +++ b/app/views/settings/preferences/appearance/show.html.haml @@ -43,7 +43,8 @@ - unless I18n.locale == :en .flash-message.translation-prompt - #{t 'appearance.localization.body'} #{content_tag(:a, t('appearance.localization.guide_link_text'), href: t('appearance.localization.guide_link'), target: '_blank', rel: 'noopener')} + = t 'appearance.localization.body' + = link_to t('appearance.localization.guide_link_text'), t('appearance.localization.guide_link'), target: '_blank', rel: 'noopener' = f.simple_fields_for :settings, current_user.settings do |ff| %h4= t 'appearance.animations_and_accessibility'