From 11fe293e1b318a12b75f0c5d1bb208fdbb46417e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 27 Mar 2019 15:55:23 +0100 Subject: [PATCH 01/13] Remove unused ActivityPub `@context` values depending on response (#10378) Fix #8078 --- app/lib/activitypub/adapter.rb | 73 +++++++++------ app/lib/activitypub/serializer.rb | 30 +++++++ .../activitypub/accept_follow_serializer.rb | 2 +- .../activitypub/activity_serializer.rb | 2 +- .../activitypub/actor_serializer.rb | 13 ++- app/serializers/activitypub/add_serializer.rb | 2 +- .../activitypub/block_serializer.rb | 2 +- .../activitypub/collection_serializer.rb | 2 +- .../activitypub/delete_actor_serializer.rb | 2 +- .../activitypub/delete_serializer.rb | 6 +- .../activitypub/emoji_serializer.rb | 4 +- .../activitypub/flag_serializer.rb | 2 +- .../activitypub/follow_serializer.rb | 2 +- .../activitypub/image_serializer.rb | 4 +- .../activitypub/like_serializer.rb | 2 +- .../activitypub/note_serializer.rb | 15 ++-- .../activitypub/public_key_serializer.rb | 4 +- .../activitypub/reject_follow_serializer.rb | 2 +- .../activitypub/remove_serializer.rb | 2 +- .../activitypub/undo_announce_serializer.rb | 2 +- .../activitypub/undo_block_serializer.rb | 2 +- .../activitypub/undo_follow_serializer.rb | 2 +- .../activitypub/undo_like_serializer.rb | 2 +- .../activitypub/update_poll_serializer.rb | 2 +- .../activitypub/update_serializer.rb | 2 +- .../activitypub/vote_serializer.rb | 4 +- .../initializers/active_model_serializers.rb | 19 ++++ spec/lib/activitypub/adapter_spec.rb | 88 +++++++++++++++++++ 28 files changed, 234 insertions(+), 60 deletions(-) create mode 100644 app/lib/activitypub/serializer.rb create mode 100644 spec/lib/activitypub/adapter_spec.rb diff --git a/app/lib/activitypub/adapter.rb b/app/lib/activitypub/adapter.rb index 99f4d93055..7e0b16c25d 100644 --- a/app/lib/activitypub/adapter.rb +++ b/app/lib/activitypub/adapter.rb @@ -1,30 +1,23 @@ # frozen_string_literal: true class ActivityPub::Adapter < ActiveModelSerializers::Adapter::Base - CONTEXT = { - '@context': [ - 'https://www.w3.org/ns/activitystreams', - 'https://w3id.org/security/v1', + NAMED_CONTEXT_MAP = { + activitystreams: 'https://www.w3.org/ns/activitystreams', + security: 'https://w3id.org/security/v1', + }.freeze - { - 'manuallyApprovesFollowers' => 'as:manuallyApprovesFollowers', - 'sensitive' => 'as:sensitive', - 'movedTo' => { '@id' => 'as:movedTo', '@type' => '@id' }, - 'alsoKnownAs' => { '@id' => 'as:alsoKnownAs', '@type' => '@id' }, - 'Hashtag' => 'as:Hashtag', - 'ostatus' => 'http://ostatus.org#', - 'atomUri' => 'ostatus:atomUri', - 'inReplyToAtomUri' => 'ostatus:inReplyToAtomUri', - 'conversation' => 'ostatus:conversation', - 'toot' => 'http://joinmastodon.org/ns#', - 'Emoji' => 'toot:Emoji', - 'focalPoint' => { '@container' => '@list', '@id' => 'toot:focalPoint' }, - 'featured' => { '@id' => 'toot:featured', '@type' => '@id' }, - 'schema' => 'http://schema.org#', - 'PropertyValue' => 'schema:PropertyValue', - 'value' => 'schema:value', - }, - ], + CONTEXT_EXTENSION_MAP = { + manually_approves_followers: { 'manuallyApprovesFollowers' => 'as:manuallyApprovesFollowers' }, + sensitive: { 'sensitive' => 'as:sensitive' }, + hashtag: { 'Hashtag' => 'as:Hashtag' }, + moved_to: { 'movedTo' => { '@id' => 'as:movedTo', '@type' => '@id' } }, + also_known_as: { 'alsoKnownAs' => { '@id' => 'as:alsoKnownAs', '@type' => '@id' } }, + emoji: { 'toot' => 'http://joinmastodon.org/ns#', 'Emoji' => 'toot:Emoji' }, + featured: { 'toot' => 'http://joinmastodon.org/ns#', 'featured' => { '@id' => 'toot:featured', '@type' => '@id' } }, + property_value: { 'schema' => 'http://schema.org#', 'PropertyValue' => 'schema:PropertyValue', 'value' => 'schema:value' }, + atom_uri: { 'ostatus' => 'http://ostatus.org#', 'atomUri' => 'ostatus:atomUri' }, + conversation: { 'ostatus' => 'http://ostatus.org#', 'inReplyToAtomUri' => 'ostatus:inReplyToAtomUri', 'conversation' => 'ostatus:conversation' }, + focal_point: { 'toot' => 'http://joinmastodon.org/ns#', 'focalPoint' => { '@container' => '@list', '@id' => 'toot:focalPoint' } }, }.freeze def self.default_key_transform @@ -36,8 +29,36 @@ class ActivityPub::Adapter < ActiveModelSerializers::Adapter::Base end def serializable_hash(options = nil) - options = serialization_options(options) - serialized_hash = ActiveModelSerializers::Adapter::Attributes.new(serializer, instance_options).serializable_hash(options) - CONTEXT.merge(self.class.transform_key_casing!(serialized_hash, instance_options)) + options = serialization_options(options) + serialized_hash = serializer.serializable_hash(options) + serialized_hash = self.class.transform_key_casing!(serialized_hash, instance_options) + + { '@context' => serialized_context }.merge(serialized_hash) + end + + private + + def serialized_context + context_array = [] + + serializer_options = serializer.send(:instance_options) || {} + named_contexts = [:activitystreams] + serializer._named_contexts.keys + serializer_options.fetch(:named_contexts, {}).keys + context_extensions = serializer._context_extensions.keys + serializer_options.fetch(:context_extensions, {}).keys + + named_contexts.each do |key| + context_array << NAMED_CONTEXT_MAP[key] + end + + extensions = context_extensions.each_with_object({}) do |key, h| + h.merge!(CONTEXT_EXTENSION_MAP[key]) + end + + context_array << extensions unless extensions.empty? + + if context_array.size == 1 + context_array.first + else + context_array + end end end diff --git a/app/lib/activitypub/serializer.rb b/app/lib/activitypub/serializer.rb new file mode 100644 index 0000000000..07bd8c4946 --- /dev/null +++ b/app/lib/activitypub/serializer.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +class ActivityPub::Serializer < ActiveModel::Serializer + with_options instance_writer: false, instance_reader: true do |serializer| + serializer.class_attribute :_named_contexts + serializer.class_attribute :_context_extensions + + self._named_contexts ||= {} + self._context_extensions ||= {} + end + + def self.inherited(base) + super + + base._named_contexts = _named_contexts.dup + base._context_extensions = _context_extensions.dup + end + + def self.context(*named_contexts) + named_contexts.each do |context| + _named_contexts[context] = true + end + end + + def self.context_extensions(*extension_names) + extension_names.each do |extension_name| + _context_extensions[extension_name] = true + end + end +end diff --git a/app/serializers/activitypub/accept_follow_serializer.rb b/app/serializers/activitypub/accept_follow_serializer.rb index 3e23591a52..1c1c6ab73b 100644 --- a/app/serializers/activitypub/accept_follow_serializer.rb +++ b/app/serializers/activitypub/accept_follow_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::AcceptFollowSerializer < ActiveModel::Serializer +class ActivityPub::AcceptFollowSerializer < ActivityPub::Serializer attributes :id, :type, :actor has_one :object, serializer: ActivityPub::FollowSerializer diff --git a/app/serializers/activitypub/activity_serializer.rb b/app/serializers/activitypub/activity_serializer.rb index c001e28aae..c06d5c87ca 100644 --- a/app/serializers/activitypub/activity_serializer.rb +++ b/app/serializers/activitypub/activity_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::ActivitySerializer < ActiveModel::Serializer +class ActivityPub::ActivitySerializer < ActivityPub::Serializer attributes :id, :type, :actor, :published, :to, :cc has_one :proper, key: :object, serializer: ActivityPub::NoteSerializer, if: :serialize_object? diff --git a/app/serializers/activitypub/actor_serializer.rb b/app/serializers/activitypub/actor_serializer.rb index 6746c17829..4b982b9551 100644 --- a/app/serializers/activitypub/actor_serializer.rb +++ b/app/serializers/activitypub/actor_serializer.rb @@ -1,8 +1,13 @@ # frozen_string_literal: true -class ActivityPub::ActorSerializer < ActiveModel::Serializer +class ActivityPub::ActorSerializer < ActivityPub::Serializer include RoutingHelper + context :security + + context_extensions :manually_approves_followers, :featured, :also_known_as, + :moved_to, :property_value, :hashtag, :emoji + attributes :id, :type, :following, :followers, :inbox, :outbox, :featured, :preferred_username, :name, :summary, @@ -16,7 +21,7 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer attribute :moved_to, if: :moved? attribute :also_known_as, if: :also_known_as? - class EndpointsSerializer < ActiveModel::Serializer + class EndpointsSerializer < ActivityPub::Serializer include RoutingHelper attributes :shared_inbox @@ -124,7 +129,7 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer class CustomEmojiSerializer < ActivityPub::EmojiSerializer end - class TagSerializer < ActiveModel::Serializer + class TagSerializer < ActivityPub::Serializer include RoutingHelper attributes :type, :href, :name @@ -142,7 +147,7 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer end end - class Account::FieldSerializer < ActiveModel::Serializer + class Account::FieldSerializer < ActivityPub::Serializer attributes :type, :name, :value def type diff --git a/app/serializers/activitypub/add_serializer.rb b/app/serializers/activitypub/add_serializer.rb index c0906e8d03..6f5aab17f9 100644 --- a/app/serializers/activitypub/add_serializer.rb +++ b/app/serializers/activitypub/add_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::AddSerializer < ActiveModel::Serializer +class ActivityPub::AddSerializer < ActivityPub::Serializer include RoutingHelper attributes :type, :actor, :target diff --git a/app/serializers/activitypub/block_serializer.rb b/app/serializers/activitypub/block_serializer.rb index 624ce2fce8..e6c69329d8 100644 --- a/app/serializers/activitypub/block_serializer.rb +++ b/app/serializers/activitypub/block_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::BlockSerializer < ActiveModel::Serializer +class ActivityPub::BlockSerializer < ActivityPub::Serializer attributes :id, :type, :actor attribute :virtual_object, key: :object diff --git a/app/serializers/activitypub/collection_serializer.rb b/app/serializers/activitypub/collection_serializer.rb index b03609957d..da1ba735fc 100644 --- a/app/serializers/activitypub/collection_serializer.rb +++ b/app/serializers/activitypub/collection_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::CollectionSerializer < ActiveModel::Serializer +class ActivityPub::CollectionSerializer < ActivityPub::Serializer def self.serializer_for(model, options) return ActivityPub::NoteSerializer if model.class.name == 'Status' return ActivityPub::CollectionSerializer if model.class.name == 'ActivityPub::CollectionPresenter' diff --git a/app/serializers/activitypub/delete_actor_serializer.rb b/app/serializers/activitypub/delete_actor_serializer.rb index ddf59be970..a6c5e2385e 100644 --- a/app/serializers/activitypub/delete_actor_serializer.rb +++ b/app/serializers/activitypub/delete_actor_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::DeleteActorSerializer < ActiveModel::Serializer +class ActivityPub::DeleteActorSerializer < ActivityPub::Serializer attributes :id, :type, :actor, :to attribute :virtual_object, key: :object diff --git a/app/serializers/activitypub/delete_serializer.rb b/app/serializers/activitypub/delete_serializer.rb index 5012a8383f..a7d5bd4698 100644 --- a/app/serializers/activitypub/delete_serializer.rb +++ b/app/serializers/activitypub/delete_serializer.rb @@ -1,7 +1,9 @@ # frozen_string_literal: true -class ActivityPub::DeleteSerializer < ActiveModel::Serializer - class TombstoneSerializer < ActiveModel::Serializer +class ActivityPub::DeleteSerializer < ActivityPub::Serializer + class TombstoneSerializer < ActivityPub::Serializer + context_extensions :atom_uri + attributes :id, :type, :atom_uri def id diff --git a/app/serializers/activitypub/emoji_serializer.rb b/app/serializers/activitypub/emoji_serializer.rb index 7b06b1e5db..4dc38f3ea6 100644 --- a/app/serializers/activitypub/emoji_serializer.rb +++ b/app/serializers/activitypub/emoji_serializer.rb @@ -1,8 +1,10 @@ # frozen_string_literal: true -class ActivityPub::EmojiSerializer < ActiveModel::Serializer +class ActivityPub::EmojiSerializer < ActivityPub::Serializer include RoutingHelper + context_extensions :emoji + attributes :id, :type, :name, :updated has_one :icon, serializer: ActivityPub::ImageSerializer diff --git a/app/serializers/activitypub/flag_serializer.rb b/app/serializers/activitypub/flag_serializer.rb index 1e7a46dd9e..2f2a707d36 100644 --- a/app/serializers/activitypub/flag_serializer.rb +++ b/app/serializers/activitypub/flag_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::FlagSerializer < ActiveModel::Serializer +class ActivityPub::FlagSerializer < ActivityPub::Serializer attributes :id, :type, :actor, :content attribute :virtual_object, key: :object diff --git a/app/serializers/activitypub/follow_serializer.rb b/app/serializers/activitypub/follow_serializer.rb index bb204ee8f3..9228d7716e 100644 --- a/app/serializers/activitypub/follow_serializer.rb +++ b/app/serializers/activitypub/follow_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::FollowSerializer < ActiveModel::Serializer +class ActivityPub::FollowSerializer < ActivityPub::Serializer attributes :id, :type, :actor attribute :virtual_object, key: :object diff --git a/app/serializers/activitypub/image_serializer.rb b/app/serializers/activitypub/image_serializer.rb index 3c08f77e83..1060f96914 100644 --- a/app/serializers/activitypub/image_serializer.rb +++ b/app/serializers/activitypub/image_serializer.rb @@ -1,8 +1,10 @@ # frozen_string_literal: true -class ActivityPub::ImageSerializer < ActiveModel::Serializer +class ActivityPub::ImageSerializer < ActivityPub::Serializer include RoutingHelper + context_extensions :focal_point + attributes :type, :media_type, :url attribute :focal_point, if: :focal_point? diff --git a/app/serializers/activitypub/like_serializer.rb b/app/serializers/activitypub/like_serializer.rb index c1a7ff6f63..0f170ddb4e 100644 --- a/app/serializers/activitypub/like_serializer.rb +++ b/app/serializers/activitypub/like_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::LikeSerializer < ActiveModel::Serializer +class ActivityPub::LikeSerializer < ActivityPub::Serializer attributes :id, :type, :actor attribute :virtual_object, key: :object diff --git a/app/serializers/activitypub/note_serializer.rb b/app/serializers/activitypub/note_serializer.rb index 553f333d8f..0666bea5a7 100644 --- a/app/serializers/activitypub/note_serializer.rb +++ b/app/serializers/activitypub/note_serializer.rb @@ -1,6 +1,9 @@ # frozen_string_literal: true -class ActivityPub::NoteSerializer < ActiveModel::Serializer +class ActivityPub::NoteSerializer < ActivityPub::Serializer + context_extensions :atom_uri, :conversation, :sensitive, + :hashtag, :emoji, :focal_point + attributes :id, :type, :summary, :in_reply_to, :published, :url, :attributed_to, :to, :cc, :sensitive, @@ -147,7 +150,7 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer object.poll&.expired? end - class MediaAttachmentSerializer < ActiveModel::Serializer + class MediaAttachmentSerializer < ActivityPub::Serializer include RoutingHelper attributes :type, :media_type, :url, :name @@ -178,7 +181,7 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer end end - class MentionSerializer < ActiveModel::Serializer + class MentionSerializer < ActivityPub::Serializer attributes :type, :href, :name def type @@ -194,7 +197,7 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer end end - class TagSerializer < ActiveModel::Serializer + class TagSerializer < ActivityPub::Serializer include RoutingHelper attributes :type, :href, :name @@ -215,8 +218,8 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer class CustomEmojiSerializer < ActivityPub::EmojiSerializer end - class OptionSerializer < ActiveModel::Serializer - class RepliesSerializer < ActiveModel::Serializer + class OptionSerializer < ActivityPub::Serializer + class RepliesSerializer < ActivityPub::Serializer attributes :type, :total_items def type diff --git a/app/serializers/activitypub/public_key_serializer.rb b/app/serializers/activitypub/public_key_serializer.rb index 38e9e93baa..62ed49e81d 100644 --- a/app/serializers/activitypub/public_key_serializer.rb +++ b/app/serializers/activitypub/public_key_serializer.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true -class ActivityPub::PublicKeySerializer < ActiveModel::Serializer +class ActivityPub::PublicKeySerializer < ActivityPub::Serializer + context :security + attributes :id, :owner, :public_key_pem def id diff --git a/app/serializers/activitypub/reject_follow_serializer.rb b/app/serializers/activitypub/reject_follow_serializer.rb index 7814f4f575..4996c9a3c3 100644 --- a/app/serializers/activitypub/reject_follow_serializer.rb +++ b/app/serializers/activitypub/reject_follow_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::RejectFollowSerializer < ActiveModel::Serializer +class ActivityPub::RejectFollowSerializer < ActivityPub::Serializer attributes :id, :type, :actor has_one :object, serializer: ActivityPub::FollowSerializer diff --git a/app/serializers/activitypub/remove_serializer.rb b/app/serializers/activitypub/remove_serializer.rb index c2a5ae1b3a..7fefda59da 100644 --- a/app/serializers/activitypub/remove_serializer.rb +++ b/app/serializers/activitypub/remove_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::RemoveSerializer < ActiveModel::Serializer +class ActivityPub::RemoveSerializer < ActivityPub::Serializer include RoutingHelper attributes :type, :actor, :target diff --git a/app/serializers/activitypub/undo_announce_serializer.rb b/app/serializers/activitypub/undo_announce_serializer.rb index 4fc042727a..6758af6792 100644 --- a/app/serializers/activitypub/undo_announce_serializer.rb +++ b/app/serializers/activitypub/undo_announce_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::UndoAnnounceSerializer < ActiveModel::Serializer +class ActivityPub::UndoAnnounceSerializer < ActivityPub::Serializer attributes :id, :type, :actor, :to has_one :object, serializer: ActivityPub::ActivitySerializer diff --git a/app/serializers/activitypub/undo_block_serializer.rb b/app/serializers/activitypub/undo_block_serializer.rb index 2f43d8402a..b4f0493777 100644 --- a/app/serializers/activitypub/undo_block_serializer.rb +++ b/app/serializers/activitypub/undo_block_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::UndoBlockSerializer < ActiveModel::Serializer +class ActivityPub::UndoBlockSerializer < ActivityPub::Serializer attributes :id, :type, :actor has_one :object, serializer: ActivityPub::BlockSerializer diff --git a/app/serializers/activitypub/undo_follow_serializer.rb b/app/serializers/activitypub/undo_follow_serializer.rb index e5b7f143d7..9b3e0ca3cb 100644 --- a/app/serializers/activitypub/undo_follow_serializer.rb +++ b/app/serializers/activitypub/undo_follow_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::UndoFollowSerializer < ActiveModel::Serializer +class ActivityPub::UndoFollowSerializer < ActivityPub::Serializer attributes :id, :type, :actor has_one :object, serializer: ActivityPub::FollowSerializer diff --git a/app/serializers/activitypub/undo_like_serializer.rb b/app/serializers/activitypub/undo_like_serializer.rb index 25f4ccaaed..20c786cb76 100644 --- a/app/serializers/activitypub/undo_like_serializer.rb +++ b/app/serializers/activitypub/undo_like_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::UndoLikeSerializer < ActiveModel::Serializer +class ActivityPub::UndoLikeSerializer < ActivityPub::Serializer attributes :id, :type, :actor has_one :object, serializer: ActivityPub::LikeSerializer diff --git a/app/serializers/activitypub/update_poll_serializer.rb b/app/serializers/activitypub/update_poll_serializer.rb index f7933346fe..a9a09747f8 100644 --- a/app/serializers/activitypub/update_poll_serializer.rb +++ b/app/serializers/activitypub/update_poll_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::UpdatePollSerializer < ActiveModel::Serializer +class ActivityPub::UpdatePollSerializer < ActivityPub::Serializer attributes :id, :type, :actor, :to has_one :object, serializer: ActivityPub::NoteSerializer diff --git a/app/serializers/activitypub/update_serializer.rb b/app/serializers/activitypub/update_serializer.rb index 48d7a19294..a5eb857d3f 100644 --- a/app/serializers/activitypub/update_serializer.rb +++ b/app/serializers/activitypub/update_serializer.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class ActivityPub::UpdateSerializer < ActiveModel::Serializer +class ActivityPub::UpdateSerializer < ActivityPub::Serializer attributes :id, :type, :actor, :to has_one :object, serializer: ActivityPub::ActorSerializer diff --git a/app/serializers/activitypub/vote_serializer.rb b/app/serializers/activitypub/vote_serializer.rb index 248190404e..71ef5c77e3 100644 --- a/app/serializers/activitypub/vote_serializer.rb +++ b/app/serializers/activitypub/vote_serializer.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -class ActivityPub::VoteSerializer < ActiveModel::Serializer - class NoteSerializer < ActiveModel::Serializer +class ActivityPub::VoteSerializer < ActivityPub::Serializer + class NoteSerializer < ActivityPub::Serializer attributes :id, :type, :name, :attributed_to, :in_reply_to, :to diff --git a/config/initializers/active_model_serializers.rb b/config/initializers/active_model_serializers.rb index 0e69e1d96c..329a5fb2c3 100644 --- a/config/initializers/active_model_serializers.rb +++ b/config/initializers/active_model_serializers.rb @@ -3,3 +3,22 @@ ActiveModelSerializers.config.tap do |config| end ActiveSupport::Notifications.unsubscribe(ActiveModelSerializers::Logging::RENDER_EVENT) + +class ActiveModel::Serializer::Reflection + # We monkey-patch this method so that when we include associations in a serializer, + # the nested serializers can send information about used contexts upwards back to + # the root. We do this via instance_options because the nesting can be dynamic. + def build_association(parent_serializer, parent_serializer_options, include_slice = {}) + serializer = options[:serializer] + + parent_serializer_options.merge!(named_contexts: serializer._named_contexts, context_extensions: serializer._context_extensions) if serializer.respond_to?(:_named_contexts) + + association_options = { + parent_serializer: parent_serializer, + parent_serializer_options: parent_serializer_options, + include_slice: include_slice, + } + + ActiveModel::Serializer::Association.new(self, association_options) + end +end diff --git a/spec/lib/activitypub/adapter_spec.rb b/spec/lib/activitypub/adapter_spec.rb new file mode 100644 index 0000000000..ea03797aab --- /dev/null +++ b/spec/lib/activitypub/adapter_spec.rb @@ -0,0 +1,88 @@ +require 'rails_helper' + +RSpec.describe ActivityPub::Adapter do + class TestObject < ActiveModelSerializers::Model + attributes :foo + end + + class TestWithBasicContextSerializer < ActivityPub::Serializer + attributes :foo + end + + class TestWithNamedContextSerializer < ActivityPub::Serializer + context :security + attributes :foo + end + + class TestWithNestedNamedContextSerializer < ActivityPub::Serializer + attributes :foo + + has_one :virtual_object, key: :baz, serializer: TestWithNamedContextSerializer + + def virtual_object + object + end + end + + class TestWithContextExtensionSerializer < ActivityPub::Serializer + context_extensions :sensitive + attributes :foo + end + + class TestWithNestedContextExtensionSerializer < ActivityPub::Serializer + context_extensions :manually_approves_followers + attributes :foo + + has_one :virtual_object, key: :baz, serializer: TestWithContextExtensionSerializer + + def virtual_object + object + end + end + + describe '#serializable_hash' do + let(:serializer_class) {} + + subject { ActiveModelSerializers::SerializableResource.new(TestObject.new(foo: 'bar'), serializer: serializer_class, adapter: described_class).as_json } + + context 'when serializer defines no context' do + let(:serializer_class) { TestWithBasicContextSerializer } + + it 'renders a basic @context' do + expect(subject).to include({ '@context' => 'https://www.w3.org/ns/activitystreams' }) + end + end + + context 'when serializer defines a named context' do + let(:serializer_class) { TestWithNamedContextSerializer } + + it 'renders a @context with both items' do + expect(subject).to include({ '@context' => ['https://www.w3.org/ns/activitystreams', 'https://w3id.org/security/v1'] }) + end + end + + context 'when serializer has children that define a named context' do + let(:serializer_class) { TestWithNestedNamedContextSerializer } + + it 'renders a @context with both items' do + expect(subject).to include({ '@context' => ['https://www.w3.org/ns/activitystreams', 'https://w3id.org/security/v1'] }) + end + end + + context 'when serializer defines context extensions' do + let(:serializer_class) { TestWithContextExtensionSerializer } + + it 'renders a @context with the extension' do + expect(subject).to include({ '@context' => ['https://www.w3.org/ns/activitystreams', { 'sensitive' => 'as:sensitive' }] }) + end + end + + context 'when serializer has children that define context extensions' do + let(:serializer_class) { TestWithNestedContextExtensionSerializer } + + it 'renders a @context with both extensions' do + expect(subject).to include({ '@context' => ['https://www.w3.org/ns/activitystreams', { 'manuallyApprovesFollowers' => 'as:manuallyApprovesFollowers', 'sensitive' => 'as:sensitive' }] }) + end + end + end +end From 869e58e7edac84591254f7630e9c807564a0cf58 Mon Sep 17 00:00:00 2001 From: Aditoo17 <42938951+Aditoo17@users.noreply.github.com> Date: Wed, 27 Mar 2019 17:07:35 +0100 Subject: [PATCH 02/13] Fix interpolations in some localizations (#10397) --- config/locales/cs.yml | 2 +- config/locales/de.yml | 2 +- config/locales/el.yml | 2 +- config/locales/fa.yml | 2 +- config/locales/fr.yml | 2 +- config/locales/ko.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 3863984218..fa4a00cb5a 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -645,7 +645,7 @@ cs: one: Něco ještě není úplně v pořádku! Prosím zkontrolujte chybu níže other: Něco ještě není úplně v pořádku! Prosím zkontrolujte %{count} chyb níže html_validator: - invalid_markup: obsahuje neplatné HTML značkování + invalid_markup: 'obsahuje neplatný HTML kód: %{error}' identity_proofs: active: Aktivní authorize: Ano, autorizovat diff --git a/config/locales/de.yml b/config/locales/de.yml index e22198687e..6ac6e346bc 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -637,7 +637,7 @@ de: one: Etwas ist noch nicht ganz richtig! Bitte korrigiere den Fehler other: Etwas ist noch nicht ganz richtig! Bitte korrigiere %{count} Fehler html_validator: - invalid_markup: enthält ungültiges HTML-Markup + invalid_markup: 'enthält ungültiges HTML-Markup: %{error}' identity_proofs: active: Aktiv authorize: Ja, autorisieren diff --git a/config/locales/el.yml b/config/locales/el.yml index 5b067358b0..b8fd45a685 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -637,7 +637,7 @@ el: one: Κάτι δεν είναι εντάξει ακόμα! Για κοίταξε το παρακάτω σφάλμα other: Κάτι δεν είναι εντάξει ακόμα! Για κοίταξε τα παρακάτω %{count} σφάλματα html_validator: - invalid_markup: περιέχει λάθος μορφοποίηση HTML + invalid_markup: 'περιέχει λάθος μορφοποίηση HTML: %{error}' identity_proofs: active: Ενεργή authorize: Ναι, εξουσιοδότησε diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 7c026212f5..d4ec320cbf 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -637,7 +637,7 @@ fa: one: یک چیزی هنوز درست نیست! لطفاً خطاهای زیر را ببینید other: یک چیزی هنوز درست نیست! لطفاً %{count} خطای زیر را ببینید html_validator: - invalid_markup: دارای نشانه‌گذاری نامعتبر HTML است + invalid_markup: 'دارای نشانه‌گذاری نامعتبر HTML است: %{error}' identity_proofs: active: فعال authorize: بله، اجازه بده diff --git a/config/locales/fr.yml b/config/locales/fr.yml index ff065e8654..fe2880ddf3 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -637,7 +637,7 @@ fr: one: Quelque chose ne va pas ! Vérifiez l’erreur ci-dessous other: Certaines choses ne vont pas ! Vérifiez les %{count} erreurs ci-dessous html_validator: - invalid_markup: contiens du code HTML invalide + invalid_markup: 'contiens du code HTML invalide: %{error}' identity_proofs: active: Active authorize: Oui, autoriser diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 32a16f1b44..ee5d662bbd 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -639,7 +639,7 @@ ko: one: 오류가 발생했습니다. 아래 오류를 확인해 주십시오 other: 오류가 발생했습니다. 아래 %{count}개 오류를 확인해 주십시오 html_validator: - invalid_markup: 올바르지 않은 HTML 마크업을 포함하고 있습니다 + invalid_markup: '올바르지 않은 HTML 마크업을 포함하고 있습니다: %{error}' identity_proofs: active: 활성 authorize: 네, 인증합니다 From 73f5711fb8a6131f5906903dcea40a113a842669 Mon Sep 17 00:00:00 2001 From: slice Date: Wed, 27 Mar 2019 09:08:26 -0700 Subject: [PATCH 03/13] Add rel='noopener' to redesigned profile column header avatar link (#10393) --- app/javascript/mastodon/features/account/components/header.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/mastodon/features/account/components/header.js b/app/javascript/mastodon/features/account/components/header.js index 0a3345f0ed..d957de73d7 100644 --- a/app/javascript/mastodon/features/account/components/header.js +++ b/app/javascript/mastodon/features/account/components/header.js @@ -212,7 +212,7 @@ class Header extends ImmutablePureComponent {
- + From 852ca127538c73714edb49029b85b58b9b7c5858 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Wed, 27 Mar 2019 17:44:49 +0100 Subject: [PATCH 04/13] Bump bootsnap from 1.4.1 to 1.4.2 (#10395) Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.4.1 to 1.4.2. - [Release notes](https://github.com/Shopify/bootsnap/releases) - [Changelog](https://github.com/Shopify/bootsnap/blob/master/CHANGELOG.md) - [Commits](https://github.com/Shopify/bootsnap/compare/v1.4.1...v1.4.2) Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3cc79bb251..a39c7af58b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -99,7 +99,7 @@ GEM rack (>= 0.9.0) binding_of_caller (0.8.0) debug_inspector (>= 0.0.1) - bootsnap (1.4.1) + bootsnap (1.4.2) msgpack (~> 1.0) brakeman (4.5.0) browser (2.5.3) @@ -346,7 +346,7 @@ GEM mini_mime (1.0.1) mini_portile2 (2.4.0) minitest (5.11.3) - msgpack (1.2.6) + msgpack (1.2.9) multi_json (1.13.1) multipart-post (2.0.0) necromancer (0.4.0) From 319bce3d9da552ffa5b153f723bb0b78076b2a1c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Wed, 27 Mar 2019 17:45:31 +0100 Subject: [PATCH 05/13] Bump tzinfo-data from 1.2018.9 to 1.2019.1 (#10396) Bumps [tzinfo-data](https://github.com/tzinfo/tzinfo-data) from 1.2018.9 to 1.2019.1. - [Release notes](https://github.com/tzinfo/tzinfo-data/releases) - [Commits](https://github.com/tzinfo/tzinfo-data/compare/v1.2018.9...v1.2019.1) Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index a8bf2a5bfe..96eeff4f65 100644 --- a/Gemfile +++ b/Gemfile @@ -85,7 +85,7 @@ gem 'strong_migrations', '~> 0.3' gem 'tty-command', '~> 0.8', require: false gem 'tty-prompt', '~> 0.18', require: false gem 'twitter-text', '~> 1.14' -gem 'tzinfo-data', '~> 1.2018' +gem 'tzinfo-data', '~> 1.2019' gem 'webpacker', '~> 4.0' gem 'webpush' diff --git a/Gemfile.lock b/Gemfile.lock index a39c7af58b..da03e797eb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -623,7 +623,7 @@ GEM unf (~> 0.1.0) tzinfo (1.2.5) thread_safe (~> 0.1) - tzinfo-data (1.2018.9) + tzinfo-data (1.2019.1) tzinfo (>= 1.0.0) unf (0.1.4) unf_ext @@ -766,7 +766,7 @@ DEPENDENCIES tty-command (~> 0.8) tty-prompt (~> 0.18) twitter-text (~> 1.14) - tzinfo-data (~> 1.2018) + tzinfo-data (~> 1.2019) webmock (~> 3.5) webpacker (~> 4.0) webpush From e86663b1da9c31b57baf244effb94c063e10a424 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 27 Mar 2019 19:58:24 +0100 Subject: [PATCH 06/13] Fix alternative relay support regression (#10398) Fix #10324 --- app/lib/activitypub/activity/announce.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/lib/activitypub/activity/announce.rb b/app/lib/activitypub/activity/announce.rb index 9f8ffd9fb7..1aa6ee9ec2 100644 --- a/app/lib/activitypub/activity/announce.rb +++ b/app/lib/activitypub/activity/announce.rb @@ -47,6 +47,10 @@ class ActivityPub::Activity::Announce < ActivityPub::Activity followed_by_local_accounts? || requested_through_relay? || reblog_of_local_status? end + def requested_through_relay? + super || Relay.find_by(inbox_url: @account.inbox_url)&.enabled? + end + def reblog_of_local_status? status_from_uri(object_uri)&.account&.local? end From 683013756e9c57dd1944856dd154dba1be4097b9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 28 Mar 2019 00:30:47 +0100 Subject: [PATCH 07/13] Revert locales touched by automated translations (#10399) * Revert ruined translations Regression from #10362 * yarn manage:translations --- app/javascript/mastodon/locales/ar.json | 3 +- app/javascript/mastodon/locales/ast.json | 3 +- app/javascript/mastodon/locales/bg.json | 3 +- app/javascript/mastodon/locales/bn.json | 3 +- app/javascript/mastodon/locales/ca.json | 3 +- app/javascript/mastodon/locales/co.json | 3 +- app/javascript/mastodon/locales/cs.json | 3 +- app/javascript/mastodon/locales/cy.json | 3 +- app/javascript/mastodon/locales/da.json | 3 +- app/javascript/mastodon/locales/de.json | 3 +- .../mastodon/locales/defaultMessages.json | 117 +++--- app/javascript/mastodon/locales/el.json | 3 +- app/javascript/mastodon/locales/en.json | 3 +- app/javascript/mastodon/locales/eo.json | 3 +- app/javascript/mastodon/locales/es.json | 153 ++++---- app/javascript/mastodon/locales/eu.json | 3 +- app/javascript/mastodon/locales/fa.json | 3 +- app/javascript/mastodon/locales/fi.json | 3 +- app/javascript/mastodon/locales/fr.json | 55 ++- app/javascript/mastodon/locales/gl.json | 3 +- app/javascript/mastodon/locales/he.json | 3 +- app/javascript/mastodon/locales/hr.json | 3 +- app/javascript/mastodon/locales/hu.json | 3 +- app/javascript/mastodon/locales/hy.json | 3 +- app/javascript/mastodon/locales/id.json | 3 +- app/javascript/mastodon/locales/io.json | 3 +- app/javascript/mastodon/locales/it.json | 31 +- app/javascript/mastodon/locales/ja.json | 3 +- app/javascript/mastodon/locales/ka.json | 3 +- app/javascript/mastodon/locales/kk.json | 3 +- app/javascript/mastodon/locales/ko.json | 3 +- app/javascript/mastodon/locales/lv.json | 3 +- app/javascript/mastodon/locales/ms.json | 3 +- app/javascript/mastodon/locales/nl.json | 29 +- app/javascript/mastodon/locales/no.json | 3 +- app/javascript/mastodon/locales/oc.json | 3 +- app/javascript/mastodon/locales/pl.json | 11 +- app/javascript/mastodon/locales/pt-BR.json | 55 ++- app/javascript/mastodon/locales/pt.json | 29 +- app/javascript/mastodon/locales/ro.json | 3 +- app/javascript/mastodon/locales/ru.json | 171 +++++---- app/javascript/mastodon/locales/sk.json | 3 +- app/javascript/mastodon/locales/sl.json | 3 +- app/javascript/mastodon/locales/sq.json | 3 +- app/javascript/mastodon/locales/sr-Latn.json | 3 +- app/javascript/mastodon/locales/sr.json | 3 +- app/javascript/mastodon/locales/sv.json | 3 +- app/javascript/mastodon/locales/ta.json | 3 +- app/javascript/mastodon/locales/te.json | 3 +- app/javascript/mastodon/locales/th.json | 3 +- app/javascript/mastodon/locales/tr.json | 3 +- app/javascript/mastodon/locales/uk.json | 3 +- app/javascript/mastodon/locales/zh-CN.json | 3 +- app/javascript/mastodon/locales/zh-HK.json | 3 +- app/javascript/mastodon/locales/zh-TW.json | 3 +- config/locales/activerecord.cy.yml | 3 - config/locales/activerecord.es.yml | 3 - config/locales/activerecord.fr.yml | 3 - config/locales/activerecord.it.yml | 3 - config/locales/activerecord.nl.yml | 3 - config/locales/activerecord.pl.yml | 2 - config/locales/activerecord.pt-BR.yml | 3 - config/locales/activerecord.pt.yml | 3 - config/locales/activerecord.ru.yml | 3 - config/locales/cy.yml | 52 --- config/locales/devise.es.yml | 10 +- config/locales/devise.fr.yml | 3 - config/locales/devise.it.yml | 5 +- config/locales/devise.nl.yml | 3 - config/locales/devise.pl.yml | 3 - config/locales/devise.pt-BR.yml | 3 - config/locales/devise.pt.yml | 3 - config/locales/devise.ru.yml | 6 +- config/locales/es.yml | 312 ++-------------- config/locales/fr.yml | 82 +--- config/locales/ga.yml | 1 - config/locales/it.yml | 128 +------ config/locales/nl.yml | 57 --- config/locales/pl.yml | 67 +--- config/locales/pt-BR.yml | 91 +---- config/locales/pt.yml | 57 --- config/locales/ru.yml | 349 ++++-------------- config/locales/simple_form.es.yml | 42 +-- config/locales/simple_form.pt-BR.yml | 8 +- config/locales/simple_form.ru.yml | 42 +-- 85 files changed, 501 insertions(+), 1638 deletions(-) diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index c1e59ffa4b..6ed7999419 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -5,7 +5,6 @@ "account.block_domain": "إخفاء كل شيئ قادم من إسم النطاق {domain}", "account.blocked": "محظور", "account.direct": "رسالة خاصة إلى @{name}", - "account.disclaimer_full": "قد لا تعكس المعلومات أدناه الملف الشخصي الكامل للمستخدم.", "account.domain_blocked": "النطاق مخفي", "account.edit_profile": "تعديل الملف الشخصي", "account.endorse": "خاصّية على الملف الشخصي", @@ -36,7 +35,6 @@ "account.unfollow": "إلغاء المتابعة", "account.unmute": "إلغاء الكتم عن @{name}", "account.unmute_notifications": "إلغاء كتم إخطارات @{name}", - "account.view_full_profile": "عرض الملف الشخصي كاملا", "alert.unexpected.message": "لقد طرأ هناك خطأ غير متوقّع.", "alert.unexpected.title": "المعذرة !", "boost_modal.combo": "يمكنك/ي ضغط {combo} لتخطّي هذه في المرّة القادمة", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "النص غير مخفي", "compose_form.spoiler_placeholder": "تنبيه عن المحتوى", "confirmation_modal.cancel": "إلغاء", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "حجب", "confirmations.block.message": "هل أنت متأكد أنك تريد حجب {name} ؟", "confirmations.delete.confirm": "حذف", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index 88a1377eb4..a341567a79 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -5,7 +5,6 @@ "account.block_domain": "Anubrir tolo de {domain}", "account.blocked": "Blocked", "account.direct": "Unviar un mensaxe direutu a @{name}", - "account.disclaimer_full": "La información d'embaxo podría reflexar de mou incompletu'l perfil del usuariu.", "account.domain_blocked": "Dominiu anubríu", "account.edit_profile": "Editar el perfil", "account.endorse": "Destacar nel perfil", @@ -36,7 +35,6 @@ "account.unfollow": "Unfollow", "account.unmute": "Unmute @{name}", "account.unmute_notifications": "Unmute notifications from @{name}", - "account.view_full_profile": "Ver el perfil completu", "alert.unexpected.message": "Asocedió un fallu inesperáu.", "alert.unexpected.title": "¡Ups!", "boost_modal.combo": "Pues primir {combo} pa saltar esto la próxima vegada", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "El testu va anubrise", "compose_form.spoiler_placeholder": "Escribi equí l'avertencia", "confirmation_modal.cancel": "Encaboxar", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Block", "confirmations.block.message": "¿De xuru que quies bloquiar a {name}?", "confirmations.delete.confirm": "Delete", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 528cdf8a6e..49e0435821 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -5,7 +5,6 @@ "account.block_domain": "Hide everything from {domain}", "account.blocked": "Blocked", "account.direct": "Direct Message @{name}", - "account.disclaimer_full": "Information below may reflect the user's profile incompletely.", "account.domain_blocked": "Domain hidden", "account.edit_profile": "Редактирай профила си", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Не следвай", "account.unmute": "Unmute @{name}", "account.unmute_notifications": "Unmute notifications from @{name}", - "account.view_full_profile": "View full profile", "alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "You can press {combo} to skip this next time", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "Content warning", "confirmation_modal.cancel": "Cancel", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Block", "confirmations.block.message": "Are you sure you want to block {name}?", "confirmations.delete.confirm": "Delete", diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json index 001758c4c6..0d095bdeb4 100644 --- a/app/javascript/mastodon/locales/bn.json +++ b/app/javascript/mastodon/locales/bn.json @@ -5,7 +5,6 @@ "account.block_domain": "{domain} থেকে সব সরিয়ে ফেলুন", "account.blocked": "বন্ধ করা হয়েছে", "account.direct": "@{name}কে সরকারি পাঠান", - "account.disclaimer_full": "নিচে ব্যবহারকারীর তথ্য অসম্পূর্ণভাবে দেখতে পারে ।", "account.domain_blocked": "বেবিসিটটি সরানো আছে", "account.edit_profile": "Edit profile", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Unfollow", "account.unmute": "Unmute @{name}", "account.unmute_notifications": "Unmute notifications from @{name}", - "account.view_full_profile": "View full profile", "alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "You can press {combo} to skip this next time", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "Write your warning here", "confirmation_modal.cancel": "Cancel", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Block", "confirmations.block.message": "Are you sure you want to block {name}?", "confirmations.delete.confirm": "Delete", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 92cd7b61fd..6c98c6ae7f 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -5,7 +5,6 @@ "account.block_domain": "Amaga-ho tot de {domain}", "account.blocked": "Bloquejat", "account.direct": "Missatge directe @{name}", - "account.disclaimer_full": "La informació següent pot reflectir incompleta el perfil de l'usuari.", "account.domain_blocked": "Domini ocult", "account.edit_profile": "Editar el perfil", "account.endorse": "Recomanar en el teu perfil", @@ -36,7 +35,6 @@ "account.unfollow": "Deixa de seguir", "account.unmute": "Treure silenci de @{name}", "account.unmute_notifications": "Activar notificacions de @{name}", - "account.view_full_profile": "Mostra el perfil complet", "alert.unexpected.message": "S'ha produït un error inesperat.", "alert.unexpected.title": "Vaja!", "boost_modal.combo": "Pots premer {combo} per saltar-te això el proper cop", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text no ocult", "compose_form.spoiler_placeholder": "Escriu l'avís aquí", "confirmation_modal.cancel": "Cancel·la", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Bloca", "confirmations.block.message": "Estàs segur que vols blocar {name}?", "confirmations.delete.confirm": "Suprimeix", diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json index 53873dd146..acc680c530 100644 --- a/app/javascript/mastodon/locales/co.json +++ b/app/javascript/mastodon/locales/co.json @@ -5,7 +5,6 @@ "account.block_domain": "Piattà tuttu da {domain}", "account.blocked": "Bluccatu", "account.direct": "Missaghju direttu @{name}", - "account.disclaimer_full": "Ghjè pussibule chì l’infurmazione quì sottu ùn rifletta micca u prufile sanu di l’utilizatore.", "account.domain_blocked": "Duminiu piattatu", "account.edit_profile": "Mudificà u prufile", "account.endorse": "Fà figurà nant'à u prufilu", @@ -36,7 +35,6 @@ "account.unfollow": "Ùn siguità più", "account.unmute": "Ùn piattà più @{name}", "account.unmute_notifications": "Ùn piattà più nutificazione da @{name}", - "account.view_full_profile": "Vede tuttu u prufile", "alert.unexpected.message": "Un prublemu inaspettatu hè accadutu.", "alert.unexpected.title": "Uups!", "boost_modal.combo": "Pudete appughjà nant'à {combo} per saltà quessa a prussima volta", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Testu micca piattatu", "compose_form.spoiler_placeholder": "Scrive u vostr'avertimentu quì", "confirmation_modal.cancel": "Annullà", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Bluccà", "confirmations.block.message": "Site sicuru·a che vulete bluccà @{name}?", "confirmations.delete.confirm": "Toglie", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index 52823658b7..1a776cf95c 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -5,7 +5,6 @@ "account.block_domain": "Skrýt vše z {domain}", "account.blocked": "Blokován/a", "account.direct": "Poslat přímou zprávu uživateli @{name}", - "account.disclaimer_full": "Níže uvedené informace nemusejí zcela odrážet profil uživatele.", "account.domain_blocked": "Doména skryta", "account.edit_profile": "Upravit profil", "account.endorse": "Představit na profilu", @@ -36,7 +35,6 @@ "account.unfollow": "Přestat sledovat", "account.unmute": "Odkrýt uživatele @{name}", "account.unmute_notifications": "Odkrýt oznámení od uživatele @{name}", - "account.view_full_profile": "Zobrazit celý profil", "alert.unexpected.message": "Objevila se neočekávaná chyba.", "alert.unexpected.title": "Jejda!", "boost_modal.combo": "Příště můžete pro přeskočení kliknout na {combo}", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text není skrytý", "compose_form.spoiler_placeholder": "Sem napište vaše varování", "confirmation_modal.cancel": "Zrušit", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Blokovat", "confirmations.block.message": "Jste si jistý/á, že chcete zablokovat uživatele {name}?", "confirmations.delete.confirm": "Smazat", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index f153474a26..f03b547509 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -5,7 +5,6 @@ "account.block_domain": "Cuddio popeth rhag {domain}", "account.blocked": "Blociwyd", "account.direct": "Neges breifat @{name}", - "account.disclaimer_full": "Gall y wybodaeth isod adlewyrchu darlun anghyflawn o broffil defnyddiwr.", "account.domain_blocked": "Parth wedi ei guddio", "account.edit_profile": "Golygu proffil", "account.endorse": "Arddangos ar fy mhroffil", @@ -36,7 +35,6 @@ "account.unfollow": "Dad-ddilyn", "account.unmute": "Dad-dawelu @{name}", "account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}", - "account.view_full_profile": "Gweld proffil llawn", "alert.unexpected.message": "Digwyddodd gwall annisgwyl.", "alert.unexpected.title": "Wps!", "boost_modal.combo": "Mae modd gwasgu {combo} er mwyn sgipio hyn tro nesa", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Nid yw'r testun wedi ei guddio", "compose_form.spoiler_placeholder": "Ysgrifenwch eich rhybudd yma", "confirmation_modal.cancel": "Canslo", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Blocio", "confirmations.block.message": "Ydych chi'n sicr eich bod eisiau blocio {name}?", "confirmations.delete.confirm": "Dileu", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 7cb61b48cc..1be8d989db 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -5,7 +5,6 @@ "account.block_domain": "Skjul alt fra {domain}", "account.blocked": "Blokeret", "account.direct": "Send en direkte besked til @{name}", - "account.disclaimer_full": "Nedenstående oplysninger reflekterer ikke nødvendigvis brugerens profil fuldstændigt.", "account.domain_blocked": "Domænet er blevet skjult", "account.edit_profile": "Rediger profil", "account.endorse": "Fremhæv på profil", @@ -36,7 +35,6 @@ "account.unfollow": "Følg ikke længere", "account.unmute": "Fjern dæmpningen af @{name}", "account.unmute_notifications": "Fjern dæmpningen af notifikationer fra @{name}", - "account.view_full_profile": "Se fuld profil", "alert.unexpected.message": "Der opstod en uventet fejl.", "alert.unexpected.title": "Ups!", "boost_modal.combo": "Du kan trykke {combo} for at springe dette over næste gang", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Teksten er ikke skjult", "compose_form.spoiler_placeholder": "Skriv din advarsel her", "confirmation_modal.cancel": "Annuller", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Bloker", "confirmations.block.message": "Er du sikker på, du vil blokere {name}?", "confirmations.delete.confirm": "Slet", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 1b122fc3b9..a335af1bd0 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -5,7 +5,6 @@ "account.block_domain": "Alles von {domain} verstecken", "account.blocked": "Blockiert", "account.direct": "Direktnachricht an @{name}", - "account.disclaimer_full": "Das Profil wird möglicherweise unvollständig wiedergegeben.", "account.domain_blocked": "Domain versteckt", "account.edit_profile": "Profil bearbeiten", "account.endorse": "Auf Profil hervorheben", @@ -36,7 +35,6 @@ "account.unfollow": "Entfolgen", "account.unmute": "@{name} nicht mehr stummschalten", "account.unmute_notifications": "Benachrichtigungen von @{name} einschalten", - "account.view_full_profile": "Vollständiges Profil anzeigen", "alert.unexpected.message": "Ein unerwarteter Fehler ist aufgetreten.", "alert.unexpected.title": "Hoppla!", "boost_modal.combo": "Du kannst {combo} drücken, um dies beim nächsten Mal zu überspringen", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text ist nicht versteckt", "compose_form.spoiler_placeholder": "Inhaltswarnung", "confirmation_modal.cancel": "Abbrechen", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Blockieren", "confirmations.block.message": "Bist du dir sicher, dass du {name} blockieren möchtest?", "confirmations.delete.confirm": "Löschen", diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json index 908232401f..cf0da6e47e 100644 --- a/app/javascript/mastodon/locales/defaultMessages.json +++ b/app/javascript/mastodon/locales/defaultMessages.json @@ -479,6 +479,10 @@ "defaultMessage": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", "id": "confirmations.reply.message" }, + { + "defaultMessage": "Block & Report", + "id": "confirmations.block.block_and_report" + }, { "defaultMessage": "Are you sure you want to block {name}?", "id": "confirmations.block.message" @@ -526,6 +530,10 @@ "defaultMessage": "Hide entire domain", "id": "confirmations.domain_block.confirm" }, + { + "defaultMessage": "Block & Report", + "id": "confirmations.block.block_and_report" + }, { "defaultMessage": "Are you sure you want to unfollow {name}?", "id": "confirmations.unfollow.message" @@ -553,24 +561,40 @@ { "descriptors": [ { - "defaultMessage": "Mention @{name}", - "id": "account.mention" + "defaultMessage": "Unfollow", + "id": "account.unfollow" }, { - "defaultMessage": "Direct message @{name}", - "id": "account.direct" + "defaultMessage": "Follow", + "id": "account.follow" }, { - "defaultMessage": "Edit profile", - "id": "account.edit_profile" + "defaultMessage": "Awaiting approval. Click to cancel follow request", + "id": "account.requested" }, { "defaultMessage": "Unblock @{name}", "id": "account.unblock" }, { - "defaultMessage": "Unfollow", - "id": "account.unfollow" + "defaultMessage": "Edit profile", + "id": "account.edit_profile" + }, + { + "defaultMessage": "Ownership of this link was checked on {date}", + "id": "account.link_verified_on" + }, + { + "defaultMessage": "This account privacy status is set to locked. The owner manually reviews who can follow them.", + "id": "account.locked_info" + }, + { + "defaultMessage": "Mention @{name}", + "id": "account.mention" + }, + { + "defaultMessage": "Direct message @{name}", + "id": "account.direct" }, { "defaultMessage": "Unmute @{name}", @@ -584,10 +608,6 @@ "defaultMessage": "Mute @{name}", "id": "account.mute" }, - { - "defaultMessage": "Follow", - "id": "account.follow" - }, { "defaultMessage": "Report @{name}", "id": "account.report" @@ -664,59 +684,6 @@ "defaultMessage": "Open moderation interface for @{name}", "id": "status.admin_account" }, - { - "defaultMessage": "Information below may reflect the user's profile incompletely.", - "id": "account.disclaimer_full" - }, - { - "defaultMessage": "View full profile", - "id": "account.view_full_profile" - }, - { - "defaultMessage": "Toots", - "id": "account.posts" - }, - { - "defaultMessage": "Follows", - "id": "account.follows" - }, - { - "defaultMessage": "Followers", - "id": "account.followers" - } - ], - "path": "app/javascript/mastodon/features/account/components/action_bar.json" - }, - { - "descriptors": [ - { - "defaultMessage": "Unfollow", - "id": "account.unfollow" - }, - { - "defaultMessage": "Follow", - "id": "account.follow" - }, - { - "defaultMessage": "Awaiting approval. Click to cancel follow request", - "id": "account.requested" - }, - { - "defaultMessage": "Unblock @{name}", - "id": "account.unblock" - }, - { - "defaultMessage": "Edit profile", - "id": "account.edit_profile" - }, - { - "defaultMessage": "Ownership of this link was checked on {date}", - "id": "account.link_verified_on" - }, - { - "defaultMessage": "This account privacy status is set to locked. The owner manually reviews who can follow them.", - "id": "account.locked_info" - }, { "defaultMessage": "Follows you", "id": "account.follows_you" @@ -736,6 +703,18 @@ { "defaultMessage": "Bot", "id": "account.badges.bot" + }, + { + "defaultMessage": "Toots", + "id": "account.posts" + }, + { + "defaultMessage": "Follows", + "id": "account.follows" + }, + { + "defaultMessage": "Followers", + "id": "account.followers" } ], "path": "app/javascript/mastodon/features/account/components/header.json" @@ -2099,6 +2078,10 @@ "defaultMessage": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", "id": "confirmations.reply.message" }, + { + "defaultMessage": "Block & Report", + "id": "confirmations.block.block_and_report" + }, { "defaultMessage": "Are you sure you want to block {name}?", "id": "confirmations.block.message" @@ -2148,6 +2131,10 @@ "defaultMessage": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", "id": "confirmations.reply.message" }, + { + "defaultMessage": "Block & Report", + "id": "confirmations.block.block_and_report" + }, { "defaultMessage": "Are you sure you want to block {name}?", "id": "confirmations.block.message" diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 44ad0add2f..701410a81b 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -5,7 +5,6 @@ "account.block_domain": "Απόκρυψε τα πάντα από το {domain}", "account.blocked": "Αποκλεισμένος/η", "account.direct": "Προσωπικό μήνυμα προς @{name}", - "account.disclaimer_full": "Οι παρακάτω πληροφορίες μπορει να μην αντανακλούν το προφίλ του χρήστη επαρκως.", "account.domain_blocked": "Κρυμμένος τομέας", "account.edit_profile": "Επεξεργασία προφίλ", "account.endorse": "Προβολή στο προφίλ", @@ -36,7 +35,6 @@ "account.unfollow": "Διακοπή παρακολούθησης", "account.unmute": "Διακοπή αποσιώπησης του/της @{name}", "account.unmute_notifications": "Διακοπή αποσιώπησης ειδοποιήσεων του/της @{name}", - "account.view_full_profile": "Δες το πλήρες προφίλ", "alert.unexpected.message": "Προέκυψε απροσδόκητο σφάλμα.", "alert.unexpected.title": "Εεπ!", "boost_modal.combo": "Μπορείς να πατήσεις {combo} για να το προσπεράσεις αυτό την επόμενη φορά", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Μη κρυμμένο κείμενο", "compose_form.spoiler_placeholder": "Γράψε την προειδοποίησή σου εδώ", "confirmation_modal.cancel": "Άκυρο", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Απόκλεισε", "confirmations.block.message": "Σίγουρα θες να αποκλείσεις τον/την {name};", "confirmations.delete.confirm": "Διέγραψε", diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index ab52cb0ee0..bf0c1bfab1 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -5,7 +5,6 @@ "account.block_domain": "Hide everything from {domain}", "account.blocked": "Blocked", "account.direct": "Direct message @{name}", - "account.disclaimer_full": "Information below may reflect the user's profile incompletely.", "account.domain_blocked": "Domain hidden", "account.edit_profile": "Edit profile", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Unfollow", "account.unmute": "Unmute @{name}", "account.unmute_notifications": "Unmute notifications from @{name}", - "account.view_full_profile": "View full profile", "alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "You can press {combo} to skip this next time", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "Write your warning here", "confirmation_modal.cancel": "Cancel", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Block", "confirmations.block.message": "Are you sure you want to block {name}?", "confirmations.delete.confirm": "Delete", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index ab5512683d..dd2188d8e8 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -5,7 +5,6 @@ "account.block_domain": "Kaŝi ĉion de {domain}", "account.blocked": "Blokita", "account.direct": "Rekte mesaĝi @{name}", - "account.disclaimer_full": "Subaj informoj povas reflekti la profilon de la uzanto nekomplete.", "account.domain_blocked": "Domajno kaŝita", "account.edit_profile": "Redakti profilon", "account.endorse": "Montri en profilo", @@ -36,7 +35,6 @@ "account.unfollow": "Ne plu sekvi", "account.unmute": "Malsilentigi @{name}", "account.unmute_notifications": "Malsilentigi sciigojn de @{name}", - "account.view_full_profile": "Vidi plenan profilon", "alert.unexpected.message": "Neatendita eraro okazis.", "alert.unexpected.title": "Ups!", "boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Teksto ne kaŝita", "compose_form.spoiler_placeholder": "Skribu vian averton ĉi tie", "confirmation_modal.cancel": "Nuligi", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Bloki", "confirmations.block.message": "Ĉu vi certas, ke vi volas bloki {name}?", "confirmations.delete.confirm": "Forigi", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 82cb1a00a6..97d03d8404 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -1,11 +1,10 @@ { - "account.add_or_remove_from_list": "Agregar o Quitar listas", - "account.badges.bot": "Robot", + "account.add_or_remove_from_list": "Add or Remove from lists", + "account.badges.bot": "Bot", "account.block": "Bloquear", "account.block_domain": "Ocultar todo de {domain}", "account.blocked": "Bloqueado", "account.direct": "Direct Message @{name}", - "account.disclaimer_full": "La siguiente información del usuario puede estar incompleta.", "account.domain_blocked": "Dominio oculto", "account.edit_profile": "Editar perfil", "account.endorse": "Mostrar en perfil", @@ -16,8 +15,8 @@ "account.follows.empty": "Este usuario todavía no sigue a nadie.", "account.follows_you": "Te sigue", "account.hide_reblogs": "Ocultar retoots de @{name}", - "account.link_verified_on": "La legitimidad de este enlace fue verificada el {date}", - "account.locked_info": "Esta cuenta está bloqueada. Su propietario aprueba manualmente quién puede seguirlo.", + "account.link_verified_on": "Ownership of this link was checked on {date}", + "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Media", "account.mention": "Mencionar a @{name}", "account.moved_to": "{name} se ha mudado a:", @@ -36,9 +35,8 @@ "account.unfollow": "Dejar de seguir", "account.unmute": "Dejar de silenciar a @{name}", "account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}", - "account.view_full_profile": "Ver perfil completo", "alert.unexpected.message": "Hubo un error inesperado.", - "alert.unexpected.title": "¡Oups!", + "alert.unexpected.title": "Oops!", "boost_modal.combo": "Puedes presionar {combo} para saltear este aviso la próxima vez", "bundle_column_error.body": "Algo salió mal al cargar este componente.", "bundle_column_error.retry": "Inténtalo de nuevo", @@ -73,10 +71,10 @@ "compose_form.lock_disclaimer": "Tu cuenta no está bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.", "compose_form.lock_disclaimer.lock": "bloqueado", "compose_form.placeholder": "¿En qué estás pensando?", - "compose_form.poll.add_option": "Añadir una opción", - "compose_form.poll.duration": "Duración de la encuesta", - "compose_form.poll.option_placeholder": "Opción {number}", - "compose_form.poll.remove_option": "Eliminar esta opción", + "compose_form.poll.add_option": "Add a choice", + "compose_form.poll.duration": "Poll duration", + "compose_form.poll.option_placeholder": "Choice {number}", + "compose_form.poll.remove_option": "Remove this choice", "compose_form.publish": "Tootear", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Material marcado como sensible", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Texto no oculto", "compose_form.spoiler_placeholder": "Advertencia de contenido", "confirmation_modal.cancel": "Cancelar", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Bloquear", "confirmations.block.message": "¿Estás seguro de que quieres bloquear a {name}?", "confirmations.delete.confirm": "Eliminar", @@ -97,8 +96,8 @@ "confirmations.mute.message": "¿Estás seguro de que quieres silenciar a {name}?", "confirmations.redraft.confirm": "Borrar y volver a borrador", "confirmations.redraft.message": "Estás seguro de que quieres borrar este estado y volverlo a borrador? Perderás todas las respuestas, impulsos y favoritos asociados a él, y las respuestas a la publicación original quedarán huérfanos.", - "confirmations.reply.confirm": "Responder", - "confirmations.reply.message": "Responder ahora sobrescribirá el mensaje que está escribiendo. ¿Realmente quieres continuar?", + "confirmations.reply.confirm": "Reply", + "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", "confirmations.unfollow.confirm": "Dejar de seguir", "confirmations.unfollow.message": "¿Estás seguro de que quieres dejar de seguir a {name}?", "embed.instructions": "Añade este toot a tu sitio web con el siguiente código.", @@ -117,7 +116,7 @@ "emoji_button.search_results": "Resultados de búsqueda", "emoji_button.symbols": "Símbolos", "emoji_button.travel": "Viajes y lugares", - "empty_column.account_timeline": "¡No hay toot aquí!", + "empty_column.account_timeline": "No toots here!", "empty_column.blocks": "Aún no has bloqueado a ningún usuario.", "empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!", "empty_column.direct": "Aún no tienes ningún mensaje directo. Cuando envíes o recibas uno, se mostrará aquí.", @@ -132,49 +131,49 @@ "empty_column.lists": "No tienes ninguna lista. cuando crees una, se mostrará aquí.", "empty_column.mutes": "Aún no has silenciado a ningún usuario.", "empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.", - "empty_column.public": "¡No hay nada aquí! Escribir algo públicamente, o seguir manualmente a personas de otras instancias para rellenarlo", + "empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo", "follow_request.authorize": "Autorizar", "follow_request.reject": "Rechazar", "getting_started.developers": "Desarrolladores", - "getting_started.directory": "Directorio de perfiles", + "getting_started.directory": "Profile directory", "getting_started.documentation": "Documentation", "getting_started.heading": "Primeros pasos", "getting_started.invite": "Invitar usuarios", "getting_started.open_source_notice": "Mastodon es software libre. Puedes contribuir o reportar errores en {github}.", "getting_started.security": "Seguridad", "getting_started.terms": "Términos de servicio", - "hashtag.column_header.tag_mode.all": "y {additional}", - "hashtag.column_header.tag_mode.any": "o {additional}", - "hashtag.column_header.tag_mode.none": "sin {additional}", - "hashtag.column_settings.select.no_options_message": "No se han encontrado sugerencias", - "hashtag.column_settings.select.placeholder": "Añadir etiquetas…", - "hashtag.column_settings.tag_mode.all": "Todos estos elementos", - "hashtag.column_settings.tag_mode.any": "Al menos uno de estos elementos", - "hashtag.column_settings.tag_mode.none": "Ninguno de estos elementos", - "hashtag.column_settings.tag_toggle": "Incluir etiquetas adicionales en esta columna", + "hashtag.column_header.tag_mode.all": "and {additional}", + "hashtag.column_header.tag_mode.any": "or {additional}", + "hashtag.column_header.tag_mode.none": "without {additional}", + "hashtag.column_settings.select.no_options_message": "No suggestions found", + "hashtag.column_settings.select.placeholder": "Enter hashtags…", + "hashtag.column_settings.tag_mode.all": "All of these", + "hashtag.column_settings.tag_mode.any": "Any of these", + "hashtag.column_settings.tag_mode.none": "None of these", + "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "home.column_settings.basic": "Básico", "home.column_settings.show_reblogs": "Mostrar retoots", "home.column_settings.show_replies": "Mostrar respuestas", - "intervals.full.days": "{number, plural, one {# día} other {# días}}", - "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", - "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", - "introduction.federation.action": "Siguiente", + "intervals.full.days": "{number, plural, one {# day} other {# days}}", + "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", + "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", + "introduction.federation.action": "Next", "introduction.federation.federated.headline": "Federated", - "introduction.federation.federated.text": "Los mensajes públicos de otras instancias del fediverso aparecerán en la historia pública global.", + "introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.", "introduction.federation.home.headline": "Home", - "introduction.federation.home.text": "Los mensajes de las personas a las que sigues aparecerán en el hilo de inicio. Puedes rastrear a cualquiera en cualquier instancia!", + "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!", "introduction.federation.local.headline": "Local", - "introduction.federation.local.text": "Los mensajes públicos de personas en el mismo servidor que aparecerán en la historia pública local.", - "introduction.interactions.action": "Termina el tutorial!", - "introduction.interactions.favourite.headline": "Favoritos", - "introduction.interactions.favourite.text": "Puedes guardar un toot para más tarde, y hacer saber a su autor-ice que te gustó, promocionándolo.", - "introduction.interactions.reblog.headline": "Compartir de nuevo", - "introduction.interactions.reblog.text": "Puedes compartir los toots de otras personas con tus suscriptores si los vuelves a compartir.", - "introduction.interactions.reply.headline": "Responder", - "introduction.interactions.reply.text": "Puedes responder a los toots de otras personas y a los tuyos propios, los cuales te seguirán en una conversación.", - "introduction.welcome.action": "¡Vámonos!", - "introduction.welcome.headline": "Primeros pasos", - "introduction.welcome.text": "Bienvenidos al fediverso! En unos momentos, podrás enviar mensajes y hablar con tus amigos en una gran variedad de instancias. Pero esta instancia, {domain}, es especial - aloja tu perfil, así que recuerda su nombre.", + "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.", + "introduction.interactions.action": "Finish tutorial!", + "introduction.interactions.favourite.headline": "Favourite", + "introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.", + "introduction.interactions.reblog.headline": "Boost", + "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.", + "introduction.interactions.reply.headline": "Reply", + "introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.", + "introduction.welcome.action": "Let's go!", + "introduction.welcome.headline": "First steps", + "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.", "keyboard_shortcuts.back": "volver atrás", "keyboard_shortcuts.blocked": "abrir una lista de usuarios bloqueados", "keyboard_shortcuts.boost": "retootear", @@ -213,7 +212,7 @@ "lists.account.remove": "Quitar de lista", "lists.delete": "Delete list", "lists.edit": "Editar lista", - "lists.edit.submit": "Cambiar el título", + "lists.edit.submit": "Change title", "lists.new.create": "Añadir lista", "lists.new.title_placeholder": "Título de la nueva lista", "lists.search": "Buscar entre la gente a la que sigues", @@ -247,35 +246,35 @@ "notification.favourite": "{name} marcó tu estado como favorito", "notification.follow": "{name} te empezó a seguir", "notification.mention": "{name} te ha mencionado", - "notification.poll": "Una encuesta en la que ha participado ha finalizado", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} ha retooteado tu estado", "notifications.clear": "Limpiar notificaciones", "notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?", "notifications.column_settings.alert": "Notificaciones de escritorio", "notifications.column_settings.favourite": "Favoritos:", - "notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías", - "notifications.column_settings.filter_bar.category": "Barra de filtro rápido", - "notifications.column_settings.filter_bar.show": "Mostrar", + "notifications.column_settings.filter_bar.advanced": "Display all categories", + "notifications.column_settings.filter_bar.category": "Quick filter bar", + "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Nuevos seguidores:", "notifications.column_settings.mention": "Menciones:", - "notifications.column_settings.poll": "Resultados de la encuesta:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Notificaciones push", "notifications.column_settings.reblog": "Retoots:", "notifications.column_settings.show": "Mostrar en columna", "notifications.column_settings.sound": "Reproducir sonido", - "notifications.filter.all": "Todo", - "notifications.filter.boosts": "Retoots", - "notifications.filter.favourites": "Favoritos", - "notifications.filter.follows": "Suscriptores", - "notifications.filter.mentions": "Menciones", - "notifications.filter.polls": "Resultados de la encuesta", + "notifications.filter.all": "All", + "notifications.filter.boosts": "Boosts", + "notifications.filter.favourites": "Favourites", + "notifications.filter.follows": "Follows", + "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notificaciones", - "poll.closed": "Cerrado", - "poll.refresh": "Actualización", - "poll.total_votes": "{count, plural, one {# voto} other {# votos}}", - "poll.vote": "Votar", - "poll_button.add_poll": "Crear una encuesta", - "poll_button.remove_poll": "Eliminar la encuesta", + "poll.closed": "Closed", + "poll.refresh": "Refresh", + "poll.total_votes": "{count, plural, one {# vote} other {# votes}}", + "poll.vote": "Vote", + "poll_button.add_poll": "Add a poll", + "poll_button.remove_poll": "Remove poll", "privacy.change": "Ajustar privacidad", "privacy.direct.long": "Sólo mostrar a los usuarios mencionados", "privacy.direct.short": "Directo", @@ -295,7 +294,7 @@ "reply_indicator.cancel": "Cancelar", "report.forward": "Reenviar a {target}", "report.forward_hint": "Esta cuenta es de otro servidor. ¿Enviar una copia anonimizada del informe allí también?", - "report.hint": "El informe será enviado a los moderadores de su jurisdicción. Usted puede explicar por qué está reportando la cuenta a continuación:", + "report.hint": "El informe se enviará a los moderadores de tu instancia. Puedes proporcionar una explicación de por qué informas sobre esta cuenta a continuación:", "report.placeholder": "Comentarios adicionales", "report.submit": "Publicar", "report.target": "Reportando", @@ -310,12 +309,12 @@ "search_results.hashtags": "Etiquetas", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", - "status.admin_account": "Abrir la interfaz de moderación para @{name}", - "status.admin_status": "Abrir este estatuto en la interfaz de moderación", + "status.admin_account": "Open moderation interface for @{name}", + "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", "status.cancel_reblog_private": "Des-impulsar", "status.cannot_reblog": "Este toot no puede retootearse", - "status.copy": "Copiar el enlace al piojo", + "status.copy": "Copy link to status", "status.delete": "Borrar", "status.detailed_status": "Vista de conversación detallada", "status.direct": "Mensaje directo a @{name}", @@ -331,7 +330,7 @@ "status.open": "Expandir estado", "status.pin": "Fijar", "status.pinned": "Toot fijado", - "status.read_more": "Para saber más", + "status.read_more": "Read more", "status.reblog": "Retootear", "status.reblog_private": "Implusar a la audiencia original", "status.reblogged_by": "Retooteado por {name}", @@ -347,29 +346,29 @@ "status.show_less_all": "Mostrar menos para todo", "status.show_more": "Mostrar más", "status.show_more_all": "Mostrar más para todo", - "status.show_thread": "Mostrar la conversación", + "status.show_thread": "Show thread", "status.unmute_conversation": "Dejar de silenciar conversación", "status.unpin": "Dejar de fijar", - "suggestions.dismiss": "Rechazar la sugerencia", - "suggestions.header": "Usted puede estar interesado en…", + "suggestions.dismiss": "Dismiss suggestion", + "suggestions.header": "You might be interested in…", "tabs_bar.federated_timeline": "Federado", "tabs_bar.home": "Inicio", "tabs_bar.local_timeline": "Local", "tabs_bar.notifications": "Notificaciones", "tabs_bar.search": "Buscar", - "time_remaining.days": "{number, plural, one {# dia} other {# dias}} restantes", - "time_remaining.hours": "{number, plural, one {# hora} other {# horas}} restantes", - "time_remaining.minutes": "{number, plural, one {# minuto} other {# minutos}} restantes", - "time_remaining.moments": "Unos momentos más", - "time_remaining.seconds": "{number, plural, one {# segundo} other {# segundos}} restantes", - "trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {personas}} discuten", + "time_remaining.days": "{number, plural, one {# day} other {# days}} left", + "time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left", + "time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left", + "time_remaining.moments": "Moments remaining", + "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left", + "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking", "ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.", "upload_area.title": "Arrastra y suelta para subir", "upload_button.label": "Subir multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)", - "upload_error.limit": "Se ha excedido el tamaño máximo de envío de archivos.", - "upload_error.poll": "No se permite enviar archivos con las encuestas.", + "upload_error.limit": "File upload limit exceeded.", + "upload_error.poll": "File upload not allowed with polls.", "upload_form.description": "Describir para los usuarios con dificultad visual", - "upload_form.focus": "Modificar la vista previa", + "upload_form.focus": "Recortar", "upload_form.undo": "Borrar", "upload_progress.label": "Subiendo…", "video.close": "Cerrar video", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index 089f7e9ca2..17f84dc279 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -5,7 +5,6 @@ "account.block_domain": "Ezkutatu {domain} domeinuko guztia", "account.blocked": "Blokeatuta", "account.direct": "Mezu zuzena @{name}(r)i", - "account.disclaimer_full": "Baliteke beheko informazioak erabiltzailearen profilaren zati bat baino ez erakustea.", "account.domain_blocked": "Ezkutatutako domeinua", "account.edit_profile": "Aldatu profila", "account.endorse": "Nabarmendu profilean", @@ -36,7 +35,6 @@ "account.unfollow": "Jarraitzeari utzi", "account.unmute": "Desmututu @{name}", "account.unmute_notifications": "Desmututu @{name}(r)en jakinarazpenak", - "account.view_full_profile": "Ikusi profil osoa", "alert.unexpected.message": "Ustekabeko errore bat gertatu da.", "alert.unexpected.title": "Ene!", "boost_modal.combo": "{combo} sakatu dezakezu hurrengoan hau saltatzeko", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Testua ez dago ezkutatuta", "compose_form.spoiler_placeholder": "Idatzi zure abisua hemen", "confirmation_modal.cancel": "Utzi", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Block", "confirmations.block.message": "Ziur {name} blokeatu nahi duzula?", "confirmations.delete.confirm": "Ezabatu", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index f1458ae486..0bfafd222a 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -5,7 +5,6 @@ "account.block_domain": "پنهان‌سازی همه چیز از سرور {domain}", "account.blocked": "مسدودشده", "account.direct": "پیغام خصوصی به @{name}", - "account.disclaimer_full": "اطلاعات زیر ممکن است نمایهٔ این کاربر را به تمامی نشان ندهد.", "account.domain_blocked": "دامین پنهان‌شده", "account.edit_profile": "ویرایش نمایه", "account.endorse": "نمایش در نمایه", @@ -36,7 +35,6 @@ "account.unfollow": "پایان پیگیری", "account.unmute": "باصدا کردن @{name}", "account.unmute_notifications": "باصداکردن اعلان‌ها از طرف @{name}", - "account.view_full_profile": "نمایش نمایهٔ کامل", "alert.unexpected.message": "خطای پیش‌بینی‌نشده‌ای رخ داد.", "alert.unexpected.title": "ای وای!", "boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "نوشته پنهان نیست", "compose_form.spoiler_placeholder": "هشدار محتوا", "confirmation_modal.cancel": "بی‌خیال", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "مسدود کن", "confirmations.block.message": "آیا واقعاً می‌خواهید {name} را مسدود کنید؟", "confirmations.delete.confirm": "پاک کن", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 764bcf9797..68381f6b32 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -5,7 +5,6 @@ "account.block_domain": "Piilota kaikki sisältö verkkotunnuksesta {domain}", "account.blocked": "Estetty", "account.direct": "Viesti käyttäjälle @{name}", - "account.disclaimer_full": "Alla olevat käyttäjän profiilitiedot saattavat olla epätäydellisiä.", "account.domain_blocked": "Verkko-osoite piilotettu", "account.edit_profile": "Muokkaa", "account.endorse": "Suosittele profiilissasi", @@ -36,7 +35,6 @@ "account.unfollow": "Lakkaa seuraamasta", "account.unmute": "Poista käyttäjän @{name} mykistys", "account.unmute_notifications": "Poista mykistys käyttäjän @{name} ilmoituksilta", - "account.view_full_profile": "Näytä koko profiili", "alert.unexpected.message": "Tapahtui odottamaton virhe.", "alert.unexpected.title": "Hups!", "boost_modal.combo": "Ensi kerralla voit ohittaa tämän painamalla {combo}", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Teksti ei ole piilotettu", "compose_form.spoiler_placeholder": "Sisältövaroitus", "confirmation_modal.cancel": "Peruuta", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Estä", "confirmations.block.message": "Haluatko varmasti estää käyttäjän {name}?", "confirmations.delete.confirm": "Poista", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index f97073967b..4d7451248d 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -1,14 +1,13 @@ { - "account.add_or_remove_from_list": "Ajouter ou Retirer des listes", + "account.add_or_remove_from_list": "Ajouter ou retirer des listes", "account.badges.bot": "Bot", "account.block": "Bloquer @{name}", "account.block_domain": "Tout masquer venant de {domain}", "account.blocked": "Bloqué", "account.direct": "Envoyer un message direct à @{name}", - "account.disclaimer_full": "Les données ci-dessous peuvent ne pas refléter ce profil dans sa totalité.", "account.domain_blocked": "Domaine caché", "account.edit_profile": "Modifier le profil", - "account.endorse": "Épingler sur le profil", + "account.endorse": "Figure sur le profil", "account.follow": "Suivre", "account.followers": "Abonné⋅e⋅s", "account.followers.empty": "Personne ne suit cet utilisateur·rice pour l’instant.", @@ -16,14 +15,14 @@ "account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour l’instant.", "account.follows_you": "Vous suit", "account.hide_reblogs": "Masquer les partages de @{name}", - "account.link_verified_on": "La légitimité de ce lien a été vérifiée le {date}", - "account.locked_info": "Ce compte est verrouillé. Son propriétaire approuve manuellement qui peut le suivre.", + "account.link_verified_on": "La propriété de ce lien a été vérifiée le {date}", + "account.locked_info": "Ce compte est verrouillé. Son propriétaire approuve manuellement qui peut le ou la suivre.", "account.media": "Média", "account.mention": "Mentionner @{name}", "account.moved_to": "{name} a déménagé vers :", "account.mute": "Masquer @{name}", "account.mute_notifications": "Ignorer les notifications de @{name}", - "account.muted": "En sourdine", + "account.muted": "Silencé", "account.posts": "Pouets", "account.posts_with_replies": "Pouets et réponses", "account.report": "Signaler @{name}", @@ -36,10 +35,9 @@ "account.unfollow": "Ne plus suivre", "account.unmute": "Ne plus masquer @{name}", "account.unmute_notifications": "Réactiver les notifications de @{name}", - "account.view_full_profile": "Afficher le profil complet", "alert.unexpected.message": "Une erreur inattendue s’est produite.", "alert.unexpected.title": "Oups !", - "boost_modal.combo": "Vous pouvez appuyer sur {combo} pour pouvoir passer ceci la prochaine fois", + "boost_modal.combo": "Vous pouvez appuyer sur {combo} pour pouvoir passer ceci, la prochaine fois", "bundle_column_error.body": "Une erreur s’est produite lors du chargement de ce composant.", "bundle_column_error.retry": "Réessayer", "bundle_column_error.title": "Erreur réseau", @@ -67,16 +65,16 @@ "column_header.unpin": "Retirer", "column_subheading.settings": "Paramètres", "community.column_settings.media_only": "Média uniquement", - "compose_form.direct_message_warning": "Ce pouet sera uniquement envoyé aux personnes mentionnées.", + "compose_form.direct_message_warning": "Ce pouet sera uniquement envoyé aux personnes mentionnées. Cependant, l’administration de votre instance et des instances réceptrices pourront inspecter ce message.", "compose_form.direct_message_warning_learn_more": "En savoir plus", "compose_form.hashtag_warning": "Ce pouet ne sera pas listé dans les recherches par hashtag car sa visibilité est réglée sur \"non listé\". Seuls les pouets avec une visibilité \"publique\" peuvent être recherchés par hashtag.", "compose_form.lock_disclaimer": "Votre compte n’est pas {locked}. Tout le monde peut vous suivre et voir vos pouets privés.", "compose_form.lock_disclaimer.lock": "verrouillé", "compose_form.placeholder": "Qu’avez-vous en tête ?", - "compose_form.poll.add_option": "Ajouter une option", - "compose_form.poll.duration": "Durée du sondage", - "compose_form.poll.option_placeholder": "Option {number}", - "compose_form.poll.remove_option": "Retirer cette option", + "compose_form.poll.add_option": "Add a choice", + "compose_form.poll.duration": "Poll duration", + "compose_form.poll.option_placeholder": "Choice {number}", + "compose_form.poll.remove_option": "Remove this choice", "compose_form.publish": "Pouet", "compose_form.publish_loud": "{publish} !", "compose_form.sensitive.marked": "Média marqué comme sensible", @@ -85,14 +83,15 @@ "compose_form.spoiler.unmarked": "Le texte n’est pas caché", "compose_form.spoiler_placeholder": "Écrivez ici votre avertissement", "confirmation_modal.cancel": "Annuler", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Bloquer", "confirmations.block.message": "Confirmez-vous le blocage de {name} ?", "confirmations.delete.confirm": "Supprimer", "confirmations.delete.message": "Confirmez-vous la suppression de ce pouet ?", "confirmations.delete_list.confirm": "Supprimer", - "confirmations.delete_list.message": "Êtes-vous sûr·e de vouloir définitivement supprimer cette liste ?", + "confirmations.delete_list.message": "Êtes-vous sûr·e de vouloir supprimer définitivement cette liste ?", "confirmations.domain_block.confirm": "Masquer le domaine entier", - "confirmations.domain_block.message": "Êtes-vous vraiment, vraiment sûr⋅e de vouloir bloquer {domain} en entier ? Dans la plupart des cas, quelques blocages ou masquages ciblés sont suffisants et préférables. Vous ne verrez plus de contenu provenant de ce domaine, ni dans vos fils publics, ni dans vos notifications. Vos abonné·e·s utilisant ce domaine seront retiré·e·s.", + "confirmations.domain_block.message": "Êtes-vous vraiment, vraiment sûr⋅e de vouloir bloquer {domain} en entier ? Dans la plupart des cas, quelques blocages ou masquages ciblés sont suffisants et préférables. Vous ne verrez plus de contenu provenant de ce domaine, ni dans fils publics, ni dans vos notifications. Vos abonné·e·s utilisant ce domaine seront retiré·e·s.", "confirmations.mute.confirm": "Masquer", "confirmations.mute.message": "Confirmez-vous le masquage de {name} ?", "confirmations.redraft.confirm": "Effacer et ré-écrire", @@ -103,15 +102,15 @@ "confirmations.unfollow.message": "Voulez-vous arrêter de suivre {name} ?", "embed.instructions": "Intégrez ce statut à votre site en copiant le code ci-dessous.", "embed.preview": "Il apparaîtra comme cela :", - "emoji_button.activity": "Activité", - "emoji_button.custom": "Personnalisé", + "emoji_button.activity": "Activités", + "emoji_button.custom": "Personnalisés", "emoji_button.flags": "Drapeaux", "emoji_button.food": "Nourriture & Boisson", "emoji_button.label": "Insérer un émoji", "emoji_button.nature": "Nature", "emoji_button.not_found": "Pas d’émoji !! (╯°□°)╯︵ ┻━┻", "emoji_button.objects": "Objets", - "emoji_button.people": "Personnes", + "emoji_button.people": "Personnages", "emoji_button.recent": "Fréquemment utilisés", "emoji_button.search": "Recherche…", "emoji_button.search_results": "Résultats de la recherche", @@ -122,7 +121,7 @@ "empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir !", "empty_column.direct": "Vous n’avez pas encore de messages directs. Lorsque vous en enverrez ou recevrez un, il s’affichera ici.", "empty_column.domain_blocks": "Il n’y a aucun domaine caché pour le moment.", - "empty_column.favourited_statuses": "Vous n’avez aucun pouet favori pour le moment. Lorsque vous en mettrez un en favori, il apparaîtra ici.", + "empty_column.favourited_statuses": "Vous n’avez aucun pouet favoris pour le moment. Lorsque vous en mettrez un en favori, il apparaîtra ici.", "empty_column.favourites": "Personne n’a encore mis ce pouet en favori. Lorsque quelqu’un le fera, il apparaîtra ici.", "empty_column.follow_requests": "Vous n’avez pas encore de demande de suivi. Lorsque vous en recevrez une, elle apparaîtra ici.", "empty_column.hashtag": "Il n’y a encore aucun contenu associé à ce hashtag.", @@ -155,8 +154,8 @@ "home.column_settings.basic": "Basique", "home.column_settings.show_reblogs": "Afficher les partages", "home.column_settings.show_replies": "Afficher les réponses", - "intervals.full.days": "{number, plural, one {# jour} other {# jours}}", - "intervals.full.hours": "{number, plural, one {# heure} other {# heures}}", + "intervals.full.days": "{number, plural, one {# day} other {# days}}", + "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "introduction.federation.action": "Suivant", "introduction.federation.federated.headline": "Fil public global", @@ -174,7 +173,7 @@ "introduction.interactions.reply.text": "Vous pouvez répondre aux pouets d'autres personnes et à vos propres pouets, ce qui les enchaînera dans une conversation.", "introduction.welcome.action": "Allons-y !", "introduction.welcome.headline": "Premiers pas", - "introduction.welcome.text": "Bienvenue dans le fediverse ! Dans quelques instants, vous pourrez diffuser des messages et parler à vos amis sur une grande variété d'instances. Mais cette instance, {domain}, est spécial - elle héberge votre profil, alors souvenez-vous de son nom.", + "introduction.welcome.text": "Bienvenue dans le fediverse ! Dans quelques instants, vous pourrez diffuser des messages et parler à vos amis sur une grande variété de serveurs. Mais ce serveur, {domain}, est spécial - il héberge votre profil, alors souvenez-vous de son nom.", "keyboard_shortcuts.back": "pour revenir en arrière", "keyboard_shortcuts.blocked": "pour ouvrir une liste d’utilisateur·rice·s bloqué·e·s", "keyboard_shortcuts.boost": "pour partager", @@ -247,7 +246,7 @@ "notification.favourite": "{name} a ajouté à ses favoris :", "notification.follow": "{name} vous suit", "notification.mention": "{name} vous a mentionné :", - "notification.poll": "Un sondage auquel vous avez participé s'est terminé", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} a partagé votre statut :", "notifications.clear": "Nettoyer les notifications", "notifications.clear_confirmation": "Voulez-vous vraiment supprimer toutes vos notifications ?", @@ -258,7 +257,7 @@ "notifications.column_settings.filter_bar.show": "Afficher", "notifications.column_settings.follow": "Nouveaux⋅elles abonné⋅e·s :", "notifications.column_settings.mention": "Mentions :", - "notifications.column_settings.poll": "Résultats du sondage :", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Notifications", "notifications.column_settings.reblog": "Partages :", "notifications.column_settings.show": "Afficher dans la colonne", @@ -268,14 +267,14 @@ "notifications.filter.favourites": "Favoris", "notifications.filter.follows": "Abonné·e·s", "notifications.filter.mentions": "Mentions", - "notifications.filter.polls": "Résultats du sondage", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Fermé", "poll.refresh": "Actualiser", "poll.total_votes": "{count, plural, one {# vote} other {# votes}}", "poll.vote": "Voter", - "poll_button.add_poll": "Créer un sondage", - "poll_button.remove_poll": "Retirer le sondage", + "poll_button.add_poll": "Add a poll", + "poll_button.remove_poll": "Remove poll", "privacy.change": "Ajuster la confidentialité du message", "privacy.direct.long": "N’envoyer qu’aux personnes mentionnées", "privacy.direct.short": "Direct", @@ -367,7 +366,7 @@ "upload_area.title": "Glissez et déposez pour envoyer", "upload_button.label": "Joindre un média (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_error.limit": "Taille maximale d'envoi de fichier dépassée.", - "upload_error.poll": "L'envoi de fichiers n'est pas autorisé avec les sondages.", + "upload_error.poll": "File upload not allowed with polls.", "upload_form.description": "Décrire pour les malvoyant·e·s", "upload_form.focus": "Modifier l’aperçu", "upload_form.undo": "Supprimer", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 768cb7a5c7..3011e7d078 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -5,7 +5,6 @@ "account.block_domain": "Ocultar calquer contido de {domain}", "account.blocked": "Bloqueada", "account.direct": "Mensaxe directa @{name}", - "account.disclaimer_full": "A información inferior podería mostrar un perfil incompleto da usuaria.", "account.domain_blocked": "Dominio agochado", "account.edit_profile": "Editar perfil", "account.endorse": "Mostrado no perfil", @@ -36,7 +35,6 @@ "account.unfollow": "Non seguir", "account.unmute": "Non acalar @{name}", "account.unmute_notifications": "Desbloquear as notificacións de @{name}", - "account.view_full_profile": "Ver o perfil completo", "alert.unexpected.message": "Aconteceu un fallo non agardado.", "alert.unexpected.title": "Vaia!", "boost_modal.combo": "Pulse {combo} para saltar esto a próxima vez", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "O texto non está agochado", "compose_form.spoiler_placeholder": "Escriba o aviso aquí", "confirmation_modal.cancel": "Cancelar", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Bloquear", "confirmations.block.message": "Está segura de querer bloquear a {name}?", "confirmations.delete.confirm": "Borrar", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index 9e5cf84b17..c136c111fa 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -5,7 +5,6 @@ "account.block_domain": "להסתיר הכל מהקהילה {domain}", "account.blocked": "Blocked", "account.direct": "Direct Message @{name}", - "account.disclaimer_full": "המידע להלן עשוי להיות לא עדכני או לא שלם.", "account.domain_blocked": "Domain hidden", "account.edit_profile": "עריכת פרופיל", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "הפסקת מעקב", "account.unmute": "הפסקת השתקת @{name}", "account.unmute_notifications": "להפסיק הסתרת הודעות מעם @{name}", - "account.view_full_profile": "הצגת פרופיל מלא", "alert.unexpected.message": "אירעה שגיאה בלתי צפויה.", "alert.unexpected.title": "אופס!", "boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "אזהרת תוכן", "confirmation_modal.cancel": "ביטול", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "לחסום", "confirmations.block.message": "לחסום את {name}?", "confirmations.delete.confirm": "למחוק", diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json index fce6c71588..86bd01a798 100644 --- a/app/javascript/mastodon/locales/hr.json +++ b/app/javascript/mastodon/locales/hr.json @@ -5,7 +5,6 @@ "account.block_domain": "Sakrij sve sa {domain}", "account.blocked": "Blocked", "account.direct": "Direct Message @{name}", - "account.disclaimer_full": "Ovaj korisnik je sa druge instance. Ovaj broj bi mogao biti veći.", "account.domain_blocked": "Domain hidden", "account.edit_profile": "Uredi profil", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Prestani slijediti", "account.unmute": "Poništi utišavanje @{name}", "account.unmute_notifications": "Unmute notifications from @{name}", - "account.view_full_profile": "View full profile", "alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "Možeš pritisnuti {combo} kako bi ovo preskočio sljedeći put", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "Upozorenje o sadržaju", "confirmation_modal.cancel": "Otkaži", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Blokiraj", "confirmations.block.message": "Želiš li sigurno blokirati {name}?", "confirmations.delete.confirm": "Obriši", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 73c7af2b53..507e044003 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -5,7 +5,6 @@ "account.block_domain": "Minden elrejtése innen: {domain}", "account.blocked": "Blocked", "account.direct": "Direct Message @{name}", - "account.disclaimer_full": "Az alul található információk hiányosan mutathatják be a felhasználót.", "account.domain_blocked": "Domain hidden", "account.edit_profile": "Profil szerkesztése", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Követés abbahagyása", "account.unmute": "@{name} kinémítása", "account.unmute_notifications": "@{name} értesítéseinek kinémítása", - "account.view_full_profile": "Teljes profil megtekintése", "alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "Megnyomhatod {combo}, hogy átugord következő alkalommal", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "Figyelmeztetését írja ide", "confirmation_modal.cancel": "Bezár", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Letilt", "confirmations.block.message": "Biztos benne, hogy le szeretné tiltani {name}?", "confirmations.delete.confirm": "Töröl", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index 12a987b3f6..a4c8bffba9 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -5,7 +5,6 @@ "account.block_domain": "Թաքցնել ամենը հետեւյալ տիրույթից՝ {domain}", "account.blocked": "Blocked", "account.direct": "Direct Message @{name}", - "account.disclaimer_full": "Ներքոհիշյալը կարող է ոչ ամբողջությամբ արտացոլել օգտատիրոջ էջի տվյալները։", "account.domain_blocked": "Domain hidden", "account.edit_profile": "Խմբագրել անձնական էջը", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Չհետեւել", "account.unmute": "Ապալռեցնել @{name}֊ին", "account.unmute_notifications": "Միացնել ծանուցումները @{name}֊ից", - "account.view_full_profile": "Դիտել ամբողջական տարբերակը։", "alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "Կարող ես սեղմել {combo}՝ սա հաջորդ անգամ բաց թողնելու համար", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "Գրիր նախազգուշացումդ այստեղ", "confirmation_modal.cancel": "Չեղարկել", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Արգելափակել", "confirmations.block.message": "Վստա՞հ ես, որ ուզում ես արգելափակել {name}֊ին։", "confirmations.delete.confirm": "Ջնջել", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index d6311be801..5319705dc2 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -5,7 +5,6 @@ "account.block_domain": "Sembunyikan segalanya dari {domain}", "account.blocked": "Terblokir", "account.direct": "Direct Message @{name}", - "account.disclaimer_full": "Informasi di bawah mungkin tidak mencerminkan profil user secara lengkap.", "account.domain_blocked": "Domain disembunyikan", "account.edit_profile": "Ubah profil", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Berhenti mengikuti", "account.unmute": "Berhenti membisukan @{name}", "account.unmute_notifications": "Munculkan notifikasi dari @{name}", - "account.view_full_profile": "Lihat profil lengkap", "alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "Anda dapat menekan {combo} untuk melewati ini", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Teks tidak tersembunyi", "compose_form.spoiler_placeholder": "Peringatan konten", "confirmation_modal.cancel": "Batal", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Blokir", "confirmations.block.message": "Apa anda yakin ingin memblokir {name}?", "confirmations.delete.confirm": "Hapus", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index a35c929e69..300bc44847 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -5,7 +5,6 @@ "account.block_domain": "Hide everything from {domain}", "account.blocked": "Blocked", "account.direct": "Direct Message @{name}", - "account.disclaimer_full": "Information below may reflect the user's profile incompletely.", "account.domain_blocked": "Domain hidden", "account.edit_profile": "Modifikar profilo", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Ne plus sequar", "account.unmute": "Ne plus celar @{name}", "account.unmute_notifications": "Unmute notifications from @{name}", - "account.view_full_profile": "View full profile", "alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "Tu povas presar sur {combo} por omisar co en la venonta foyo", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "Averto di kontenajo", "confirmation_modal.cancel": "Cancel", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Block", "confirmations.block.message": "Are you sure you want to block {name}?", "confirmations.delete.confirm": "Delete", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 1f6af05748..d70a88dbbc 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -5,7 +5,6 @@ "account.block_domain": "Nascondi tutto da {domain}", "account.blocked": "Bloccato", "account.direct": "Invia messaggio diretto a @{name}", - "account.disclaimer_full": "Il profilo dell'utente mostrato qui sotto potrebbe essere incompleto.", "account.domain_blocked": "Dominio nascosto", "account.edit_profile": "Modifica profilo", "account.endorse": "Metti in evidenza sul profilo", @@ -36,7 +35,6 @@ "account.unfollow": "Non seguire", "account.unmute": "Non silenziare @{name}", "account.unmute_notifications": "Non silenziare più le notifiche da @{name}", - "account.view_full_profile": "Vedi profilo completo", "alert.unexpected.message": "Si è verificato un errore inatteso.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio la prossima volta", @@ -73,10 +71,10 @@ "compose_form.lock_disclaimer": "Il tuo account non è {bloccato}. Chiunque può decidere di seguirti per vedere i tuoi post per soli seguaci.", "compose_form.lock_disclaimer.lock": "bloccato", "compose_form.placeholder": "A cosa stai pensando?", - "compose_form.poll.add_option": "Aggiungi un'opzione", - "compose_form.poll.duration": "Durata del sondaggio", - "compose_form.poll.option_placeholder": "Opzione {number}", - "compose_form.poll.remove_option": "Elimina questa opzione", + "compose_form.poll.add_option": "Add a choice", + "compose_form.poll.duration": "Poll duration", + "compose_form.poll.option_placeholder": "Choice {number}", + "compose_form.poll.remove_option": "Remove this choice", "compose_form.publish": "Toot", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Questo media è contrassegnato come sensibile", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Il testo non è nascosto", "compose_form.spoiler_placeholder": "Content warning", "confirmation_modal.cancel": "Annulla", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Blocca", "confirmations.block.message": "Sei sicuro di voler bloccare {name}?", "confirmations.delete.confirm": "Cancella", @@ -151,13 +150,13 @@ "hashtag.column_settings.tag_mode.all": "Tutti questi", "hashtag.column_settings.tag_mode.any": "Uno o più di questi", "hashtag.column_settings.tag_mode.none": "Nessuno di questi", - "hashtag.column_settings.tag_toggle": "Includi tag aggiuntivi in questa colonna", + "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "home.column_settings.basic": "Semplice", "home.column_settings.show_reblogs": "Mostra post condivisi", "home.column_settings.show_replies": "Mostra risposte", - "intervals.full.days": "{number, plural, one {# giorno} other {# giorni}}", - "intervals.full.hours": "{number, plural, one {# ora} other {# ore}}", - "intervals.full.minutes": "{number, plural, one {# minuto} other {# minuti}}", + "intervals.full.days": "{number, plural, one {# day} other {# days}}", + "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", + "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "introduction.federation.action": "Avanti", "introduction.federation.federated.headline": "Federated", "introduction.federation.federated.text": "I post pubblici provenienti da altri server del fediverse saranno mostrati nella timeline federata.", @@ -247,7 +246,7 @@ "notification.favourite": "{name} ha apprezzato il tuo post", "notification.follow": "{name} ha iniziato a seguirti", "notification.mention": "{name} ti ha menzionato", - "notification.poll": "Un sondaggio in cui hai votato è terminato", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} ha condiviso il tuo post", "notifications.clear": "Cancella notifiche", "notifications.clear_confirmation": "Vuoi davvero cancellare tutte le notifiche?", @@ -258,7 +257,7 @@ "notifications.column_settings.filter_bar.show": "Mostra", "notifications.column_settings.follow": "Nuovi seguaci:", "notifications.column_settings.mention": "Menzioni:", - "notifications.column_settings.poll": "Risultati di sondaggi:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Notifiche push", "notifications.column_settings.reblog": "Post condivisi:", "notifications.column_settings.show": "Mostra in colonna", @@ -268,14 +267,14 @@ "notifications.filter.favourites": "Apprezzati", "notifications.filter.follows": "Seguaci", "notifications.filter.mentions": "Menzioni", - "notifications.filter.polls": "Risultati di sondaggi", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifiche", "poll.closed": "Chiuso", "poll.refresh": "Aggiorna", "poll.total_votes": "{count, plural, one {# voto} other {# voti}}", "poll.vote": "Vota", - "poll_button.add_poll": "Crea un sondaggio", - "poll_button.remove_poll": "Elimina sondaggio", + "poll_button.add_poll": "Add a poll", + "poll_button.remove_poll": "Remove poll", "privacy.change": "Modifica privacy del post", "privacy.direct.long": "Invia solo a utenti menzionati", "privacy.direct.short": "Diretto", @@ -367,7 +366,7 @@ "upload_area.title": "Trascina per caricare", "upload_button.label": "Aggiungi file multimediale", "upload_error.limit": "Limite al caricamento di file superato.", - "upload_error.poll": "Nei sondaggi non è permesso il caricamento di file.", + "upload_error.poll": "File upload not allowed with polls.", "upload_form.description": "Descrizione per utenti con disabilità visive", "upload_form.focus": "Modifica anteprima", "upload_form.undo": "Cancella", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 085c3d72f6..766ae0ec56 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -5,7 +5,6 @@ "account.block_domain": "{domain}全体を非表示", "account.blocked": "ブロック済み", "account.direct": "@{name}さんにダイレクトメッセージ", - "account.disclaimer_full": "以下の情報は不正確な可能性があります。", "account.domain_blocked": "ドメイン非表示中", "account.edit_profile": "プロフィールを編集", "account.endorse": "プロフィールで紹介する", @@ -36,7 +35,6 @@ "account.unfollow": "フォロー解除", "account.unmute": "@{name}さんのミュートを解除", "account.unmute_notifications": "@{name}さんからの通知を受け取るようにする", - "account.view_full_profile": "全ての情報を見る", "alert.unexpected.message": "不明なエラーが発生しました。", "alert.unexpected.title": "エラー!", "boost_modal.combo": "次からは{combo}を押せばスキップできます", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "閲覧注意が設定されていません", "compose_form.spoiler_placeholder": "ここに警告を書いてください", "confirmation_modal.cancel": "キャンセル", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "ブロック", "confirmations.block.message": "本当に{name}さんをブロックしますか?", "confirmations.delete.confirm": "削除", diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json index eeb7adc9b9..fa1d823d06 100644 --- a/app/javascript/mastodon/locales/ka.json +++ b/app/javascript/mastodon/locales/ka.json @@ -5,7 +5,6 @@ "account.block_domain": "დაიმალოს ყველაფერი დომენიდან {domain}", "account.blocked": "დაიბლოკა", "account.direct": "პირდაპირი წერილი @{name}-ს", - "account.disclaimer_full": "ქვემოთ მოცემულმა ინფორმაციამ შეიძლება სრულად არ ასახოს მომხმარებლის პროფილი.", "account.domain_blocked": "დომენი დამალულია", "account.edit_profile": "პროფილის ცვლილება", "account.endorse": "გამორჩევა პროფილზე", @@ -36,7 +35,6 @@ "account.unfollow": "ნუღარ მიჰყვები", "account.unmute": "ნუღარ აჩუმებ @{name}-ს", "account.unmute_notifications": "ნუღარ აჩუმებ შეტყობინებებს @{name}-სგან", - "account.view_full_profile": "სრული პროფილის ჩვენება", "alert.unexpected.message": "წარმოიშვა მოულოდნელი შეცდომა.", "alert.unexpected.title": "უპს!", "boost_modal.combo": "შეგიძლიათ დააჭიროთ {combo}-ს რათა შემდეგ ჯერზე გამოტოვოთ ეს", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "ტექსტი არაა დამალული", "compose_form.spoiler_placeholder": "თქვენი გაფრთხილება დაწერეთ აქ", "confirmation_modal.cancel": "უარყოფა", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "ბლოკი", "confirmations.block.message": "დარწმუნებული ხართ, გსურთ დაბლოკოთ {name}?", "confirmations.delete.confirm": "გაუქმება", diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json index f250812c75..12cdf25c92 100644 --- a/app/javascript/mastodon/locales/kk.json +++ b/app/javascript/mastodon/locales/kk.json @@ -5,7 +5,6 @@ "account.block_domain": "Домендегі барлығын бұғатта {domain}", "account.blocked": "Бұғатталды", "account.direct": "Жеке хат @{name}", - "account.disclaimer_full": "Қолданушы туралы барлық мәліметті көрсетпеуі мүмкін.", "account.domain_blocked": "Домен жабық", "account.edit_profile": "Профильді өңдеу", "account.endorse": "Профильде рекомендеу", @@ -36,7 +35,6 @@ "account.unfollow": "Оқымау", "account.unmute": "@{name} ескертпелерін қосу", "account.unmute_notifications": "@{name} ескертпелерін көрсету", - "account.view_full_profile": "Толқы профилін көрсету", "alert.unexpected.message": "Бір нәрсе дұрыс болмады.", "alert.unexpected.title": "Өй!", "boost_modal.combo": "Келесіде өткізіп жіберу үшін басыңыз {combo}", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Мәтін жасырылмаған", "compose_form.spoiler_placeholder": "Ескертуіңізді осында жазыңыз", "confirmation_modal.cancel": "Қайтып алу", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Бұғаттау", "confirmations.block.message": "{name} атты қолданушыны бұғаттайтыныңызға сенімдісіз бе?", "confirmations.delete.confirm": "Өшіру", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 6a6e21e9f1..568359651c 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -5,7 +5,6 @@ "account.block_domain": "{domain} 전체를 숨김", "account.blocked": "차단 됨", "account.direct": "@{name}으로부터의 다이렉트 메시지", - "account.disclaimer_full": "여기 있는 정보는 유저의 프로파일을 정확히 반영하지 못 할 수도 있습니다.", "account.domain_blocked": "도메인 숨겨짐", "account.edit_profile": "프로필 편집", "account.endorse": "프로필에 나타내기", @@ -36,7 +35,6 @@ "account.unfollow": "팔로우 해제", "account.unmute": "뮤트 해제", "account.unmute_notifications": "@{name}의 알림 뮤트 해제", - "account.view_full_profile": "전체 프로필 보기", "alert.unexpected.message": "예측하지 못한 에러가 발생했습니다.", "alert.unexpected.title": "앗!", "boost_modal.combo": "{combo}를 누르면 다음부터 이 과정을 건너뛸 수 있습니다", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "열람주의가 설정 되어 있지 않습니다", "compose_form.spoiler_placeholder": "경고", "confirmation_modal.cancel": "취소", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "차단", "confirmations.block.message": "정말로 {name}를 차단하시겠습니까?", "confirmations.delete.confirm": "삭제", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index 364d3efbf1..0fa0c4fdee 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -5,7 +5,6 @@ "account.block_domain": "Slēpt visu no {domain}", "account.blocked": "Bloķēts", "account.direct": "Privātā ziņa @{name}", - "account.disclaimer_full": "Informācija zemāk var nepilnīgi atspoguļot lietotāja profilu.", "account.domain_blocked": "Domēns ir paslēpts", "account.edit_profile": "Labot profilu", "account.endorse": "Izcelts profilā", @@ -36,7 +35,6 @@ "account.unfollow": "Nesekot", "account.unmute": "Noņemt apklusinājumu no lietotāja @{name}", "account.unmute_notifications": "Rādīt paziņojumus no lietotāja @{name}", - "account.view_full_profile": "Apskatīt pilnu profilu", "alert.unexpected.message": "Negaidīta kļūda.", "alert.unexpected.title": "Ups!", "boost_modal.combo": "Nospied {combo} lai izlaistu šo nākamreiz", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Teksts nav paslēpts", "compose_form.spoiler_placeholder": "Ieraksti Savu brīdinājuma tekstu šeit", "confirmation_modal.cancel": "Atcelt", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Bloķēt", "confirmations.block.message": "Vai tiešām vēlies bloķēt lietotāju {name}?", "confirmations.delete.confirm": "Dzēst", diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json index d6016249d9..eedd4c6f34 100644 --- a/app/javascript/mastodon/locales/ms.json +++ b/app/javascript/mastodon/locales/ms.json @@ -5,7 +5,6 @@ "account.block_domain": "Hide everything from {domain}", "account.blocked": "Blocked", "account.direct": "Direct message @{name}", - "account.disclaimer_full": "Information below may reflect the user's profile incompletely.", "account.domain_blocked": "Domain hidden", "account.edit_profile": "Edit profile", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Unfollow", "account.unmute": "Unmute @{name}", "account.unmute_notifications": "Unmute notifications from @{name}", - "account.view_full_profile": "View full profile", "alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "You can press {combo} to skip this next time", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "Write your warning here", "confirmation_modal.cancel": "Cancel", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Block", "confirmations.block.message": "Are you sure you want to block {name}?", "confirmations.delete.confirm": "Delete", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index c0724fbe63..e5e4748d72 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -5,7 +5,6 @@ "account.block_domain": "Verberg alles van {domain}", "account.blocked": "Geblokkeerd", "account.direct": "Direct Message @{name}", - "account.disclaimer_full": "De informatie hieronder kan een incompleet beeld geven van dit gebruikersprofiel.", "account.domain_blocked": "Domein verborgen", "account.edit_profile": "Profiel bewerken", "account.endorse": "Op profiel weergeven", @@ -36,7 +35,6 @@ "account.unfollow": "Ontvolgen", "account.unmute": "@{name} niet langer negeren", "account.unmute_notifications": "@{name} meldingen niet langer negeren", - "account.view_full_profile": "Volledig profiel tonen", "alert.unexpected.message": "Er deed zich een onverwachte fout voor", "alert.unexpected.title": "Oeps!", "boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan", @@ -73,10 +71,10 @@ "compose_form.lock_disclaimer": "Jouw account is niet {locked}. Iedereen kan jou volgen en kan de toots zien die je alleen aan jouw volgers hebt gericht.", "compose_form.lock_disclaimer.lock": "besloten", "compose_form.placeholder": "Wat wil je kwijt?", - "compose_form.poll.add_option": "Keuze toevoegen", - "compose_form.poll.duration": "Duur van de poll", - "compose_form.poll.option_placeholder": "Keuze {number}", - "compose_form.poll.remove_option": "Deze keuze verwijderen", + "compose_form.poll.add_option": "Add a choice", + "compose_form.poll.duration": "Poll duration", + "compose_form.poll.option_placeholder": "Choice {number}", + "compose_form.poll.remove_option": "Remove this choice", "compose_form.publish": "Toot", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Media is als gevoelig gemarkeerd", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Tekst is niet verborgen", "compose_form.spoiler_placeholder": "Waarschuwingstekst", "confirmation_modal.cancel": "Annuleren", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Blokkeren", "confirmations.block.message": "Weet je het zeker dat je {name} wilt blokkeren?", "confirmations.delete.confirm": "Verwijderen", @@ -155,9 +154,9 @@ "home.column_settings.basic": "Algemeen", "home.column_settings.show_reblogs": "Boosts tonen", "home.column_settings.show_replies": "Reacties tonen", - "intervals.full.days": "{number, plural, one {# dag} other {# dagen}}", - "intervals.full.hours": "{number, plural, one {# uur} other {# uur}}", - "intervals.full.minutes": "{number, plural, one {# minuut} other {# minuten}}", + "intervals.full.days": "{number, plural, one {# day} other {# days}}", + "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", + "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "introduction.federation.action": "Volgende", "introduction.federation.federated.headline": "Globaal", "introduction.federation.federated.text": "Openbare toots van mensen op andere servers in de fediverse verschijnen op de globale tijdlijn.", @@ -247,7 +246,7 @@ "notification.favourite": "{name} voegde jouw toot als favoriet toe", "notification.follow": "{name} volgt jou nu", "notification.mention": "{name} vermeldde jou", - "notification.poll": "Een poll waarin jij hebt gestemd is beëindigd", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} boostte jouw toot", "notifications.clear": "Meldingen verwijderen", "notifications.clear_confirmation": "Weet je het zeker dat je al jouw meldingen wilt verwijderen?", @@ -258,7 +257,7 @@ "notifications.column_settings.filter_bar.show": "Tonen", "notifications.column_settings.follow": "Nieuwe volgers:", "notifications.column_settings.mention": "Vermeldingen:", - "notifications.column_settings.poll": "Pollresultaten:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Pushmeldingen", "notifications.column_settings.reblog": "Boosts:", "notifications.column_settings.show": "In kolom tonen", @@ -268,14 +267,14 @@ "notifications.filter.favourites": "Favorieten", "notifications.filter.follows": "Die jij volgt", "notifications.filter.mentions": "Vermeldingen", - "notifications.filter.polls": "Pollresultaten", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} meldingen", "poll.closed": "Gesloten", "poll.refresh": "Vernieuwen", "poll.total_votes": "{count, plural, one {# stem} other {# stemmen}}", "poll.vote": "Stemmen", - "poll_button.add_poll": "Poll toevoegen", - "poll_button.remove_poll": "Poll verwijderen", + "poll_button.add_poll": "Add a poll", + "poll_button.remove_poll": "Remove poll", "privacy.change": "Zichtbaarheid toot aanpassen", "privacy.direct.long": "Alleen aan vermelde gebruikers tonen", "privacy.direct.short": "Direct", @@ -367,7 +366,7 @@ "upload_area.title": "Hierin slepen om te uploaden", "upload_button.label": "Media toevoegen (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_error.limit": "Uploadlimiet van bestand overschreden.", - "upload_error.poll": "Bestanden uploaden is met polls niet toegestaan.", + "upload_error.poll": "File upload not allowed with polls.", "upload_form.description": "Omschrijf dit voor mensen met een visuele beperking", "upload_form.focus": "Voorvertoning aanpassen", "upload_form.undo": "Verwijderen", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index 8b6fbd0181..9556c5ad89 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -5,7 +5,6 @@ "account.block_domain": "Skjul alt fra {domain}", "account.blocked": "Blocked", "account.direct": "Direct Message @{name}", - "account.disclaimer_full": "Informasjonen nedenfor kan gi et ufullstendig bilde av brukerens profil.", "account.domain_blocked": "Domain hidden", "account.edit_profile": "Rediger profil", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Avfølg", "account.unmute": "Avdemp @{name}", "account.unmute_notifications": "Vis varsler fra @{name}", - "account.view_full_profile": "Vis hele profilen", "alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "You kan trykke {combo} for å hoppe over dette neste gang", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "Innholdsadvarsel", "confirmation_modal.cancel": "Avbryt", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Blokkèr", "confirmations.block.message": "Er du sikker på at du vil blokkere {name}?", "confirmations.delete.confirm": "Slett", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index 3dc502f9a8..8fc8762a48 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -5,7 +5,6 @@ "account.block_domain": "Tot amagar del domeni {domain}", "account.blocked": "Blocat", "account.direct": "Escriure un MP a @{name}", - "account.disclaimer_full": "Aquelas informacions de perfil pòdon èsser incomplètas.", "account.domain_blocked": "Domeni amagat", "account.edit_profile": "Modificar lo perfil", "account.endorse": "Mostrar pel perfil", @@ -36,7 +35,6 @@ "account.unfollow": "Quitar de sègre", "account.unmute": "Quitar de rescondre @{name}", "account.unmute_notifications": "Mostrar las notificacions de @{name}", - "account.view_full_profile": "Veire lo perfil complèt", "alert.unexpected.message": "Una error s’es producha.", "alert.unexpected.title": "Ops !", "boost_modal.combo": "Podètz botar {combo} per passar aquò lo còp que ven", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Lo tèxte es pas rescondut", "compose_form.spoiler_placeholder": "Escrivètz l’avertiment aquí", "confirmation_modal.cancel": "Anullar", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Blocar", "confirmations.block.message": "Volètz vertadièrament blocar {name} ?", "confirmations.delete.confirm": "Escafar", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 186884fee6..63d4f60e00 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -5,7 +5,6 @@ "account.block_domain": "Blokuj wszystko z {domain}", "account.blocked": "Zablokowany(-a)", "account.direct": "Wyślij wiadomość bezpośrednią do @{name}", - "account.disclaimer_full": "Poniższe informacje mogą nie odwzorowywać bezbłędnie profilu użytkownika.", "account.domain_blocked": "Ukryto domenę", "account.edit_profile": "Edytuj profil", "account.endorse": "Polecaj na profilu", @@ -36,7 +35,6 @@ "account.unfollow": "Przestań śledzić", "account.unmute": "Cofnij wyciszenie @{name}", "account.unmute_notifications": "Cofnij wyciszenie powiadomień od @{name}", - "account.view_full_profile": "Wyświetl pełny profil", "alert.unexpected.message": "Wystąpił nieoczekiwany błąd.", "alert.unexpected.title": "O nie!", "boost_modal.combo": "Naciśnij {combo}, aby pominąć to następnym razem", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Tekst nie jest ukryty", "compose_form.spoiler_placeholder": "Wprowadź swoje ostrzeżenie o zawartości", "confirmation_modal.cancel": "Anuluj", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Zablokuj", "confirmations.block.message": "Czy na pewno chcesz zablokować {name}?", "confirmations.delete.confirm": "Usuń", @@ -151,7 +150,7 @@ "hashtag.column_settings.tag_mode.all": "Wszystkie", "hashtag.column_settings.tag_mode.any": "Dowolne", "hashtag.column_settings.tag_mode.none": "Żadne", - "hashtag.column_settings.tag_toggle": "Dołącz dodatkowe znaczniki dla tej kolumny", + "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "home.column_settings.basic": "Podstawowe", "home.column_settings.show_reblogs": "Pokazuj podbicia", "home.column_settings.show_replies": "Pokazuj odpowiedzi", @@ -247,7 +246,7 @@ "notification.favourite": "{name} dodał(a) Twój wpis do ulubionych", "notification.follow": "{name} zaczął(-ęła) Cię śledzić", "notification.mention": "{name} wspomniał(a) o tobie", - "notification.poll": "Ankieta, w której głosowałeś zakończyła się", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} podbił(a) Twój wpis", "notifications.clear": "Wyczyść powiadomienia", "notifications.clear_confirmation": "Czy na pewno chcesz bezpowrotnie usunąć wszystkie powiadomienia?", @@ -258,7 +257,7 @@ "notifications.column_settings.filter_bar.show": "Pokaż", "notifications.column_settings.follow": "Nowi śledzący:", "notifications.column_settings.mention": "Wspomnienia:", - "notifications.column_settings.poll": "Wyniki sondaży:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Powiadomienia push", "notifications.column_settings.reblog": "Podbicia:", "notifications.column_settings.show": "Pokaż w kolumnie", @@ -268,7 +267,7 @@ "notifications.filter.favourites": "Ulubione", "notifications.filter.follows": "Śledzenia", "notifications.filter.mentions": "Wspomienia", - "notifications.filter.polls": "Wyniki badania", + "notifications.filter.polls": "Poll results", "notifications.group": "{count, number} {count, plural, one {powiadomienie} few {powiadomienia} many {powiadomień} more {powiadomień}}", "poll.closed": "Zamknięte", "poll.refresh": "Odśwież", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index e3d04537fe..7533a462b0 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -5,7 +5,6 @@ "account.block_domain": "Esconder tudo de {domain}", "account.blocked": "Bloqueado", "account.direct": "Direct Message @{name}", - "account.disclaimer_full": "As informações abaixo podem refletir o perfil do usuário de maneira incompleta.", "account.domain_blocked": "Domínio escondido", "account.edit_profile": "Editar perfil", "account.endorse": "Destacar no perfil", @@ -36,7 +35,6 @@ "account.unfollow": "Deixar de seguir", "account.unmute": "Não silenciar @{name}", "account.unmute_notifications": "Retirar silêncio das notificações vindas de @{name}", - "account.view_full_profile": "Ver perfil completo", "alert.unexpected.message": "Um erro inesperado ocorreu.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "Você pode pressionar {combo} para ignorar este diálogo na próxima vez", @@ -73,10 +71,10 @@ "compose_form.lock_disclaimer": "A sua conta não está {locked}. Qualquer pessoa pode te seguir e visualizar postagens direcionadas a apenas seguidores.", "compose_form.lock_disclaimer.lock": "trancada", "compose_form.placeholder": "No que você está pensando?", - "compose_form.poll.add_option": "Adicionar uma opção", - "compose_form.poll.duration": "Duração da enquete", - "compose_form.poll.option_placeholder": "Opção {number}", - "compose_form.poll.remove_option": "Remover essa opção", + "compose_form.poll.add_option": "Add a choice", + "compose_form.poll.duration": "Poll duration", + "compose_form.poll.option_placeholder": "Choice {number}", + "compose_form.poll.remove_option": "Remove this choice", "compose_form.publish": "Publicar", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Mídia está marcada como sensível", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "O texto não está escondido", "compose_form.spoiler_placeholder": "Aviso de conteúdo", "confirmation_modal.cancel": "Cancelar", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Bloquear", "confirmations.block.message": "Você tem certeza de que quer bloquear {name}?", "confirmations.delete.confirm": "Excluir", @@ -146,17 +145,17 @@ "hashtag.column_header.tag_mode.all": "e {additional}", "hashtag.column_header.tag_mode.any": "ou {additional}", "hashtag.column_header.tag_mode.none": "sem {additional}", - "hashtag.column_settings.select.no_options_message": "Nenhuma sugestão encontrada", - "hashtag.column_settings.select.placeholder": "Adicione as hashtags…", + "hashtag.column_settings.select.no_options_message": "No suggestions found", + "hashtag.column_settings.select.placeholder": "Enter hashtags…", "hashtag.column_settings.tag_mode.all": "Todas essas", "hashtag.column_settings.tag_mode.any": "Qualquer uma dessas", "hashtag.column_settings.tag_mode.none": "Nenhuma dessas", - "hashtag.column_settings.tag_toggle": "Incluir outras hashtags nessa coluna", + "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "home.column_settings.basic": "Básico", "home.column_settings.show_reblogs": "Mostrar compartilhamentos", "home.column_settings.show_replies": "Mostrar as respostas", - "intervals.full.days": "{number, plural, one {# dia} other {# dias}}", - "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", + "intervals.full.days": "{number, plural, one {# day} other {# days}}", + "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "introduction.federation.action": "Próximo", "introduction.federation.federated.headline": "Federated", @@ -213,7 +212,7 @@ "lists.account.remove": "Remover da lista", "lists.delete": "Delete list", "lists.edit": "Editar lista", - "lists.edit.submit": "Mudar o título", + "lists.edit.submit": "Change title", "lists.new.create": "Adicionar lista", "lists.new.title_placeholder": "Novo título da lista", "lists.search": "Procurar entre as pessoas que você segue", @@ -247,7 +246,7 @@ "notification.favourite": "{name} adicionou a sua postagem aos favoritos", "notification.follow": "{name} te seguiu", "notification.mention": "{name} te mencionou", - "notification.poll": "Uma enquete em que você votou chegou ao fim", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} compartilhou a sua postagem", "notifications.clear": "Limpar notificações", "notifications.clear_confirmation": "Você tem certeza de que quer limpar todas as suas notificações permanentemente?", @@ -258,7 +257,7 @@ "notifications.column_settings.filter_bar.show": "Mostrar", "notifications.column_settings.follow": "Novos seguidores:", "notifications.column_settings.mention": "Menções:", - "notifications.column_settings.poll": "Resultados da enquete:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Enviar notificações", "notifications.column_settings.reblog": "Compartilhamento:", "notifications.column_settings.show": "Mostrar nas colunas", @@ -268,14 +267,14 @@ "notifications.filter.favourites": "Favoritos", "notifications.filter.follows": "Seguidores", "notifications.filter.mentions": "Menções", - "notifications.filter.polls": "Resultados da enquete", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notificações", - "poll.closed": "Fechada", - "poll.refresh": "Atualizar", - "poll.total_votes": "{count, plural, one {# voto} other {# votos}}", + "poll.closed": "Closed", + "poll.refresh": "Refresh", + "poll.total_votes": "{count, plural, one {# vote} other {# votes}}", "poll.vote": "Votar", - "poll_button.add_poll": "Adicionar uma enquete", - "poll_button.remove_poll": "Remover enquete", + "poll_button.add_poll": "Add a poll", + "poll_button.remove_poll": "Remove poll", "privacy.change": "Ajustar a privacidade da mensagem", "privacy.direct.long": "Apenas para usuários mencionados", "privacy.direct.short": "Direta", @@ -315,7 +314,7 @@ "status.block": "Block @{name}", "status.cancel_reblog_private": "Desfazer compartilhamento", "status.cannot_reblog": "Esta postagem não pode ser compartilhada", - "status.copy": "Copiar o link para o status", + "status.copy": "Copy link to status", "status.delete": "Excluir", "status.detailed_status": "Visão detalhada da conversa", "status.direct": "Enviar mensagem direta a @{name}", @@ -357,17 +356,17 @@ "tabs_bar.local_timeline": "Local", "tabs_bar.notifications": "Notificações", "tabs_bar.search": "Buscar", - "time_remaining.days": "{number, plural, one {# day} other {# days}} restantes", - "time_remaining.hours": "{number, plural, one {# hour} other {# hours}} restantes", - "time_remaining.minutes": "{number, plural, one {# minuto} other {# minutos}}restantes", - "time_remaining.moments": "Momentos restantes", - "time_remaining.seconds": "{number, plural, one {# segundo} other {# segundos}} restantes", + "time_remaining.days": "{number, plural, one {# day} other {# days}} left", + "time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left", + "time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left", + "time_remaining.moments": "Moments remaining", + "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left", "trends.count_by_accounts": "{count} {rawCount, plural, one {pessoa} other {pessoas}} falando sobre", "ui.beforeunload": "Seu rascunho será perdido se você sair do Mastodon.", "upload_area.title": "Arraste e solte para enviar", "upload_button.label": "Adicionar mídia (JPEG, PNG, GIF, WebM, MP4, MOV)", - "upload_error.limit": "Limite de envio de arquivos excedido.", - "upload_error.poll": "Envio de arquivos não é permitido com enquetes.", + "upload_error.limit": "File upload limit exceeded.", + "upload_error.poll": "File upload not allowed with polls.", "upload_form.description": "Descreva a imagem para deficientes visuais", "upload_form.focus": "Ajustar foco", "upload_form.undo": "Remover", diff --git a/app/javascript/mastodon/locales/pt.json b/app/javascript/mastodon/locales/pt.json index baa12b1d18..001a48b048 100644 --- a/app/javascript/mastodon/locales/pt.json +++ b/app/javascript/mastodon/locales/pt.json @@ -5,7 +5,6 @@ "account.block_domain": "Esconder tudo do domínio {domain}", "account.blocked": "Bloqueado", "account.direct": "Mensagem directa @{name}", - "account.disclaimer_full": "As informações abaixo podem reflectir o perfil do utilizador de forma incompleta.", "account.domain_blocked": "Domínio escondido", "account.edit_profile": "Editar perfil", "account.endorse": "Atributo no perfil", @@ -36,7 +35,6 @@ "account.unfollow": "Deixar de seguir", "account.unmute": "Não silenciar @{name}", "account.unmute_notifications": "Deixar de silenciar @{name}", - "account.view_full_profile": "Ver perfil completo", "alert.unexpected.message": "Ocorreu um erro inesperado.", "alert.unexpected.title": "Bolas!", "boost_modal.combo": "Pode clicar {combo} para não voltar a ver", @@ -73,10 +71,10 @@ "compose_form.lock_disclaimer": "A tua conta não está {locked}. Qualquer pessoa pode seguir-te e ver as publicações direcionadas apenas a seguidores.", "compose_form.lock_disclaimer.lock": "fechada", "compose_form.placeholder": "Em que estás a pensar?", - "compose_form.poll.add_option": "Adicionar uma opção", - "compose_form.poll.duration": "Duração do inquérito", - "compose_form.poll.option_placeholder": "Opção {number}", - "compose_form.poll.remove_option": "Remover esta opção", + "compose_form.poll.add_option": "Add a choice", + "compose_form.poll.duration": "Poll duration", + "compose_form.poll.option_placeholder": "Choice {number}", + "compose_form.poll.remove_option": "Remove this choice", "compose_form.publish": "Publicar", "compose_form.publish_loud": "{publicar}!", "compose_form.sensitive.marked": "Media marcado como sensível", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "O texto não está escondido", "compose_form.spoiler_placeholder": "Escreve o teu aviso aqui", "confirmation_modal.cancel": "Cancelar", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Bloquear", "confirmations.block.message": "De certeza que queres bloquear {name}?", "confirmations.delete.confirm": "Eliminar", @@ -155,9 +154,9 @@ "home.column_settings.basic": "Básico", "home.column_settings.show_reblogs": "Mostrar as partilhas", "home.column_settings.show_replies": "Mostrar as respostas", - "intervals.full.days": "{number, plural, one {# día} other {# días}}", - "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", - "intervals.full.minutes": "{number, plural, one {# minuta} other {# minutas}}", + "intervals.full.days": "{number, plural, one {# day} other {# days}}", + "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", + "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "introduction.federation.action": "Seguinte", "introduction.federation.federated.headline": "Federated", "introduction.federation.federated.text": "Publicações públicas de outros servidores do fediverse aparecerão na cronologia federativa.", @@ -247,7 +246,7 @@ "notification.favourite": "{name} adicionou o teu post aos favoritos", "notification.follow": "{name} seguiu-te", "notification.mention": "{name} mencionou-te", - "notification.poll": "Um inquérito no qual você participou terminou", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} partilhou o teu post", "notifications.clear": "Limpar notificações", "notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?", @@ -258,7 +257,7 @@ "notifications.column_settings.filter_bar.show": "Mostrar", "notifications.column_settings.follow": "Novos seguidores:", "notifications.column_settings.mention": "Menções:", - "notifications.column_settings.poll": "Resultados do inquérito:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Notificações Push", "notifications.column_settings.reblog": "Partilhas:", "notifications.column_settings.show": "Mostrar nas colunas", @@ -268,14 +267,14 @@ "notifications.filter.favourites": "Favoritas", "notifications.filter.follows": "Seguimento", "notifications.filter.mentions": "Referências", - "notifications.filter.polls": "Resultados do inquérito", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notificações", "poll.closed": "Fechado", "poll.refresh": "Recarregar", "poll.total_votes": "{contar, plural, um {# vote} outro {# votes}}", "poll.vote": "Votar", - "poll_button.add_poll": "Criar um questionário", - "poll_button.remove_poll": "Excluir o questionário", + "poll_button.add_poll": "Add a poll", + "poll_button.remove_poll": "Remove poll", "privacy.change": "Ajustar a privacidade da mensagem", "privacy.direct.long": "Apenas para utilizadores mencionados", "privacy.direct.short": "Directo", @@ -367,7 +366,7 @@ "upload_area.title": "Arraste e solte para enviar", "upload_button.label": "Adicionar media", "upload_error.limit": "Limite máximo do ficheiro a carregar excedido.", - "upload_error.poll": "Não se permite enviar arquivos com as pesquisas.", + "upload_error.poll": "File upload not allowed with polls.", "upload_form.description": "Descrição da imagem para pessoas com dificuldades visuais", "upload_form.focus": "Alterar previsualização", "upload_form.undo": "Apagar", diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json index add90e9d8b..7192e10b9d 100644 --- a/app/javascript/mastodon/locales/ro.json +++ b/app/javascript/mastodon/locales/ro.json @@ -5,7 +5,6 @@ "account.block_domain": "Ascunde tot de la {domain}", "account.blocked": "Blocat", "account.direct": "Mesaj direct @{name}", - "account.disclaimer_full": "Informațiile de mai jos pot reflecta profilul utilizatorului incomplet.", "account.domain_blocked": "Domeniu ascuns", "account.edit_profile": "Editează profilul", "account.endorse": "Redistribuie pe profil", @@ -36,7 +35,6 @@ "account.unfollow": "Nu mai urmări", "account.unmute": "Activează notificările de la @{name}", "account.unmute_notifications": "Activează notificările de la @{name}", - "account.view_full_profile": "Vezi profilul complet", "alert.unexpected.message": "A apărut o eroare neașteptată.", "alert.unexpected.title": "Hopa!", "boost_modal.combo": "Poți apăsa {combo} pentru a omite asta data viitoare", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Textul nu este ascuns", "compose_form.spoiler_placeholder": "Scrie averitzarea aici", "confirmation_modal.cancel": "Anulează", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Blochează", "confirmations.block.message": "Ești sigur că vrei să blochezi {name}?", "confirmations.delete.confirm": "Șterge", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 6e8d8aa8e7..09425c32e9 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -1,11 +1,10 @@ { - "account.add_or_remove_from_list": "Добавить или удалить из списков", + "account.add_or_remove_from_list": "Add or Remove from lists", "account.badges.bot": "Бот", "account.block": "Блокировать", "account.block_domain": "Блокировать все с {domain}", "account.blocked": "Заблокирован(а)", "account.direct": "Написать @{name}", - "account.disclaimer_full": "Нижеуказанная информация может не полностью отражать профиль пользователя.", "account.domain_blocked": "Домен скрыт", "account.edit_profile": "Изменить профиль", "account.endorse": "Рекомендовать в профиле", @@ -15,16 +14,16 @@ "account.follows": "Подписки", "account.follows.empty": "Этот пользователь ни на кого не подписан.", "account.follows_you": "Подписан(а) на Вас", - "account.hide_reblogs": "Скрыть продвижения", - "account.link_verified_on": "Владелец данной ссылки был проверен {date}", - "account.locked_info": "Статус конфиденциальности этой учетной записи заблокирован. Владелец вручную проверяет, кто может следить за ними.", + "account.hide_reblogs": "Скрыть продвижения от @{name}", + "account.link_verified_on": "Ownership of this link was checked on {date}", + "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Медиа", "account.mention": "Упомянуть", "account.moved_to": "Ищите {name} здесь:", "account.mute": "Заглушить", "account.mute_notifications": "Скрыть уведомления от @{name}", "account.muted": "Приглушён", - "account.posts": "Тутс", + "account.posts": "Посты", "account.posts_with_replies": "Посты и ответы", "account.report": "Пожаловаться", "account.requested": "Ожидает подтверждения", @@ -34,9 +33,8 @@ "account.unblock_domain": "Разблокировать {domain}", "account.unendorse": "Не рекомендовать в профиле", "account.unfollow": "Отписаться", - "account.unmute": "Показывать @{name}", + "account.unmute": "Снять глушение", "account.unmute_notifications": "Показывать уведомления от @{name}", - "account.view_full_profile": "Показать полный профиль", "alert.unexpected.message": "Что-то пошло не так.", "alert.unexpected.title": "Ой!", "boost_modal.combo": "Нажмите {combo}, чтобы пропустить это в следующий раз", @@ -67,16 +65,16 @@ "column_header.unpin": "Открепить", "column_subheading.settings": "Настройки", "community.column_settings.media_only": "Только с медиа", - "compose_form.direct_message_warning": "Этот зуб будет отправлен только указанным пользователям.", + "compose_form.direct_message_warning": "Этот статус будет виден только упомянутым пользователям.", "compose_form.direct_message_warning_learn_more": "Узнать больше", "compose_form.hashtag_warning": "Этот пост не будет показывается в поиске по хэштегу, т.к. он непубличный. Только публичные посты можно найти в поиске по хэштегу.", "compose_form.lock_disclaimer": "Ваш аккаунт не {locked}. Любой человек может подписаться на Вас и просматривать посты для подписчиков.", "compose_form.lock_disclaimer.lock": "закрыт", - "compose_form.placeholder": "Что у тебя на уме?", - "compose_form.poll.add_option": "Добавить выбор", - "compose_form.poll.duration": "Продолжительность опроса", - "compose_form.poll.option_placeholder": "Выбор {number}", - "compose_form.poll.remove_option": "Удалить этот выбор", + "compose_form.placeholder": "О чем Вы думаете?", + "compose_form.poll.add_option": "Add a choice", + "compose_form.poll.duration": "Poll duration", + "compose_form.poll.option_placeholder": "Choice {number}", + "compose_form.poll.remove_option": "Remove this choice", "compose_form.publish": "Трубить", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Медиафайлы не отмечены как чувствительные", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Текст не скрыт", "compose_form.spoiler_placeholder": "Текст предупреждения", "confirmation_modal.cancel": "Отмена", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Заблокировать", "confirmations.block.message": "Вы уверены, что хотите заблокировать {name}?", "confirmations.delete.confirm": "Удалить", @@ -92,13 +91,13 @@ "confirmations.delete_list.confirm": "Удалить", "confirmations.delete_list.message": "Вы действительно хотите навсегда удалить этот список?", "confirmations.domain_block.confirm": "Блокировать весь домен", - "confirmations.domain_block.message": "Ты действительно, действительно уверен, что хочешь заблокировать весь домен? В большинстве случаев достаточно и предпочтительно несколько направленных блоков или глушителей. Вы не увидите содержимое этого домена ни в каких публичных временных рамках, ни в ваших уведомлениях. Ваши последователи из этого домена будут удалены.", + "confirmations.domain_block.message": "Вы на самом деле уверены, что хотите блокировать весь {domain}? В большинстве случаев нескольких отдельных блокировок или глушений достаточно.", "confirmations.mute.confirm": "Заглушить", "confirmations.mute.message": "Вы уверены, что хотите заглушить {name}?", "confirmations.redraft.confirm": "Удалить и исправить", "confirmations.redraft.message": "Вы уверены, что хотите удалить этот статус и превратить в черновик? Вы потеряете все ответы, продвижения и отметки 'нравится' к нему.", - "confirmations.reply.confirm": "Ответить", - "confirmations.reply.message": "Ответ сейчас перезапишет сообщение, которое вы в данный момент создаете. Ты уверен, что хочешь продолжить?", + "confirmations.reply.confirm": "Reply", + "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", "confirmations.unfollow.confirm": "Отписаться", "confirmations.unfollow.message": "Вы уверены, что хотите отписаться от {name}?", "embed.instructions": "Встройте этот статус на Вашем сайте, скопировав код внизу.", @@ -117,7 +116,7 @@ "emoji_button.search_results": "Результаты поиска", "emoji_button.symbols": "Символы", "emoji_button.travel": "Путешествия", - "empty_column.account_timeline": "Никаких сапогов!", + "empty_column.account_timeline": "No toots here!", "empty_column.blocks": "Вы ещё никого не заблокировали.", "empty_column.community": "Локальная лента пуста. Напишите что-нибудь, чтобы разогреть народ!", "empty_column.direct": "У Вас пока нет личных сообщений. Когда Вы начнёте их отправлять или получать, они появятся здесь.", @@ -132,49 +131,49 @@ "empty_column.lists": "У Вас ещё нет списков. Все созданные Вами списки будут показаны здесь.", "empty_column.mutes": "Вы ещё никого не заглушили.", "empty_column.notifications": "У Вас еще нет уведомлений. Заведите знакомство с другими пользователями, чтобы начать разговор.", - "empty_column.public": "Здесь ничего нет! Напишите что-нибудь публично или вручную следите за пользователями с других серверов, чтобы заполнить его", + "empty_column.public": "Здесь ничего нет! Опубликуйте что-нибудь или подпишитесь на пользователей с других узлов, чтобы заполнить ленту.", "follow_request.authorize": "Авторизовать", "follow_request.reject": "Отказать", "getting_started.developers": "Для разработчиков", - "getting_started.directory": "Каталог профиля", + "getting_started.directory": "Profile directory", "getting_started.documentation": "Документация", "getting_started.heading": "Добро пожаловать", "getting_started.invite": "Пригласить людей", "getting_started.open_source_notice": "Mastodon - сервис с открытым исходным кодом. Вы можете помочь проекту или сообщить о проблемах на GitHub по адресу {github}.", "getting_started.security": "Безопасность", "getting_started.terms": "Условия использования", - "hashtag.column_header.tag_mode.all": "и {additional}", - "hashtag.column_header.tag_mode.any": "или {additional}", - "hashtag.column_header.tag_mode.none": "без {additional}", - "hashtag.column_settings.select.no_options_message": "Никаких предложений не найдено", - "hashtag.column_settings.select.placeholder": "Введите хэштэги…", - "hashtag.column_settings.tag_mode.all": "Все это", - "hashtag.column_settings.tag_mode.any": "Что-нибудь из этого", - "hashtag.column_settings.tag_mode.none": "Ничего из этого", - "hashtag.column_settings.tag_toggle": "Включить дополнительные теги для этого столбца", + "hashtag.column_header.tag_mode.all": "and {additional}", + "hashtag.column_header.tag_mode.any": "or {additional}", + "hashtag.column_header.tag_mode.none": "without {additional}", + "hashtag.column_settings.select.no_options_message": "No suggestions found", + "hashtag.column_settings.select.placeholder": "Enter hashtags…", + "hashtag.column_settings.tag_mode.all": "All of these", + "hashtag.column_settings.tag_mode.any": "Any of these", + "hashtag.column_settings.tag_mode.none": "None of these", + "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "home.column_settings.basic": "Основные", "home.column_settings.show_reblogs": "Показывать продвижения", "home.column_settings.show_replies": "Показывать ответы", - "intervals.full.days": "{number, plural, one {# дни} other {# день}}", - "intervals.full.hours": "{number, plural, one {# час} other {# часы}}", + "intervals.full.days": "{number, plural, one {# day} other {# days}}", + "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", - "introduction.federation.action": "Следующий", + "introduction.federation.action": "Next", "introduction.federation.federated.headline": "Federated", - "introduction.federation.federated.text": "Публичные посты с других серверов федерации будут отображаться на шкале времени федерации.", + "introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.", "introduction.federation.home.headline": "Home", - "introduction.federation.home.text": "Сообщения от людей, за которыми вы следите, будут появляться в вашем домашнем корме. Вы можете следовать за любым на любом сервере!", + "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!", "introduction.federation.local.headline": "Local", - "introduction.federation.local.text": "Публичные сообщения от людей на том же сервере, что и вы, будут отображаться на локальной шкале времени.", - "introduction.interactions.action": "Закончи урок!", - "introduction.interactions.favourite.headline": "Любимый", - "introduction.interactions.favourite.text": "Вы можете оставить зуб на потом, и дать автору понять, что он вам понравился, отдавая предпочтение.", - "introduction.interactions.reblog.headline": "Ускорение", - "introduction.interactions.reblog.text": "Вы можете поделиться с другими людьми чересчур с вашими последователями, повышая их.", - "introduction.interactions.reply.headline": "Ответить", - "introduction.interactions.reply.text": "Вы можете ответить на чужие и свои собственные сигналы, которые будут связывать их в цепь в разговоре.", - "introduction.welcome.action": "Пошли!", - "introduction.welcome.headline": "Первые шаги", - "introduction.welcome.text": "Добро пожаловать во вселенную! Через несколько минут вы сможете транслировать сообщения и общаться со своими друзьями на различных серверах. Но этот сервер, {домен}, является специальным - он содержит ваш профиль, так что запомните его имя.", + "introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.", + "introduction.interactions.action": "Finish tutorial!", + "introduction.interactions.favourite.headline": "Favourite", + "introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.", + "introduction.interactions.reblog.headline": "Boost", + "introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.", + "introduction.interactions.reply.headline": "Reply", + "introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.", + "introduction.welcome.action": "Let's go!", + "introduction.welcome.headline": "First steps", + "introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.", "keyboard_shortcuts.back": "перейти назад", "keyboard_shortcuts.blocked": "чтобы открыть список заблокированных", "keyboard_shortcuts.boost": "продвинуть пост", @@ -213,17 +212,17 @@ "lists.account.remove": "Убрать из списка", "lists.delete": "Удалить список", "lists.edit": "Изменить список", - "lists.edit.submit": "Изменить название", + "lists.edit.submit": "Change title", "lists.new.create": "Новый список", "lists.new.title_placeholder": "Заголовок списка", "lists.search": "Искать из ваших подписок", "lists.subheading": "Ваши списки", - "loading_indicator.label": "Загрузка…", + "loading_indicator.label": "Загрузка...", "media_gallery.toggle_visible": "Показать/скрыть", "missing_indicator.label": "Не найдено", "missing_indicator.sublabel": "Запрашиваемый ресурс не найден", "mute_modal.hide_notifications": "Убрать уведомления от этого пользователя?", - "navigation_bar.apps": "Мобильные приложения", + "navigation_bar.apps": "Mobile apps", "navigation_bar.blocks": "Список блокировки", "navigation_bar.community_timeline": "Локальная лента", "navigation_bar.compose": "Создать новый статус", @@ -234,8 +233,8 @@ "navigation_bar.favourites": "Понравившееся", "navigation_bar.filters": "Заглушенные слова", "navigation_bar.follow_requests": "Запросы на подписку", - "navigation_bar.info": "Об этом сервере", - "navigation_bar.keyboard_shortcuts": "Горячие клавиши", + "navigation_bar.info": "Об узле", + "navigation_bar.keyboard_shortcuts": "Сочетания клавиш", "navigation_bar.lists": "Списки", "navigation_bar.logout": "Выйти", "navigation_bar.mutes": "Список глушения", @@ -247,35 +246,35 @@ "notification.favourite": "{name} понравился Ваш статус", "notification.follow": "{name} подписался(-лась) на Вас", "notification.mention": "{name} упомянул(а) Вас", - "notification.poll": "Опрос, за который вы проголосовали, закончился", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} продвинул(а) Ваш статус", "notifications.clear": "Очистить уведомления", "notifications.clear_confirmation": "Вы уверены, что хотите очистить все уведомления?", "notifications.column_settings.alert": "Десктопные уведомления", "notifications.column_settings.favourite": "Нравится:", - "notifications.column_settings.filter_bar.advanced": "Показать все категории", - "notifications.column_settings.filter_bar.category": "Быстрая панель фильтрации", - "notifications.column_settings.filter_bar.show": "Показать", + "notifications.column_settings.filter_bar.advanced": "Display all categories", + "notifications.column_settings.filter_bar.category": "Quick filter bar", + "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Новые подписчики:", "notifications.column_settings.mention": "Упоминания:", - "notifications.column_settings.poll": "Результаты опроса:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push-уведомления", "notifications.column_settings.reblog": "Продвижения:", "notifications.column_settings.show": "Показывать в колонке", "notifications.column_settings.sound": "Проигрывать звук", - "notifications.filter.all": "Все", - "notifications.filter.boosts": "Ускорение", - "notifications.filter.favourites": "Избранное", - "notifications.filter.follows": "Следит", - "notifications.filter.mentions": "Упоминания", - "notifications.filter.polls": "Результаты опроса", - "notifications.group": "{count} уведомления", - "poll.closed": "Закрытый", - "poll.refresh": "освежающий", - "poll.total_votes": "{count, plural, one {# голосовать} other {# голосов}}", - "poll.vote": "Голосуйте", - "poll_button.add_poll": "Добавить опрос", - "poll_button.remove_poll": "Удалить опрос", + "notifications.filter.all": "All", + "notifications.filter.boosts": "Boosts", + "notifications.filter.favourites": "Favourites", + "notifications.filter.follows": "Follows", + "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", + "notifications.group": "{count} уведомл.", + "poll.closed": "Closed", + "poll.refresh": "Refresh", + "poll.total_votes": "{count, plural, one {# vote} other {# votes}}", + "poll.vote": "Vote", + "poll_button.add_poll": "Add a poll", + "poll_button.remove_poll": "Remove poll", "privacy.change": "Изменить видимость статуса", "privacy.direct.long": "Показать только упомянутым", "privacy.direct.short": "Направленный", @@ -295,7 +294,7 @@ "reply_indicator.cancel": "Отмена", "report.forward": "Переслать для {target}", "report.forward_hint": "Этот аккаунт расположен на другом сервере. Отправить туда анонимную копию Вашей жалобы?", - "report.hint": "Отчет будет отправлен модераторам вашего сервера. Ниже вы можете объяснить, почему вы сообщаете об этой учетной записи:", + "report.hint": "Жалоба будет отправлена модераторам Вашего сервера. Вы также можете указать подробную причину жалобы ниже:", "report.placeholder": "Комментарий", "report.submit": "Отправить", "report.target": "Жалуемся на {target}", @@ -310,12 +309,12 @@ "search_results.hashtags": "Хэштеги", "search_results.statuses": "Посты", "search_results.total": "{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}", - "status.admin_account": "Откройте интерфейс модерации для @{name}", - "status.admin_status": "Откройте этот статус в интерфейсе модерации", + "status.admin_account": "Open moderation interface for @{name}", + "status.admin_status": "Open this status in the moderation interface", "status.block": "Заблокировать @{name}", "status.cancel_reblog_private": "Не продвигать", "status.cannot_reblog": "Этот статус не может быть продвинут", - "status.copy": "Скопировать ссылку на статус", + "status.copy": "Copy link to status", "status.delete": "Удалить", "status.detailed_status": "Подробный просмотр обсуждения", "status.direct": "Написать @{name}", @@ -331,7 +330,7 @@ "status.open": "Развернуть статус", "status.pin": "Закрепить в профиле", "status.pinned": "Закреплённый статус", - "status.read_more": "Подробнее", + "status.read_more": "Read more", "status.reblog": "Продвинуть", "status.reblog_private": "Продвинуть для своей аудитории", "status.reblogged_by": "{name} продвинул(а)", @@ -347,30 +346,30 @@ "status.show_less_all": "Свернуть для всех", "status.show_more": "Развернуть", "status.show_more_all": "Развернуть для всех", - "status.show_thread": "Показать нить", + "status.show_thread": "Show thread", "status.unmute_conversation": "Снять глушение с треда", "status.unpin": "Открепить от профиля", - "suggestions.dismiss": "Отказаться от предложения", - "suggestions.header": "Вам может быть интересно…", + "suggestions.dismiss": "Dismiss suggestion", + "suggestions.header": "You might be interested in…", "tabs_bar.federated_timeline": "Глобальная", "tabs_bar.home": "Главная", "tabs_bar.local_timeline": "Локальная", "tabs_bar.notifications": "Уведомления", "tabs_bar.search": "Поиск", - "time_remaining.days": "{number, plural, one {# день} other {# дни}} осталось", - "time_remaining.hours": "{number, plural, one {# час} other {# часы}} осталось", - "time_remaining.minutes": "{number, plural, one {# минута} other {# минуты}} oсталось", - "time_remaining.moments": "Оставшиеся моменты", - "time_remaining.seconds": "{number, plural, one {# секунда} other {# секунды}} oсталось", + "time_remaining.days": "{number, plural, one {# day} other {# days}} left", + "time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left", + "time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left", + "time_remaining.moments": "Moments remaining", + "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left", "trends.count_by_accounts": "Популярно у {count} {rawCount, plural, one {человека} few {человек} many {человек} other {человек}}", "ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Mastodon.", "upload_area.title": "Перетащите сюда, чтобы загрузить", - "upload_button.label": "Добавить медиа (JPEG, PNG, GIF, WebM, MP4, MOV)", - "upload_error.limit": "Превышение лимита загрузки файлов.", - "upload_error.poll": "Загрузка файлов с опросами не разрешена.", + "upload_button.label": "Добавить медиаконтент", + "upload_error.limit": "File upload limit exceeded.", + "upload_error.poll": "File upload not allowed with polls.", "upload_form.description": "Описать для людей с нарушениями зрения", - "upload_form.focus": "Изменить предварительный просмотр", - "upload_form.undo": "Удалить", + "upload_form.focus": "Обрезать", + "upload_form.undo": "Отменить", "upload_progress.label": "Загрузка...", "video.close": "Закрыть видео", "video.exit_fullscreen": "Покинуть полноэкранный режим", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index c73aed643e..5542198f72 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -5,7 +5,6 @@ "account.block_domain": "Ukry všetko z {domain}", "account.blocked": "Blokovaný/á", "account.direct": "Súkromná správa pre @{name}", - "account.disclaimer_full": "Inofrmácie uvedené nižšie nemusia byť úplným odrazom uživateľovho účtu.", "account.domain_blocked": "Doména ukrytá", "account.edit_profile": "Upraviť profil", "account.endorse": "Zobrazuj na profile", @@ -36,7 +35,6 @@ "account.unfollow": "Prestaň následovať", "account.unmute": "Prestaň ignorovať @{name}", "account.unmute_notifications": "Zrušiť stlmenie oznámení od @{name}", - "account.view_full_profile": "Pozri celý profil", "alert.unexpected.message": "Vyskytla sa nečakaná chyba.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "Nabudúce môžeš kliknúť {combo} pre preskočenie", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text nieje ukrytý", "compose_form.spoiler_placeholder": "Sem napíš tvoje varovanie", "confirmation_modal.cancel": "Zruš", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Blokuj", "confirmations.block.message": "Si si istý/á, že chceš blokovať {name}?", "confirmations.delete.confirm": "Vymaž", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index a99d9d4377..bef4efe0ec 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -5,7 +5,6 @@ "account.block_domain": "Skrij vse iz {domain}", "account.blocked": "Blokirano", "account.direct": "Neposredno sporočilo @{name}", - "account.disclaimer_full": "Spodnje informacije lahko nepopolno prikazujejo profil uporabnika.", "account.domain_blocked": "Skrita domena", "account.edit_profile": "Uredi profil", "account.endorse": "Zmožnost profila", @@ -36,7 +35,6 @@ "account.unfollow": "Prenehaj slediti", "account.unmute": "Odtišaj @{name}", "account.unmute_notifications": "Vklopi obvestila od @{name}", - "account.view_full_profile": "Ogled celotnega profila", "alert.unexpected.message": "Zgodila se je nepričakovana napaka.", "alert.unexpected.title": "Uups!", "boost_modal.combo": "Če želite naslednjič preskočiti to, lahko pritisnete {combo}", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Besedilo ni skrito", "compose_form.spoiler_placeholder": "Napišite opozorilo tukaj", "confirmation_modal.cancel": "Prekliči", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Block", "confirmations.block.message": "Ali ste prepričani, da želite blokirati {name}?", "confirmations.delete.confirm": "Delete", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index 8beaf1323d..b86c6e2ee5 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -5,7 +5,6 @@ "account.block_domain": "Fshih gjithçka prej {domain}", "account.blocked": "E bllokuar", "account.direct": "Mesazh i drejtpërdrejt për @{name}", - "account.disclaimer_full": "Të dhënat më poshtë mund ta pasqyrojnë pjesërisht profilin e përdoruesit.", "account.domain_blocked": "Përkatësi e fshehur", "account.edit_profile": "Përpunoni profilin", "account.endorse": "Pasqyrojeni në profil", @@ -36,7 +35,6 @@ "account.unfollow": "Resht së ndjekuri", "account.unmute": "Ktheji zërin @{name}", "account.unmute_notifications": "Hiqua ndalimin e shfaqjes njoftimeve nga @{name}", - "account.view_full_profile": "Shihni profilin e plotë", "alert.unexpected.message": "Ndodhi një gabim të papritur.", "alert.unexpected.title": "Hëm!", "boost_modal.combo": "Mund të shtypni {combo}, që të anashkalohet kjo herës tjetër", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Teksti s’është i fshehur", "compose_form.spoiler_placeholder": "Shkruani këtu sinjalizimin tuaj", "confirmation_modal.cancel": "Anuloje", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Bllokoje", "confirmations.block.message": "Jeni i sigurt se doni të bllokohet {name}?", "confirmations.delete.confirm": "Fshije", diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json index ba238d83dd..155935306e 100644 --- a/app/javascript/mastodon/locales/sr-Latn.json +++ b/app/javascript/mastodon/locales/sr-Latn.json @@ -5,7 +5,6 @@ "account.block_domain": "Sakrij sve sa domena {domain}", "account.blocked": "Blocked", "account.direct": "Direct Message @{name}", - "account.disclaimer_full": "Navedene informacije možda ne odslikavaju korisnički profil u potpunosti.", "account.domain_blocked": "Domain hidden", "account.edit_profile": "Izmeni profil", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Otprati", "account.unmute": "Ukloni ućutkavanje korisniku @{name}", "account.unmute_notifications": "Uključi nazad obaveštenja od korisnika @{name}", - "account.view_full_profile": "Vidi ceo profil", "alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "Možete pritisnuti {combo} da preskočite ovo sledeći put", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "Ovde upišite upozorenje", "confirmation_modal.cancel": "Poništi", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Blokiraj", "confirmations.block.message": "Da li ste sigurni da želite da blokirate korisnika {name}?", "confirmations.delete.confirm": "Obriši", diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json index 4a6f992bb5..1124ed8d50 100644 --- a/app/javascript/mastodon/locales/sr.json +++ b/app/javascript/mastodon/locales/sr.json @@ -5,7 +5,6 @@ "account.block_domain": "Сакриј све са домена {domain}", "account.blocked": "Блокиран", "account.direct": "Директна порука @{name}", - "account.disclaimer_full": "Наведене информације можда не одсликавају кориснички профил у потпуности.", "account.domain_blocked": "Домен сакривен", "account.edit_profile": "Измени профил", "account.endorse": "Приказати на профилу", @@ -36,7 +35,6 @@ "account.unfollow": "Отпрати", "account.unmute": "Уклони ућуткавање кориснику @{name}", "account.unmute_notifications": "Укључи назад обавештења од корисника @{name}", - "account.view_full_profile": "Види цео профил", "alert.unexpected.message": "Појавила се неочекивана грешка.", "alert.unexpected.title": "Упс!", "boost_modal.combo": "Можете притиснути {combo} да прескочите ово следећи пут", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Текст није сакривен", "compose_form.spoiler_placeholder": "Овде упишите упозорење", "confirmation_modal.cancel": "Поништи", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Блокирај", "confirmations.block.message": "Да ли сте сигурни да желите да блокирате корисника {name}?", "confirmations.delete.confirm": "Обриши", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index b00dda3620..9093637b35 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -5,7 +5,6 @@ "account.block_domain": "Dölj allt från {domain}", "account.blocked": "Blockerad", "account.direct": "Direktmeddelande @{name}", - "account.disclaimer_full": "Informationen nedan kan spegla användarens profil ofullständigt.", "account.domain_blocked": "Domän dold", "account.edit_profile": "Redigera profil", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Sluta följa", "account.unmute": "Ta bort tystad @{name}", "account.unmute_notifications": "Återaktivera notifikationer från @{name}", - "account.view_full_profile": "Visa hela profilen", "alert.unexpected.message": "Ett oväntat fel uppstod.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "Du kan trycka {combo} för att slippa denna nästa gång", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Texten är inte dold", "compose_form.spoiler_placeholder": "Skriv din varning här", "confirmation_modal.cancel": "Ångra", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Blockera", "confirmations.block.message": "Är du säker att du vill blockera {name}?", "confirmations.delete.confirm": "Ta bort", diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json index d6016249d9..eedd4c6f34 100644 --- a/app/javascript/mastodon/locales/ta.json +++ b/app/javascript/mastodon/locales/ta.json @@ -5,7 +5,6 @@ "account.block_domain": "Hide everything from {domain}", "account.blocked": "Blocked", "account.direct": "Direct message @{name}", - "account.disclaimer_full": "Information below may reflect the user's profile incompletely.", "account.domain_blocked": "Domain hidden", "account.edit_profile": "Edit profile", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Unfollow", "account.unmute": "Unmute @{name}", "account.unmute_notifications": "Unmute notifications from @{name}", - "account.view_full_profile": "View full profile", "alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.title": "Oops!", "boost_modal.combo": "You can press {combo} to skip this next time", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "Write your warning here", "confirmation_modal.cancel": "Cancel", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Block", "confirmations.block.message": "Are you sure you want to block {name}?", "confirmations.delete.confirm": "Delete", diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json index d1c77d3714..c93ff63df4 100644 --- a/app/javascript/mastodon/locales/te.json +++ b/app/javascript/mastodon/locales/te.json @@ -5,7 +5,6 @@ "account.block_domain": "{domain} నుంచి అన్నీ దాచిపెట్టు", "account.blocked": "బ్లాక్ అయినవి", "account.direct": "@{name}కు నేరుగా సందేశం పంపు", - "account.disclaimer_full": "క్రింది సమాచారం వాడుకరి యొక్క ప్రొఫైల్ను అసంపూర్తిగా ప్రతిబింబించవచ్చు.", "account.domain_blocked": "డొమైన్ దాచిపెట్టబడినది", "account.edit_profile": "ప్రొఫైల్ని సవరించండి", "account.endorse": "ప్రొఫైల్లో చూపించు", @@ -36,7 +35,6 @@ "account.unfollow": "అనుసరించవద్దు", "account.unmute": "@{name}పై మ్యూట్ ని తొలగించు", "account.unmute_notifications": "@{name} నుంచి ప్రకటనలపై మ్యూట్ ని తొలగించు", - "account.view_full_profile": "పూర్తి ప్రొఫైల్ను చూడండి", "alert.unexpected.message": "అనుకోని తప్పు జరిగినది.", "alert.unexpected.title": "అయ్యో!", "boost_modal.combo": "మీరు తదుపరిసారి దీనిని దాటవేయడానికి {combo} నొక్కవచ్చు", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "పాఠ్యం దాచబడలేదు", "compose_form.spoiler_placeholder": "ఇక్కడ మీ హెచ్చరికను రాయండి", "confirmation_modal.cancel": "రద్దు చెయ్యి", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "బ్లాక్ చేయి", "confirmations.block.message": "మీరు ఖచ్చితంగా {name}ని బ్లాక్ చేయాలనుకుంటున్నారా?", "confirmations.delete.confirm": "తొలగించు", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 35cca32f9c..e15382402d 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -5,7 +5,6 @@ "account.block_domain": "ซ่อนทุกอย่างจาก {domain}", "account.blocked": "ปิดกั้นอยู่", "account.direct": "ส่งข้อความโดยตรงถึง @{name}", - "account.disclaimer_full": "Information below may reflect the user's profile incompletely.", "account.domain_blocked": "ซ่อนโดเมนอยู่", "account.edit_profile": "แก้ไขโปรไฟล์", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "เลิกติดตาม", "account.unmute": "เลิกปิดเสียง @{name}", "account.unmute_notifications": "เลิกปิดเสียงการแจ้งเตือนจาก @{name}", - "account.view_full_profile": "ดูโปรไฟล์แบบเต็ม", "alert.unexpected.message": "เกิดข้อผิดพลาดที่ไม่คาดคิด", "alert.unexpected.title": "อุปส์!", "boost_modal.combo": "You can press {combo} to skip this next time", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler_placeholder": "เขียนคำเตือนของคุณที่นี่", "confirmation_modal.cancel": "ยกเลิก", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "ปิดกั้น", "confirmations.block.message": "คุณแน่ใจหรือไม่ว่าต้องการปิดกั้น {name}?", "confirmations.delete.confirm": "ลบ", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index e277416fd4..cbe1c5726b 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -5,7 +5,6 @@ "account.block_domain": "{domain} alanından her şeyi gizle", "account.blocked": "Engellenmiş", "account.direct": "Direct Message @{name}", - "account.disclaimer_full": "Aşağıdaki bilgiler, kullanıcının profilini tam olarak yansıtmayabilir.", "account.domain_blocked": "Alan adı gizlendi", "account.edit_profile": "Profili düzenle", "account.endorse": "Profildeki özellik", @@ -36,7 +35,6 @@ "account.unfollow": "Takipten vazgeç", "account.unmute": "Sesi aç @{name}", "account.unmute_notifications": "@{name} kullanıcısından bildirimleri aç", - "account.view_full_profile": "Tüm profili görüntüle", "alert.unexpected.message": "Beklenmedik bir hata oluştu.", "alert.unexpected.title": "Hay aksi!", "boost_modal.combo": "Bir dahaki sefere {combo} tuşuna basabilirsiniz", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Metin gizli değil", "compose_form.spoiler_placeholder": "İçerik uyarısı", "confirmation_modal.cancel": "İptal", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Engelle", "confirmations.block.message": "{name} kullanıcısını engellemek istiyor musunuz?", "confirmations.delete.confirm": "Sil", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 3f02f887c3..fc1c4f5d50 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -5,7 +5,6 @@ "account.block_domain": "Заглушити {domain}", "account.blocked": "Заблоковані", "account.direct": "Пряме повідомлення @{name}", - "account.disclaimer_full": "Інфомація знизу може відображати профіль користувача неповністю.", "account.domain_blocked": "Домен приховано", "account.edit_profile": "Редагувати профіль", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "Відписатися", "account.unmute": "Зняти глушення @{name}", "account.unmute_notifications": "Показувати сповіщення від @{name}", - "account.view_full_profile": "Показати профіль повністю", "alert.unexpected.message": "Трапилась неочікувана помилка.", "alert.unexpected.title": "Ой!", "boost_modal.combo": "Ви можете натиснути {combo}, щоб пропустити це наступного разу", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "Текст видимий", "compose_form.spoiler_placeholder": "Попередження щодо прихованого тексту", "confirmation_modal.cancel": "Відмінити", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "Заблокувати", "confirmations.block.message": "Ви впевнені, що хочете заблокувати {name}?", "confirmations.delete.confirm": "Видалити", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index f17274e695..702be0ded6 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -5,7 +5,6 @@ "account.block_domain": "隐藏来自 {domain} 的内容", "account.blocked": "已屏蔽", "account.direct": "发送私信给 @{name}", - "account.disclaimer_full": "此处显示的信息可能不是全部内容。", "account.domain_blocked": "网站已屏蔽", "account.edit_profile": "修改个人资料", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "取消关注", "account.unmute": "不再隐藏 @{name}", "account.unmute_notifications": "不再隐藏来自 @{name} 的通知", - "account.view_full_profile": "查看完整资料", "alert.unexpected.message": "发生了意外错误。", "alert.unexpected.title": "哎呀!", "boost_modal.combo": "下次按住 {combo} 即可跳过此提示", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "正文未被折叠", "compose_form.spoiler_placeholder": "折叠部分的警告消息", "confirmation_modal.cancel": "取消", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "屏蔽", "confirmations.block.message": "你确定要屏蔽 {name} 吗?", "confirmations.delete.confirm": "删除", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 54b8ab4980..5ea738bc95 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -5,7 +5,6 @@ "account.block_domain": "隱藏來自 {domain} 的一切文章", "account.blocked": "封鎖", "account.direct": "私訊 @{name}", - "account.disclaimer_full": "下列資料不一定完整。", "account.domain_blocked": "服務站被隱藏", "account.edit_profile": "修改個人資料", "account.endorse": "Feature on profile", @@ -36,7 +35,6 @@ "account.unfollow": "取消關注", "account.unmute": "取消 @{name} 的靜音", "account.unmute_notifications": "取消來自 @{name} 通知的靜音", - "account.view_full_profile": "查看完整資料", "alert.unexpected.message": "發生不可預期的錯誤。", "alert.unexpected.title": "噢!", "boost_modal.combo": "如你想在下次路過這顯示,請按{combo},", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "文字沒有被隱藏", "compose_form.spoiler_placeholder": "敏感警告訊息", "confirmation_modal.cancel": "取消", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "封鎖", "confirmations.block.message": "你確定要封鎖{name}嗎?", "confirmations.delete.confirm": "刪除", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index a44a1d90ed..6d33ef0709 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -5,7 +5,6 @@ "account.block_domain": "隱藏來自 {domain} 的所有嘟文", "account.blocked": "已封鎖", "account.direct": "傳私訊給 @{name}", - "account.disclaimer_full": "下方的使用者個人資料不一定完整。", "account.domain_blocked": "已隱藏網域", "account.edit_profile": "編輯個人資料", "account.endorse": "在個人資料推薦對方", @@ -36,7 +35,6 @@ "account.unfollow": "取消關注", "account.unmute": "不再靜音 @{name}", "account.unmute_notifications": "不再靜音來自 @{name} 的通知", - "account.view_full_profile": "查看完整資料", "alert.unexpected.message": "發生了非預期的錯誤。", "alert.unexpected.title": "哎呀!", "boost_modal.combo": "下次您可以按 {combo} 跳過", @@ -85,6 +83,7 @@ "compose_form.spoiler.unmarked": "正文未被隱藏", "compose_form.spoiler_placeholder": "請在此處寫入警告訊息", "confirmation_modal.cancel": "取消", + "confirmations.block.block_and_report": "Block & Report", "confirmations.block.confirm": "封鎖", "confirmations.block.message": "你確定要封鎖 {name} ?", "confirmations.delete.confirm": "刪除", diff --git a/config/locales/activerecord.cy.yml b/config/locales/activerecord.cy.yml index 60eeea22d8..2655301247 100644 --- a/config/locales/activerecord.cy.yml +++ b/config/locales/activerecord.cy.yml @@ -1,9 +1,6 @@ --- cy: activerecord: - attributes: - status: - owned_poll: Poll errors: models: account: diff --git a/config/locales/activerecord.es.yml b/config/locales/activerecord.es.yml index aee946bb7d..d18b168347 100644 --- a/config/locales/activerecord.es.yml +++ b/config/locales/activerecord.es.yml @@ -1,9 +1,6 @@ --- es: activerecord: - attributes: - status: - owned_poll: Encuesta errors: models: account: diff --git a/config/locales/activerecord.fr.yml b/config/locales/activerecord.fr.yml index 7d5952f3ae..c4b04c73ad 100644 --- a/config/locales/activerecord.fr.yml +++ b/config/locales/activerecord.fr.yml @@ -1,9 +1,6 @@ --- fr: activerecord: - attributes: - status: - owned_poll: Sondage errors: models: account: diff --git a/config/locales/activerecord.it.yml b/config/locales/activerecord.it.yml index 51280eb321..4cec9fb63c 100644 --- a/config/locales/activerecord.it.yml +++ b/config/locales/activerecord.it.yml @@ -1,9 +1,6 @@ --- it: activerecord: - attributes: - status: - owned_poll: Sondaggio errors: models: account: diff --git a/config/locales/activerecord.nl.yml b/config/locales/activerecord.nl.yml index bdb87e8e5d..eeabab34aa 100644 --- a/config/locales/activerecord.nl.yml +++ b/config/locales/activerecord.nl.yml @@ -1,9 +1,6 @@ --- nl: activerecord: - attributes: - status: - owned_poll: Poll errors: models: account: diff --git a/config/locales/activerecord.pl.yml b/config/locales/activerecord.pl.yml index d0c86a11ed..bd8e40a6a7 100644 --- a/config/locales/activerecord.pl.yml +++ b/config/locales/activerecord.pl.yml @@ -2,8 +2,6 @@ pl: activerecord: attributes: - status: - owned_poll: Ankiety user: email: adres e-mail errors: diff --git a/config/locales/activerecord.pt-BR.yml b/config/locales/activerecord.pt-BR.yml index eb0fb6785f..d2519fe905 100644 --- a/config/locales/activerecord.pt-BR.yml +++ b/config/locales/activerecord.pt-BR.yml @@ -1,9 +1,6 @@ --- pt-BR: activerecord: - attributes: - status: - owned_poll: sondagem errors: models: account: diff --git a/config/locales/activerecord.pt.yml b/config/locales/activerecord.pt.yml index 9ef0e5f9fc..556fcfc4fd 100644 --- a/config/locales/activerecord.pt.yml +++ b/config/locales/activerecord.pt.yml @@ -1,9 +1,6 @@ --- pt: activerecord: - attributes: - status: - owned_poll: Enquete errors: models: account: diff --git a/config/locales/activerecord.ru.yml b/config/locales/activerecord.ru.yml index 945668f309..2a2d62a7ef 100644 --- a/config/locales/activerecord.ru.yml +++ b/config/locales/activerecord.ru.yml @@ -1,9 +1,6 @@ --- ru: activerecord: - attributes: - status: - owned_poll: опрос errors: models: account: diff --git a/config/locales/cy.yml b/config/locales/cy.yml index fe00c9ffcd..68a445e4ca 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -4,30 +4,20 @@ cy: about_hashtag_html: Dyma dŵtiau cyhoeddus wedi eu tagio gyda #%{hashtag}. Gallwch ryngweithio gyda nhw os oes gennych gyfrif yn unrhyw le yn y ffeddysawd. about_mastodon_html: Mae Mastodon yn rwydwaith cymdeithasol sy'n seiliedig ar brotocolau gwe a meddalwedd cod agored rhad ac am ddim. Yn debyg i e-bost mae'n ddatganoledig. about_this: Ynghylch - active_count_after: yn weithgar - active_footnote: Nifer Defnyddwyr Gweithgar Misol administered_by: 'Gweinyddir gan:' api: API apps: Apiau symudol - apps_platforms: Defnyddio Mastodon o iOS, Android a platfformau eraill - browse_directory: Pori cyfeiriadur proffil a hidlo yn ôl diddordebau - browse_public_posts: Pori ffrwd fyw o dŵtiau gyhoeddus ar Mastodon contact: Cyswllt contact_missing: Heb ei osod contact_unavailable: Ddim yn berthnasol - discover_users: Darganfod defnyddwyr documentation: Dogfennaeth extended_description_html: |

Lle da ar gyfer rheolau

Nid yw'r disgrifiad estynedig wedi ei osod eto.

- federation_hint_html: Mae cyfrif ar %{instance} yn caniatau i chi ddilyn pobl ar unrhyw weinydd Mastodon a mwy. generic_description: Mae %{domain} yn un gweinydd yn y rhwydwaith - get_apps: Trio ap symudol hosted_on: Mastodon wedi ei weinyddu ar %{domain} learn_more: Dysu mwy privacy_policy: Polisi preifatrwydd - see_whats_happening: Gweld beth sy'n digwydd - server_stats: 'Ystadegau gweinydd:' source_code: Cod ffynhonnell status_count_after: few: statwsau @@ -37,7 +27,6 @@ cy: two: statwsau zero: statwsau status_count_before: Ysgriffennwyd gan - tagline: Dilyn ffrindiau a canfod rhai newydd terms: Telerau gwasanaeth user_count_after: few: defnyddwyr @@ -95,7 +84,6 @@ cy: delete: Dileu destroyed_msg: Dinistrwyd nodyn cymedroli yn llwyddiannus! accounts: - approve: Caniatau are_you_sure: Ydych chi'n siŵr? avatar: Afatar by_domain: Parth @@ -141,7 +129,6 @@ cy: moderation: active: Yn weithredol all: Popeth - pending: Yn yr arfaeth silenced: Wedi ei dawelu suspended: Wedi ei atal title: Cymedroli @@ -151,7 +138,6 @@ cy: no_limits_imposed: Dim terfynau wedi'i gosod not_subscribed: Heb danysgrifio outbox_url: Allflwch URL - pending: Yn disgwyl adolygiad perform_full_suspension: Atal profile_url: URL proffil promote: Hyrwyddo @@ -159,7 +145,6 @@ cy: public: Cyhoeddus push_subscription_expires: Tanysgrifiad PuSH yn dod i ben redownload: Adnewyddu proffil - reject: Gwrthod remove_avatar: Dileu afatar remove_header: Dileu pennawd resend_confirmation: @@ -439,12 +424,6 @@ cy: min_invite_role: disabled: Neb title: Caniatau gwahoddiadau gan - registrations_mode: - modes: - approved: Mae angen caniatad ar gyfer cofrestru - none: Does neb yn cael cofrestru - open: Mae pawb yn cael cofrestru - title: Modd cofrestru show_known_fediverse_at_about_page: desc_html: Wedi'i ddewis, bydd yn dangos rhagolwg o dŵtiau o'r holl ffedysawd. Fel arall bydd ond yn dangos tŵtiau lleol. title: Dangos ffedysawd hysbys ar ragolwg y ffrwd @@ -507,9 +486,6 @@ cy: edit_preset: Golygu rhagosodiad rhybudd title: Rheoli rhagosodiadau rhybudd admin_mailer: - new_pending_account: - body: Mae manylion y cyfrif newydd isod. Mae modd caniatau neu gwrthod y cais hwn. - subject: Mae cyfrif newydd i'w adolygu i'w weld ar %{instance} (%{username}) new_report: body: Mae %{reporter} wedi cwyno am %{target} body_remote: Mae rhywun o %{domain} wedi cwyno am %{target} @@ -531,9 +507,7 @@ cy: your_token: Eich tocyn mynediad auth: agreement_html: Wrth glicio "Cofrestru" isod yr ydych yn cytuno i ddilyn y rheolau ar gyfer yr achos hwn a ein termau gwasanaeth. - apply_for_account: Gwneud cais am wahoddiad change_password: Cyfrinair - checkbox_agreement_html: Yr wyf yn cytuno i ddilyn rheolau'r gweinydd a termau'r gwasanaeth confirm_email: Cadarnhau e-bost delete_account: Dileu cyfrif delete_account_html: Os hoffech chi ddileu eich cyfrif, mae modd parhau yma. Bydd gofyn i chi gadarnhau. @@ -549,12 +523,10 @@ cy: cas: CAS saml: SAML register: Cofrestru - registration_closed: Nid yw'r %{instance} yn derbyn aelodau newydd resend_confirmation: Ailanfon cyfarwyddiadau cadarnhau reset_password: Ailosod cyfrinair security: Diogelwch set_new_password: Gosod cyfrinair newydd - trouble_logging_in: Trafferth yn mewngofnodi? authorize_follow: already_following: Yr ydych yn dilyn y cyfrif hwn yn barod error: Yn anffodus, roedd gwall tra'n edrych am y cyfrif anghysbell @@ -668,13 +640,10 @@ cy: modes: merge: Cyfuno merge_long: Cadw'r cofnodau presennol ac ychwanegu rhai newydd - overwrite: Trosysgrifio - overwrite_long: Disodli cofnodau presennol a rhai newydd preface: Mae modd mewnforio data yr ydych wedi allforio o achos arall, megis rhestr o bobl yr ydych yn ei ddilyn neu yn blocio. success: Uwchlwythwyd eich data yn llwyddiannus ac fe fydd yn cael ei brosesu mewn da bryd types: blocking: Rhestr blocio - domain_blocking: Rhestr blocio parth following: Rhestr dilyn muting: Rhestr tawelu upload: Uwchlwytho @@ -777,38 +746,17 @@ cy: older: Hŷn prev: Blaenorol truncate: "…" - polls: - errors: - already_voted: Yr ydych wedi pleidleisio'n barod yn y bleidlais hon - duplicate_options: cynnwys eitemau dyblyg - duration_too_long: yn rhy bell yn y dyfodol - duration_too_short: yn rhy fuan - expired: Mae'r bleidlais wedi gorffen yn barod - over_character_limit: ni all fod yn fwy na %{max} o gymeriadau - too_few_options: mae mwy nag un eitem yn angenrheidiol - too_many_options: ni all gynnwys mwy na %{max} eitem preferences: languages: Ieithoedd other: Arall publishing: Cyhoeddi web: Gwe - relationships: - activity: Gweithgaredd cyfrif - dormant: Segur - moved: Symudwyd - primary: Cynradd - relationship: Perthynas - remove_selected_domains: Gwaredu pob dilynwr o'r parthau a ddewiswyd - remove_selected_followers: Gwaredu'r dilynwyr a ddewiswyd - remove_selected_follows: Dad-ddilyn defnyddwyr a ddewiswyd - status: Statws cyfrif remote_follow: acct: Mewnbynnwch eich enwdefnyddiwr@parth yr ydych eisiau gweithredu ohonno missing_resource: Ni ellir canfod yr URL ailgyferio angenrheidiol i'ch cyfrif no_account_html: Heb gyfrif? Mae modd i chi gofrestru yma proceed: Ymlaen i ddilyn prompt: 'Yr ydych am ddilyn:' - reason_html: "Pam fod angen y cam hwn? Gall %{instance} fod yn weinydd gwahanol i'r un yr ydych wedi cofrestru iddo, ac fell mae angen i ni eich allgyfeirio i'ch gweinydd cartref gyntaf." remote_unfollow: error: Gwall title: Teitl diff --git a/config/locales/devise.es.yml b/config/locales/devise.es.yml index de4ef850ee..ecb97fd132 100644 --- a/config/locales/devise.es.yml +++ b/config/locales/devise.es.yml @@ -12,27 +12,24 @@ es: last_attempt: Tiene un intento más antes de que su cuenta sea bloqueada. locked: Su cuenta está bloqueada. not_found_in_database: Inválido %{authentication_keys} o contraseña. - pending: Su cuenta aún está bajo revisión. timeout: Su sesión ha expirado. Por favor inicie sesión de nuevo para continuar. unauthenticated: Necesita iniciar sesión o registrarse antes de continuar. unconfirmed: Tiene que confirmar su dirección de correo electrónico antes de continuar. mailer: confirmation_instructions: action: Verificar dirección de correo electrónico - action_with_app: Confirmar y volver a %{app} explanation: Has creado una cuenta en %{host} con esta dirección de correo electrónico. Estas a un clic de activarla. Si no fue usted, por favor ignore este correo electrónico. - explanation_when_pending: Ha solicitado una invitación a %{host} con esta dirección de correo electrónico. Una vez que confirme su dirección de correo electrónico, revisaremos su solicitud. No puede iniciar sesión hasta entonces. Si su solicitud es rechazada, sus datos serán eliminados, por lo que no será necesaria ninguna otra acción por su parte. Si no fuiste tú, por favor ignora este correo electrónico. - extra_html: Por favor, consulte también las reglas de la instancia y nuestras condiciones de uso. + extra_html: Por favor revise las reglas de la instancia y nuestros términos de servicio. subject: 'Mastodon: Instrucciones de confirmación para %{instance}' title: Verificar dirección de correo electrónico email_changed: explanation: 'El correo electrónico para su cuenta esta siendo cambiada a:' - extra: Si no ha cambiado su correo electrónico, es probable que alguien haya accedido a su cuenta. Por favor, cambie su contraseña inmediatamente o póngase en contacto con el administrador del servidor si está bloqueado fuera de su cuenta. + extra: Si usted no a cambiado su correo electrónico. es probable que alguien a conseguido acceso a su cuenta. Por favor cambie su contraseña inmediatamente o contacte a el administrador de la instancia si usted esta bloqueado de su cuenta. subject: 'Mastodon: Correo electrónico cambiado' title: Nueva dirección de correo electrónico password_change: explanation: La contraseña de su cuenta a sido cambiada. - extra: Si no ha cambiado su contraseña, es probable que alguien haya tenido acceso a su cuenta. Por favor, cambie su contraseña inmediatamente o póngase en contacto con el administrador de la instancia si está bloqueado de su cuenta. + extra: Si usted no a cambiado su contraseña. es probable que alguien a conseguido acceso a su cuenta. Por favor cambie su contraseña inmediatamente o contacte a el administrador de la instancia si usted esta bloqueado de su cuenta. subject: 'Mastodon: Contraseña cambiada' title: Contraseña cambiada reconfirmation_instructions: @@ -62,7 +59,6 @@ es: signed_up: "¡Bienvenido! Se ha registrado con éxito." signed_up_but_inactive: Se ha registrado con éxito. Sin embargo, no podemos identificarle porque su cuenta no ha sido activada todavía. signed_up_but_locked: Se ha registrado con éxito. Sin embargo, no podemos identificarle porque su cuenta está bloqueada. - signed_up_but_pending: Un mensaje con un enlace de confirmación acaba de ser enviado a su dirección de correo electrónico. Después de hacer clic en el enlace, revisaremos su solicitud. Se le notificará si se aprueba. signed_up_but_unconfirmed: Un mensaje con un enlace de confirmación ha sido enviado a su correo electrónico. Por favor siga el enlace para activar su cuenta. update_needs_confirmation: Ha actualizado su cuenta con éxito, pero necesitamos verificar su nueva dirección de correo. Por favor compruebe su correo y siga el enlace para confirmar su nueva dirección de correo. updated: su cuenta ha sido actualizada con éxito. diff --git a/config/locales/devise.fr.yml b/config/locales/devise.fr.yml index b7c7285496..f0a5414b8e 100644 --- a/config/locales/devise.fr.yml +++ b/config/locales/devise.fr.yml @@ -12,7 +12,6 @@ fr: last_attempt: Vous avez droit à une tentative avant que votre compte ne soit verrouillé. locked: Votre compte est verrouillé. not_found_in_database: "%{authentication_keys} invalide." - pending: Votre compte est toujours en attente d'approbation. timeout: Votre session a expiré. Veuillez vous reconnecter pour continuer. unauthenticated: Vous devez vous connecter ou vous inscrire pour continuer. unconfirmed: Vous devez valider votre compte pour continuer. @@ -21,7 +20,6 @@ fr: action: Vérifier l’adresse courriel action_with_app: Confirmer et retourner à %{app} explanation: Vous avez créé un compte sur %{host} avec cette adresse courriel. Vous êtes à un clic de l’activer. Si ce n’était pas vous, veuillez ignorer ce courriel. - explanation_when_pending: Vous avez demandé une invitation sur %{host} avec cette adresse courriel. Une fois que vous aurez confirmé votre adresse courriel, nous examinerons votre demande. Vous ne pourrez pas vous connecter tant que la demande ne sera pas approuvée. Si votre demande est rejetée, vos données seront supprimées, vous n'aurez donc rien à faire de votre côté. Si ce n'était pas vous, veuillez ignorer ce courriel. extra_html: Merci de consultez également les règles de l’instance et nos conditions d’utilisation. subject: 'Mastodon : Merci de confirmer votre inscription sur %{instance}' title: Vérifier l’adresse courriel @@ -62,7 +60,6 @@ fr: signed_up: Bienvenue ! Vous êtes connecté⋅e. signed_up_but_inactive: Vous êtes bien enregistré⋅e. Vous ne pouvez cependant pas vous connecter car votre compte n’est pas encore activé. signed_up_but_locked: Vous êtes bien enregistré⋅e. Vous ne pouvez cependant pas vous connecter car votre compte est verrouillé. - signed_up_but_pending: Un message avec un lien de confirmation vient d'être envoyé sur votre adresse courriel. Après avoir cliqué sur le lien, nous examinerons votre demande. Vous serez notifié·e si elle est approuvée. signed_up_but_unconfirmed: Un message contenant un lien de confirmation a été envoyé à votre adresse courriel. Ouvrez ce lien pour activer votre compte. Veuillez vérifier votre dossier d'indésirables si vous ne recevez pas le courriel. update_needs_confirmation: Votre compte a bien été mis à jour, mais nous devons vérifier votre nouvelle adresse courriel. Merci de vérifier vos courriels et de cliquer sur le lien de confirmation pour finaliser la validation de votre nouvelle adresse. Si vous n'avez pas reçu le courriel, vérifiez votre dossier d'indésirables. updated: Votre compte a été modifié avec succès. diff --git a/config/locales/devise.it.yml b/config/locales/devise.it.yml index 8f24842d7c..fc36fdbff3 100644 --- a/config/locales/devise.it.yml +++ b/config/locales/devise.it.yml @@ -11,8 +11,7 @@ it: invalid: "%{authentication_keys} o password invalida." last_attempt: Hai un altro tentativo prima che il tuo account venga bloccato. locked: Il tuo account è stato bloccato. - not_found_in_database: "%{authentication_keys} o password non valida." - pending: Il tuo account è ancora sotto esame. + not_found_in_database: "%{authentication_keys} o password invalida." timeout: La tua sessione è terminata. Per favore, effettua l'accesso o registrati per continuare. unauthenticated: Devi effettuare l'accesso o registrarti per continuare. unconfirmed: Devi confermare il tuo indirizzo email per continuare. @@ -21,7 +20,6 @@ it: action: Verifica indirizzo email action_with_app: Conferma e torna a %{app} explanation: Hai creato un account su %{host} con questo indirizzo email. Sei lonatno solo un clic dall'attivarlo. Se non sei stato tu, per favore ignora questa email. - explanation_when_pending: Hai richiesto di essere invitato su %{host} con questo indirizzo email. Quando avrai confermato il tuo indirizzo email, esamineremo la tua richiesta. Fino a quel momento non puoi accedere. Se la tua richiesta sarà respinta, i tuoi dati saranno eliminati, quindi non dovrai fare nient'altro. Se non hai presentato tu questa richiesta, puoi ignorare questa email. extra_html: Per favore controllale regole del server e i nostri termini di servizio. subject: 'Mastodon: Istruzioni di conferma per %{instance}' title: Verifica indirizzo email @@ -62,7 +60,6 @@ it: signed_up: Benvenuto! Ti sei registrato con successo. signed_up_but_inactive: Ti sei registrato con successo. Purtroppo però non possiamo farti accedere perché non hai ancora attivato il tuo account. signed_up_but_locked: Ti sei registrato con successo. Purtroppo però non possiamo farti accedere perché il tuo account è bloccato. - signed_up_but_pending: Un messaggio contenente un link di conferma è stato inviato al tuo indirizzo email. Dopo che avrai fatto clic sul link, esamineremo la tua richiesta. Se sarà approvata ti informeremo. signed_up_but_unconfirmed: Un messaggio con un link di conferma è stato inviato al tuo indirizzo email. Per favore, visita il link per attivare il tuo account. update_needs_confirmation: Hai aggiornato correttamente il tuo account, ma abbiamo bisogno di verificare il tuo nuovo indirizzo email. Per favore, controlla la posta in arrivo e visita il link di conferma per verificare il tuo indirizzo email. updated: Il tuo account è stato aggiornato con successo. diff --git a/config/locales/devise.nl.yml b/config/locales/devise.nl.yml index fa4c3dd5cc..a768d3c1d2 100644 --- a/config/locales/devise.nl.yml +++ b/config/locales/devise.nl.yml @@ -13,7 +13,6 @@ nl: last_attempt: Je hebt nog één poging over voordat jouw account wordt opgeschort. locked: Jouw account is opgeschort. not_found_in_database: "%{authentication_keys} of wachtwoord ongeldig." - pending: Jouw account moet nog steeds worden beoordeeld. timeout: Jouw sessie is verlopen, log opnieuw in. unauthenticated: Je dient in te loggen of te registreren. unconfirmed: Je dient eerst jouw account te bevestigen. @@ -22,7 +21,6 @@ nl: action: E-mailadres verifiëren action_with_app: Bevestigen en naar %{app} teruggaan explanation: Je hebt een account op %{host} aangemaakt en met één klik kun je deze activeren. Wanneer jij dit account niet hebt aangemaakt, mag je deze e-mail negeren. - explanation_when_pending: Je vroeg met dit e-mailadres een uitnodiging aan voor %{host}. Nadat je jouw e-mailadres hebt bevestigd, beoordelen we jouw aanvraag. Je kunt tot dan niet inloggen. Wanneer jouw aanvraag wordt verworpen, worden jouw gegevens verwijderd en dus hoef je daarna niets meer te doen. Wanneer jij dit niet was, kun je deze e-mail negeren. extra_html: Bekijk ook de regels van de Mastodonserver en onze gebruiksvoorwaarden. subject: 'Mastodon: E-mail bevestigen voor %{instance}' title: E-mailadres verifiëren @@ -63,7 +61,6 @@ nl: signed_up: Je bent geregistreerd. signed_up_but_inactive: Je bent geregistreerd. Je kon alleen niet automatisch ingelogd worden omdat jouw account nog niet geactiveerd is. signed_up_but_locked: Je bent ingeschreven. Je kon alleen niet automatisch ingelogd worden omdat jouw account is opgeschort. - signed_up_but_pending: Er is een bericht met een bevestigingslink naar jouw e-mailadres verzonden. Nadat je op deze link hebt geklikt nemen we jouw aanvraag in behandeling. Je wordt op de hoogte gesteld wanneer deze wordt goedgekeurd. signed_up_but_unconfirmed: Je ontvangt via e-mail instructies hoe je jouw account kunt activeren. Kijk tussen je spam wanneer niks werd ontvangen. update_needs_confirmation: Je hebt je e-mailadres succesvol gewijzigd, maar we moeten je nieuwe mailadres nog bevestigen. Controleer jouw e-mail en klik op de link in de mail om jouw e-mailadres te bevestigen. Kijk tussen je spam wanneer niks werd ontvangen. updated: Jouw accountgegevens zijn opgeslagen. diff --git a/config/locales/devise.pl.yml b/config/locales/devise.pl.yml index 7ac5cb6a86..4f9007e1d8 100644 --- a/config/locales/devise.pl.yml +++ b/config/locales/devise.pl.yml @@ -12,7 +12,6 @@ pl: last_attempt: Masz jeszcze jedną próbę; Twoje konto zostanie zablokowane jeśli się nie powiedzie. locked: Twoje konto zostało zablokowane. not_found_in_database: Nieprawidłowy %{authentication_keys} lub hasło. - pending: Twoje konto jest nadal w trakcie przeglądu. timeout: Twoja sesja wygasła. Zaloguj się ponownie, aby kontynuować.. unauthenticated: Zapisz się lub zaloguj, aby kontynuować. unconfirmed: Zweryfikuj adres e-mail, aby kontynuować. @@ -21,7 +20,6 @@ pl: action: Zweryfikuj adres e-mail action_with_app: Potwierdź i wróć do %{app} explanation: Utworzyłeś(-aś) konto na %{host} podając ten adres e-mail. Jedno kliknięcie dzieli Cię od aktywacji tego konta. Jeżeli to nie Ty, zignoruj ten e-mail. - explanation_when_pending: Złożyłeś wniosek o zaproszenie do %{host} z tym adresem e-mail. Po potwierdzeniu adresu e-mail, zostaniesz poproszony o ponowne rozpatrzenie wniosku. Do tego momentu nie można się zalogować. Jeśli Twoja aplikacja zostanie odrzucona, Twoje dane zostaną usunięte, więc dalsze działania nie będą wymagane. Jeśli tak nie było, zignoruj tę wiadomość e-mail. extra_html: Przeczytaj też regulamin serwera i nasze zasady użytkowania. subject: 'Mastodon: Instrukcje weryfikacji adresu e-mail na %{instance}' title: Zweryfikuj adres e-mail @@ -62,7 +60,6 @@ pl: signed_up: Witamy! Twoje konto zostało utworzone. signed_up_but_inactive: Twoje konto zostało utworzone. Nie mogliśmy Cię jednak zalogować, ponieważ konto nie zostało jeszcze aktywowane. signed_up_but_locked: Twoje konto zostało utworzone. Nie mogliśmy Cię jednak zalogować, ponieważ konto jest zablokowane. - signed_up_but_pending: Na Twój adres e-mail została wysłana wiadomość z linkiem potwierdzającym. Po kliknięciu na link, zostaniesz poproszony o zapoznanie się z Twoją aplikacją. Zostaniesz powiadomiony o zatwierdzeniu wniosku. signed_up_but_unconfirmed: Na Twój adres e-mail została wysłana wiadomosć z odnośnikiem potwierdzającym. Kliknij w odnośnik, aby aktywować konto. Jeżeli nie otrzymano wiadomości, sprawdź folder ze spamem. update_needs_confirmation: Konto zostało zaktualizowane, musimy jednak zweryfikować Twój nowy adres e-mail. Została na niego wysłana wiadomość z odnośnikiem potwierdzającym. Jeżeli nie otrzymano wiadomości, sprawdź folder ze spamem. updated: Konto zostało zaktualizowane. diff --git a/config/locales/devise.pt-BR.yml b/config/locales/devise.pt-BR.yml index 0b6d361876..ede0048925 100644 --- a/config/locales/devise.pt-BR.yml +++ b/config/locales/devise.pt-BR.yml @@ -12,7 +12,6 @@ pt-BR: last_attempt: Você tem apenas mais uma tentativa sobrando antes que a sua conta seja bloqueada. locked: A sua conta está bloqueada. not_found_in_database: "%{authentication_keys} ou senha inválida." - pending: Sua conta ainda está sendo revisada. timeout: A sua sessão expirou. Por favor, entre novamente para continuar. unauthenticated: Você precisa entrar ou cadastrar-se antes de continuar. unconfirmed: Você precisa confirmar o seu endereço de e-mail antes de continuar. @@ -21,7 +20,6 @@ pt-BR: action: Verificar endereço de e-mail action_with_app: Confirmar e voltar para %{app} explanation: Você criou uma conta em %{host} com esse endereço de e-mail. Você está a um clique de ativá-la. Se não foi você, por favor ignore esse e-mail. - explanation_when_pending: Você pediu um convite para %{host} com esse endereço de email. Assim que você confirmar o seu endereço de e-mail, iremos revisar o seu pedido. Você não poderá fazer login até então. Se sua aplicação for rejeitada, seus dados serão removidos e nenhuma ação será necessária da sua parte. Se você não pediu por isso, por favor ignore esse e-mail. extra_html: Por favor confira também as regras da instância e nossos termos de serviço. subject: 'Mastodon: Instruções de confirmação para %{instance}' title: Verifique o endereço de e-mail @@ -62,7 +60,6 @@ pt-BR: signed_up: Bem vindo! A sua conta foi registrada com sucesso. signed_up_but_inactive: A sua conta foi registrada. No entanto, não abrimos a sua sessão porque a sua conta ainda não foi ativada. signed_up_but_locked: A sua conta foi registrada. No entanto, não abrimos a sua sessão porque a sua conta está bloqueada. - signed_up_but_pending: Uma mensagem com um link de confirmação foi enviada ao seu endereço de e-mail. Depois que você clicar no link, revisaremos seu pedido. Você será notificado se seu pedido for aprovado. signed_up_but_unconfirmed: Uma mensagem com um link de confirmação foi enviada para o seu endereço de e-mail. Por favor, siga o link para ativar a sua conta e, caso não tenha recebido esta mensagem, cheque a sua pasta de spam. update_needs_confirmation: Você mudou o seu endereço de e-mail ou a sua senha, mas é necessário confirmar a mudança. Por favor siga o link que foi enviado para o seu novo endereço de e-mail e, caso não tenha recebido esta mensagem, cheque a sua pasta de spam. updated: A sua conta foi alterada com sucesso. diff --git a/config/locales/devise.pt.yml b/config/locales/devise.pt.yml index 64f2a2a90a..9b44bbf00c 100644 --- a/config/locales/devise.pt.yml +++ b/config/locales/devise.pt.yml @@ -12,7 +12,6 @@ pt: last_attempt: Tens mais uma tentativa antes de a tua conta ficar bloqueada. locked: A tua conta está bloqueada. not_found_in_database: "%{authentication_keys} ou palavra-passe inválida." - pending: A sua conta ainda está a ser analisada. timeout: A tua sessão expirou. Por favor, entra de novo para continuares. unauthenticated: Precisas de entrar na tua conta ou de te registares antes de continuar. unconfirmed: Tens de confirmar o teu endereço de email antes de continuar. @@ -21,7 +20,6 @@ pt: action: Verificar o endereço de e-mail action_with_app: Confirmar e regressar a %{app} explanation: Criaste uma conta em %{host} com este endereço de e-mail. Estás a um clique de activá-la. Se não foste tu que fizeste este registo, por favor ignora esta mensagem. - explanation_when_pending: Você se candidatou a um convite para %{host} com este endereço de e-mail. Depois de confirmar o seu endereço de e-mail, iremos rever a sua candidatura. Você não poderá fazer login até lá. Se a sua candidatura for rejeitada, os seus dados serão removidos, pelo que não será necessária qualquer acção adicional da sua parte. Se não foi você, ignore este e-mail. extra_html: Por favor lê as regras da instância e os nossos termos de serviço. subject: 'Mastodon: Instruções de confirmação %{instance}' title: Verificar o endereço de e-mail @@ -62,7 +60,6 @@ pt: signed_up: Bem-vindo! A tua conta foi registada com sucesso. signed_up_but_inactive: A tua conta foi registada. No entanto ainda não está activa. signed_up_but_locked: A tua conta foi registada. No entanto está bloqueada. - signed_up_but_pending: Uma mensagem com um link de confirmação foi enviada para o seu endereço de e-mail. Depois de clicar no link, iremos rever a sua candidatura. Você será notificado se for aprovado. signed_up_but_unconfirmed: Uma mensagem com um link de confirmação foi enviada para o teu email. Por favor segue esse link para activar a tua conta. update_needs_confirmation: Alteraste o teu endereço de email ou palavra-passe, mas é necessário confirmar essa alteração. Por favor vai ao teu email e segue link que te enviámos. updated: A tua conta foi actualizada com sucesso. diff --git a/config/locales/devise.ru.yml b/config/locales/devise.ru.yml index a1bf05b2d9..2186066c9d 100644 --- a/config/locales/devise.ru.yml +++ b/config/locales/devise.ru.yml @@ -12,17 +12,14 @@ ru: last_attempt: У Вас есть последняя попытка, после чего вход будет заблокирован. locked: Ваш аккаунт заблокирован. not_found_in_database: Неверно введены %{authentication_keys} или пароль. - pending: Ваша учетная запись все еще находится на просмотре. timeout: Ваша сессия истекла. Пожалуйста, войдите снова, чтобы продолжить. unauthenticated: Вам необходимо войти или зарегистрироваться. unconfirmed: Вам необходимо подтвердить ваш адрес e-mail для продолжения. mailer: confirmation_instructions: action: Подтвердите e-mail адрес - action_with_app: Подтверждение и возврат в %{app} explanation: Вы создали учётную запись на сайте %{host}, используя этот e-mail адрес. Остался лишь один шаг для активации. Если это были не вы, просто игнорируйте письмо. - explanation_when_pending: Вы подали заявку на приглашение на адрес электронной почты %{host}. Как только вы подтвердите свой адрес электронной почты, мы рассмотрим ваше заявление. Ты не сможешь войти до тех пор. Если ваше заявление будет отклонено, ваши данные будут удалены, поэтому никаких дальнейших действий от вас не потребуется. Если это был не ты, пожалуйста, проигнорируй это письмо. - extra_html: Также обратитесь к правилам экземпляра и нашим условиям использования. + extra_html: Пожалуйста, ознакомьтесь правилами узла and условиями пользования Сервисом. subject: 'Mastodon: Инструкция по подтверждению на узле %{instance}' title: Подтвердите e-mail адрес email_changed: @@ -62,7 +59,6 @@ ru: signed_up: Добро пожаловать! Вы успешно зарегистрировались. signed_up_but_inactive: Вы успешно зарегистрировались. Тем не менее, мы не можем авторизовать Вас, поскольку Ваш аккаунт еще не активирован. signed_up_but_locked: Вы успешно зарегистрировались. Тем не менее, мы не можем авторизовать Вас, поскольку Ваш аккаунт заблокирован. - signed_up_but_pending: На ваш электронный адрес только что было отправлено сообщение со ссылкой для подтверждения. После нажатия на ссылку мы рассмотрим ваш запрос. Вы будете уведомлены, если он будет одобрен. signed_up_but_unconfirmed: Сообщение со ссылкой для подтверждения было выслано на Ваш адрес e-mail. Пожалуйста, пройдите по ссылке для активации Вашего аккаунта. update_needs_confirmation: Вы успешно обновили Ваш аккаунт, но нам нужно подтвердить ваш новый адрес e-mail. Пожалуйста, проверьте почту и пройдите по ссылке для подтверждения Вашего нового адреса. updated: Ваш аккаунт был успешно обновлен. diff --git a/config/locales/es.yml b/config/locales/es.yml index 579481b5a4..bcc3fe62ca 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -4,36 +4,25 @@ es: about_hashtag_html: Estos son toots públicos etiquetados con #%{hashtag}. Puedes interactuar con ellos si tienes una cuenta en cualquier parte del fediverso. about_mastodon_html: Mastodon es un servidor de red social libre y de código abierto. Una alternativa descentralizada a plataformas comerciales, que evita el riesgo de que una única compañía monopolice tu comunicación. Cualquiera puede ejecutar Mastodon y participar sin problemas en la red social. about_this: Acerca de esta instancia - active_count_after: activo - active_footnote: Usuarios Activos Mensuales (UAM) administered_by: 'Administrado por:' api: API apps: Aplicaciones móviles - apps_platforms: Utiliza Mastodon desde iOS, Android y otras plataformas - browse_directory: Busca perfiles de acuerdo a tus aficiones - browse_public_posts: Navega por la cronología pública en Mastodon contact: Contacto contact_missing: No especificado contact_unavailable: N/A - discover_users: Descubra a nuevas personas documentation: Documentación extended_description_html: |

Un buen lugar para las reglas

La descripción extendida no se ha colocado aún.

- federation_hint_html: Con una cuenta en %{instance}, podrás rastrear personas en cualquier instancia de Mastodon y más allá. generic_description: "%{domain} es un servidor en la red" - get_apps: Pruebe una aplicación móvil hosted_on: Mastodon hosteado en %{domain} learn_more: Aprende más privacy_policy: Política de privacidad - see_whats_happening: Vea lo que sucede - server_stats: 'Estadísticas de la instancia:' source_code: Código fuente status_count_after: one: estado other: estados status_count_before: Qué han escrito - tagline: Sigue a tus amigos y descubre a otros terms: Condiciones de servicio user_count_after: one: usuario @@ -71,7 +60,6 @@ es: unfollow: Dejar de seguir admin: account_actions: - action: Realizar una acción title: Moderar %{acct} account_moderation_notes: create: Crear @@ -79,7 +67,6 @@ es: delete: Borrar destroyed_msg: "¡Nota de moderación destruida con éxito!" accounts: - approve: Aprobar are_you_sure: "¿Estás seguro?" avatar: Avatar by_domain: Dominio @@ -101,8 +88,8 @@ es: display_name: Nombre domain: Dominio edit: Editar - email: Email - email_status: Email status + email: E-mail + email_status: E-mail Status enable: Habilitar enabled: Habilitada feed_url: URL de notificaciones @@ -113,7 +100,6 @@ es: inbox_url: URL de la bandeja de entrada invited_by: Invitado por ip: IP - joined: Registrado desde location: all: Todos local: Local @@ -125,7 +111,6 @@ es: moderation: active: Activo all: Todos - pending: Pendiente silenced: Silenciados suspended: Suspendidos title: Moderación @@ -135,17 +120,14 @@ es: no_limits_imposed: Sin límites impuestos not_subscribed: No se está suscrito outbox_url: URL de bandeja de salida - pending: A la espera de la moderación perform_full_suspension: Suspender profile_url: URL del perfil promote: Promocionar protocol: Protocolo public: Público push_subscription_expires: Expiración de la suscripción PuSH - redownload: Refrescar el perfil - reject: Rechazar + redownload: Refrescar avatar remove_avatar: Eliminar el avatar - remove_header: Eliminar la cabecera resend_confirmation: already_confirmed: Este usuario ya está confirmado send: Reenviar el correo electrónico de confirmación @@ -161,29 +143,27 @@ es: user: Usuario salmon_url: URL de salmón search: Buscar - shared_inbox_url: URL de la bandeja de entrada compartida + shared_inbox_url: URL de bandeja compartida show: - created_reports: Reportes realizados - targeted_reports: Reportado por otros + created_reports: Reportes hechos por esta cuenta + targeted_reports: Reportes hechos sobre esta cuenta silence: Silenciar silenced: Silenciado statuses: Estados subscribe: Suscribir suspended: Susependido title: Cuentas - unconfirmed_email: Correo electrónico no confirmado + unconfirmed_email: Correo electrónico sin confirmar undo_silenced: Des-silenciar undo_suspension: Des-suspender unsubscribe: Desuscribir username: Nombre de usuario - warn: Aviso de advertencia web: Web action_logs: actions: assigned_to_self_report: "%{name} se ha asignado la denuncia %{target} a sí mismo" change_email_user: "%{name} ha cambiado la dirección de correo del usuario %{target}" confirm_user: "%{name} confirmó la dirección de correo del usuario %{target}" - create_account_warning: "%{name} envió una atención a %{target}" create_custom_emoji: "%{name} subió un nuevo emoji %{target}" create_domain_block: "%{name} bloqueó el dominio %{target}" create_email_domain_block: "%{name} puso en lista negra el dominio de correos %{target}" @@ -242,7 +222,6 @@ es: config: Configuración feature_deletions: Borrados de cuenta feature_invites: Enlaces de invitación - feature_profile_directory: Directorio de perfiles feature_registrations: Registros feature_relay: Relés de federación features: Características @@ -260,7 +239,7 @@ es: week_users_active: activo esta semana week_users_new: usuarios esta semana domain_blocks: - add_new: Añadir un nuevo bloque de dominio + add_new: Añadir nuevo created_msg: El bloque de dominio está siendo procesado destroyed_msg: El bloque de dominio se deshizo domain: Dominio @@ -277,11 +256,6 @@ es: reject_media_hint: Remueve localmente archivos multimedia almacenados para descargar cualquiera en el futuro. Irrelevante para suspensiones reject_reports: Rechazar informes reject_reports_hint: Ignore todos los reportes de este dominio. Irrelevante para suspensiones - rejecting_media: rechazo de archivos multimedia - rejecting_reports: rechazar un informe - severity: - silence: silenciada - suspend: suspendido show: affected_accounts: one: Una cuenta en la base de datos afectada @@ -291,7 +265,7 @@ es: suspend: Des-suspender todas las cuentas existentes de este dominio title: Deshacer bloque de dominio para %{domain} undo: Deshacer - undo: Deshacer el bloque de dominio + undo: Deshacer email_domain_blocks: add_new: Añadir nuevo created_msg: Dominio de correo añadido a la lista negra con éxito @@ -302,25 +276,8 @@ es: create: Añadir dominio title: Nueva entrada en la lista negra de correo title: Lista negra de correo - followers: - back_to_account: Volver a la cuenta - title: Suscriptores de %{acct} instances: - by_domain: Dominio - delivery_available: Entrega disponible - known_accounts: - one: "%{count} cuenta conocida" - other: "%{count} cuentas conocidas" - moderation: - all: Todo - limited: Limitado - title: Moderación - title: Federación - total_blocked_by_us: Bloqueado por nosotros - total_followed_by_them: Seguido por ellos - total_followed_by_us: Seguido por nosotros - total_reported: Alertas sobre ellos - total_storage: Archivos adjuntos + title: Instancias conocidas invites: deactivate_all: Desactivar todos filter: @@ -397,14 +354,11 @@ es: desc_html: Mostrado en múltiples páginas. Se recomienda un tamaño mínimo de 293x205px. Cuando no se especifica, se muestra la mascota por defecto title: Imagen de la mascota peers_api_enabled: - desc_html: Nombres de los dominios que esta instancia ha descubierto en el fediverso - title: Publicar la lista de instancias descubiertas + desc_html: Nombres de dominio que esta instancia ha encontrado en el fediverso + title: Publicar lista de instancias descubiertas preview_sensitive_media: desc_html: Los enlaces de vistas previas en otras web mostrarán una miniatura incluso si el medio está marcado como contenido sensible title: Mostrar contenido sensible en previews de OpenGraph - profile_directory: - desc_html: Permitir que los usuarios sean descubiertos - title: Activar el directorio de los perfiles registrations: closed_message: desc_html: Se muestra en la portada cuando los registros están cerrados. Puedes usar tags HTML @@ -415,12 +369,6 @@ es: min_invite_role: disabled: Nadie title: Permitir invitaciones de - registrations_mode: - modes: - approved: Se requiere aprobación para el registro - none: Nadie puede registrarse - open: Cualquiera puede registrarse - title: Métodos de registro show_known_fediverse_at_about_page: desc_html: Cuando esté activado, se mostrarán toots de todo el fediverso conocido en la vista previa. En otro caso, se mostrarán solamente toots locales. title: Mostrar fediverso conocido en la vista previa de la historia @@ -429,20 +377,20 @@ es: title: Mostrar parche de staff site_description: desc_html: Párrafo introductorio en la portada y en meta tags. Puedes usar tags HTML, en particular <a> y <em>. - title: Descripción de la instancia + title: Descripción de instancia site_description_extended: - desc_html: Un buen lugar para tu código de conducta, reglas, guías y otras cosas que estén impuestas aparte en tu instancia. Puedes usar etiquetas HTML + desc_html: Un buen lugar para tu código de conducta, reglas, guías y otras cosas que estén impuestas aparte en tu instancia. Puedes usar tags HTML title: Información extendida personalizada site_short_description: - desc_html: Mostrado en la barra lateral y las etiquetas de metadatos. Describa lo que hace que esta instancia de Mastodon sea específica en un solo párrafo. Si se deja en blanco, la descripción de la instancia se mostrará por defecto. - title: Breve descripción de la instancia + desc_html: Mostrado en la barra lateral y las etiquetas de metadatos. Describe lo que es Mastodon y qué hace especial a este servidor en un solo párrafo. si está vacío, pone por defecto la descripción de la instancia. + title: Descripción corta de la instancia site_terms: desc_html: Puedes escribir tus propias políticas de privacidad, términos de servicio u otras legalidades. Puedes usar tags HTML title: Términos de servicio personalizados - site_title: Nombre de la instancia + site_title: Nombre de instancia thumbnail: desc_html: Se usa para muestras con OpenGraph y APIs. Se recomienda 1200x630px - title: Miniatura de la instancia + title: Portada de instancia timeline_preview: desc_html: Mostrar línea de tiempo pública en la portada title: Previsualización @@ -467,25 +415,8 @@ es: last_delivery: Última entrega title: WebSub topic: Tópico - tags: - accounts: Comptes - hidden: Oculto - hide: Ocultar en el directorio - name: Etiqueta - title: Etiquetas - unhide: Mostrar en el directorio - visible: Visible title: Administración - warning_presets: - add_new: Añadir uno nuevo - delete: Borrar - edit: Editar - edit_preset: Editar la preselección de atención - title: Gestionar los presets de atención admin_mailer: - new_pending_account: - body: Los detalles de la nueva cuenta se detallan a continuación. Puede autorizar o rechazar esta solicitud. - subject: Nueva cuenta para revisión en %{instance} (%{username}) new_report: body: "%{reporter} ha reportado a %{target}" body_remote: Alguien de %{domain} a reportado a %{target} @@ -506,10 +437,8 @@ es: warning: Ten mucho cuidado con estos datos. ¡No los compartas con nadie! your_token: Tu token de acceso auth: - agreement_html: Al hacer click en "Registrarse" acepta seguir las reglas de la instancia y nuestros términos de uso. - apply_for_account: Solicitar una invitación + agreement_html: Al hacer click en "Registrarse" acepta seguir las reglas de la instancia y nuestros términos de servicio. change_password: Contraseña - checkbox_agreement_html: Acepto las reglas de la instancia y las condiciones de uso confirm_email: Confirmar email delete_account: Borrar cuenta delete_account_html: Si desea eliminar su cuenta, puede proceder aquí. Será pedido de una confirmación. @@ -525,12 +454,10 @@ es: cas: CAS saml: SAML register: Registrarse - registration_closed: "%{instance} no admite nuevos miembros" resend_confirmation: Volver a enviar el correo de confirmación reset_password: Restablecer contraseña security: Cambiar contraseña set_new_password: Establecer nueva contraseña - trouble_logging_in: "¿Problemas de conexión?" authorize_follow: already_following: Ya estás siguiendo a esta cuenta error: Desafortunadamente, ha ocurrido un error buscando la cuenta remota @@ -562,22 +489,12 @@ es: description_html: Esto removerá el contenido de tu cuenta y la desactivará permanente e irrevesiblemente. Tu nombre de usuario quedará reservado para prevenir futuros robos de identidad. proceed: Eliminar cuenta success_msg: Tu cuenta se eliminó con éxito - warning_html: Sólo se garantiza la eliminación del contenido de esta instancia. Es probable que el contenido que se ha compartido deje rastros. Las instancias fuera de línea, así como aquellas que ya no están suscritas a tus publicaciones, no actualizarán sus bases de datos. + warning_html: Se garantiza únicamente la eliminación del contenido de esta instancia. El contenido que se haya compartido extensamente dejará sus huellas. Los servidores fuera de línea y los que se hayan desuscrito de tus actualizaciones ya no actualizarán sus bases de datos. warning_title: Disponibilidad diseminada del contenido - directories: - directory: Directorio de perfiles - enabled: Actualmente se encuentra en el directorio. - enabled_but_waiting: Usted ha elegido ser incluido en el directorio, pero aún no tiene el número mínimo de seguidores (%{min_followers}} para ser incluido. - explanation: Descubrir a los usuarios en función de sus intereses - explore_mastodon: Explorar %{title} - how_to_enable: Aún no se encuentra en el directorio. Puede registrarse a continuación. ¡Utilice etiquetas en su texto biográfico para que aparezca en la lista de hashtags específicos! - people: - one: "%{count} persona" - other: "%{count} personas" errors: '403': No tienes permiso para acceder a esta página. - '404': La página que está buscando no existe. - '410': La página que está buscando ya no existe. + '404': La página que estabas buscando no existe. + '410': La página que estabas buscando no existe más. '422': content: Verificación de seguridad fallida. ¿Estás bloqueando algunas cookies? title: Verificación de seguridad fallida @@ -590,21 +507,15 @@ es: archive_takeout: date: Fecha download: Descargar tu archivo - hint_html: Puede solicitar un archivo de sus pouets y medios subidos. Los datos exportados estarán en formato ActivityPub, legibles por cualquier software compatible. Puede solicitar un archivo cada 7 días. + hint_html: Puedes solicitar un archivo de tus toots y materiales subidos. Los datos exportados estarán en formato ActivityPub, legibles por cualquier software compatible. in_progress: Recopilando tu archivo... request: Solicitar tu archivo size: Tamaño blocks: Personas que has bloqueado csv: CSV - domain_blocks: Bloqueo de dominios follows: Personas que sigues - lists: Listas mutes: Tienes en silencio storage: Almacenamiento - featured_tags: - add_new: Añadir una nueva etiqueta - errors: - limit: Ya ha resaltado el número máximo de etiquetas filters: contexts: home: Timeline propio @@ -626,39 +537,17 @@ es: more: Mas… resources: Recursos generic: - all: Todo changes_saved_msg: "¡Cambios guardados con éxito!" copy: Copiar save_changes: Guardar cambios validation_errors: one: "¡Algo no está bien! Por favor, revisa el error" other: "¡Algo no está bien! Por favor, revise %{count} errores más abajo" - identity_proofs: - active: Activo - authorize: Sí, autorizar - authorize_connection_prompt: Permitir esta conexión criptográfica? - errors: - failed: La conexión criptográfica falló. Por favor, inténtelo de nuevo desde %{provider}. - keybase: - invalid_token: Los tokens Keybase son hashes de firma y deben tener una longitud de 66 caracteres hexa - verification_failed: Keybase no reconoce este token como una firma de la base de claves de usuario %{kb_username}. Por favor, inténtelo de nuevo desde Keybase. - explanation_html: Aquí puede conectar criptográficamente sus otras identidades, como por ejemplo un perfil Keybase. Esto permite que otras personas te envíen mensajes cifrados y confíen en el contenido que tú les envías. - i_am_html: Estoy %{username} sobre %{service}. - identity: Identidad - inactive: Inactivo - status: Estado de la verificación - view_proof: Ver prueba imports: - modes: - merge: Fusionar - merge_long: Mantenga los registros existentes y añada otros nuevos - overwrite: Reescribir - overwrite_long: Sustituir los registros actuales por otros nuevos - preface: Puede importar algunos datos que haya exportado desde otra instancia, como una lista de personas a las que está siguiendo o bloqueando en su cuenta. + preface: Puedes importar ciertos datos, como todas las personas que estás siguiendo o bloqueando en tu cuenta en esta instancia, desde archivos exportados de otra instancia. success: Sus datos se han cargado correctamente y serán procesados en brevedad types: blocking: Lista de bloqueados - domain_blocking: Lista de instancias bloqueadas following: Lista de seguidos muting: Lista de silenciados upload: Cargar @@ -680,7 +569,7 @@ es: one: 1 uso other: "%{count} usos" max_uses_prompt: Sin límite - prompt: Generar y compartir enlaces con otros para proporcionar acceso a esta instancia + prompt: Generar y compartir enlaces con otros para conceder acceso a este nodo table: expires_at: Expira uses: Usos @@ -750,57 +639,21 @@ es: older: Más antiguo prev: Anterior truncate: "…" - polls: - errors: - already_voted: Usted ya ha votado sobre esta encuesta - duplicate_options: contiene duplicados - duration_too_long: está demasiado lejos en el futuro - duration_too_short: es demasiado pronto - expired: Esta encuesta ya ha sido completada - over_character_limit: no puede ser mayor que %{max} caracteres cada uno - too_few_options: debe tener más de una propuesta - too_many_options: no podrá contener más de %{max} propuestas preferences: languages: Idiomas other: Otros publishing: Publicación web: Web - relationships: - activity: Actividad de la cuenta - dormant: Dormido - moved: Mudado - mutual: Mutuo - primary: Primaria - relationship: Relación - remove_selected_domains: Eliminar todos los suscriptores de las instancias seleccionadas - remove_selected_followers: Eliminar suscriptores seleccionados - remove_selected_follows: Dejar de seguir a los usuarios seleccionados - status: Estado de cuenta remote_follow: acct: Ingesa tu usuario@dominio desde el que quieres seguir missing_resource: No se pudo encontrar la URL de redirección requerida para tu cuenta no_account_html: "¿No tienes una cuenta? Puedes registrarte aqui" proceed: Proceder a seguir prompt: 'Vas a seguir a:' - reason_html: "¿Por qué es necesario este paso? Es possible que %{instance} no sea la instancia donde te registraste, así que necesitamos redirigirte primero a tu instancia base." - remote_interaction: - favourite: - proceed: Confirmar la adición a favoritos - prompt: 'Quieres hacer de este piojo un favorito:' - reblog: - proceed: Confirmar la repartición - prompt: 'Quieres compartir este piojo de nuevo:' - reply: - proceed: Confirme la respuesta - prompt: 'Quieres responder a este toot:' remote_unfollow: error: Error title: Título unfollowed: Ha dejado de seguirse - scheduled_statuses: - over_daily_limit: Ha excedido el límite de %{limit} toots planificadas para este día - over_total_limit: Ha excedido el límite de %{limit} toots planificadas - too_soon: La fecha prevista debe ser en el futuro sessions: activity: Última actividad browser: Navegador @@ -849,13 +702,10 @@ es: development: Desarrollo edit_profile: Editar perfil export: Exportar información - featured_tags: Etiquetos presentados - identity_proofs: Pruebas de identidad import: Importar migrate: Migración de cuenta notifications: Notificaciones preferences: Preferencias - relationships: Suscripciones y suscriptores settings: Ajustes two_factor_authentication: Autenticación de dos factores your_apps: Tus aplicaciones @@ -881,11 +731,6 @@ es: ownership: El toot de alguien más no puede fijarse private: Los toots no-públicos no pueden fijarse reblog: Un boost no puede fijarse - poll: - total_votes: - one: "%{count} voto" - other: "%{count} votos" - vote: Votar show_more: Mostrar más sign_in_to_participate: Regístrate para participar en la conversación title: '%{name}: "%{quote}"' @@ -901,92 +746,11 @@ es: reblogged: retooteado sensitive_content: Contenido sensible terms: - body_html: | -

Política de Privacidad

-

¿Qué información recopilamos?

- -
    -
  • Basic account information: Si te resgitras en este servidor, se te podrá solicitar que introduzcas un nombre de usuario, una dirección de correo electrónico y una contraseña. También podrás introducir información extra de perfil tal como un nombre a mostrar, una biografía, y subir una imagen de perfil y de cabecera. El nombre de usuario, nombre a mostrar, biografía e imágenes de perfil y cabecera siempre serán públicos.
  • -
  • Publicaciones, seguidores y otra infomración pública: La lista de usuarios que sigues se muestra de forma pública, al igual que la lista de usuarios que te siguen. Cuando envías un mensaje, la fecha y hora se almacenan al igual que la plicación utilizada para enviarlo. Los mensajes pueden contener ficheros adjuntos, como imágenes o vídeos. Las publicaciones públicas y no listadas están disponibles de forma pública. Cuando destacas una publicación en tu perfil, esta infomración también se muestra de forma pública. Tus publicaciones son enviadas a tus seguidores, lo que en algunos casos significa que son enviados a diferentes servidores y se almacenan copias allí. Cuando borras una publicación, esta acción también es enviada a tus seguidores. La acción de republicar y marcar como favorita una publicación siempre es pública.
  • -
  • Publicaciones directas y sólo a seguidores: Todas las publicaciones se almacenan y procesan en el servidor. Las publicaciones solo para los seguidores sólo se envían a tus seguidores y a los usuarios mencionados en ellas, y las publicaciones directas son enviadas únicamente a los usuarios mencionados en ellas. en algunos casos signifca que son enviadas a diferentes servidores que almacenarán copias de ellas. Hacemos un esfuerzo de buena fe al limitar el acceso a estas publicaciones únicamente a las personas autorizadas, pero otros servidores pueden no hacerlo. Por ello es importante revisar los servidores a los que pertenecen tus segidores. Puedes marcar una opción para apribar o rechazar seguidores manualmente en las preferencias. Por favor, recuerda que los operadores del servidor y de los servidores receptores podrían ver esos mensajes, y los receptores podrían hacer capturas de pantalla, copiar o recompartirlas. No compartas infomración peligrosa en Mastodon.
  • -
  • IPs y otros metadatos: Cuando accedes al servicio, grabamos la dirección IP desde la que accedes, al igual que el nombre de tu aplicación de navegación. Toda la información registrada en las sesiones está disponible para tu revisión y poder revocarla en las preferencias. La última dirección IP almacenada puede ser de hasta 12 meses atrás. También guardamos logs de servidor, lo que incluye la dirección IP de cada petición a nuestros servidores.
  • -
- -
- -

¿Para qué utilizamos tu información?

- -

Cualquier información que recolectemos sobre tí podrá usarse de las siguientes maneras:

- -
    -
  • TPra proveer la funcionalidad central de Mastodon. solo podrás interactuar con el contenido de otros usuarios y publicar tu propio contenido cuando estés conectado. Por ejemplo: puedes seguir a otros usuarios y ver sus publicaciones combinadas en tu timeline propio personalizado.
  • -
  • Ayudar a la moderación de la comunidad, por ejemplo comparando tu IP con las de otras cuentas para verificar evasión de prohibiciones de acceso u otras acciones no permitidas.
  • -
  • La dirección de correo que proveas puede ser utilizada para enviarte infomración, notificaciones sobre otros usuarios interactuando con tu conetenido o enviándote mensahes, y para responder a preguntas y/o peticiones.
  • -
- -
- -

¿Cómo protegemos la información?

- -

Implementamos una variedad de medidas de seguridad para mantener a salvo tu infomración personal cuando entroduces, envías o accedes a tu información personal. entre otras cosas, tu sesión de navegador, al igual que el tráfico entre tus aplicaciones y la API, están securizadas mediante SSL, y tu password es encriptado mediante un potente algoritmo. Puedes activar el doble factor de autenticación para aumentar la seguridad de tu cuenta.

- -
- -

¿Cuál es nuestra política de retención de datos?

- -

Hacemos un esfuerzo de buena fé para:

- -
    -
  • Mantener los registros de servidor conteniendo la dirección IP de todas las peticiones a este servidor mientras se mantiene estos registros, que no es mas de 90 días.
  • -
  • Mantener las direcciones IP asociadas con usuarios registrados no mas de 12 meses.
  • -
- -

Puedes solicitar y descargar un archivo con tu contenido, incluyendo tus publicaciones, adjuntos multimedia, imagen de perfil y de cabecera.

- -

Puedes borrar irreversiblemente tu cuenta en cualquier momento.

- -
- -

¿Usamos cookies?

- -

Yes. Los Cookies son ficheros pequeños que un sitio o proveedor de servicio transfieren al disco duro de tu ordenador via tu nevgador web (si así lo permites). Estos cookies permiten al sitio reconocer tu navegador web y, si tienes una cuenta registrada, para asociarlo con dicha cuenta.

- -

Usamos cookies pra comprender y guardar tus preferencias para futuras visitas.

- -
- -

¿Damos alguna información a terceras partes?

- -

No vendemos, comerciamos o transferimos a terceras partes tu información identificable. Esto no incluye a sitios de confianza que nos ayudan a operar el sitio, llevar a cabo nuestro negocio o darte servicio, mientras estas partes acuerden a mantener dicha infomración de forma confidencial. Podríamos revelar tu información si creyéramos oportuno para cumplir con las leyes establecidas, aplicar las políticas de nuestro sitio, o proteger los derechos de otros usuarios como propiedad o seguridad.

- -

Tu contendio público podría ser descargado por otros servidores en la red. Tus publicaciones y las marcadas como "solo para tus seguidores" son enviadas a los servidores donde residen tus seguidores, y los mensajes directos son enviados a los servidores de los receptores, que podrían residir en un servidor diferente a este.

- -

Cuando autorizas a una aplicación a utilizar tu cuenta, dependiendo del alcance de los permisos que apruebes, podría tener acceso la información públcia de tu perfil, tu lista de seguidores, de usuarios a los que sigues, tus listas, todas tus publicaciones y tus favoritos. Las aplicaciones nuca pueden acceder a tu dirección de correo electrónico ni a tu password.

- -
- -

Uso de este sitio por niños

- -

Si este servidor se ubica en la Unión Europea o EEA: nuestro sitio, productos y servidios están dirigidos a personas de al menos 16 años. Si tu edad es inferior a los 16, por requerimientos de la GDPR (General Data Protection Regulation) no uses este sitio.

- -

Si este servidor está en Estados Unidos: nuestro sitio, productos y servidios están dirigidos a personas de al menos 13 años, por requerimientos de la COPPA (Children's Online Privacy Protection Act) no uses este sitio.

- -

Los requerimientos legales pueden ser diferentes si este servidor se encuentra en otra jurisdicción.

- -
- -

Cambios en nuestra política de privacidad

- -

Si decidimos cambiar nuestra olítica de privacidad, publicaremos los cambios en esta página.

- -

Este documento es CC-BY-SA. Fue actualizado por última vez el 7 de Marzo de 2018.

- -

Adaptado originalmente de Discurso de política de privacidad.

title: Términos del Servicio y Políticas de Privacidad de %{instance} themes: - contrast: Mastodon (Alto contraste) - default: Mastodon (Oscuro) - mastodon-light: Mastodon (Claro) + contrast: Alto contraste + default: Mastodon + mastodon-light: Mastodon (claro) time: formats: default: "%d de %b del %Y, %H:%M" @@ -1012,22 +776,6 @@ es: explanation: Has solicitado una copia completa de tu cuenta de Mastodon. ¡Ya está preparada para descargar! subject: Tu archivo está preparado para descargar title: Descargar archivo - warning: - explanation: - disable: Mientras su cuenta esté congelada, los datos de su cuenta permanecerán intactos, pero no podrá realizar ninguna acción hasta que se desbloquee. - silence: Cuando tu cuenta es limitada, sólo los usuarios que ya te están siguiendo verán tus pouets en este servidor, y puedes ser excluido de varias listas públicas. Sin embargo, otros usuarios pueden seguirte manualmente. - suspend: Su cuenta ha sido suspendida, y todos sus pouets y archivos multimedia descargados han sido borrados irreversiblemente de este servidor, y de los servidores donde usted tenía suscriptores. - review_server_policies: Revisar las políticas de la instancia - subject: - disable: Su cuenta %{acct} ha sido congelada - none: Advertencia para %{acct} - silence: Su cuenta %{acct} ha sido limitada - suspend: Su cuenta %{acct} ha sido suspendida - title: - disable: Cuenta congelada - none: Aviso de advertencia - silence: Cuenta limitada - suspend: Cuenta suspendida welcome: edit_profile_action: Configurar el perfil edit_profile_step: Puedes personalizar tu perfil subiendo un avatar, una cabecera, cambiando tu nombre de usuario y más cosas. Si quieres revisar a tus nuevos seguidores antes de que se les permita seguirte, puedes bloquear tu cuenta. @@ -1035,7 +783,7 @@ es: final_action: Empezar a publicar final_step: '¡Empieza a publicar! Incluso sin seguidores, tus mensajes públicos pueden ser vistos por otros, por ejemplo en la linea de tiempo local y con "hashtags". Podrías querer introducirte con el "hashtag" #introductions.' full_handle: Su sobrenombre completo - full_handle_hint: Esto es lo que le dirías a tus amigos para que te envíen un mensaje o te sigan desde otra instancia. + full_handle_hint: Esto es lo que le dirías a tus amigos para que ellos puedan enviarte mensajes o seguirte desde otra instancia. review_preferences_action: Cambiar preferencias review_preferences_step: Asegúrate de poner tus preferencias, como que correos te gustaría recibir, o que nivel de privacidad te gustaría que tus publicaciones tengan por defecto. Si no tienes mareos, podrías elegir habilitar la reproducción automática de "GIFs". subject: Bienvenido a Mastodon @@ -1043,7 +791,7 @@ es: tip_following: Sigues a tus administradores de servidor por defecto. Para encontrar más gente interesante, revisa las lineas de tiempo local y federada. tip_local_timeline: La linea de tiempo local is una vista de la gente en %{instance}. Estos son tus vecinos inmediatos! tip_mobile_webapp: Si el navegador de tu dispositivo móvil ofrece agregar Mastodon a tu página de inicio, puedes recibir notificaciones. Actúa como una aplicación nativa en muchas formas! - tips: Trucos + tips: Tips title: Te damos la bienvenida a bordo, %{name}! users: follow_limit_reached: No puedes seguir a más de %{limit} personas diff --git a/config/locales/fr.yml b/config/locales/fr.yml index fe2880ddf3..0d5dd08ad8 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -4,36 +4,25 @@ fr: about_hashtag_html: Figurent ci-dessous les pouets tagués avec #%{hashtag}. Vous pouvez interagir avec eux si vous avez un compte n’importe où dans le Fediverse. about_mastodon_html: Mastodon est un réseau social utilisant des formats ouverts et des logiciels libres. Comme le courriel, il est décentralisé. about_this: À propos - active_count_after: actif·ve·s - active_footnote: Utilisateur·ice·s Actif·ve·s par Mois (UAM) administered_by: 'Administrée par :' api: API apps: Applications mobiles - apps_platforms: Utilisez Mastodon depuis iOS, Android et d'autres plateformes - browse_directory: Parcourez les profils selon vos hobbies - browse_public_posts: Parcourez la timeline publique sur Mastodon contact: Contact contact_missing: Manquant contact_unavailable: Non disponible - discover_users: Découvrez de nouvelles personnes documentation: Documentation extended_description_html: |

Un bon endroit pour les règles

La description étendue n’a pas été remplie.

- federation_hint_html: Avec un compte sur %{instance}, vous pourrez suivre des gens sur n'importe quelle instance Mastodon et au-delà. generic_description: "%{domain} est seulement un serveur du réseau" - get_apps: Essayez une application mobile hosted_on: Instance Mastodon hébergée par %{domain} learn_more: En savoir plus privacy_policy: Politique de vie privée - see_whats_happening: Voyez ce qu'il se passe - server_stats: 'Statistiques de l''instance :' source_code: Code source status_count_after: one: Statut other: Statuts status_count_before: Ayant publié - tagline: Suivez vos ami·e·s et découvrez-en d'autres terms: Conditions d'utilisation user_count_after: one: utilisateur @@ -48,7 +37,7 @@ fr: other: Abonné⋅e⋅s following: Abonnements joined: Inscrit·e en %{date} - last_active: dernière activité + last_active: actif dernièrement link_verified_on: La propriété de ce lien a été vérifiée le %{date} media: Médias moved_html: "%{name} a changé de compte pour %{new_profile_link} :" @@ -79,7 +68,6 @@ fr: delete: Supprimer destroyed_msg: Note de modération supprimée avec succès ! accounts: - approve: Approuver are_you_sure: Êtes-vous certain⋅e ? avatar: Avatar by_domain: Domaine @@ -125,7 +113,6 @@ fr: moderation: active: Actif all: Tous - pending: En attente silenced: Masqués suspended: Suspendus title: Modération @@ -135,7 +122,6 @@ fr: no_limits_imposed: Aucune limite imposée not_subscribed: Non abonné outbox_url: URL de sortie - pending: En attente de modération perform_full_suspension: Suspendre profile_url: URL du profil promote: Promouvoir @@ -143,7 +129,6 @@ fr: public: Publique push_subscription_expires: Expiration de l’abonnement PuSH redownload: Rafraîchir le profil - reject: Rejeter remove_avatar: Supprimer l’avatar remove_header: Supprimer l'entête resend_confirmation: @@ -260,7 +245,7 @@ fr: week_users_active: actif·ve·s cette semaine week_users_new: utilisateur·rice·s cette semaine domain_blocks: - add_new: Ajouter un nouveau blocage de domaine + add_new: Ajouter un nouveau bloqueur de domaine created_msg: Le blocage de domaine est désormais activé destroyed_msg: Le blocage de domaine a été désactivé domain: Domaine @@ -280,7 +265,7 @@ fr: rejecting_media: rejet des fichiers multimédia rejecting_reports: rejet de rapports severity: - silence: réduit au silence + silence: silencié suspend: suspendu show: affected_accounts: @@ -291,7 +276,7 @@ fr: suspend: Annuler la suspension sur tous les comptes existants pour ce domaine title: Annuler le blocage de domaine pour %{domain} undo: Annuler - undo: Annuler le blocage de domaine + undo: Annuler le bloqueur de domaine email_domain_blocks: add_new: Ajouter created_msg: Le blocage de domaine de courriel est désormais activé @@ -389,7 +374,7 @@ fr: username: Entrez un nom d’utilisateur⋅ice custom_css: desc_html: Modifier l'apparence avec une CSS chargée sur chaque page - title: CSS personalisé + title: CSS personnalisé hero: desc_html: Affichée sur la page d’accueil. Au moins 600x100px recommandé. Lorsqu’elle n’est pas définie, se rabat sur la vignette de l’instance title: Image d’en-tête @@ -415,12 +400,6 @@ fr: min_invite_role: disabled: Personne title: Autoriser les invitations par - registrations_mode: - modes: - approved: Approbation requise pour l'inscription - none: Personne ne peut s'inscrire - open: N'importe qui peut s'inscrire - title: Modes d'inscription show_known_fediverse_at_about_page: desc_html: Lorsque l’option est activée, les pouets provenant de toutes les instances connues sont affichés dans la prévisualisation. Sinon, seuls les pouets locaux sont affichés. title: Afficher le fediverse connu dans la prévisualisation du fil @@ -483,9 +462,6 @@ fr: edit_preset: Éditer la présélection d'attention title: Gérer les présélections d'attention admin_mailer: - new_pending_account: - body: Les détails du nouveau compte sont ci-dessous. Vous pouvez approuver ou rejeter cette candidature. - subject: Demande de création de compte sur %{instance} (%{username}) new_report: body: "%{reporter} a signalé %{target}" body_remote: Quelqu’un de %{domain} a signalé %{target} @@ -507,9 +483,7 @@ fr: your_token: Votre jeton d’accès auth: agreement_html: En cliquant sur "S'inscrire" ci-dessous, vous souscrivez aux règles de l’instance et à nos conditions d’utilisation. - apply_for_account: Demander une invitation change_password: Mot de passe - checkbox_agreement_html: J'accepte les règles de l'instance et les conditions d'utilisation confirm_email: Confirmer mon adresse mail delete_account: Supprimer le compte delete_account_html: Si vous désirez supprimer votre compte, vous pouvez cliquer ici. Il vous sera demandé de confirmer cette action. @@ -525,12 +499,10 @@ fr: cas: CAS saml: SAML register: S’inscrire - registration_closed: "%{instance} n'accepte pas de nouveaux membres" resend_confirmation: Envoyer à nouveau les consignes de confirmation reset_password: Réinitialiser le mot de passe security: Sécurité set_new_password: Définir le nouveau mot de passe - trouble_logging_in: Problèmes de connexion ? authorize_follow: already_following: Vous suivez déjà ce compte error: Malheureusement, il y a eu une erreur en cherchant les détails du compte distant @@ -562,7 +534,7 @@ fr: description_html: Cela va supprimer votre compte et le désactiver de manière permanente et irréversible. Votre nom d’utilisateur⋅ice restera réservé afin d’éviter la confusion. proceed: Supprimer compte success_msg: Votre compte a été supprimé avec succès - warning_html: Seule la suppression du contenu depuis cette instance est garantie. Le contenu qui a été partagé est susceptible de laisser des traces. Les instances hors-ligne ainsi que celles n’étant plus abonnées à vos publications ne mettront pas leur base de données à jour. + warning_html: Seule la suppression du contenu depuis cette instance est garantie. Le contenu qui a été partagé est susceptible de laisser des traces. Les instances hors-ligne ainsi que ceux n’étant plus abonnées à vos publications ne mettront pas leur base de données à jour. warning_title: Disponibilité du contenu disséminé directories: directory: Annuaire des profils @@ -586,9 +558,6 @@ fr: content: Nous sommes désolé·e·s, mais quelque chose s’est mal passé de notre côté. title: Cette page n’est pas correcte noscript_html: Pour utiliser Mastodon, veuillez activer JavaScript. Sinon, essayez l’une des applications natives pour Mastodon pour votre plate-forme. - existing_username_validator: - not_found: impossible de trouver un compte local avec ce nom - not_found_multiple: impossible de trouver %{usernames} exports: archive_takeout: date: Date @@ -599,7 +568,7 @@ fr: size: Taille blocks: Vous bloquez csv: CSV - domain_blocks: Blocage de domaine + domain_blocks: Bloqueurs de domaine follows: Vous suivez lists: Listes mutes: Vous masquez @@ -629,30 +598,12 @@ fr: more: Davantage… resources: Ressources generic: - all: Tout changes_saved_msg: Les modifications ont été enregistrées avec succès ! copy: Copier save_changes: Enregistrer les modifications validation_errors: one: Quelque chose ne va pas ! Vérifiez l’erreur ci-dessous other: Certaines choses ne vont pas ! Vérifiez les %{count} erreurs ci-dessous - html_validator: - invalid_markup: 'contiens du code HTML invalide: %{error}' - identity_proofs: - active: Active - authorize: Oui, autoriser - authorize_connection_prompt: Autoriser cette connexion cryptographique ? - errors: - failed: La connexion cryptographique a échoué. Merci d’essayer de nouveau depuis %{provider}. - keybase: - invalid_token: Les jetons Keybase sont des hashs de signatures et doivent être 66 caractères hexa - verification_failed: Keybase ne reconnait pas ce jeton comme une signature de l’utilisateur·rice Keybase %{kb_username}. Merci de réessayer depuis Keybase. - explanation_html: Ici vous pouvez connecter cryptographiquement vos autres identités, telles qu’un profil Keybase. Ceci permet à d’autres personnes de vous envoyer des messages chiffrés et qu’elles aient confiance dans le contenu que vous leur envoyez. - i_am_html: Je suis %{username} sur %{service}. - identity: Identité - inactive: Inactive - status: Statut de la vérification - view_proof: Voir la preuve imports: modes: merge: Fusionner @@ -764,30 +715,19 @@ fr: expired: Ce sondage est déjà terminé over_character_limit: ne peuvent être plus long que %{max} caractères chacun too_few_options: doit avoir plus qu'une proposition - too_many_options: ne peut contenir plus de %{max} propositions + too_many_options: ne peut contenir plus que %{max} propositions preferences: languages: Langues other: Autre publishing: Publication web: Web - relationships: - activity: Activité du compte - dormant: Inactif - moved: Déplacé - mutual: Mutuel - primary: Primaire - relationship: Relation - remove_selected_domains: Retirer tous les abonné·e·s des instances sélectionnées - remove_selected_followers: Retirer les abonné·e·s sélectionné·e·s - remove_selected_follows: Ne plus suivre les utilisateur·ice·s sélectionné·e·s - status: Statut du compte remote_follow: acct: Entrez l’adresse profil@instance depuis laquelle vous voulez vous abonner missing_resource: L’URL de redirection n’a pas pu être trouvée no_account_html: Vous n’avez pas de compte ? Vous pouvez vous inscrire ici proceed: Confirmer l’abonnement prompt: 'Vous allez suivre :' - reason_html: "Pourquoi cette étape est-elle nécessaire? %{instance} pourrait ne pas être l'instance où vous vous êtes inscrit, et nous devons donc vous rediriger vers votre instance de base en premier." + reason_html: "Pourquoi cette étape est-elle nécessaire? %{instance} pourrait ne pas être le serveur où vous vous êtes inscrit, et nous devons donc vous rediriger vers votre serveur de base en premier." remote_interaction: favourite: proceed: Confirmer l'ajout aux favoris @@ -855,12 +795,10 @@ fr: edit_profile: Modifier le profil export: Export de données featured_tags: Hashtags mis en avant - identity_proofs: Preuves d’identité import: Import de données migrate: Migration de compte notifications: Notifications preferences: Préférences - relationships: Abonnements et abonné·e·s settings: Réglages two_factor_authentication: Identification à deux facteurs your_apps: Vos applications @@ -1022,7 +960,7 @@ fr: disable: Lorsque votre compte est gelé, les données de votre compte demeurent intactes, mais vous ne pouvez effectuer aucune action jusqu'à ce qu'il soit débloqué. silence: Lorsque votre compte est limité, seulement les utilisateurs qui vous suivent déjà verront vos pouets sur ce serveur, et vous pourriez être exclu de plusieurs listes publiques. Néanmoins, d'autres utilisateurs peuvent vous suivre manuellement. suspend: Votre compte a été suspendu, et tous vos pouets et vos fichiers multimédia téléversés ont été supprimés irréversiblement de ce serveur, et des serveurs où vous aviez des abonné⋅e⋅s. - review_server_policies: Passer en revue les politiques de l'instance + review_server_policies: Passer en revue les politiques du serveur subject: disable: Votre compte %{acct} a été gelé none: Avertissement pour %{acct} diff --git a/config/locales/ga.yml b/config/locales/ga.yml index 4087ef3319..9f586aa377 100644 --- a/config/locales/ga.yml +++ b/config/locales/ga.yml @@ -2,4 +2,3 @@ ga: about: about_hashtag_html: Is toots phoiblí iad seo atá clibáilte le #%{hashtag}. Is féidir leat idirghníomhú leo má tá cuntas agat áit ar bith sa fediverse. - about_mastodon_html: Mastodon is a social network based on open web protocols and free, open-source software. It is decentralized like e-mail. diff --git a/config/locales/it.yml b/config/locales/it.yml index 9eac0d3ee9..384ba918bd 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -4,36 +4,25 @@ it: about_hashtag_html: Questi sono i toot pubblici etichettati con #%{hashtag}. Puoi interagire con loro se hai un account nel fediverse. about_mastodon_html: Mastodon è un social network gratuito e open-source. Un'alternativa decentralizzata alle piattaforme commerciali che evita che una singola compagnia monopolizzi il tuo modo di comunicare. Scegli un server di cui ti fidi — qualunque sia la tua scelta, potrai interagire con chiunque altro. Chiunque può sviluppare un suo server Mastodon e partecipare alla vita del social network. about_this: A proposito di questo server - active_count_after: attivo - active_footnote: Utenti attivi per mese administered_by: 'Amministrato da:' api: API apps: Applicazioni Mobile - apps_platforms: Usa Mastodon da iOS, Android e altre piattaforme - browse_directory: Sfoglia un elenco di profili e filtra per interessi - browse_public_posts: Guarda in diretta i post pubblici su Mastodon contact: Contatti contact_missing: Non impostato contact_unavailable: N/D - discover_users: Scopri utenti documentation: Documentazione extended_description_html: |

Un buon posto per le regole

La descrizione estesa non è ancora stata preparata.

- federation_hint_html: Con un account su %{instance} potrai seguire persone su ogni server Mastodon e oltre. generic_description: "%{domain} è un server nella rete" - get_apps: Prova un'applicazione mobile hosted_on: Mastodon ospitato su %{domain} learn_more: Scopri altro - privacy_policy: Policy sulla Privacy - see_whats_happening: Scopri cosa sta succedendo - server_stats: 'Statistiche del server:' + privacy_policy: Politica della privacy source_code: Codice sorgente status_count_after: one: status other: status status_count_before: Che hanno pubblicato - tagline: Segui i tuoi amici e scoprine di nuovi terms: Termini di Servizio user_count_after: one: utente @@ -48,7 +37,7 @@ it: other: Seguaci following: Segui joined: Dal %{date} - last_active: ultima volta on-line + last_active: ultima attività link_verified_on: La proprietà di questo link è stata controllata il %{date} media: Media moved_html: "%{name} è stato spostato su %{new_profile_link}:" @@ -71,7 +60,7 @@ it: unfollow: Non seguire più admin: account_actions: - action: Esegui + action: Esegui azione title: Esegui azione di moderazione su %{acct} account_moderation_notes: create: Lascia nota @@ -79,7 +68,6 @@ it: delete: Elimina destroyed_msg: Nota di moderazione distrutta con successo! accounts: - approve: Approva are_you_sure: Sei sicuro? avatar: Avatar by_domain: Dominio @@ -93,7 +81,7 @@ it: confirm: Conferma confirmed: Confermato confirming: Confermando - deleted: Eliminati + deleted: Cancellato demote: Declassa disable: Disabilita disable_two_factor_authentication: Disabilita 2FA @@ -113,7 +101,7 @@ it: inbox_url: URL inbox invited_by: Invitato da ip: IP - joined: Iscritti + joined: Unito location: all: Tutto local: Locale @@ -125,7 +113,6 @@ it: moderation: active: Attivo all: Tutto - pending: In attesa silenced: Silenziati suspended: Sospesi title: Moderazione @@ -135,7 +122,6 @@ it: no_limits_imposed: Nessun limite imposto not_subscribed: Non sottoscritto outbox_url: URL outbox - pending: In attesa di esame perform_full_suspension: Sospendi profile_url: URL profilo promote: Promuovi @@ -143,7 +129,6 @@ it: public: Pubblico push_subscription_expires: Sottoscrizione PuSH scaduta redownload: Aggiorna avatar - reject: Rifiuta remove_avatar: Rimuovi avatar remove_header: Rimuovi intestazione resend_confirmation: @@ -211,7 +196,7 @@ it: update_custom_emoji: "%{name} ha aggiornato l'emoji %{target}" update_status: "%{name} stato aggiornato da %{target}" deleted_status: "(stato cancellato)" - title: Registro di controllo + title: Audit log custom_emojis: by_domain: Dominio copied_msg: Creata con successo una copia locale dell'emoji @@ -238,7 +223,7 @@ it: updated_msg: Emoji aggiornata con successo! upload: Carica dashboard: - backlog: lavori arretrati + backlog: backlogged jobs config: Configurazione feature_deletions: Cancellazioni di account feature_invites: Link di invito @@ -277,8 +262,6 @@ it: reject_media_hint: Rimuovi i file media salvati in locale e blocca i download futuri. Irrilevante per le sospensioni reject_reports: Respingi rapporti reject_reports_hint: Ignora tutti i rapporti provenienti da questo dominio. Irrilevante per sospensioni - rejecting_media: rifiuto di file multimediali - rejecting_reports: respingendo i rapporti severity: silence: silenziato suspend: sospeso @@ -307,19 +290,16 @@ it: title: Seguaci di %{acct} instances: by_domain: Dominio - delivery_available: La consegna è disponibile known_accounts: one: "%{count} account noto" other: "%{count} account noti" moderation: - all: Tutti limited: Limitato title: Moderazione title: Istanze conosciute total_blocked_by_us: Bloccato da noi total_followed_by_them: Seguito da loro total_followed_by_us: Seguito da noi - total_reported: Rapporti su di loro total_storage: Media allegati invites: deactivate_all: Disattiva tutto @@ -385,7 +365,6 @@ it: desc_html: Separa i nomi utente con virgola. Funziona solo con account locali e non bloccati. Quando vuoto, valido per tutti gli amministratori locali. title: Seguiti predefiniti per i nuovi utenti contact_information: - email: Email di lavoro username: Nome utente del contatto custom_css: desc_html: Modifica l'aspetto con il CSS caricato in ogni pagina @@ -415,17 +394,10 @@ it: min_invite_role: disabled: Nessuno title: Permetti inviti da - registrations_mode: - modes: - approved: Approvazione richiesta per la registrazione - none: Nessuno può registrarsi - open: Chiunque può registrarsi - title: Modalità di registrazione show_known_fediverse_at_about_page: desc_html: Quando attivato, mostra nell'anteprima i toot da tutte le istanze conosciute. Altrimenti mostra solo i toot locali. title: Mostra la fediverse conosciuta nell'anteprima della timeline show_staff_badge: - desc_html: Mostra il badge personale su una pagina utente title: Mostra badge staff site_description: desc_html: Paragrafo introduttivo nella pagina iniziale. Descrive ciò che rende speciale questo server Mastodon e qualunque altra cosa sia importante dire. Potete usare marcatori HTML, in particolare <a> e <em>. @@ -464,8 +436,6 @@ it: callback_url: URL Callback confirmed: Confermato expires_in: Scade in - last_delivery: Ultima consegna - title: WebSub topic: Argomento tags: accounts: Account @@ -482,14 +452,6 @@ it: edit: Modifica edit_preset: Modifica avviso predefinito title: Gestisci avvisi predefiniti - admin_mailer: - new_pending_account: - body: Qui sotto trovi le informazioni sul nuovo account. Puoi approvare o respingere la richiesta. - subject: Nuovo account da esaminare su %{instance} (%{username}) - new_report: - body: "%{reporter} ha fatto rapporto su %{target}" - body_remote: Qualcuno da %{domain} ha fatto rapporto su %{target} - subject: Nuovo rapporto per %{instance} (#%{id}) application_mailer: notification_preferences: Cambia preferenze email salutation: "%{name}," @@ -504,33 +466,24 @@ it: regenerate_token: Rigenera il token di accesso token_regenerated: Token di accesso rigenerato warning: Fa' molta attenzione con questi dati. Non fornirli mai a nessun altro! - your_token: Il tuo token di accesso auth: agreement_html: Iscrivendoti, accetti di seguire le regole del server e le nostre condizioni di servizio. - apply_for_account: Richiedi un invito change_password: Password - checkbox_agreement_html: Accetto le regole del server e le condizioni del servizio confirm_email: Conferma email delete_account: Elimina account delete_account_html: Se desideri cancellare il tuo account, puoi farlo qui. Ti sarà chiesta conferma. didnt_get_confirmation: Non hai ricevuto le istruzioni di conferma? forgot_password: Hai dimenticato la tua password? - invalid_reset_password_token: Il token per la reimpostazione della password non è valido o è scaduto. Si prega di richiederne uno nuovo. login: Entra logout: Esci da Mastodon migrate_account: Sposta ad un account differente migrate_account_html: Se vuoi che questo account sia reindirizzato a uno diverso, puoi configurarlo qui. or_log_in_with: Oppure accedi con - providers: - cas: CAS - saml: SAML register: Iscriviti - registration_closed: "%{instance} non accetta nuovi iscritti" resend_confirmation: Invia di nuovo le istruzioni di conferma reset_password: Resetta la password security: Credenziali set_new_password: Imposta una nuova password - trouble_logging_in: Hai problemi ad accedere? authorize_follow: already_following: Stai già seguendo questo account error: Sfortunatamente c'è stato un errore nel consultare l'account remoto @@ -563,7 +516,6 @@ it: proceed: Cancella l'account success_msg: Il tuo account è stato cancellato warning_html: È garantita la cancellazione del contenuto solo da questo server. I contenuti che sono stati ampiamente condivisi probabilmente lasceranno delle tracce. I server offline e quelli che non ricevono più i tuoi aggiornamenti non aggiorneranno i loro database. - warning_title: Disponibilità di contenuti divulgati directories: directory: Directory dei profili enabled: Attualmente sei elencato nella directory. @@ -581,7 +533,6 @@ it: '422': content: Verifica di sicurezza non riuscita. Stai bloccando i cookies? title: Verifica di sicurezza non riuscita - '429': Valvola a farfalla '500': content: Siamo spiacenti, ma qualcosa non ha funzionato dal nostro lato. title: Questa pagina non è corretta @@ -615,7 +566,6 @@ it: title: Modifica filtro errors: invalid_context: Contesto mancante o non valido - invalid_irreversible: Il filtraggio irreversibile funziona solo nel contesto domestico o nel contesto delle notifiche index: delete: Cancella title: Filtri @@ -624,30 +574,13 @@ it: footer: developers: Sviluppatori more: Altro… - resources: Risorse generic: - all: Tutti changes_saved_msg: Modifiche effettuate con successo! copy: Copia save_changes: Salva modifiche validation_errors: one: Qualcosa ancora non va bene! Per favore, controlla l'errore qui sotto other: Qualcosa ancora non va bene! Per favore, controlla i %{count} errori qui sotto - identity_proofs: - active: Attivo - authorize: Sì, autorizzo - authorize_connection_prompt: Autorizzare questa connessione crittografica? - errors: - failed: La connessione crittografica è fallita. Riprovare da %{provider}. - keybase: - invalid_token: I token Keybase sono hash di firme e devono essere 66 caratteri esadecimali - verification_failed: Keybase non riconosce questo token come firma dell'utente Keybase %{kb_username}. Riprovare da Keybase. - explanation_html: Qui puoi criptograficamente collegare le tue altre identità, come ad esempio un profilo Keybase. Questo permette ad altre persone di inviare messaggi criptati e di fidarsi del contenuto inviato. - i_am_html: Sono %{username} su %{service}. - identity: Identità - inactive: Inattivo - status: Stato della verifica - view_proof: Visualizza prova imports: modes: merge: Fondi @@ -753,7 +686,6 @@ it: polls: errors: already_voted: Hai già votato in questo sondaggio - duplicate_options: contiene elementi duplicati duration_too_long: è troppo lontano nel futuro duration_too_short: è troppo presto expired: Il sondaggio si è già concluso @@ -765,24 +697,12 @@ it: other: Altro publishing: Pubblicazione web: Web - relationships: - activity: Attività del conto - dormant: Dormire - moved: Spostato - mutual: Mutuo - primary: Primario - relationship: Relazione - remove_selected_domains: Rimuovi tutti i seguaci dai domini selezionati - remove_selected_followers: Rimuovi i seguaci selezionati - remove_selected_follows: Seguire gli utenti selezionati - status: Stato del conto remote_follow: acct: Inserisci il tuo username@dominio da cui vuoi seguire questo utente missing_resource: Impossibile trovare l'URL di reindirizzamento richiesto per il tuo account no_account_html: Non hai un account? Puoi iscriverti qui proceed: Conferma prompt: 'Stai per seguire:' - reason_html: "Perché questo passaggio è necessario?%{instance}potrebbe non essere il server dove sei registrato, quindi dobbiamo prima mandarti al tuo server." remote_interaction: favourite: proceed: Continua per segnare come apprezzato @@ -805,23 +725,14 @@ it: activity: Ultima attività browser: Browser browsers: - alipay: Alipay blackberry: Blackberry chrome: Chrome edge: Microsoft Edge - electron: Elettrone firefox: Firefox generic: Browser sconosciuto ie: Internet Explorer - micro_messenger: MicroMessenger - nokia: Browser Nokia S40 Ovi Browser Ovi opera: Opera - otter: Lontra - phantom_js: PhantomJS - qq: QQ Browser safari: Safari - uc_browser: UCBrowser - weibo: Weibo current_session: Sessione corrente description: "%{browser} su %{platform}" explanation: Questi sono i browser da cui attualmente è avvenuto l'accesso al tuo account Mastodon. @@ -839,8 +750,6 @@ it: windows: Windows windows_mobile: Windows Mobile windows_phone: Windows Phone - revoke: Revoca - revoke_success: Sessione revocata con successo title: Sessioni settings: authorized_apps: Applicazioni autorizzate @@ -850,12 +759,10 @@ it: edit_profile: Modifica profilo export: Esporta impostazioni featured_tags: Hashtag in evidenza - identity_proofs: Prove d'identità import: Importa migrate: Migrazione dell'account notifications: Notifiche preferences: Preferenze - relationships: Seguiti e seguaci settings: Impostazioni two_factor_authentication: Autenticazione a due fattori your_apps: Le tue applicazioni @@ -869,7 +776,6 @@ it: one: "%{count} video" other: "%{count} video" boosted_from_html: Condiviso da %{acct_link} - content_warning: 'Avviso sul contenuto: %{warning}' disallowed_hashtags: one: 'contiene un hashtag non permesso: %{tags}' other: 'contiene gli hashtags non permessi: %{tags}' @@ -888,7 +794,6 @@ it: vote: Vota show_more: Mostra di più sign_in_to_participate: Accedi per partecipare alla conversazione - title: '%{name}: "%{quote}"' visibilities: private: Mostra solo ai tuoi seguaci private_long: Mostra solo ai seguaci @@ -909,7 +814,6 @@ it: time: formats: default: "%b %d, %Y, %H:%M" - month: "%b %Y" two_factor_authentication: code_hint: Inserisci il codice generato dalla tua app di autenticazione description_html: Se abiliti l'autorizzazione a due fattori, entrare nel tuo account ti richiederà di avere vicino il tuo telefono, il quale ti genererà un codice per eseguire l'accesso. @@ -931,24 +835,7 @@ it: explanation: Hai richiesto un backup completo del tuo account Mastodon. È pronto per essere scaricato! subject: Il tuo archivio è pronto per essere scaricato title: Esportazione archivio - warning: - explanation: - disable: Mentre il tuo account è congelato, i tuoi dati restano intatti, ma non puoi fare nulla finché non sarà sbloccato. - silence: Mentre il tuo account è limitato, solo le persone che già ti seguono vedranno i tuoi toot su questo server, e potresti essere escluso dalle viste pubbliche. Ma altri utenti possono comunque seguirti manualmente. - suspend: Il tuo account è stato sospeso, e tutti i tuoi toot e file media sono stati eliminati in modo irreversibile da questo server e dai server su cui avevi dei seguaci. - review_server_policies: Esamina le politiche del server - subject: - disable: Il tuo account %{acct} è stato congelato - none: Avviso per %{acct} - silence: Il tuo account %{acct} è stato limitato - suspend: Il tuo account %{acct} è stato sospeso - title: - disable: Account congelato - none: Avviso - silence: Account limitato - suspend: Account sospeso welcome: - edit_profile_action: Crea profilo edit_profile_step: Puoi personalizzare il tuo profilo caricando un avatar, un'intestazione, modificando il tuo nome visualizzato e così via. Se vuoi controllare i tuoi nuovi seguaci prima di autorizzarli a seguirti, puoi bloccare il tuo account. explanation: Ecco alcuni suggerimenti per iniziare final_action: Inizia a postare @@ -968,7 +855,6 @@ it: follow_limit_reached: Non puoi seguire più di %{limit} persone invalid_email: L'indirizzo email inserito non è valido invalid_otp_token: Codice d'accesso non valido - otp_lost_help_html: Se si è perso l'accesso a entrambi, è possibile contattare %{email} seamless_external_login: Ti sei collegato per mezzo di un servizio esterno, quindi le impostazioni di email e password non sono disponibili. signed_in_as: 'Hai effettuato l''accesso come:' verification: diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 962116e59f..36a030fa43 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -4,36 +4,25 @@ nl: about_hashtag_html: Dit zijn openbare toots die getagged zijn met #%{hashtag}. Je kunt er op reageren of iets anders mee doen als je op Mastodon (of ergens anders in de fediverse) een account hebt. about_mastodon_html: Mastodon is een sociaal netwerk dat gebruikt maakt van open webprotocollen en vrije software. Het is net zoals e-mail gedecentraliseerd. about_this: Over deze server - active_count_after: actief - active_footnote: Actieve gebruikers per maand (MAU) administered_by: 'Beheerd door:' api: API apps: Mobiele apps - apps_platforms: Gebruik Mastodon op iOS, Android en op andere platformen - browse_directory: Gebruikersgids doorbladeren en op interesses filteren - browse_public_posts: Livestream van openbare Mastodonberichten bekijken contact: Contact contact_missing: Niet ingesteld contact_unavailable: n.v.t - discover_users: Gebruikers ontdekken documentation: Documentatie extended_description_html: |

Een goede plek voor richtlijnen

De uitgebreide omschrijving is nog niet ingevuld.

- federation_hint_html: Met een account op %{instance} ben je in staat om op elke Mastodonserver (en op meer plekken) mensen te volgen. generic_description: "%{domain} is een server in het Mastodonnetwerk" - get_apps: Mobiele apps hosted_on: Mastodon op %{domain} learn_more: Meer leren privacy_policy: Privacybeleid - see_whats_happening: Kijk wat er aan de hand is - server_stats: 'Serverstatistieken:' source_code: Broncode status_count_after: one: toot other: toots status_count_before: Zij schreven - tagline: Vrienden volgen en nieuwe ontdekken terms: Gebruiksvoorwaarden user_count_after: one: gebruiker @@ -79,7 +68,6 @@ nl: delete: Verwijderen destroyed_msg: Verwijderen van opmerking voor moderatoren geslaagd! accounts: - approve: Goedkeuren are_you_sure: Weet je het zeker? avatar: Avatar by_domain: Domein @@ -125,7 +113,6 @@ nl: moderation: active: Actief all: Alles - pending: In afwachting silenced: Genegeerd suspended: Opgeschort title: Moderatie @@ -135,7 +122,6 @@ nl: no_limits_imposed: Geen limieten ingesteld not_subscribed: Niet geabonneerd outbox_url: Outbox-URL - pending: Moet nog beoordeeld worden perform_full_suspension: Opschorten profile_url: Profiel-URL promote: Promoveren @@ -143,7 +129,6 @@ nl: public: Openbaar push_subscription_expires: PuSH-abonnement verloopt op redownload: Profiel vernieuwen - reject: Afwijzen remove_avatar: Avatar verwijderen remove_header: Omslagfoto verwijderen resend_confirmation: @@ -415,12 +400,6 @@ nl: min_invite_role: disabled: Niemand title: Uitnodigingen toestaan door - registrations_mode: - modes: - approved: Goedkeuring vereist om te kunnen registreren - none: Niemand kan zich registreren - open: Iedereen kan zich registreren - title: Registratiemodus show_known_fediverse_at_about_page: desc_html: Wanneer ingeschakeld wordt de globale tijdlijn op de voorpagina getoond en wanneer uitgeschakeld de lokale tijdljn. title: De globale tijdlijn op de voorpagina tonen @@ -483,9 +462,6 @@ nl: edit_preset: Voorinstelling van waarschuwing bewerken title: Voorinstellingen van waarschuwingen beheren admin_mailer: - new_pending_account: - body: Zie hieronder de details van het nieuwe account. Je kunt de aanvraag goedkeuren of afwijzen. - subject: Er dient een nieuw account op %{instance} te worden beoordeeld (%{username}) new_report: body: "%{reporter} heeft %{target} gerapporteerd" body_remote: Iemand van %{domain} heeft %{target} gerapporteerd @@ -507,9 +483,7 @@ nl: your_token: Jouw toegangscode auth: agreement_html: Wanneer je op registreren klikt ga je akkoord met het opvolgen van de regels van deze server en onze gebruiksvoorwaarden. - apply_for_account: Een uitnodiging aanvragen change_password: Wachtwoord - checkbox_agreement_html: Ik ga akkoord met de regels van deze server en de gebruiksvoorwaarden confirm_email: E-mail bevestigen delete_account: Account verwijderen delete_account_html: Wanneer je jouw account graag wilt verwijderen, kan je dat hier doen. We vragen jou daar om een bevestiging. @@ -525,12 +499,10 @@ nl: cas: CAS saml: SAML register: Registreren - registration_closed: "%{instance} laat geen nieuwe gebruikers toe" resend_confirmation: Verstuur de bevestigingsinstructies nogmaals reset_password: Wachtwoord opnieuw instellen security: Beveiliging set_new_password: Nieuw wachtwoord instellen - trouble_logging_in: Problemen met inloggen? authorize_follow: already_following: Je volgt dit account al error: Helaas, er is een fout opgetreden bij het opzoeken van de externe account @@ -626,28 +598,12 @@ nl: more: Meer… resources: Hulpmiddelen generic: - all: Alles changes_saved_msg: Wijzigingen succesvol opgeslagen! copy: Kopiëren save_changes: Wijzigingen opslaan validation_errors: one: Er is iets niet helemaal goed! Bekijk onderstaande fout other: Er is iets niet helemaal goed! Bekijk onderstaande %{count} fouten - identity_proofs: - active: Actief - authorize: Ja, autoriseren - authorize_connection_prompt: Deze cryptografische verbinding autoriseren? - errors: - failed: De cryptografische verbinding is mislukt. Probeer het opnieuw vanaf %{provider}. - keybase: - invalid_token: Keybase tokens zijn hashes van handtekeningen en moeten 66 hex tekens zijn - verification_failed: Keybase herkent dit token niet als een handtekening van Keybase gebruiker %{kb_username}. Probeer het opnieuw vanuit Keybase. - explanation_html: Hier kunt u cryptografisch uw andere identiteiten, zoals een Keybase profiel, met elkaar verbinden. Hierdoor kunnen andere mensen u versleutelde berichten sturen en vertrouwen op de inhoud die u hen stuurt. - i_am_html: Ik ben %{username} op %{service}. - identity: Identiteit - inactive: Inactief - status: Verificatiestatus - view_proof: Bekijk bewijs imports: modes: merge: Samenvoegen @@ -765,17 +721,6 @@ nl: other: Overig publishing: Publiceren web: Webapp - relationships: - activity: Accountactiviteit - dormant: Sluimerend - moved: Verhuisd - mutual: Wederzijds - primary: Primair - relationship: Relatie - remove_selected_domains: Alle volgers van de geselecteerde domeinen verwijderen - remove_selected_followers: Geselecteerde volgers verwijderen - remove_selected_follows: Geselecteerde gebruikers ontvolgen - status: Accountstatus remote_follow: acct: Geef jouw account@domein op die je wilt gebruiken missing_resource: Kon vereiste doorverwijzings-URL voor jouw account niet vinden @@ -850,12 +795,10 @@ nl: edit_profile: Profiel bewerken export: Exporteren featured_tags: Uitgelichte hashtags - identity_proofs: Identiteitsbewijzen import: Importeren migrate: Accountmigratie notifications: Meldingen preferences: Voorkeuren - relationships: Volgers en gevolgden settings: Instellingen two_factor_authentication: Tweestapsverificatie your_apps: Jouw toepassingen diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 9a8a1d7780..b7b6e2fad5 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -4,30 +4,20 @@ pl: about_hashtag_html: Znajdują się tu publiczne wpisy oznaczone hashtagiem #%{hashtag}. Możesz dołączyć do dyskusji, jeżeli posiadasz konto gdziekolwiek w Fediwersum. about_mastodon_html: Mastodon jest wolną i otwartą siecią społecznościową, zdecentralizowaną alternatywą dla zamkniętych, komercyjnych platform. about_this: O tej instancji - active_count_after: aktywny - active_footnote: Aktywni użytkownicy miesięcznie (AUM) administered_by: 'Administrowana przez:' api: API apps: Aplikacje - apps_platforms: Używaj Mastodon z iOS, Androida i innych platform - browse_directory: Przeglądaj katalog profilu i filtruj według zainteresowań - browse_public_posts: Przeglądaj na żywo strumień publicznych posterunków na Mastodon contact: Kontakt contact_missing: Nie ustawiono contact_unavailable: Nie dotyczy - discover_users: Odkryj użytkowników documentation: Dokumentacja extended_description_html: |

Dobre miejsce na zasady użytkowania

Nie ustawiono jeszcze szczegółowego opisu

- federation_hint_html: Z kontem na %{instance} będziesz mógł śledzić ludzi na dowolnym serwerze Mastodon i nie tylko. generic_description: "%{domain} jest jednym z serwerów sieci" - get_apps: Wypróbuj aplikację mobilną hosted_on: Mastodon uruchomiony na %{domain} learn_more: Dowiedz się więcej privacy_policy: Polityka prywatności - see_whats_happening: Zobacz, co się dzieje - server_stats: 'Statystyki serwera:' source_code: Kod źródłowy status_count_after: few: wpisów @@ -35,7 +25,6 @@ pl: one: wpisu other: wpisów status_count_before: Są autorami - tagline: Śledź przyjaciół i odkrywaj nowych terms: Zasady użytkowania user_count_after: few: użytkowników @@ -74,7 +63,7 @@ pl: reserved_username: Ta nazwa użytkownika jest zarezerwowana roles: admin: Administrator - bot: Botka + bot: Bot moderator: Moderator unfollow: Przestań śledzić admin: @@ -87,7 +76,6 @@ pl: delete: Usuń destroyed_msg: Pomyślnie usunięto notatkę moderacyjną! accounts: - approve: Zatwierdzenie are_you_sure: Jesteś tego pewien? avatar: Awatar by_domain: Domena @@ -133,7 +121,6 @@ pl: moderation: active: Aktywne all: Wszystkie - pending: W trakcie oczekiwania silenced: Wyciszone suspended: Zawieszone title: Moderacja @@ -143,7 +130,6 @@ pl: no_limits_imposed: Nie nałożono ograniczeń not_subscribed: Nie zasubskrybowano outbox_url: Adres skrzynki nadawczej - pending: Oczekiwany przegląd perform_full_suspension: Zawieś profile_url: Adres profilu promote: Podnieś uprawnienia @@ -151,7 +137,6 @@ pl: public: Publiczne push_subscription_expires: Subskrypcja PuSH wygasa redownload: Odśwież profil - reject: Odrzuć remove_avatar: Usun awatar remove_header: Usuń nagłówek resend_confirmation: @@ -164,7 +149,7 @@ pl: role: Uprawnienia roles: admin: Administrator - moderator: Prowadzący + moderator: Moderator staff: Ekipa user: Użytkownik salmon_url: Adres Salmon @@ -238,7 +223,7 @@ pl: new: title: Dodaj nowe niestandardowe emoji overwrite: Zastąp - shortcode: Kod skrótu + shortcode: Shortcode shortcode_hint: Co najmniej 2 znaki, tylko znaki alfanumeryczne i podkreślniki title: Niestandardowe emoji unlisted: Niewidoczne @@ -427,12 +412,6 @@ pl: min_invite_role: disabled: Nikt title: Kto może zapraszać użytkowników - registrations_mode: - modes: - approved: Zatwierdzenie wymagane do rejestracji - none: Nikt nie może się zarejestrować - open: Każdy może zarejestrować się - title: Tryb rejestracji show_known_fediverse_at_about_page: desc_html: Jeśli włączone, podgląd instancji będzie wyświetlał wpisy z całego Fediwersum. W innym przypadku, będą wyświetlane tylko lokalne wpisy. title: Pokazuj wszystkie znane wpisy na podglądzie instancji @@ -483,7 +462,7 @@ pl: accounts: Konta hidden: Ukryte hide: Ukryj w katalogu - name: Hasztag + name: Hashtag title: Hashtagi unhide: Pokazuj w katalogu visible: Widoczne @@ -495,9 +474,6 @@ pl: edit_preset: Edytuj szablon ostrzeżenia title: Zarządzaj szablonami ostrzeżeń admin_mailer: - new_pending_account: - body: Szczegóły dotyczące nowego konta znajdują się poniżej. Możesz zatwierdzić lub odrzucić ten wniosek. - subject: Nowe konto do przeglądu w %{instance} (%{username}) new_report: body: Użytkownik %{reporter} zgłosił(a) %{target} body_remote: Użytkownik instancji %{domain} zgłosił(a) %{target} @@ -519,9 +495,7 @@ pl: your_token: Twój token dostępu auth: agreement_html: Rejestrując się, oświadczasz, że zapoznałeś(-aś) się z informacjami o serwerze i zasadami korzystania z usługi. - apply_for_account: Prośba o zaproszenie change_password: Hasło - checkbox_agreement_html: Zgadzam się na server rules i terms of service confirm_email: Potwierdź adres e-mail delete_account: Usunięcie konta delete_account_html: Jeżeli chcesz usunąć konto, przejdź tutaj. Otrzymasz prośbę o potwierdzenie. @@ -537,12 +511,10 @@ pl: cas: CAS saml: SAML register: Rejestracja - registration_closed: "%{instance} nie przyjmuje nowych członków" resend_confirmation: Ponownie prześlij instrukcje weryfikacji reset_password: Zresetuj hasło security: Bezpieczeństwo set_new_password: Ustaw nowe hasło - trouble_logging_in: Problemy z logowaniem? authorize_follow: already_following: Już śledzisz to konto error: Niestety, podczas sprawdzania zdalnego konta wystąpił błąd @@ -578,7 +550,7 @@ pl: warning_title: Dostępność usuniętej zawartości directories: directory: Katalog profilów - enabled: Jesteś obecnie zapisany(-a) do katalogu. + enabled: Jesteś obecnie zapisany(-a) do katalogu enabled_but_waiting: Jesteś zapisany(-a) do katalogu, ale jeszcze nie śledzi Cię wystarczająca liczba osób (%{min_followers}), aby się tam pojawić. explanation: Poznaj profile na podstawie zainteresowań explore_mastodon: Odkrywaj %{title} @@ -640,7 +612,6 @@ pl: more: Więcej… resources: Zasoby generic: - all: Wszystkie changes_saved_msg: Ustawienia zapisane! copy: Kopiuj save_changes: Zapisz zmiany @@ -649,21 +620,6 @@ pl: many: Coś jest wciąż nie tak! Przejrzyj %{count} poniższych błędów one: Coś jest wciąż nie tak! Przyjrzyj się poniższemu błędowi other: Coś jest wciąż nie tak! Przejrzyj poniższe błędy (%{count}) - identity_proofs: - active: Aktywny - authorize: Tak, upoważnić - authorize_connection_prompt: Autoryzować to połączenie kryptograficzne? - errors: - failed: Połączenie kryptograficzne nie powiodło się. Proszę spróbować ponownie od %{provider}. - keybase: - invalid_token: Tokeny klawiaturowe są skrótami podpisów i muszą składać się z 66 znaków heksadecymalnych - verification_failed: Keybase nie rozpoznaje tego tokena jako podpis użytkownika Keybase user %{kb_username}. Proszę spróbować ponownie z Keybase. - explanation_html: Tutaj możesz kryptograficznie połączyć swoje inne tożsamości, takie jak profil w bazie danych. Pozwala to innym osobom wysyłać zaszyfrowane wiadomości i ufać treści, które im wysyłasz. - i_am_html: Jestem %{username} na %{service}. - identity: Tożsamość - inactive: Nieaktywny - status: Status weryfikacji - view_proof: Proporcjonalny widok imports: modes: merge: Połącz @@ -787,17 +743,6 @@ pl: other: Pozostałe publishing: Publikowanie web: Sieć - relationships: - activity: Działalność rachunkowa - dormant: Uśpiony - moved: Przemieszczone - mutual: Wzajemne korzystanie - primary: Podstawowy - relationship: Relacje z innymi osobami - remove_selected_domains: Usuń wszystkich zwolenników z wybranych domen - remove_selected_followers: Usuwanie wybranych naśladowców - remove_selected_follows: Rozwiń wybranych użytkowników - status: Status konta remote_follow: acct: Podaj swój adres (nazwa@domena), z którego chcesz wykonać działanie missing_resource: Nie udało się znaleźć adresu przekierowania z Twojej domeny @@ -872,12 +817,10 @@ pl: edit_profile: Edytuj profil export: Eksportowanie danych featured_tags: Wyróżnione hashtagi - identity_proofs: Dowody tożsamości import: Importowanie danych migrate: Migracja konta notifications: Powiadomienia preferences: Preferencje - relationships: Śledzi i naśladowcy settings: Ustawienia two_factor_authentication: Uwierzytelnianie dwuetapowe your_apps: Twoje aplikacje diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 97cc73e9f3..be1ea6155f 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -4,36 +4,25 @@ pt-BR: about_hashtag_html: Estes são toots públicos com a hashtag #%{hashtag}. Você pode interagir com eles se tiver uma conta em qualquer lugar no fediverso. about_mastodon_html: Mastodon é uma rede social baseada em protocolos abertos e software gratuito e de código aberto. É descentralizada como e-mail. about_this: Sobre - active_count_after: Ativo - active_footnote: Usuários ativos mensais (UAM) administered_by: 'Administrado por:' api: API apps: Apps - apps_platforms: Use o Mastodon a partir de iOS, Android e outras plataformas - browse_directory: Procurar um diretório de perfil e filtrar por interesses - browse_public_posts: Navegue por um fluxo ao vivo de posts públicos no Mastodon contact: Contato contact_missing: Não definido contact_unavailable: Não disponível - discover_users: Descubra os usuários documentation: Documentação extended_description_html: |

Um bom lugar para regras

A descrição da instância ainda não foi feita.

- federation_hint_html: Com uma conta em %{instance} poderá seguir pessoas em qualquer servidor Mastodon e para além dele. generic_description: "%{domain} é um servidor na rede" - get_apps: Experimente uma aplicação móvel hosted_on: Mastodon hospedado em %{domain} learn_more: Saiba mais privacy_policy: Política de Privacidade - see_whats_happening: Veja o que está acontecendo - server_stats: 'Estatísticas do servidor:' source_code: Código-fonte status_count_after: one: status other: status status_count_before: Autores de - tagline: Siga amigos e descubra novos terms: Termos de serviço user_count_after: one: usuário @@ -79,7 +68,6 @@ pt-BR: delete: Excluir destroyed_msg: Nota de moderação excluída com sucesso! accounts: - approve: Aprovar are_you_sure: Você tem certeza? avatar: Avatar by_domain: Domínio @@ -125,7 +113,6 @@ pt-BR: moderation: active: Ativo all: Todos - pending: Pendente silenced: Silenciados suspended: Suspensos title: Moderação @@ -135,7 +122,6 @@ pt-BR: no_limits_imposed: Nenhum limite imposto not_subscribed: Não está inscrito outbox_url: URL da caixa de saída - pending: Esperando revisão perform_full_suspension: Suspender profile_url: URL do perfil promote: Promover @@ -143,7 +129,6 @@ pt-BR: public: Público push_subscription_expires: Inscrição PuSH expira redownload: Atualizar perfil - reject: Rejeitar remove_avatar: Remover avatar remove_header: Remover cabeçalho resend_confirmation: @@ -306,7 +291,6 @@ pt-BR: back_to_account: Voltar para a conta title: Pessoas que seguem %{acct} instances: - by_domain: Domínio delivery_available: Entrega está disponível known_accounts: one: "%{count} conta conhecida" @@ -415,12 +399,6 @@ pt-BR: min_invite_role: disabled: Ninguém title: Permitir convites de - registrations_mode: - modes: - approved: Aprovação necessária para cadastro - none: Ninguém pode se cadastrar - open: Qualquer um pode se cadastrar - title: Modo de inscrição show_known_fediverse_at_about_page: desc_html: Quando ligado, vai mostrar toots de todo o fediverso conhecido na prévia da timeline. Senão, mostra somente toots locais. title: Mostrar fediverso conhecido na prévia da timeline @@ -483,9 +461,6 @@ pt-BR: edit_preset: Editar o aviso pré-definido title: Gerenciar os avisos pré-definidos admin_mailer: - new_pending_account: - body: Os detalhes da nova conta estão abaixo. Você pode aprovar ou rejeitar essa aplicação. - subject: Nova conta para revisão em %{instance} (%{username}) new_report: body: "%{reporter} denunciou %{target}" body_remote: Alguém da instância %{domain} reportou %{target} @@ -507,9 +482,7 @@ pt-BR: your_token: Seu token de acesso auth: agreement_html: Ao se cadastrar você concorda em seguir as regras da instância e os nossos termos de serviço. - apply_for_account: Pedir um convite change_password: Senha - checkbox_agreement_html: Eu concordo com as regras do servidor e com os termos de serviço confirm_email: Confirmar e-mail delete_account: Excluir conta delete_account_html: Se você deseja excluir a sua conta, você pode prosseguir para cá. Uma confirmação será requisitada. @@ -525,12 +498,10 @@ pt-BR: cas: CAS saml: SAML register: Cadastrar-se - registration_closed: "%{instance} não está aceitando novos membros" resend_confirmation: Reenviar instruções de confirmação reset_password: Redefinir senha security: Segurança set_new_password: Definir uma nova senha - trouble_logging_in: Problemas para se conectar? authorize_follow: already_following: Você já está seguindo esta conta error: Infelizmente, ocorreu um erro ao buscar a conta remota @@ -566,11 +537,8 @@ pt-BR: warning_title: Disponibilidade de conteúdo disseminado directories: directory: Diretório de perfis - enabled: Você está na lista do diretório. - enabled_but_waiting: Você escolheu ser listado no diretório, mas você ainda não tem o mínimo de seguidores (%{min_followers}) para ser listado. explanation: Descobrir usuários baseado em seus interesses explore_mastodon: Explorar %{title} - how_to_enable: Você não se inscreveu no diretório. Você pode se inscrever abaixo. Use hashtags no texto da sua bio para ser listado em hashtags específicas! people: one: "%{count} pessoa" other: "%{count} pessoas" @@ -601,10 +569,6 @@ pt-BR: lists: Listas mutes: Você silenciou storage: Armazenamento de mídia - featured_tags: - add_new: Adicionar uma nova hashtag - errors: - limit: Você atingiu o limite de hashtags em destaque filters: contexts: home: Página inicial @@ -626,39 +590,17 @@ pt-BR: more: Mais… resources: Recursos generic: - all: Tudo changes_saved_msg: Mudanças salvas com sucesso! copy: Copiar save_changes: Salvar mudanças validation_errors: one: Algo não está certo! Por favor, reveja o erro abaixo other: Algo não está certo! Por favor, reveja os %{count} erros abaixo - identity_proofs: - active: Ativo - authorize: Sim, autorizar - authorize_connection_prompt: Autorizar essa conexão criptográfica? - errors: - failed: A conexão criptográfica falhou. Por favor tente novamente a partir de %{provider}. - keybase: - invalid_token: Tokens keybase são hashs de assinatura e devem conter 66 caracteres hexa - verification_failed: Keybase não reconhece esse token como uma assinatura do usuário keybase %{kb_username}. Por favor tente novamente a partir de Keybase. - explanation_html: Você pode conectar criptograficamente suas outras identidades, tais quais seu perfil Keybase. Isso permite outras pessoas de lhe enviarem mensagens encriptadas e confiar no conteúdo que você as envia. - i_am_html: Eu sou %{username} em %{service}. - identity: Identidade - inactive: Inativo - status: Status da verificação - view_proof: Ver prova imports: - modes: - merge: Juntar - merge_long: Manter os registros existentes e adicionar os novos - overwrite: Sobreescrever - overwrite_long: Substituir os registros atuais com os novos preface: Você pode importar dados que você exportou de outra instância, como a lista de pessoas que você segue ou bloqueou. success: Os seus dados foram enviados com sucesso e serão processados em instantes types: blocking: Lista de bloqueio - domain_blocking: Lista de domínios bloqueados following: Pessoas que você segue muting: Lista de silêncio upload: Enviar @@ -750,32 +692,11 @@ pt-BR: older: Mais antigo prev: Anterior truncate: "…" - polls: - errors: - already_voted: Você já votou nessa pesquisa - duplicate_options: contém itens duplicados - duration_too_long: está muito longe no futuro - duration_too_short: é curto demais - expired: A enquete já terminou - over_character_limit: não pode ter mais que %{max} caracteres em cada - too_few_options: deve ter mais que um item - too_many_options: não pode ter mais que %{max} itens preferences: languages: Idiomas other: Outro publishing: Publicação web: Web - relationships: - activity: Atividade da conta - dormant: Inativo - moved: Mudou-se - mutual: Mútuo - primary: Primário - relationship: Relação - remove_selected_domains: Remover todos os seguidores dos domínios selecionados - remove_selected_followers: Remover os seguidores selecionados - remove_selected_follows: Deixar de seguir usuários selecionados - status: Status da conta remote_follow: acct: Insira o seu usuário@domínio a partir do qual você deseja agir missing_resource: Não foi possível encontrar a URL de direcionamento para a sua conta @@ -849,13 +770,10 @@ pt-BR: development: Desenvolvimento edit_profile: Editar perfil export: Exportar dados - featured_tags: Hashtags em destaque - identity_proofs: Provas de identidade import: Importar migrate: Migração de conta notifications: Notificações preferences: Preferências - relationships: Seguindo e seguidores settings: Configurações two_factor_authentication: Autenticação em dois passos your_apps: Seus aplicativos @@ -881,11 +799,6 @@ pt-BR: ownership: Toots de outras pessoas não podem ser fixados private: Toot não-público não pode ser fixado reblog: Um compartilhamento não pode ser fixado - poll: - total_votes: - one: "%{count} voto" - other: "%{count} votos" - vote: Votar show_more: Mostrar mais sign_in_to_participate: Entre para participar dessa conversa title: '%{name}: "%{quote}"' @@ -984,8 +897,8 @@ pt-BR:

Adaptado originalmente a partir da política de privacidade Discourse.

title: "%{instance} Termos de Serviço e Política de Privacidade" themes: - contrast: Mastodon (Alto contraste) - default: Mastodon (Escuro) + contrast: Alto contraste + default: Mastodon mastodon-light: Mastodon (claro) time: formats: diff --git a/config/locales/pt.yml b/config/locales/pt.yml index 886d5d895d..d943d6511a 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -4,36 +4,25 @@ pt: about_hashtag_html: Estes são toots públicos marcados com #%{hashtag}. Podes interagir com eles se tiveres uma conta Mastodon. about_mastodon_html: Mastodon é uma rede social baseada em protocolos abertos da web e software livre e gratuito. É descentralizado como e-mail. about_this: Sobre esta instância - active_count_after: ativo - active_footnote: Usuários ativos mensais (UAM) administered_by: 'Administrado por:' api: API apps: Aplicações móveis - apps_platforms: Use o Mastodon a partir de iOS, Android e outras plataformas - browse_directory: Procurar um diretório de perfil e filtrar por interesses - browse_public_posts: Navegue por um fluxo ao vivo de posts públicos no Mastodon contact: Contacto contact_missing: Não configurado contact_unavailable: n.d. - discover_users: Descubra os usuários documentation: Documentação extended_description_html: |

Um bom lugar para regras

A descrição estendida ainda não foi configurada.

- federation_hint_html: Com uma conta em %{instance} poderá seguir pessoas em qualquer servidor Mastodon e para além dele. generic_description: "%{domain} é um servidor na rede" - get_apps: Experimente uma aplicação móvel hosted_on: Mastodon em %{domain} learn_more: Saber mais privacy_policy: Política de privacidade - see_whats_happening: Veja o que está acontecendo - server_stats: 'Estatisticas do servidor:' source_code: Código fonte status_count_after: one: publicação other: publicações status_count_before: Que fizeram - tagline: Siga os amigos e descubra novos amigos terms: termos de serviço user_count_after: one: utilizador @@ -79,7 +68,6 @@ pt: delete: Eliminar destroyed_msg: Nota de moderação excluída com sucesso! accounts: - approve: Aprovar are_you_sure: Tens a certeza? avatar: Avatar by_domain: Domínio @@ -125,7 +113,6 @@ pt: moderation: active: Activo all: Todos - pending: Pendente silenced: Silenciados suspended: Supensos title: Moderação @@ -135,7 +122,6 @@ pt: no_limits_imposed: Sem limites impostos not_subscribed: Não inscrito outbox_url: URL da caixa de saída - pending: Revisão pendente perform_full_suspension: Fazer suspensão completa profile_url: URL do perfil promote: Promover @@ -143,7 +129,6 @@ pt: public: Público push_subscription_expires: A Inscrição PuSH expira redownload: Atualizar avatar - reject: Rejeitar remove_avatar: Remover o avatar remove_header: Remover o cabeçalho resend_confirmation: @@ -415,12 +400,6 @@ pt: min_invite_role: disabled: Ninguém title: Permitir convites de - registrations_mode: - modes: - approved: Aprovação necessária para inscrição - none: Ninguém pode se inscrever - open: Qualquer um pode se inscrever - title: Modo de registo show_known_fediverse_at_about_page: desc_html: Quando comutado, irá mostrar a previsualização de publicações de todo o fediverse conhecido. De outro modo só mostrará publicações locais. title: Mostrar o fediverse conhecido na previsualização da cronologia @@ -483,9 +462,6 @@ pt: edit_preset: Editar o aviso predefinido title: Gerir os avisos predefinidos admin_mailer: - new_pending_account: - body: Os detalhes da nova conta estão abaixo. Você pode aprovar ou rejeitar este pedido. - subject: Nova conta para revisão em %{instance} (%{username}) new_report: body: "%{reporter} relatou %{target}" body_remote: Alguém de %{domain} relatou %{target} @@ -507,9 +483,7 @@ pt: your_token: O teu token de acesso auth: agreement_html: Registando-te concordas em seguir as regras da instância e os nossos termos de serviço. - apply_for_account: Solicite um convite change_password: Palavra-passe - checkbox_agreement_html: Eu concordo com a regras do servidor e terms of service confirm_email: Confirmar e-mail delete_account: Eliminar conta delete_account_html: Se desejas eliminar a conta, podes continua aqui. Uma confirmação será pedida. @@ -525,12 +499,10 @@ pt: cas: CAS saml: SAML register: Registar - registration_closed: "%{instance} não aceita novos membros" resend_confirmation: Reenviar instruções de confirmação reset_password: Criar nova palavra-passe security: Alterar palavra-passe set_new_password: Editar palavra-passe - trouble_logging_in: Problemas para entrar? authorize_follow: already_following: Tu já estás a seguir esta conta error: Infelizmente, ocorreu um erro ao buscar a conta remota @@ -628,28 +600,12 @@ pt: more: Mais… resources: Recursos generic: - all: Todos changes_saved_msg: Alterações guardadas! copy: Copiar save_changes: Guardar alterações validation_errors: one: Algo não está correcto. Por favor vê o erro abaixo other: Algo não está correto. Por favor vê os %{count} erros abaixo - identity_proofs: - active: Ativo - authorize: Sim, autorizar - authorize_connection_prompt: Autorizar esta ligação criptográfica? - errors: - failed: A ligação criptográfica falhou. Por favor tente novamente a partir de %{provider}. - keybase: - invalid_token: Os tokens do Keybase são hashes de assinaturas e devem ter 66 caracteres hexadecimais - verification_failed: O Keybase não reconhece este token como uma assinatura do usuário do Keybase %{kb_username}. Por favor, tente novamente a partir do Keybase. - explanation_html: Aqui você pode conectar criptograficamente suas outras identidades, como um perfil Keybase. Isto permite que outras pessoas lhe enviem mensagens encriptadas e conteúdos de confiança que você lhes envia. - i_am_html: Eu sou %{username} em %{service}. - identity: Identidade - inactive: Inativo - status: Status de verificação - view_proof: Ver prova imports: modes: merge: Juntar @@ -767,17 +723,6 @@ pt: other: Outro publishing: Publicação web: Web - relationships: - activity: Atividade da conta - dormant: Dorminhoco - moved: Movido - mutual: Mútuo - primary: Primário - relationship: Relacionamento - remove_selected_domains: Remover todos os seguidores dos domínios selecionados - remove_selected_followers: Remover seguidores selecionados - remove_selected_follows: Usuários selecionados não acompanhados - status: Status da conta remote_follow: acct: Entre seu usuário@domínio do qual quer seguir missing_resource: Não foi possível achar a URL de redirecionamento para sua conta @@ -852,12 +797,10 @@ pt: edit_profile: Editar perfil export: Exportar dados featured_tags: Hashtags destacadas - identity_proofs: Provas de identidade import: Importar migrate: Migração de conta notifications: Notificações preferences: Preferências - relationships: Seguidores e seguidores settings: Configurações two_factor_authentication: Autenticação em dois passos your_apps: As tuas aplicações diff --git a/config/locales/ru.yml b/config/locales/ru.yml index f852b7d795..ffc9471cd3 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -4,30 +4,19 @@ ru: about_hashtag_html: Это публичные статусы, отмеченные хэштегом #%{hashtag}. Вы можете взаимодействовать с ними при наличии у Вас аккаунта в глобальной сети Mastodon. about_mastodon_html: Mastodon - это свободная социальная сеть с открытым исходным кодом. Как децентрализованная альтернатива коммерческим платформам, Mastodon предотвращает риск монополизации Вашего общения одной компанией. Выберите сервер, которому Вы доверяете — что бы Вы ни выбрали, Вы сможете общаться со всеми остальными. Любой может запустить свой собственный узел Mastodon и участвовать в социальной сети совершенно бесшовно. about_this: Об этом узле - active_count_after: деятельный - active_footnote: Ежемесячные активные пользователи (ЕAП) administered_by: 'Администратор узла:' api: API apps: Приложения - apps_platforms: Используйте Mastodon с iOS, Android и других платформ - browse_directory: Просмотр каталога профилей и фильтрация по интересам - browse_public_posts: Просмотрите прямую трансляцию публичных сообщений на Мастодоне contact: Связаться contact_missing: Не установлено contact_unavailable: Недоступен - discover_users: Обнаружить пользователей - documentation: Документация extended_description_html: |

Хорошее место для правил

Расширенное описание еще не настроено.

- federation_hint_html: Имея учетную запись на %{instance}, вы сможете следить за людьми на любом сервере Mastodon и за его пределами. generic_description: "%{domain} - один из серверов сети" - get_apps: Попробуйте мобильное приложение hosted_on: Mastodon размещен на %{domain} learn_more: Узнать больше privacy_policy: Политика конфиденциальности - see_whats_happening: Посмотрим, что происходит - server_stats: 'Статистика сервера:' source_code: Исходный код status_count_after: few: статуса @@ -35,7 +24,6 @@ ru: one: статус other: статусов status_count_before: Опубликовано - tagline: Следите за друзьями и открывайте для себя новых terms: Условия использования user_count_after: few: пользователя @@ -54,8 +42,6 @@ ru: other: подписчиков following: подписки joined: 'Дата регистрации: %{date}' - last_active: последний активный - link_verified_on: Владение этой ссылкой было проверено в %{date} media: Медиа moved_html: "%{name} переехал(а) на %{new_profile_link}:" network_hidden: Эта информация недоступна @@ -78,30 +64,25 @@ ru: moderator: Модератор unfollow: Отписаться admin: - account_actions: - action: Выполнить действие - title: Выполните умеренное действие на %{acct} account_moderation_notes: create: Создать created_msg: Заметка модератора успешно создана! delete: Удалить destroyed_msg: Заметка модератора успешно удалена! accounts: - approve: Одобрить are_you_sure: Вы уверены? avatar: Аватар by_domain: Домен change_email: changed_msg: E-mail аккаунта успешно изменён! - current_email: Текущая электронная почта - label: Изменить адрес электронной почты - new_email: Новое сообщение электронной почты - submit: Изменить адрес электронной почты - title: Изменить адрес электронной почты для %{username} + current_email: Текущий e-mail + label: Сменить e-mail + new_email: Новый e-mail + submit: Сменить e-mail + title: Сменить e-mail для %{username} confirm: Подтвердить confirmed: Подтверждено confirming: Подтверждение - deleted: Удаленный demote: Разжаловать disable: Отключить disable_two_factor_authentication: Отключить 2FA @@ -109,19 +90,16 @@ ru: display_name: Отображаемое имя domain: Домен edit: Изменить - email: электронная почта - email_status: Состояние электронной почты + email: E-mail + email_status: Статус e-mail enable: Включить enabled: Включен feed_url: URL фида followers: Подписчики followers_url: URL подписчиков follows: Подписки - header: Заголовок inbox_url: URL входящих - invited_by: По приглашению ip: IP - joined: Присоединился location: all: Все local: Локальные @@ -131,29 +109,23 @@ ru: media_attachments: Мультимедийные вложения memorialize: Превратить в Памятник moderation: - active: Активный all: Все - pending: В ожидании silenced: Заглушенные suspended: Заблокированные title: Модерация moderation_notes: Заметки модератора most_recent_activity: Последняя активность most_recent_ip: Последний IP - no_limits_imposed: Никаких ограничений not_subscribed: Не подписаны outbox_url: URL исходящих - pending: Ожидаемый обзор - perform_full_suspension: приостанавливать + perform_full_suspension: Полная блокировка profile_url: URL профиля promote: Повысить protocol: Протокол public: Публичный push_subscription_expires: Подписка PuSH истекает - redownload: Обновить профиль - reject: Отклонить + redownload: Обновить аватар remove_avatar: Удалить аватар - remove_header: Удалить заголовок resend_confirmation: already_confirmed: Этот пользователь уже подтвержден send: Повторно отправить подтверждение по электронной почте @@ -167,36 +139,31 @@ ru: moderator: Модератор staff: Персонал user: Пользователь - salmon_url: URL-адрес лосося + salmon_url: Salmon URL search: Поиск - shared_inbox_url: URL-адрес общей папки входящих сообщений + shared_inbox_url: URL общих входящих show: - created_reports: Составленные отчеты - targeted_reports: Сообщенные другими + created_reports: Жалобы, отправленные этим аккаунтом + targeted_reports: Жалобы на этот аккаунт silence: Глушение - silenced: Замалченный statuses: Статусы subscribe: Подписаться - suspended: Приостановлено title: Аккаунты - unconfirmed_email: Неподтверждённая электронная почта + unconfirmed_email: Неподтверждённый e-mail undo_silenced: Снять глушение undo_suspension: Снять блокировку unsubscribe: Отписаться username: Имя пользователя - warn: Предупреждение web: Веб action_logs: actions: assigned_to_self_report: "%{name} назначил(а) жалобу %{target} на себя" change_email_user: "%{name} сменил(а) e-mail пользователя %{target}" confirm_user: "%{name} подтвердил(а) e-mail адрес пользователя %{target}" - create_account_warning: "%{name} послал предупреждение %{target}" create_custom_emoji: "%{name} загрузил(а) новый эмодзи %{target}" create_domain_block: "%{name} заблокировал(а) домен %{target}" create_email_domain_block: "%{name} добавил(а) e-mail домен %{target} в чёрный список" demote_user: "%{name} разжаловал(а) пользователя %{target}" - destroy_custom_emoji: "%{name} уничтоженный эмодзи %{target}" destroy_domain_block: "%{name} разблокировал(а) домен %{target}" destroy_email_domain_block: "%{name} добавил(а) e-mail домен %{target} в белый список" destroy_status: "%{name} удалил(а) статус пользователя %{target}" @@ -250,7 +217,6 @@ ru: config: Конфигурация feature_deletions: Удаление аккаунтов feature_invites: Пригласительные ссылки - feature_profile_directory: Каталог профиля feature_registrations: Регистрация feature_relay: Ретрансляторы features: Возможности @@ -268,7 +234,7 @@ ru: week_users_active: активно на этой неделе week_users_new: пользователей на этой неделе domain_blocks: - add_new: Добавить новый доменный блок + add_new: Добавить новую created_msg: Блокировка домена обрабатывается destroyed_msg: Блокировка домена снята domain: Домен @@ -283,13 +249,6 @@ ru: title: Новая доменная блокировка reject_media: Запретить медиаконтент reject_media_hint: Удаляет локально хранимый медиаконтент и запрещает его загрузку в будущем. Не имеет значения в случае блокировки - reject_reports: Отказывать в отчетах - reject_reports_hint: Игнорировать все отчеты, поступающие из этого домена. Не имеет отношения к отстранению от должности - rejecting_media: отбраковка медиафайлов - rejecting_reports: отрицательные отчёты - severity: - silence: глухой - suspend: приостановленный show: affected_accounts: few: Влияет на %{count} аккаунта в базе данных @@ -301,7 +260,7 @@ ru: suspend: Снять блокировку со всех существующих аккаунтов этого домена title: Снять блокировку с домена %{domain} undo: Отменить - undo: Отменить блокировку домена + undo: Отменить email_domain_blocks: add_new: Добавить новую created_msg: Доменная блокировка еmail успешно создана @@ -312,27 +271,8 @@ ru: create: Создать блокировку title: Новая доменная блокировка еmail title: Доменная блокировка email - followers: - back_to_account: Назад в учет - title: "%{acct}'s Подписчики" instances: - by_domain: Домен - delivery_available: Возможна доставка - known_accounts: - few: "%{count} известные счета" - many: "%{count} известные счета" - one: "%{count} известная учётная запись" - other: "%{count} известные счета" - moderation: - all: Все - limited: Ограничено - title: Умеренность - title: Федерация - total_blocked_by_us: Заблокированы нами - total_followed_by_them: За ними следуют они - total_followed_by_us: За нами - total_reported: Отчеты о них - total_storage: Медиа-вложения + title: Известные узлы invites: deactivate_all: Отключить все filter: @@ -343,13 +283,8 @@ ru: title: Приглашения relays: add_new: Добавить ретранслятор - delete: Удалить description_html: "Федеративный ретранслятор – это промежуточный сервер, который передаёт большие объёмы публичных статусов между серверами, которые подписываются и публикуют туда. Это может помочь небольшим и средним серверам находить записи со всей федерации, ведь в противном случае пользователям нужно будет вручную подписываться на людей с удалённых узлов." - disable: Отключить - disabled: Инвалид - enable: Включить enable_hint: Если включено, ваш сервер будет подписан на все публичные статусы с этого ретранслятора и начнёт туда отправлять публичные статусы со своего узла. - enabled: Включено inbox_url: URL ретранслятора pending: Ожидание подтверждения ретранслятора save_and_enable: Сохранить и включить @@ -363,7 +298,7 @@ ru: account: note: заметка report: жалоба - action_taken_by: Меры, принятые + action_taken_by: 'Действие предпринято:' are_you_sure: Вы уверены? assign_to_self: Назначить себе assigned: Назначенный модератор @@ -403,20 +338,14 @@ ru: desc_html: Измените внешний вид с CSS, загружаемым на каждой странице title: Особый CSS hero: - desc_html: Отображается на первой странице. Рекомендуется как минимум 600x100px. Если флажок не установлен, возвращается к миниатюре сервера + desc_html: Отображается на главной странице. Рекомендуется разрешение не менее 600х100px. Если не установлено, используется изображение узла title: Баннер узла - mascot: - desc_html: Отображается на нескольких страницах. Рекомендуется не менее 293×205px пикселей. Если не установлено, возвращается к талисману по умолчанию - title: Талисман peers_api_enabled: desc_html: Домены, которые были замечены этим узлом среди всей федерации title: Публикация списка обнаруженных узлов preview_sensitive_media: desc_html: Предпросмотр ссылок с остальных веб-сайтов будет показан даже если медиаконтент отмечен как чувствительный title: Показывать чувствительный медиаконтент в предпросмотре OpenGraph - profile_directory: - desc_html: Позволяет пользователям быть доступными для обнаружения - title: Включить каталог профиля registrations: closed_message: desc_html: Отображается на титульной странице, когда закрыта регистрация
Можно использовать HTML-теги @@ -427,12 +356,6 @@ ru: min_invite_role: disabled: Никого title: Разрешать приглашения от - registrations_mode: - modes: - approved: Разрешение, необходимое для регистрации - none: Никто не может зарегистрироваться - open: Любой желающий может зарегистрироваться - title: Режим регистрации show_known_fediverse_at_about_page: desc_html: Если включено, показывает посты со всех известных узлов в предпросмотре ленты. В противном случае отображаются только локальные посты. title: Показывать известные узлы в предпросмотре ленты @@ -440,21 +363,21 @@ ru: desc_html: Показывать метку персонала на странице пользователя title: Показывать метку персонала site_description: - desc_html: Вступительный абзац на первой странице. Опишите, что делает этот сервер Mastodon особенным и что еще важно. Вы можете использовать HTML-теги, в частности <a< и gt;a<. - title: Описание сервера + desc_html: Отображается в качестве параграфа на титульной странице и используется в качестве мета-тега.
Можно использовать HTML-теги, в особенности <a> и <em>. + title: Описание сайта site_description_extended: desc_html: Отображается на странице дополнительной информации
Можно использовать HTML-теги title: Расширенное описание узла site_short_description: - desc_html: Отображается в виде боковой панели и мета-тегов. Опишите, что такое Mastodon и что делает этот сервер особенным, в одном абзаце. Если пусто, по умолчанию используется описание сервера. - title: Краткое описание сервера + desc_html: Отображается в боковой панели и в тегах. Опишите, что такое Mastodon и что делает именно этот узел особенным. Если пусто, используется описание узла по умолчанию. + title: Краткое описание узла site_terms: desc_html: Вы можете добавить сюда собственную политику конфиденциальности, пользовательское соглашение и другие документы. Можно использовать теги HTML title: Условия использования - site_title: Имя сервера + site_title: Название сайта thumbnail: desc_html: Используется для предпросмотра с помощью OpenGraph и API. Рекомендуется разрешение 1200x630px - title: Эскиз сервера + title: Картинка узла timeline_preview: desc_html: Показывать публичную ленту на приветственной странице title: Предпросмотр ленты @@ -473,31 +396,14 @@ ru: title: Статусы аккаунта with_media: С медиаконтентом subscriptions: - callback_url: Обратный вызов URL + callback_url: Callback URL confirmed: Подтверждено expires_in: Истекает через last_delivery: Последняя доставка - title: Веб-суб + title: WebSub topic: Тема - tags: - accounts: Счета - hidden: Скрытый - hide: Скрыть из директории - name: Хэштег - title: Хэштеги - unhide: Показать в каталоге - visible: Видимый title: Администрирование - warning_presets: - add_new: Добавить новый - delete: Удалить - edit: Редактировать - edit_preset: Редактирование предустановленных предупреждений - title: Управление предварительными настройками предупреждений admin_mailer: - new_pending_account: - body: Детали нового счета приведены ниже. Вы можете одобрить или отклонить это заявление. - subject: Новая учетная запись для просмотра на %{instance} (%{username}) new_report: body: "%{reporter} подал(а) жалобу на %{target}" body_remote: Кто-то с узла %{domain} пожаловался на %{target} @@ -518,10 +424,8 @@ ru: warning: Будьте очень внимательны с этими данными. Не делитесь ими ни с кем! your_token: Ваш токен доступа auth: - agreement_html: Нажимая кнопку "Зарегистрироваться" ниже, Вы соглашаетесь следовать правилам сервера и нашим условиям предоставления услуг. - apply_for_account: Запросить приглашение + agreement_html: Создавая аккаунт, вы соглашаетесь с правилами узла и нашими условиями обслуживания. change_password: Пароль - checkbox_agreement_html: Я согласен с мишенью server rules2 и терминала обслуживания confirm_email: Подтвердите email delete_account: Удалить аккаунт delete_account_html: Если Вы хотите удалить свой аккаунт, вы можете перейти сюда. У Вас будет запрошено подтверждение. @@ -537,12 +441,10 @@ ru: cas: CAS saml: SAML register: Зарегистрироваться - registration_closed: "%{instance} не принимает новых членов" resend_confirmation: Повторить отправку инструкции для подтверждения reset_password: Сбросить пароль security: Безопасность set_new_password: Задать новый пароль - trouble_logging_in: Проблемы с входом в систему? authorize_follow: already_following: Вы уже подписаны на этот аккаунт error: К сожалению, при поиске удаленного аккаунта возникла ошибка @@ -574,24 +476,12 @@ ru: description_html: Это действие перманентно и необратимо удалит контент Вашего аккаунта и деактивирует его. Ваше имя пользователя будет зарезервировано для предотвращения имперсонации в будущем. proceed: Удалить аккаунт success_msg: Ваш аккаунт был успешно удален - warning_html: Гарантируется только удаление содержимого с данного сервера. Широко распространенный контент, вероятно, оставит следы. Автономные серверы и серверы, которые отказались от подписки на ваши обновления, не будут обновлять свои базы данных. + warning_html: Гарантируется удаление контента только на этом узле. Широко распространившийся контент, скорее всего, оставит следы. Сервера, отключенные от сети или отписавшиеся от Ваших обновлений, не обновят свои базы данных. warning_title: О доступности распространившегося контента - directories: - directory: Каталог профиля - enabled: В настоящее время вы находитесь в этом каталоге. - enabled_but_waiting: Вы согласились на включение в каталог, но у вас еще нет минимального количества последователей (%{min_followers}), которые должны быть включены в каталог. - explanation: Обнаружение пользователей на основе их интересов - explore_mastodon: Исследуйте %{title} - how_to_enable: В настоящее время вы не зарегистрированы в каталоге. Вы можете зарегистрироваться ниже. Используйте хэштэги в своем биографическом тексте, чтобы попасть в список определенных хэштэгов! - people: - few: "%{count} народ" - many: "%{count} народ" - one: "%{count} особа" - other: "%{count} народ" errors: '403': У Вас нет доступа к просмотру этой страницы. - '404': Страницы, которую вы ищете, здесь нет. - '410': Страницы, которую вы искали, здесь больше не существует. + '404': Страница, которую Вы искали, не существует. + '410': Страница, которую Вы искали, больше не существует. '422': content: Проверка безопасности не удалась. Возможно, Вы блокируете cookies? title: Проверка безопасности не удалась @@ -604,21 +494,15 @@ ru: archive_takeout: date: Дата download: Скачать ваш архив - hint_html: Вы можете запросить архив ваших toots и загруженных мультимедийных файлов. Экспортируемые данные будут в формате ActivityPub, доступном для чтения любым совместимым программным обеспечением. Вы можете запрашивать архив каждые 7 дней. + hint_html: Вы можете запросить архив своих статусов и загруженных медиа-файлов. Экспортированные данные будут в формате ActivityPub, который можно прочесть любой соответствующей программой. Запрашивать архив можно каждые 7 дней. in_progress: Собирается ваш архив... request: Запросить ваш архив size: Размер blocks: Список блокировки csv: CSV - domain_blocks: Блоки домена follows: Подписки - lists: Списки mutes: Список глушения storage: Ваш медиаконтент - featured_tags: - add_new: Добавить новый - errors: - limit: У вас уже есть максимальное количество хэштэгов filters: contexts: home: Домашняя лента @@ -640,9 +524,7 @@ ru: more: Ещё… resources: Ссылки generic: - all: Все changes_saved_msg: Изменения успешно сохранены! - copy: Копировать save_changes: Сохранить изменения validation_errors: few: Что-то здесь не так! Пожалуйста, прочитайте о %{count} ошибках ниже @@ -650,16 +532,10 @@ ru: one: Что-то здесь не так! Пожалуйста, прочитайте об ошибке ниже other: Что-то здесь не так! Пожалуйста, прочитайте о %{count} ошибках ниже imports: - modes: - merge: Слияние - merge_long: Хранение существующих и добавление новых записей - overwrite: Перезаписать - overwrite_long: Замените текущие записи на новые - preface: Можно импортировать данные, экспортированные с другого сервера, например, список людей, которых вы отслеживаете или блокируете. + preface: Вы можете загрузить некоторые данные, например, списки людей, на которых Вы подписаны или которых блокируете, в Ваш аккаунт на этом узле из файлов, экспортированных с другого узла. success: Ваши данные были успешно загружены и будут обработаны с должной скоростью types: blocking: Список блокировки - domain_blocking: Блокирующий список доменов following: Подписки muting: Список глушения upload: Загрузить @@ -676,14 +552,13 @@ ru: '86400': 1 день expires_in_prompt: Никогда generate: Сгенерировать - invited_by: 'Вы были приглашены:' max_uses: few: "%{count} исп." many: "%{count} исп." one: 1 исп other: "%{count} исп" max_uses_prompt: Без лимита - prompt: Генерировать ссылки и обмениваться ими с другими пользователями для предоставления доступа к этому серверу + prompt: Генерируйте и делитесь ссылками с другими, чтобы предоставить им доступ к этому узлу table: expires_at: Истекает uses: Исп. @@ -757,57 +632,21 @@ ru: older: Старше prev: Пред truncate: "…" - polls: - errors: - already_voted: Вы уже проголосовали по этому опросу - duplicate_options: содержат дубликаты - duration_too_long: слишком далеко в будущее - duration_too_short: слишком рано - expired: Опрос уже закончился - over_character_limit: не может быть больше %{max} символов каждый - too_few_options: должны иметь более одного предмета - too_many_options: не может содержать больше %{max} элементов preferences: languages: Языки other: Другое publishing: Публикация web: WWW - relationships: - activity: Активность счета - dormant: Дремлющий - moved: Перемещенный - mutual: Взаимный - primary: Первичный - relationship: Отношения - remove_selected_domains: Удалить всех последователей с выбранных доменов - remove_selected_followers: Удалить выбранных последователей - remove_selected_follows: Развернуть выбранных пользователей - status: Состояние счета remote_follow: acct: Введите свой username@domain для продолжения missing_resource: Поиск требуемого перенаправления URL для Вашего аккаунта завершился неудачей no_account_html: Нет учётной записи? Вы можете зарегистрироваться здесь proceed: Продолжить подписку prompt: 'Вы хотите подписаться на:' - reason_html: " Почему этот шаг необходим? %{instance} может не быть сервером, на котором вы зарегистрированы, поэтому сначала нам нужно перенаправить вас на ваш домашний сервер." - remote_interaction: - favourite: - proceed: Перейти к избранному - prompt: 'Ты хочешь любить этот зуб:' - reblog: - proceed: Приступите к ускорению - prompt: 'Ты хочешь поднять этот зуб:' - reply: - proceed: Перейти к ответу - prompt: 'Ты хочешь ответить на этот вопрос:' remote_unfollow: error: Ошибка title: Заголовок unfollowed: Отписаны - scheduled_statuses: - over_daily_limit: Вы превысили лимит в %{limit} запланированных на этот день лимитов - over_total_limit: Вы превысили лимит %{limit} запланированных перерасходов - too_soon: Запланированная дата должна быть в будущем sessions: activity: Последняя активность browser: Браузер @@ -816,7 +655,7 @@ ru: blackberry: Blackberry chrome: Chrome edge: Microsoft Edge - electron: Электрон + electron: Electron firefox: Firefox generic: Неизвестный браузер ie: Internet Explorer @@ -856,12 +695,10 @@ ru: development: Разработка edit_profile: Изменить профиль export: Экспорт данных - featured_tags: Особенные хэштэги import: Импорт migrate: Перенос аккаунта notifications: Уведомления preferences: Настройки - relationships: Следы и последователи settings: Опции two_factor_authentication: Двухфакторная аутентификация your_apps: Ваши приложения @@ -893,13 +730,6 @@ ru: ownership: Нельзя закрепить чужой статус private: Нельзя закрепить непубличный статус reblog: Нельзя закрепить продвинутый статус - poll: - total_votes: - few: "%{count} голоса" - many: "%{count} голоса" - one: "%{count} голосование" - other: "%{count} голоса" - vote: голос show_more: Ещё sign_in_to_participate: Войдите, чтобы принять участие в дискуссии title: '%{name}: "%{quote}"' @@ -916,93 +746,90 @@ ru: sensitive_content: Чувствительный контент terms: body_html: | -

Политика конфиденциальности

-

3Какую информацию мы собираем?

+

Privacy Policy

+

What information do we collect?

    -
  • Базовая информация учетной записи: Если вы зарегистрируетесь на этом сервере, вам может быть предложено ввести имя пользователя, адрес электронной почты и пароль. Можно также ввести дополнительную информацию о профиле, например, отображаемое имя и биографию, а также загрузить фотографию профиля и изображение заголовка. Имя пользователя, отображаемое имя, биография, фотография профиля и изображение заголовка всегда указаны публично.
  • -
  • Посты, следующая и другая публичная информация: Список людей, за которыми вы следите, находится в открытом доступе, то же самое справедливо и для ваших последователей. При отправке сообщения сохраняются дата и время, а также заявление, из которого было отправлено сообщение. Сообщения могут содержать мультимедийные вложения, такие как фотографии и видео. Публичный доступ к публичным должностям и должностям, не включенным в списки. Когда вы размещаете сообщение в своем профиле, оно также является общедоступной информацией. Ваши сообщения доставляются вашим последователям, в некоторых случаях это означает, что они доставляются на различные серверы, а копии хранятся там. Когда вы удаляете сообщения, они также доставляются вашим подписчикам. Действия по перерегистрации или предпочтению другого сообщения всегда являются общедоступными.
  • -
  • Прямые и только для последователей сообщения: Все сообщения хранятся и обрабатываются на сервере. Последователи - только сообщения доставляются вашим последователям и пользователям, которые упомянуты в них, а прямые сообщения доставляются только тем пользователям, которые упомянуты в них. В некоторых случаях это означает, что они доставляются на различные серверы, а копии хранятся на них. Мы прилагаем добросовестные усилия, чтобы ограничить доступ к этим должностям только уполномоченными лицами, но другие серверы могут этого не сделать. Поэтому важно просматривать серверы, к которым принадлежат ваши последователи. Вы можете переключать опцию одобрения и отклонения новых последователей вручную в настройках. Пожалуйста, имейте в виду, что операторы сервера и любого принимающего сервера могут просматривать такие сообщения, и что получатели могут делать скриншоты, копировать или иным образом передавать их повторно. Не делитесь опасной информацией о Мастодоне.
  • -
  • IPs и другие метаданные: При входе в систему мы записываем IP-адрес, с которого вы входите, а также имя вашего браузера. Все зарегистрированные сеансы доступны для просмотра и отзыва в настройках. Последний использованный IP-адрес хранится до 12 месяцев. Мы также можем сохранять журналы регистрации сервера, которые включают IP-адрес каждого запроса к нашему серверу.
  • . +
  • Basic account information: If you register on this server, you may be asked to enter a username, an e-mail address and a password. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly.
  • +
  • Posts, following and other public information: The list of people you follow is listed publicly, the same is true for your followers. When you submit a message, the date and time is stored as well as the application you submitted the message from. Messages may contain media attachments, such as pictures and videos. Public and unlisted posts are available publicly. When you feature a post on your profile, that is also publicly available information. Your posts are delivered to your followers, in some cases it means they are delivered to different servers and copies are stored there. When you delete posts, this is likewise delivered to your followers. The action of reblogging or favouriting another post is always public.
  • +
  • Direct and followers-only posts: All posts are stored and processed on the server. Followers-only posts are delivered to your followers and users who are mentioned in them, and direct posts are delivered only to users mentioned in them. In some cases it means they are delivered to different servers and copies are stored there. We make a good faith effort to limit the access to those posts only to authorized persons, but other servers may fail to do so. Therefore it's important to review servers your followers belong to. You may toggle an option to approve and reject new followers manually in the settings. Please keep in mind that the operators of the server and any receiving server may view such messages, and that recipients may screenshot, copy or otherwise re-share them. Do not share any dangerous information over Mastodon.
  • +
  • IPs and other metadata: When you log in, we record the IP address you log in from, as well as the name of your browser application. All the logged in sessions are available for your review and revocation in the settings. The latest IP address used is stored for up to 12 months. We also may retain server logs which include the IP address of every request to our server.

-

Что мы используем вашу информацию для?

+

What do we use your information for?

-

Любая информация, которую мы собираем у вас, может быть использована следующим образом:

. +

Any of the information we collect from you may be used in the following ways:

    -
  • Для обеспечения основной функциональности Mastodon. Вы можете взаимодействовать с контентом других людей и размещать свои собственные материалы только после входа в систему. Например, вы можете следить за другими пользователями для просмотра их сводных сообщений в вашей персонализированной домашней хронологии.
  • -
  • Для содействия модерации сообщества, например, сравнения вашего IP-адреса с другими известными для определения случаев уклонения от запрета или других нарушений.
  • -
  • Адрес электронной почты, который вы предоставляете, может быть использован для отправки вам информации, уведомлений о других лицах, взаимодействующих с вашим контентом или отправляющих вам сообщения, а также для ответа на запросы и/или другие запросы или вопросы.
  • +
  • To provide the core functionality of Mastodon. You can only interact with other people's content and post your own content when you are logged in. For example, you may follow other people to view their combined posts in your own personalized home timeline.
  • +
  • To aid moderation of the community, for example comparing your IP address with other known ones to determine ban evasion or other violations.
  • +
  • The email address you provide may be used to send you information, notifications about other people interacting with your content or sending you messages, and to respond to inquiries, and/or other requests or questions.

-

Как мы защищаем вашу информацию?

+

How do we protect your information?

-

Мы принимаем различные меры безопасности для обеспечения безопасности вашей личной информации при вводе, передаче или доступе к ней. Помимо всего прочего, сеанс браузера, а также трафик между вашими приложениями и API, защищены SSL, и ваш пароль хэшируется с помощью надежного однонаправленного алгоритма. Вы можете включить двухфакторную аутентификацию для дальнейшего безопасного доступа к вашей учетной записи.

+

We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL, and your password is hashed using a strong one-way algorithm. You may enable two-factor authentication to further secure access to your account.


-

Какова наша политика хранения данных?

+

What is our data retention policy?

-

Мы приложим добросовестные усилия:

+

We will make a good faith effort to:

    -
  • Сохранять журналы сервера, содержащие IP-адрес всех запросов к этому серверу, до тех пор, пока такие журналы хранятся, не более 90 дней.
  • -
  • Сохраняйте IP-адреса зарегистрированных пользователей не более 12 месяцев.
  • +
  • Retain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more than 90 days.
  • +
  • Retain the IP addresses associated with registered users no more than 12 months.
-

Вы можете запросить и загрузить архив своего контента, включая ваши сообщения, медиафайлы, фотографии профилей и изображения заголовков.

+

You can request and download an archive of your content, including your posts, media attachments, profile picture, and header image.

+ +

You may irreversibly delete your account at any time.

+ +
+ +

Do we use cookies?

+ +

Yes. Cookies are small files that a site or its service provider transfers to your computer's hard drive through your Web browser (if you allow). These cookies enable the site to recognize your browser and, if you have a registered account, associate it with your registered account.

+ +

We use cookies to understand and save your preferences for future visits.


-

Вы используете cookies?

+

Do we disclose any information to outside parties?

-

Да. Cookies - это небольшие файлы, которые сайт или его поставщик услуг передает на жесткий диск вашего компьютера через ваш веб-браузер (если вы разрешаете). Эти файлы cookie позволяют сайту распознать ваш браузер и, если у вас есть зарегистрированная учетная запись, связать ее с вашей зарегистрированной учетной записью.

. +

We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety.

-

Мы используем файлы cookie, чтобы понять и сохранить ваши предпочтения для будущих посещений сайта. +

Your public content may be downloaded by other servers in the network. Your public and followers-only posts are delivered to the servers where your followers reside, and direct messages are delivered to the servers of the recipients, in so far as those followers or recipients reside on a different server than this.

+ +

When you authorize an application to use your account, depending on the scope of permissions you approve, it may access your public profile information, your following list, your followers, your lists, all your posts, and your favourites. Applications can never access your e-mail address or password.


-

раскрываем ли мы какую-либо информацию внешним сторонам?

+

Children's Online Privacy Protection Act Compliance

-

Мы не продаем, не обмениваемся и не передаем другим лицам Вашу личную информацию. Сюда не входят доверенные третьи лица, которые помогают нам управлять нашим сайтом, вести наш бизнес или обслуживать вас при условии, что эти лица согласны сохранять конфиденциальность этой информации. Мы также можем раскрывать вашу информацию, если мы считаем, что это необходимо для соблюдения закона, обеспечения соблюдения политики нашего сайта или защиты наших или других прав, собственности или безопасности.

- -

Ваш публичный контент может быть загружен другими серверами в сети. Ваши публичные сообщения и сообщения только для подписчиков доставляются на серверы, где они находятся, а прямые сообщения доставляются на серверы получателей, если эти подписчики или получатели находятся на сервере, отличном от этого.

. - -

Когда вы разрешаете заявку на использование вашей учетной записи, в зависимости от объема одобренных вами разрешений, она может получить доступ к вашей личной информации, вашему следующему списку, вашим подписчикам, вашим спискам, всем вашим сообщениям и вашим избранным. Приложения никогда не смогут получить доступ к вашему электронному адресу или паролю.

+

Our site, products and services are all directed to people who are at least 13 years old. If this server is in the USA, and you are under the age of 13, per the requirements of COPPA (Children's Online Privacy Protection Act) do not use this site.


-

Пользование сайтом детьми

. +

Changes to our Privacy Policy

-

Если этот сервер находится в ЕС или ЕЭЗ: Наш сайт, все продукты и услуги предназначены для людей не моложе 16 лет. Если вам меньше 16 лет, в соответствии с требованиями GDPR (General Data Protection Regulation) не используйте этот сайт.

. +

If we decide to change our privacy policy, we will post those changes on this page.

-

Если этот сервер находится в США: Наш сайт, все продукты и услуги направлены на людей не моложе 13 лет. Если вам меньше 13 лет, в соответствии с требованиями COPPA (Закон о защите личной информации детей в Интернете) не используйте этот сайт.

. +

This document is CC-BY-SA. It was last updated March 7, 2018.

-

Правовые требования могут отличаться, если этот сервер находится в другой юрисдикции.

- -
- -

Наши изменения в Политике конфиденциальности

. - -

Если мы решим изменить нашу политику конфиденциальности, мы опубликуем эти изменения на этой странице.

. - -

Это документ CC-BY-SA. Последнее обновление 7 марта 2018.

- -

Первоначально адаптировано из документа Discourse privacy policy.

+

Originally adapted from the Discourse privacy policy.

title: Условия обслуживания и политика конфиденциальности %{instance} themes: - contrast: Мастодон (Высокий контраст) - default: Мастодон (Темный) + contrast: Высококонтрастная + default: Mastodon mastodon-light: Mastodon (светлая) time: formats: default: "%b %d, %Y, %H:%M" - month: "%b %Y" two_factor_authentication: code_hint: Для подтверждения введите код, сгенерированный приложением аутентификатора description_html: При включении двухфакторной аутентификации, вход потребует от Вас использования Вашего телефона, который сгенерирует входные токены. @@ -1016,7 +843,7 @@ ru: manual_instructions: 'Если Вы не можете отсканировать QR-код и хотите ввести его вручную, секрет представлен здесь открытым текстом:' recovery_codes: Коды восстановления recovery_codes_regenerated: Коды восстановления успешно сгенерированы - recovery_instructions_html: Если вы когда-либо потеряете доступ к телефону, вы можете использовать один из приведенных ниже кодов восстановления для восстановления доступа к своей учетной записи. Храните коды восстановления в безопасности. Например, вы можете распечатать их и сохранить вместе с другими важными документами. + recovery_instructions_html: В случае утери доступа к Вашему телефону Вы можете использовать один из кодов восстановления, указанных ниже, чтобы вернуть доступ к аккаунту. Держите коды восстановления в безопасности, например, распечатав их и храня с другими важными документами. setup: Настроить wrong_code: Введенный код неверен! Правильно ли установлены серверное время и время устройства? user_mailer: @@ -1024,22 +851,6 @@ ru: explanation: Вы запросили полный архив вашего аккаунта Mastodon. Он готов к загрузке! subject: Ваш архив готов к загрузке title: Вынос архива - warning: - explanation: - disable: Пока ваша учетная запись заморожена, данные вашей учетной записи остаются неизменными, но вы не можете совершать никаких действий, пока она не будет разблокирована. - silence: Хотя ваша учетная запись ограничена, только те, кто уже следит за вами, будут видеть ваши тотализаторы на этом сервере, и вы можете быть исключены из различных публичных объявлений. Тем не менее, другие могут следовать за вами вручную. - suspend: Ваша учетная запись была приостановлена, и все ваши хитрости и загруженные медиафайлы были безвозвратно удалены с этого сервера, а также с серверов, на которых у вас были последователи. - review_server_policies: Просмотр политик сервера - subject: - disable: Ваш счет %{acct} был заморожен - none: Предупреждение для %{acct} - silence: Ваш аккаунт %{acct} был ограничен - suspend: Ваш аккаунт %{acct} был приостановлен - title: - disable: Замороженный счет - none: Предупреждение - silence: Учетная запись ограничена - suspend: Учетная запись приостановлена welcome: edit_profile_action: Настроить профиль edit_profile_step: Вы можете настроить свой профиль, загрузив аватар, обложку, сменив имя и много чего ещё. Если Вы хотите фильтровать подписчиков до того, как они смогут на Вас подписаться, Вы можете закрыть свой аккаунт. @@ -1047,7 +858,7 @@ ru: final_action: Начать постить final_step: 'Начните постить! Ваши публичные посты могут видеть другие, например, в локальной ленте или по хэштегам, даже если у Вас нет подписчиков. Вы также можете поздороваться с остальными и представиться, используя хэштек #приветствие.' full_handle: Ваше обращение - full_handle_hint: Это то, что вы можете сказать своим друзьям, чтобы они могли отправлять сообщения или следовать за вами с другого сервера. + full_handle_hint: То, что Вы хотите сообщить своим друзьям, чтобы они могли написать Вам или подписаться с другого узла. review_preferences_action: Изменить настройки review_preferences_step: Проверьте все настройки, например, какие письма Вы хотите получать или уровень приватности статусов по умолчанию. Если Вы не страдаете морской болезнь, можете включить автовоспроизведение GIF. subject: Добро пожаловать в Mastodon @@ -1058,12 +869,8 @@ ru: tips: Советы title: Добро пожаловать на борт, %{name}! users: - follow_limit_reached: Вы не можете следовать за более чем %{limit} людьми invalid_email: Введенный e-mail неверен invalid_otp_token: Введен неверный код двухфакторной аутентификации otp_lost_help_html: Если Вы потеряли доступ к обоим, свяжитесь с %{email} seamless_external_login: Вы залогинены через сторонний сервис, поэтому настройки e-mail и пароля недоступны. signed_in_as: 'Выполнен вход под именем:' - verification: - explanation_html: 'Вы можете подтвердить себя в качестве владельца ссылок в метаданных вашего профиля, для этого сайт, на который сделана ссылка, должен содержать ссылку на ваш профиль Mastodon. Ссылка обратно должна иметь атрибут rel="me". Текстовое содержание ссылки не имеет значения. Вот пример:' - verification: Проверка diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml index b5353c0f3d..c0d72dc278 100644 --- a/config/locales/simple_form.es.yml +++ b/config/locales/simple_form.es.yml @@ -2,45 +2,27 @@ es: simple_form: hints: - account_warning_preset: - text: Puede utilizar la sintaxis de los piojos, como URLs, hashtags y referencias - admin_account_action: - send_email_notification: El usuario recibirá una explicación de lo que pasó con su cuenta - text_html: Opcional. Puedes usar la sintaxis de los toots. Puede añadir presets de atención para ahorrar tiempo - type_html: Elija qué hacer con %{acct} - warning_preset_id: Opcional. Siempre puede añadir un texto personalizado al final de la preselección defaults: autofollow: Los usuarios que se registren mediante la invitación te seguirán automáticamente avatar: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px bot: Esta cuenta ejecuta principalmente acciones automatizadas y podría no ser monitorizada context: Uno o múltiples contextos en los que debe aplicarse el filtro digest: Solo enviado tras un largo periodo de inactividad y solo si has recibido mensajes personales durante tu ausencia - discoverable_html: El directorio permite a la gente encontrar cuentas basadas en intereses y actividades. Requiere al menos %{min_followers} de suscriptores - email: Recibirá un correo electrónico de confirmación fields: Puedes tener hasta 4 elementos mostrándose como una tabla en tu perfil header: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px inbox_url: Copia la URL de la página principal del relés que quieres utilizar irreversible: Los toots filtrados desaparecerán irreversiblemente, incluso si este filtro es eliminado más adelante locale: El idioma de la interfaz de usuario, correos y notificaciones push locked: Requiere que manualmente apruebes seguidores y las publicaciones serán mostradas solamente a tus seguidores - password: Utilice al menos 8 caracteres phrase: Se aplicará sin importar las mayúsculas o los avisos de contenido de un toot scopes: Qué APIs de la aplicación tendrán acceso. Si seleccionas el alcance de nivel mas alto, no necesitas seleccionar las individuales. - setting_aggregate_reblogs: No mostrar nuevos boosts para los que han sido recientemente aumentados (sólo afecta a los que acaban de recibirlos) setting_default_language: El idioma de tus toots podrá detectarse automáticamente, pero no siempre es preciso - setting_display_media_default: Ocultar los soportes marcados como sensibles - setting_display_media_hide_all: Ocultar siempre todos los medios - setting_display_media_show_all: Visualizar siempre los medios marcados como sensibles setting_hide_network: A quién sigues y quién te sigue no será mostrado en tu perfil setting_noindex: Afecta a tu perfil público y páginas de estado - setting_show_application: El nombre de la aplicación que utiliza para enviar los pouets se mostrará en la vista detallada de los toots setting_theme: Afecta al aspecto de Mastodon cuando te identificas desde cualquier dispositivo. - username: Su nombre de usuario será único en %{domain} whole_word: Cuando la palabra clave o frase es solo alfanumérica, solo será aplicado si concuerda con toda la palabra - featured_tag: - name: 'Tal vez quieras usar uno de estos:' imports: - data: Un archivo CSV generado por otra instancia de Mastodon + data: Archivo CSV exportado desde otra instancia de Mastodon sessions: otp: 'Introduce el código de autenticación de dos factores geberado por tu aplicación de teléfono o usa uno de tus códigos de recuperación:' user: @@ -50,18 +32,6 @@ es: fields: name: Etiqueta value: Contenido - account_warning_preset: - text: Texto predefinido - admin_account_action: - send_email_notification: Notificar al usuario por correo electrónico - text: Atención personalizada - type: Acción - types: - disable: Desactivar - none: No hacer nada - silence: Silencio - suspend: Suspender y eliminar datos de la cuenta de forma irreversible - warning_preset_id: Utilice una plantilla de advertencia defaults: autofollow: Invitar a seguir tu cuenta avatar: Avatar @@ -72,7 +42,6 @@ es: context: Filtrar contextos current_password: Contraseña actual data: Información - discoverable: Registre esta cuenta en el directorio display_name: Nombre para mostrar email: Dirección de correo electrónico expires_in: Expirar tras @@ -88,22 +57,15 @@ es: otp_attempt: Código de dos factores password: Contraseña phrase: Palabra clave o frase - setting_aggregate_reblogs: Promociones de grupo en las líneas de tiempo setting_auto_play_gif: Reproducir automáticamente los GIFs animados setting_boost_modal: Mostrar ventana de confirmación antes de un Retoot setting_default_language: Idioma de publicación setting_default_privacy: Privacidad de publicaciones setting_default_sensitive: Marcar siempre imágenes como sensibles setting_delete_modal: Mostrar diálogo de confirmación antes de borrar un toot - setting_display_media: Pantalla de medios - setting_display_media_default: Predeterminado - setting_display_media_hide_all: Ocultar todo - setting_display_media_show_all: Mostrar todo - setting_expand_spoilers: Expandir siempre los toots marcados con avisos de contenido setting_hide_network: Ocultar tu red setting_noindex: Excluirse del indexado de motores de búsqueda setting_reduce_motion: Reducir el movimiento de las animaciones - setting_show_application: Mostrar la aplicación usada para enviar toots setting_system_font_ui: Utilizar la tipografía por defecto del sistema setting_theme: Tema del sitio setting_unfollow_modal: Mostrar diálogo de confirmación antes de dejar de seguir a alguien @@ -112,8 +74,6 @@ es: username: Nombre de usuario username_or_email: Usuario o Email whole_word: Toda la palabra - featured_tag: - name: Etiqueta interactions: must_be_follower: Bloquear notificaciones de personas que no te siguen must_be_following: Bloquear notificaciones de personas que no sigues diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml index 6cd6c7c854..664c07a463 100644 --- a/config/locales/simple_form.pt-BR.yml +++ b/config/locales/simple_form.pt-BR.yml @@ -6,7 +6,7 @@ pt-BR: text: Você pode usar a sintaxe de um toot, como URLs, hashtags e menções admin_account_action: send_email_notification: O usuário vai receber uma explicação do que aconteceu com a sua conta - text_html: Opcional. Você pode usar a sintaxe de toots. Você pode adicionar avisos pré-definidos para ganhar tempo + text_html: Opcional. Você pode usar a sintaxe de toots. Você pode adicionar avisos pré-definidos para ganhar tempo. type_html: Escolha o que fazer com %{acct} warning_preset_id: Opcional. Você ainda pode adicionar texto customizado no fim do texto pré-definido defaults: @@ -33,12 +33,9 @@ pt-BR: setting_display_media_show_all: Sempre mostrar mídia marcada como sensível setting_hide_network: Quem você segue e quem segue você não serão exibidos no seu perfil setting_noindex: Afeta seu perfil público e as páginas de suas postagens - setting_show_application: A aplicação que você usar para enviar seus toots vai aparecer na visão detalhada dos seus toots setting_theme: Afeta a aparência do Mastodon quando em sua conta em qualquer aparelho. username: Seu nome de usuário será único em %{domain} whole_word: Quando a palavra ou frase é inteiramente alfanumérica, ela será aplicada somente se corresponder a palavra inteira - featured_tag: - name: 'Você pode querer usar um destes:' imports: data: Arquivo CSV exportado de outra instância do Mastodon sessions: @@ -103,7 +100,6 @@ pt-BR: setting_hide_network: Esconder as suas redes setting_noindex: Não quero ser indexado por mecanismos de busca setting_reduce_motion: Reduz movimento em animações - setting_show_application: Mostrar o nome da aplicação utilizada para enviar os toots setting_system_font_ui: Usar a fonte padrão de seu sistema setting_theme: Tema do site setting_unfollow_modal: Mostrar diálogo de confirmação antes de deixar de seguir alguém @@ -112,8 +108,6 @@ pt-BR: username: Nome de usuário username_or_email: Nome de usuário ou e-mail whole_word: Palavra inteira - featured_tag: - name: Hashtag interactions: must_be_follower: Bloquear notificações de não-seguidores must_be_following: Bloquear notificações de pessoas que você não segue diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml index a53605e8c8..44cd7ccd62 100644 --- a/config/locales/simple_form.ru.yml +++ b/config/locales/simple_form.ru.yml @@ -2,45 +2,27 @@ ru: simple_form: hints: - account_warning_preset: - text: Вы можете использовать такие синтаксические элементы, как URL-адреса, хэш-теги и ссылки - admin_account_action: - send_email_notification: Пользователь получит объяснение того, что случилось с его учетной записью - text_html: Необязательно. Вы можете использовать синтаксис зубов. Вы можете добавить предустановки предупреждений, чтобы сэкономить время - type_html: Выберите, что делать с %{acct} - warning_preset_id: Необязательно. Вы все еще можете добавить пользовательский текст в конец предустановки defaults: autofollow: Люди, пришедшие по этому приглашению автоматически будут подписаны на Вас avatar: PNG, GIF или JPG. Максимально %{size}. Будет уменьшено до %{dimensions}px bot: Этот аккаунт обычно выполяет автоматизированные действия и может не просматриваться владельцем context: Один или несколько контекстов, к которым должны быть применены фильтры digest: Отсылается лишь после длительной неактивности, если Вы в это время получали личные сообщения - discoverable_html: Цель >директория позволяет людям находить учетные записи на основе интересов и активности. Требуется не менее %{min_followers} последователей - email: Вам будет отправлено подтверждение по электронной почте fields: В профиле можно отобразить до 4 пунктов как таблицу header: PNG, GIF или JPG. Максимально %{size}. Будет уменьшено до %{dimensions}px inbox_url: Копировать URL с главной страницы ретранслятора, который Вы хотите использовать irreversible: Отфильтрованные статусы будут утеряны навсегда, даже если в будущем фильтр будет убран locale: Язык интерфейса, e-mail писем и push-уведомлений locked: Потребует от Вас ручного подтверждения подписчиков, изменит приватность постов по умолчанию на "только для подписчиков" - password: Используйте не менее 8 символов phrase: Будет сопоставлено независимо от присутствия в тексте или предупреждения о содержании статуса scopes: Какие API приложению будет позволено использовать. Если Вы выберите самый верхний, нижестоящие будут выбраны автоматически. - setting_aggregate_reblogs: Не показывайте новых импульсов для недавно активированных импульсов (только для вновь полученных импульсов) setting_default_language: Язык Ваших статусов может быть определён автоматически, но не всегда правильно - setting_display_media_default: Скрыть носители, помеченные как чувствительные - setting_display_media_hide_all: Всегда прятать все средства массовой информации - setting_display_media_show_all: Всегда показывайте носители, помеченные как чувствительные setting_hide_network: Те, на кого Вы подписаны и кто подписан на Вас, не будут отображены в Вашем профиле setting_noindex: Относится к Вашему публичному профилю и страницам статусов - setting_show_application: Приложение, которое вы используете, чтобы зубрить будет отображаться в подробном виде ваших черепах setting_theme: Влияет на внешний вид Mastodon при выполненном входе в аккаунт. - username: Ваше имя пользователя будет уникальным в %{domain} whole_word: Если слово или фраза состоит только из букв и цифр, сопоставление произойдёт только по полному совпадению - featured_tag: - name: 'Возможно, тебе стоит воспользоваться одним из них:' imports: - data: CSV-файл, экспортированный с другого сервера Mastodon + data: Файл CSV, экспортированный с другого узла Mastodon sessions: otp: 'Введите код двухфакторной аутентификации, сгенерированный в мобильном приложении, или используйте один из Ваших кодов восстановления:' user: @@ -50,18 +32,6 @@ ru: fields: name: Пункт value: Значение - account_warning_preset: - text: Предустановленный текст - admin_account_action: - send_email_notification: Уведомить пользователя по электронной почте - text: Пользовательское предупреждение - type: поступок - types: - disable: Отключить - none: Ничего не делай - silence: Тишина - suspend: Приостановить и необратимо удалить данные аккаунта - warning_preset_id: Использовать предустановку предупреждений defaults: autofollow: Пригласите подписаться на Ваш аккаунт avatar: Аватар @@ -72,7 +42,6 @@ ru: context: Контекст фильтра current_password: Текущий пароль data: Данные - discoverable: Перечислите этот аккаунт в каталоге display_name: Показываемое имя email: Адрес e-mail expires_in: Истекает через @@ -88,22 +57,15 @@ ru: otp_attempt: Двухфакторный код password: Пароль phrase: Слово или фраза - setting_aggregate_reblogs: Ускорение темпов роста группы во времени setting_auto_play_gif: Автоматически проигрывать анимированные GIF setting_boost_modal: Показывать диалог подтверждения перед продвижением setting_default_language: Язык отправляемых статусов setting_default_privacy: Видимость постов setting_default_sensitive: Всегда отмечать медиаконтент как чувствительный setting_delete_modal: Показывать диалог подтверждения перед удалением - setting_display_media: Медиа-дисплей - setting_display_media_default: дефолт - setting_display_media_hide_all: Скрыть все - setting_display_media_show_all: Показать все - setting_expand_spoilers: Всегда расширяйте чересчур ярлыки, помеченные предупреждениями о содержании setting_hide_network: Скрыть свои связи setting_noindex: Отказаться от индексации в поисковых машинах setting_reduce_motion: Уменьшить движение в анимации - setting_show_application: Раскрыть приложение используется для отправки черешков setting_system_font_ui: Использовать шрифт системы по умолчанию setting_theme: Тема сайта setting_unfollow_modal: Показывать диалог подтверждения перед тем, как отписаться от аккаунта @@ -112,8 +74,6 @@ ru: username: Имя пользователя username_or_email: Имя пользователя или e-mail whole_word: Слово целиком - featured_tag: - name: Хэштег interactions: must_be_follower: Заблокировать уведомления не от подписчиков must_be_following: Заблокировать уведомления от людей, на которых Вы не подписаны From 08ec7435ce10fc74c257e089d6a2e909287e3daa Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 28 Mar 2019 02:16:01 +0100 Subject: [PATCH 08/13] Add order options to relationship manager UI (#10404) --- app/controllers/relationships_controller.rb | 9 +++++---- app/helpers/admin/filter_helper.rb | 2 +- app/views/relationships/show.html.haml | 7 +++++++ config/locales/en.yml | 2 ++ 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/controllers/relationships_controller.rb b/app/controllers/relationships_controller.rb index 84cb178a60..e6705c3275 100644 --- a/app/controllers/relationships_controller.rb +++ b/app/controllers/relationships_controller.rb @@ -31,13 +31,14 @@ class RelationshipsController < ApplicationController def relationships_scope scope = begin if following_relationship? - current_account.following.joins(:account_stat) + current_account.following.eager_load(:account_stat).reorder(nil) else - current_account.followers.joins(:account_stat) + current_account.followers.eager_load(:account_stat).reorder(nil) end end - scope.merge!(Follow.recent) + scope.merge!(Follow.recent) if params[:order].blank? || params[:order] == 'recent' + scope.merge!(Account.by_recent_status) if params[:order] == 'active' scope.merge!(mutual_relationship_scope) if mutual_relationship? scope.merge!(moved_account_scope) if params[:status] == 'moved' scope.merge!(primary_account_scope) if params[:status] == 'primary' @@ -84,7 +85,7 @@ class RelationshipsController < ApplicationController end def current_params - params.slice(:page, :status, :relationship, :by_domain, :activity).permit(:page, :status, :relationship, :by_domain, :activity) + params.slice(:page, :status, :relationship, :by_domain, :activity, :order).permit(:page, :status, :relationship, :by_domain, :activity, :order) end def action_from_button diff --git a/app/helpers/admin/filter_helper.rb b/app/helpers/admin/filter_helper.rb index 4fd36ef422..0bda25974f 100644 --- a/app/helpers/admin/filter_helper.rb +++ b/app/helpers/admin/filter_helper.rb @@ -7,7 +7,7 @@ module Admin::FilterHelper CUSTOM_EMOJI_FILTERS = %i(local remote by_domain shortcode).freeze TAGS_FILTERS = %i(hidden).freeze INSTANCES_FILTERS = %i(limited by_domain).freeze - FOLLOWERS_FILTERS = %i(relationship status by_domain activity).freeze + FOLLOWERS_FILTERS = %i(relationship status by_domain activity order).freeze FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS + INVITE_FILTER + CUSTOM_EMOJI_FILTERS + TAGS_FILTERS + INSTANCES_FILTERS + FOLLOWERS_FILTERS diff --git a/app/views/relationships/show.html.haml b/app/views/relationships/show.html.haml index 63745119a0..e6fff0ad68 100644 --- a/app/views/relationships/show.html.haml +++ b/app/views/relationships/show.html.haml @@ -25,11 +25,18 @@ %li= filter_link_to t('generic.all'), activity: nil %li= filter_link_to t('relationships.dormant'), activity: 'dormant' + .filter-subset + %strong= t 'generic.order_by' + %ul + %li= filter_link_to t('relationships.most_recent'), order: nil + %li= filter_link_to t('relationships.last_active'), order: 'active' + = form_for(@form, url: relationships_path, method: :patch) do |f| = hidden_field_tag :page, params[:page] || 1 = hidden_field_tag :relationship, params[:relationship] = hidden_field_tag :status, params[:status] = hidden_field_tag :activity, params[:activity] + = hidden_field_tag :order, params[:order] .batch-table .batch-table__toolbar diff --git a/config/locales/en.yml b/config/locales/en.yml index 42ba4e35e8..d91e89d958 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -774,6 +774,8 @@ en: relationships: activity: Account activity dormant: Dormant + last_active: Last active + most_recent: Most recent moved: Moved mutual: Mutual primary: Primary From 5d41532d94eda8da692044b7b875cf68e20dfc96 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 28 Mar 2019 02:16:11 +0100 Subject: [PATCH 09/13] Add `tootctl search deploy` to avoid ugly rake task syntax (#10403) --- lib/cli.rb | 4 ++++ lib/mastodon/search_cli.rb | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 lib/mastodon/search_cli.rb diff --git a/lib/cli.rb b/lib/cli.rb index 59f0f30766..65a5ae6962 100644 --- a/lib/cli.rb +++ b/lib/cli.rb @@ -5,6 +5,7 @@ require_relative 'mastodon/media_cli' require_relative 'mastodon/emoji_cli' require_relative 'mastodon/accounts_cli' require_relative 'mastodon/feeds_cli' +require_relative 'mastodon/search_cli' require_relative 'mastodon/settings_cli' require_relative 'mastodon/statuses_cli' require_relative 'mastodon/domains_cli' @@ -28,6 +29,9 @@ module Mastodon desc 'feeds SUBCOMMAND ...ARGS', 'Manage feeds' subcommand 'feeds', Mastodon::FeedsCLI + desc 'search SUBCOMMAND ...ARGS', 'Manage the search engine' + subcommand 'search', Mastodon::SearchCLI + desc 'settings SUBCOMMAND ...ARGS', 'Manage dynamic settings' subcommand 'settings', Mastodon::SettingsCLI diff --git a/lib/mastodon/search_cli.rb b/lib/mastodon/search_cli.rb new file mode 100644 index 0000000000..42ad93f1ed --- /dev/null +++ b/lib/mastodon/search_cli.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +require_relative '../../config/boot' +require_relative '../../config/environment' +require_relative 'cli_helper' + +module Mastodon + class SearchCLI < Thor + desc 'deploy', 'Create or update an ElasticSearch index and populate it' + long_desc <<~LONG_DESC + If ElasticSearch is empty, this command will create the necessary indices + and then import data from the database into those indices. + + This command will also upgrade indices if the underlying schema has been + changed since the last run. + LONG_DESC + def deploy + processed = Chewy::RakeHelper.upgrade + Chewy::RakeHelper.sync(except: processed) + end + end +end From f46f67d984e4e2deb4bf98cd5c5de813caf66eca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Thu, 28 Mar 2019 02:20:53 +0100 Subject: [PATCH 10/13] [Security] Bump devise from 4.5.0 to 4.6.2 (#10394) Bumps [devise](https://github.com/plataformatec/devise) from 4.5.0 to 4.6.2. **This update includes security fixes.** - [Release notes](https://github.com/plataformatec/devise/releases) - [Changelog](https://github.com/plataformatec/devise/blob/master/CHANGELOG.md) - [Commits](https://github.com/plataformatec/devise/compare/v4.5.0...v4.6.2) Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Gemfile b/Gemfile index 96eeff4f65..bacf695747 100644 --- a/Gemfile +++ b/Gemfile @@ -30,7 +30,7 @@ gem 'charlock_holmes', '~> 0.7.6' gem 'iso-639' gem 'chewy', '~> 5.0' gem 'cld3', '~> 3.2.3' -gem 'devise', '~> 4.5' +gem 'devise', '~> 4.6' gem 'devise-two-factor', '~> 3.0' group :pam_authentication, optional: true do diff --git a/Gemfile.lock b/Gemfile.lock index da03e797eb..556f9a49ad 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -165,7 +165,7 @@ GEM rack (>= 1) rake (> 10, < 13) thor (~> 0.19) - devise (4.5.0) + devise (4.6.2) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0, < 6.0) @@ -499,9 +499,9 @@ GEM regexp_parser (1.3.0) request_store (1.4.1) rack (>= 1.4) - responders (2.4.0) - actionpack (>= 4.2.0, < 5.3) - railties (>= 4.2.0, < 5.3) + responders (2.4.1) + actionpack (>= 4.2.0, < 6.0) + railties (>= 4.2.0, < 6.0) rotp (2.1.2) rpam2 (4.0.2) rqrcode (0.10.1) @@ -630,8 +630,8 @@ GEM unf_ext (0.0.7.5) unicode-display_width (1.5.0) uniform_notifier (1.12.1) - warden (1.2.7) - rack (>= 1.0) + warden (1.2.8) + rack (>= 2.0.6) webmock (3.5.1) addressable (>= 2.3.6) crack (>= 0.3.2) @@ -677,7 +677,7 @@ DEPENDENCIES climate_control (~> 0.2) concurrent-ruby derailed_benchmarks - devise (~> 4.5) + devise (~> 4.6) devise-two-factor (~> 3.0) devise_pam_authenticatable2 (~> 9.2) doorkeeper (~> 5.0) From f1bc90ab508cbdebc646324f87db48a9e80036f4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 28 Mar 2019 04:44:59 +0100 Subject: [PATCH 11/13] Rename :poll to :preloadable_poll and :owned_poll to :poll on Status (#10401) Also, fix some n+1 queries Resolve #10365 --- app/helpers/stream_entries_helper.rb | 4 ++-- app/lib/activitypub/activity/create.rb | 10 +++++----- app/lib/activitypub/activity/update.rb | 4 ++-- app/lib/formatter.rb | 4 ++-- app/models/notification.rb | 2 +- app/models/status.rb | 19 ++++++++++--------- .../activitypub/note_serializer.rb | 14 +++++++------- .../activitypub/update_poll_serializer.rb | 2 +- app/serializers/rest/status_serializer.rb | 2 +- app/services/post_status_service.rb | 2 +- .../stream_entries/_detailed_status.html.haml | 6 +++--- .../stream_entries/_simple_status.html.haml | 6 +++--- .../distribute_poll_update_worker.rb | 4 ++-- config/locales/activerecord.en.yml | 5 +++-- spec/lib/activitypub/activity/create_spec.rb | 4 ++-- 15 files changed, 45 insertions(+), 43 deletions(-) diff --git a/app/helpers/stream_entries_helper.rb b/app/helpers/stream_entries_helper.rb index 8392afa734..4734e32a43 100644 --- a/app/helpers/stream_entries_helper.rb +++ b/app/helpers/stream_entries_helper.rb @@ -105,8 +105,8 @@ module StreamEntriesHelper end def poll_summary(status) - return unless status.poll - status.poll.options.map { |o| "[ ] #{o}" }.join("\n") + return unless status.preloadable_poll + status.preloadable_poll.options.map { |o| "[ ] #{o}" }.join("\n") end def status_description(status) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 8fe7b91388..dabdcbcf7b 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -68,7 +68,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity thread: replied_to_status, conversation: conversation_from_uri(@object['conversation']), media_attachment_ids: process_attachments.take(4).map(&:id), - owned_poll: process_poll, + poll: process_poll, } end end @@ -240,11 +240,11 @@ class ActivityPub::Activity::Create < ActivityPub::Activity end def poll_vote? - return false if replied_to_status.nil? || replied_to_status.poll.nil? || !replied_to_status.local? || !replied_to_status.poll.options.include?(@object['name']) + return false if replied_to_status.nil? || replied_to_status.preloadable_poll.nil? || !replied_to_status.local? || !replied_to_status.preloadable_poll.options.include?(@object['name']) - unless replied_to_status.poll.expired? - replied_to_status.poll.votes.create!(account: @account, choice: replied_to_status.poll.options.index(@object['name']), uri: @object['id']) - ActivityPub::DistributePollUpdateWorker.perform_in(3.minutes, replied_to_status.id) unless replied_to_status.poll.hide_totals? + unless replied_to_status.preloadable_poll.expired? + replied_to_status.preloadable_poll.votes.create!(account: @account, choice: replied_to_status.preloadable_poll.options.index(@object['name']), uri: @object['id']) + ActivityPub::DistributePollUpdateWorker.perform_in(3.minutes, replied_to_status.id) unless replied_to_status.preloadable_poll.hide_totals? end true diff --git a/app/lib/activitypub/activity/update.rb b/app/lib/activitypub/activity/update.rb index bc9a63f985..70035325b6 100644 --- a/app/lib/activitypub/activity/update.rb +++ b/app/lib/activitypub/activity/update.rb @@ -23,8 +23,8 @@ class ActivityPub::Activity::Update < ActivityPub::Activity return reject_payload! if invalid_origin?(@object['id']) status = Status.find_by(uri: object_uri, account_id: @account.id) - return if status.nil? || status.poll.nil? + return if status.nil? || status.preloadable_poll.nil? - ActivityPub::ProcessPollService.new.call(status.poll, @object) + ActivityPub::ProcessPollService.new.call(status.preloadable_poll, @object) end end diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb index aadf03b2ac..59dfc9004d 100644 --- a/app/lib/formatter.rb +++ b/app/lib/formatter.rb @@ -19,8 +19,8 @@ class Formatter raw_content = status.text - if options[:inline_poll_options] && status.poll - raw_content = raw_content + "\n\n" + status.poll.options.map { |title| "[ ] #{title}" }.join("\n") + if options[:inline_poll_options] && status.preloadable_poll + raw_content = raw_content + "\n\n" + status.preloadable_poll.options.map { |title| "[ ] #{title}" }.join("\n") end return '' if raw_content.blank? diff --git a/app/models/notification.rb b/app/models/notification.rb index 982136c054..300269e244 100644 --- a/app/models/notification.rb +++ b/app/models/notification.rb @@ -25,7 +25,7 @@ class Notification < ApplicationRecord poll: 'Poll', }.freeze - STATUS_INCLUDES = [:account, :application, :media_attachments, :tags, active_mentions: :account, reblog: [:account, :application, :media_attachments, :tags, active_mentions: :account]].freeze + STATUS_INCLUDES = [:account, :application, :preloadable_poll, :media_attachments, :tags, active_mentions: :account, reblog: [:account, :application, :preloadable_poll, :media_attachments, :tags, active_mentions: :account]].freeze belongs_to :account, optional: true belongs_to :from_account, class_name: 'Account', optional: true diff --git a/app/models/status.rb b/app/models/status.rb index d3fb83ccaa..8d31fd3824 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -45,7 +45,7 @@ class Status < ApplicationRecord belongs_to :account, inverse_of: :statuses belongs_to :in_reply_to_account, foreign_key: 'in_reply_to_account_id', class_name: 'Account', optional: true belongs_to :conversation, optional: true - belongs_to :poll, optional: true + belongs_to :preloadable_poll, class_name: 'Poll', foreign_key: 'poll_id', optional: true belongs_to :thread, foreign_key: 'in_reply_to_id', class_name: 'Status', inverse_of: :replies, optional: true belongs_to :reblog, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblogs, optional: true @@ -63,7 +63,7 @@ class Status < ApplicationRecord has_one :notification, as: :activity, dependent: :destroy has_one :stream_entry, as: :activity, inverse_of: :status has_one :status_stat, inverse_of: :status - has_one :owned_poll, class_name: 'Poll', inverse_of: :status, dependent: :destroy + has_one :poll, inverse_of: :status, dependent: :destroy validates :uri, uniqueness: true, presence: true, unless: :local? validates :text, presence: true, unless: -> { with_media? || reblog? } @@ -72,7 +72,7 @@ class Status < ApplicationRecord validates :reblog, uniqueness: { scope: :account }, if: :reblog? validates :visibility, exclusion: { in: %w(direct limited) }, if: :reblog? - accepts_nested_attributes_for :owned_poll + accepts_nested_attributes_for :poll default_scope { recent } @@ -107,7 +107,7 @@ class Status < ApplicationRecord :tags, :preview_cards, :stream_entry, - :poll, + :preloadable_poll, account: :account_stat, active_mentions: { account: :account_stat }, reblog: [ @@ -118,7 +118,7 @@ class Status < ApplicationRecord :media_attachments, :conversation, :status_stat, - :poll, + :preloadable_poll, account: :account_stat, active_mentions: { account: :account_stat }, ], @@ -214,10 +214,11 @@ class Status < ApplicationRecord def emojis return @emojis if defined?(@emojis) - fields = [spoiler_text, text] - fields += owned_poll.options unless owned_poll.nil? + + fields = [spoiler_text, text] + fields += preloadable_poll.options unless preloadable_poll.nil? + @emojis = CustomEmoji.from_text(fields.join(' '), account.domain) - @emojis end def mark_for_mass_destruction! @@ -453,7 +454,7 @@ class Status < ApplicationRecord end def set_poll_id - update_column(:poll_id, owned_poll.id) unless owned_poll.nil? + update_column(:poll_id, poll.id) unless poll.nil? end def set_visibility diff --git a/app/serializers/activitypub/note_serializer.rb b/app/serializers/activitypub/note_serializer.rb index 0666bea5a7..d11cfa59ae 100644 --- a/app/serializers/activitypub/note_serializer.rb +++ b/app/serializers/activitypub/note_serializer.rb @@ -29,7 +29,7 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer end def type - object.poll ? 'Question' : 'Note' + object.preloadable_poll ? 'Question' : 'Note' end def summary @@ -125,29 +125,29 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer end def poll_options - object.poll.loaded_options + object.preloadable_poll.loaded_options end def poll_and_multiple? - object.poll&.multiple? + object.preloadable_poll&.multiple? end def poll_and_not_multiple? - object.poll && !object.poll.multiple? + object.preloadable_poll && !object.preloadable_poll.multiple? end def closed - object.poll.expires_at.iso8601 + object.preloadable_poll.expires_at.iso8601 end alias end_time closed def poll_and_expires? - object.poll&.expires_at&.present? + object.preloadable_poll&.expires_at&.present? end def poll_and_expired? - object.poll&.expired? + object.preloadable_poll&.expired? end class MediaAttachmentSerializer < ActivityPub::Serializer diff --git a/app/serializers/activitypub/update_poll_serializer.rb b/app/serializers/activitypub/update_poll_serializer.rb index a9a09747f8..b894f309ff 100644 --- a/app/serializers/activitypub/update_poll_serializer.rb +++ b/app/serializers/activitypub/update_poll_serializer.rb @@ -6,7 +6,7 @@ class ActivityPub::UpdatePollSerializer < ActivityPub::Serializer has_one :object, serializer: ActivityPub::NoteSerializer def id - [ActivityPub::TagManager.instance.uri_for(object), '#updates/', object.poll.updated_at.to_i].join + [ActivityPub::TagManager.instance.uri_for(object), '#updates/', object.preloadable_poll.updated_at.to_i].join end def type diff --git a/app/serializers/rest/status_serializer.rb b/app/serializers/rest/status_serializer.rb index 30edf397bd..106777b6e9 100644 --- a/app/serializers/rest/status_serializer.rb +++ b/app/serializers/rest/status_serializer.rb @@ -21,7 +21,7 @@ class REST::StatusSerializer < ActiveModel::Serializer has_many :emojis, serializer: REST::CustomEmojiSerializer has_one :preview_card, key: :card, serializer: REST::PreviewCardSerializer - has_one :poll, serializer: REST::PollSerializer + has_one :preloadable_poll, key: :poll, serializer: REST::PollSerializer def id object.id.to_s diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb index 3f392a6e6d..e7366c7e8c 100644 --- a/app/services/post_status_service.rb +++ b/app/services/post_status_service.rb @@ -155,7 +155,7 @@ class PostStatusService < BaseService text: @text, media_attachments: @media || [], thread: @in_reply_to, - owned_poll_attributes: poll_attributes, + poll_attributes: poll_attributes, sensitive: (@options[:sensitive].nil? ? @account.user&.setting_default_sensitive : @options[:sensitive]) || @options[:spoiler_text].present?, spoiler_text: @options[:spoiler_text] || '', visibility: @visibility, diff --git a/app/views/stream_entries/_detailed_status.html.haml b/app/views/stream_entries/_detailed_status.html.haml index d18ecd37a4..4459581d94 100644 --- a/app/views/stream_entries/_detailed_status.html.haml +++ b/app/views/stream_entries/_detailed_status.html.haml @@ -22,9 +22,9 @@ %a.status__content__spoiler-link{ href: '#' }= t('statuses.show_more') .e-content{ lang: status.language, style: "display: #{!current_account&.user&.setting_expand_spoilers && status.spoiler_text? ? 'none' : 'block'}; direction: #{rtl_status?(status) ? 'rtl' : 'ltr'}" }= Formatter.instance.format(status, custom_emojify: true, autoplay: autoplay) - - if status.poll - = react_component :poll, disabled: true, poll: ActiveModelSerializers::SerializableResource.new(status.poll, serializer: REST::PollSerializer, scope: current_user, scope_name: :current_user).as_json do - = render partial: 'stream_entries/poll', locals: { status: status, poll: status.poll, autoplay: autoplay } + - if status.preloadable_poll + = react_component :poll, disabled: true, poll: ActiveModelSerializers::SerializableResource.new(status.preloadable_poll, serializer: REST::PollSerializer, scope: current_user, scope_name: :current_user).as_json do + = render partial: 'stream_entries/poll', locals: { status: status, poll: status.preloadable_poll, autoplay: autoplay } - elsif !status.media_attachments.empty? - if status.media_attachments.first.video? - video = status.media_attachments.first diff --git a/app/views/stream_entries/_simple_status.html.haml b/app/views/stream_entries/_simple_status.html.haml index a499a86343..ba22c53407 100644 --- a/app/views/stream_entries/_simple_status.html.haml +++ b/app/views/stream_entries/_simple_status.html.haml @@ -26,9 +26,9 @@ %a.status__content__spoiler-link{ href: '#' }= t('statuses.show_more') .e-content{ lang: status.language, style: "display: #{!current_account&.user&.setting_expand_spoilers && status.spoiler_text? ? 'none' : 'block'}; direction: #{rtl_status?(status) ? 'rtl' : 'ltr'}" }= Formatter.instance.format(status, custom_emojify: true, autoplay: autoplay) - - if status.poll - = react_component :poll, disabled: true, poll: ActiveModelSerializers::SerializableResource.new(status.poll, serializer: REST::PollSerializer, scope: current_user, scope_name: :current_user).as_json do - = render partial: 'stream_entries/poll', locals: { status: status, poll: status.poll, autoplay: autoplay } + - if status.preloadable_poll + = react_component :poll, disabled: true, poll: ActiveModelSerializers::SerializableResource.new(status.preloadable_poll, serializer: REST::PollSerializer, scope: current_user, scope_name: :current_user).as_json do + = render partial: 'stream_entries/poll', locals: { status: status, poll: status.preloadable_poll, autoplay: autoplay } - elsif !status.media_attachments.empty? - if status.media_attachments.first.video? - video = status.media_attachments.first diff --git a/app/workers/activitypub/distribute_poll_update_worker.rb b/app/workers/activitypub/distribute_poll_update_worker.rb index d60fde557c..5eaca6fda3 100644 --- a/app/workers/activitypub/distribute_poll_update_worker.rb +++ b/app/workers/activitypub/distribute_poll_update_worker.rb @@ -9,7 +9,7 @@ class ActivityPub::DistributePollUpdateWorker @status = Status.find(status_id) @account = @status.account - return unless @status.poll + return unless @status.preloadable_poll ActivityPub::DeliveryWorker.push_bulk(inboxes) do |inbox_url| [payload, @account.id, inbox_url] @@ -29,7 +29,7 @@ class ActivityPub::DistributePollUpdateWorker def inboxes return @inboxes if defined?(@inboxes) - @inboxes = [@status.mentions, @status.reblogs, @status.poll.votes].flat_map do |relation| + @inboxes = [@status.mentions, @status.reblogs, @status.preloadable_poll.votes].flat_map do |relation| relation.includes(:account).map do |record| record.account.preferred_inbox_url if !record.account.local? && record.account.activitypub? end diff --git a/config/locales/activerecord.en.yml b/config/locales/activerecord.en.yml index 561ce68b89..8533418cc6 100644 --- a/config/locales/activerecord.en.yml +++ b/config/locales/activerecord.en.yml @@ -2,8 +2,9 @@ en: activerecord: attributes: - status: - owned_poll: Poll + poll: + expires_at: Deadline + options: Choices errors: models: account: diff --git a/spec/lib/activitypub/activity/create_spec.rb b/spec/lib/activitypub/activity/create_spec.rb index 3a1463d958..412609de40 100644 --- a/spec/lib/activitypub/activity/create_spec.rb +++ b/spec/lib/activitypub/activity/create_spec.rb @@ -464,7 +464,7 @@ RSpec.describe ActivityPub::Activity::Create do context 'when a vote to a local poll' do let(:poll) { Fabricate(:poll, options: %w(Yellow Blue)) } - let!(:local_status) { Fabricate(:status, owned_poll: poll) } + let!(:local_status) { Fabricate(:status, poll: poll) } let(:object_json) do { @@ -489,7 +489,7 @@ RSpec.describe ActivityPub::Activity::Create do poll.save(validate: false) poll end - let!(:local_status) { Fabricate(:status, owned_poll: poll) } + let!(:local_status) { Fabricate(:status, poll: poll) } let(:object_json) do { From 85629bf3d3c98f244bc47940297258117f1b57b4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Thu, 28 Mar 2019 16:25:11 +0900 Subject: [PATCH 12/13] Bump rails from 5.2.2.1 to 5.2.3 (#10407) Bumps [rails](https://github.com/rails/rails) from 5.2.2.1 to 5.2.3. - [Release notes](https://github.com/rails/rails/releases) - [Commits](https://github.com/rails/rails/compare/v5.2.2.1...v5.2.3) Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 74 ++++++++++++++++++++++++++-------------------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/Gemfile b/Gemfile index bacf695747..58d19034c3 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ ruby '>= 2.4.0', '< 2.7.0' gem 'pkg-config', '~> 1.3' gem 'puma', '~> 3.12' -gem 'rails', '~> 5.2.2' +gem 'rails', '~> 5.2.3' gem 'thor', '~> 0.20' gem 'hamlit-rails', '~> 0.2' diff --git a/Gemfile.lock b/Gemfile.lock index 556f9a49ad..0d416eef7b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -15,25 +15,25 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (5.2.2.1) - actionpack (= 5.2.2.1) + actioncable (5.2.3) + actionpack (= 5.2.3) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailer (5.2.2.1) - actionpack (= 5.2.2.1) - actionview (= 5.2.2.1) - activejob (= 5.2.2.1) + actionmailer (5.2.3) + actionpack (= 5.2.3) + actionview (= 5.2.3) + activejob (= 5.2.3) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.2.2.1) - actionview (= 5.2.2.1) - activesupport (= 5.2.2.1) + actionpack (5.2.3) + actionview (= 5.2.3) + activesupport (= 5.2.3) rack (~> 2.0) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.2.2.1) - activesupport (= 5.2.2.1) + actionview (5.2.3) + activesupport (= 5.2.3) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -44,20 +44,20 @@ GEM case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) active_record_query_trace (1.6.2) - activejob (5.2.2.1) - activesupport (= 5.2.2.1) + activejob (5.2.3) + activesupport (= 5.2.3) globalid (>= 0.3.6) - activemodel (5.2.2.1) - activesupport (= 5.2.2.1) - activerecord (5.2.2.1) - activemodel (= 5.2.2.1) - activesupport (= 5.2.2.1) + activemodel (5.2.3) + activesupport (= 5.2.3) + activerecord (5.2.3) + activemodel (= 5.2.3) + activesupport (= 5.2.3) arel (>= 9.0) - activestorage (5.2.2.1) - actionpack (= 5.2.2.1) - activerecord (= 5.2.2.1) + activestorage (5.2.3) + actionpack (= 5.2.3) + activerecord (= 5.2.3) marcel (~> 0.3.1) - activesupport (5.2.2.1) + activesupport (5.2.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -434,18 +434,18 @@ GEM rack rack-test (1.1.0) rack (>= 1.0, < 3) - rails (5.2.2.1) - actioncable (= 5.2.2.1) - actionmailer (= 5.2.2.1) - actionpack (= 5.2.2.1) - actionview (= 5.2.2.1) - activejob (= 5.2.2.1) - activemodel (= 5.2.2.1) - activerecord (= 5.2.2.1) - activestorage (= 5.2.2.1) - activesupport (= 5.2.2.1) + rails (5.2.3) + actioncable (= 5.2.3) + actionmailer (= 5.2.3) + actionpack (= 5.2.3) + actionview (= 5.2.3) + activejob (= 5.2.3) + activemodel (= 5.2.3) + activerecord (= 5.2.3) + activestorage (= 5.2.3) + activesupport (= 5.2.3) bundler (>= 1.3.0) - railties (= 5.2.2.1) + railties (= 5.2.3) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.4) actionpack (>= 5.0.1.x) @@ -461,9 +461,9 @@ GEM railties (>= 5.0, < 6) rails-settings-cached (0.6.6) rails (>= 4.2.0) - railties (5.2.2.1) - actionpack (= 5.2.2.1) - activesupport (= 5.2.2.1) + railties (5.2.3) + actionpack (= 5.2.3) + activesupport (= 5.2.3) method_source rake (>= 0.8.7) thor (>= 0.19.0, < 2.0) @@ -736,7 +736,7 @@ DEPENDENCIES pundit (~> 2.0) rack-attack (~> 5.4) rack-cors (~> 1.0) - rails (~> 5.2.2) + rails (~> 5.2.3) rails-controller-testing (~> 1.0) rails-i18n (~> 5.1) rails-settings-cached (~> 0.6) From 24d5b6f9e39d2ac62a9657c7d19bc8c437b0735b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Thu, 28 Mar 2019 16:25:27 +0900 Subject: [PATCH 13/13] Bump aws-sdk-s3 from 1.35.0 to 1.36.0 (#10406) Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.35.0 to 1.36.0. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-sdk-s3/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/compare/v1.35.0...v1.36.0) Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index 58d19034c3..325ea2c628 100644 --- a/Gemfile +++ b/Gemfile @@ -15,7 +15,7 @@ gem 'makara', '~> 0.4' gem 'pghero', '~> 2.2' gem 'dotenv-rails', '~> 2.7' -gem 'aws-sdk-s3', '~> 1.35', require: false +gem 'aws-sdk-s3', '~> 1.36', require: false gem 'fog-core', '<= 2.1.0' gem 'fog-openstack', '~> 0.3', require: false gem 'paperclip', '~> 6.0' diff --git a/Gemfile.lock b/Gemfile.lock index 0d416eef7b..5ef6119319 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -76,8 +76,8 @@ GEM av (0.9.0) cocaine (~> 0.5.3) aws-eventstream (1.0.2) - aws-partitions (1.146.0) - aws-sdk-core (3.48.2) + aws-partitions (1.147.0) + aws-sdk-core (3.48.3) aws-eventstream (~> 1.0, >= 1.0.2) aws-partitions (~> 1.0) aws-sigv4 (~> 1.1) @@ -85,7 +85,7 @@ GEM aws-sdk-kms (1.16.0) aws-sdk-core (~> 3, >= 3.48.2) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.35.0) + aws-sdk-s3 (1.36.0) aws-sdk-core (~> 3, >= 3.48.2) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.0) @@ -658,7 +658,7 @@ DEPENDENCIES active_record_query_trace (~> 1.6) addressable (~> 2.6) annotate (~> 2.7) - aws-sdk-s3 (~> 1.35) + aws-sdk-s3 (~> 1.36) better_errors (~> 2.5) binding_of_caller (~> 0.7) bootsnap (~> 1.4)